From e386724f945143ab702a6219483e177d618c2940 Mon Sep 17 00:00:00 2001 From: Ceikry Date: Fri, 20 Mar 2020 21:58:44 -0500 Subject: [PATCH 1/3] Shooting star improvements --- .../free/gather/GatheringSkillPulse.java | 11 ++- .../entity/state/impl/DoubleOrePulse.java | 70 +++++++++++++++++++ .../object/ShootingStarPlugin.java | 30 +++++++- 3 files changed, 108 insertions(+), 3 deletions(-) create mode 100644 Server/src/org/crandor/game/node/entity/state/impl/DoubleOrePulse.java diff --git a/Server/src/org/crandor/game/content/skill/free/gather/GatheringSkillPulse.java b/Server/src/org/crandor/game/content/skill/free/gather/GatheringSkillPulse.java index 098fda984..18bf1ded5 100644 --- a/Server/src/org/crandor/game/content/skill/free/gather/GatheringSkillPulse.java +++ b/Server/src/org/crandor/game/content/skill/free/gather/GatheringSkillPulse.java @@ -18,12 +18,14 @@ import org.crandor.game.node.entity.player.link.diary.DiaryType; import org.crandor.game.node.item.Item; import org.crandor.game.node.object.GameObject; import org.crandor.game.node.object.ObjectBuilder; +import org.crandor.game.world.GameWorld; import org.crandor.game.world.map.Location; import org.crandor.tools.RandomFunction; import org.crandor.tools.StringUtils; import java.util.ArrayList; import java.util.List; +import java.util.Random; import java.util.concurrent.TimeUnit; /** @@ -175,8 +177,15 @@ public final class GatheringSkillPulse extends SkillPulse { } else { player.getPacketDispatch().sendMessage("You get some " + ItemDefinition.forId(reward).getName().toLowerCase() + "."); } - // Calculate if the player should receive a bonus gem + // Calculate if the player should receive a bonus gem or bonus ore or both if (!isMiningEssence && isMining) { + //check for bonus ore from shooting star buff + if(isMining && (player.getAttribute("SS Mining Bonus", GameWorld.getTicks()) > GameWorld.getTicks())){ + if(RandomFunction.getRandom(7) == 5) { + player.getPacketDispatch().sendMessage("...you manage to mine a second ore thanks to the Star Sprite."); + player.getInventory().add(item); + } + } int chance = 282; boolean altered = false; if (player.getEquipment().getNew(EquipmentContainer.SLOT_RING).getId() == 2572) { diff --git a/Server/src/org/crandor/game/node/entity/state/impl/DoubleOrePulse.java b/Server/src/org/crandor/game/node/entity/state/impl/DoubleOrePulse.java new file mode 100644 index 000000000..c3d66f72f --- /dev/null +++ b/Server/src/org/crandor/game/node/entity/state/impl/DoubleOrePulse.java @@ -0,0 +1,70 @@ +package org.crandor.game.node.entity.state.impl; + +import org.crandor.game.node.entity.Entity; +import org.crandor.game.node.entity.player.Player; +import org.crandor.game.node.entity.state.StatePulse; +import org.crandor.game.world.GameWorld; + +import java.nio.ByteBuffer; + +/** + * Pulse for checking remaining time on a shooting star mining bonus and informing the player + * @author ceik + */ + +public class DoubleOrePulse extends StatePulse { + Player player; + Entity entity; + int ticks,currentTick; + public DoubleOrePulse(Entity entity, int ticks, int currentTick){ + super(entity,1); + this.ticks = ticks; + this.currentTick = currentTick; + this.player = entity.asPlayer(); + this.entity = entity; + } + @Override + public boolean isSaveRequired(){return currentTick < ticks;} + + @Override + public void save(ByteBuffer buffer){ + buffer.putInt(ticks); + buffer.putInt(currentTick); + } + + @Override + public StatePulse parse(Entity entity, ByteBuffer buffer){ + return new DoubleOrePulse(entity, buffer.getInt(), buffer.getInt()); + } + + @Override + public void start() { + if (currentTick == GameWorld.getTicks()) { + if (entity instanceof Player) { + if((int) entity.asPlayer().getAttribute("SS Mining Bonus") > GameWorld.getTicks()){ + entity.asPlayer().sendMessage("Your mining bonus is now active!"); + } + } + } + super.start(); + } + + @Override + public boolean pulse() { + int ticksLeft = (int)player.getAttribute("SS Mining Bonus") - GameWorld.getTicks(); + int minutes = (int)Math.ceil((ticksLeft * .6) / 60); + if(ticksLeft % 500 == 0L){ + player.sendMessage("You have " + minutes + " minutes of your mining bonus left"); + } + if(ticksLeft == 0){ + if((int)ticks <= GameWorld.getTicks()){ + player.sendMessage("Your mining bonus has run out!"); + } + } + return !(ticks >= GameWorld.getTicks()); + } + @Override + public StatePulse create(Entity entity, Object... args) { + return new DoubleOrePulse(entity, entity.asPlayer().getAttribute("SS Mining Bonus"), GameWorld.getTicks()); + } +} diff --git a/Server/src/plugin/interaction/object/ShootingStarPlugin.java b/Server/src/plugin/interaction/object/ShootingStarPlugin.java index 5a1f1b736..82ac7df6a 100644 --- a/Server/src/plugin/interaction/object/ShootingStarPlugin.java +++ b/Server/src/plugin/interaction/object/ShootingStarPlugin.java @@ -9,8 +9,11 @@ import org.crandor.game.content.skill.Skills; import org.crandor.game.content.skill.free.gather.SkillingTool; import org.crandor.game.interaction.OptionHandler; import org.crandor.game.node.Node; +import org.crandor.game.node.entity.impl.PulseManager; import org.crandor.game.node.entity.npc.NPC; import org.crandor.game.node.entity.player.Player; +import org.crandor.game.node.entity.state.StatePulse; +import org.crandor.game.node.entity.state.impl.DoubleOrePulse; import org.crandor.game.node.item.Item; import org.crandor.game.node.object.GameObject; import org.crandor.game.node.object.ObjectBuilder; @@ -69,6 +72,11 @@ public class ShootingStarPlugin extends OptionHandler { {"Mage Arena bank", Location.create(3093, 3962, 0)} }; + /** + * Checks whether or not a discovery/first mine award has been given + */ + public static boolean isDiscovered = false; + /** * The star dust item id. */ @@ -107,6 +115,7 @@ public class ShootingStarPlugin extends OptionHandler { /** * The star updating pulse. */ + private static final Pulse pulse = new Pulse(1) { @Override @@ -343,6 +352,7 @@ public class ShootingStarPlugin extends OptionHandler { object = null; crashSite = null; ticks = 0; + isDiscovered = false; } } @@ -469,14 +479,25 @@ public class ShootingStarPlugin extends OptionHandler { @Override public boolean checkRequirements() { + tool = SkillingTool.getPickaxe(player); if (star == null || object == null || !object.isActive()) { return false; } + //checks if the star has been discovered and if not, awards the bonus xp. Xp can be awarded regardless of mining level as per the wiki. + if(!isDiscovered) { + player.getSkills().addExperience(Skills.MINING, 75 * player.getSkills().getStaticLevel(Skills.MINING)); + Repository.sendNews(player.getUsername() + " is the discoverer of the crashed star near " + crashSite + "!"); + isDiscovered = true; + if (player.getSkills().getLevel(Skills.MINING) < star.getMiningLevel()) { + return false; + } else { + return true; + } + } if (player.getSkills().getLevel(Skills.MINING) < star.getMiningLevel()) { player.getDialogueInterpreter().sendDialogue("You need a Mining level of at least " + star.getMiningLevel() + " in order to mine this layer."); return false; } - tool = SkillingTool.getPickaxe(player); if (tool == null) { player.getPacketDispatch().sendMessage("You do not have a pickaxe to use."); return false; @@ -737,7 +758,7 @@ public class ShootingStarPlugin extends OptionHandler { end(); break; case 50: - int dust = player.getInventory().getAmount(STAR_DUST); + int dust = player.getInventory().getAmount(STAR_DUST) > 200 ? 200 : player.getInventory().getAmount(STAR_DUST); if (player.getInventory().remove(new Item(STAR_DUST, dust))) { int cosmicRunes = (int) (Math.ceil(0.76 * dust) * AMPLIFIER); int astralRunes = (int) (Math.ceil(0.26 * dust) * AMPLIFIER); @@ -748,7 +769,12 @@ public class ShootingStarPlugin extends OptionHandler { player.getInventory().add(new Item(GOLD_ORE, goldOre), player); player.getInventory().add(new Item(COINS, coins), player); npc("I have rewarded you by making it so you can mine", "extra ore for the next 15 minutes. Also, have " + cosmicRunes, "cosmic runes, " + astralRunes + " astral runes, " + goldOre + " gold ore and " + coins, "coins."); + player.setAttribute("SS Mining Bonus",System.currentTimeMillis() + TimeUnit.MINUTES.toMillis(15)); player.getSavedData().getGlobalData().setStarSpriteDelay(System.currentTimeMillis() + TimeUnit.DAYS.toMillis(1)); + int endTick = GameWorld.getTicks() + 1500; + player.setAttribute("SS Mining Bonus",endTick); + DoubleOrePulse orePulse = new DoubleOrePulse(player,endTick,GameWorld.getTicks()); + orePulse.run(); } stage = 52; break; From 754257eae0d7061160eb8d8a35d69573d0f1fdad Mon Sep 17 00:00:00 2001 From: Ceikry Date: Fri, 20 Mar 2020 22:09:26 -0500 Subject: [PATCH 2/3] fixed a minor bug with plunder --- .../activity/pyramidplunder/PlunderObjectManager.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Server/src/plugin/activity/pyramidplunder/PlunderObjectManager.java b/Server/src/plugin/activity/pyramidplunder/PlunderObjectManager.java index 53ba9b2e1..561d8c91a 100644 --- a/Server/src/plugin/activity/pyramidplunder/PlunderObjectManager.java +++ b/Server/src/plugin/activity/pyramidplunder/PlunderObjectManager.java @@ -18,8 +18,9 @@ public class PlunderObjectManager{ public List ObjectList = new ArrayList(); int originalIndex; public boolean resetObjectsFor(Player player){ - //loadList("plunder.tmp"); - ListIterator oliter = ObjectList.listIterator(); + //Completely clear the list + ObjectList.clear(); + /*ListIterator oliter = ObjectList.listIterator(); int i = 0; while(oliter.hasNext()){ PlunderObject current = (PlunderObject) oliter.next(); @@ -29,7 +30,7 @@ public class PlunderObjectManager{ if(current.snakeCharmed){ current.snakeCharmed = false; } - } + }*/ return true; } From 52ddebacea1641b1f7e49f2784b64017ec4eb633 Mon Sep 17 00:00:00 2001 From: Ceikry Date: Fri, 20 Mar 2020 22:22:22 -0500 Subject: [PATCH 3/3] Changed some drop tables --- Server/server.sql | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Server/server.sql b/Server/server.sql index a8f3bef1d..7ab709671 100644 --- a/Server/server.sql +++ b/Server/server.sql @@ -17653,7 +17653,7 @@ INSERT INTO `npc_drops` (`npc_id`, `default`, `main`, `charm`) VALUES (123, '{526,1,1,0.0,ALWAYS}', '{1237,1,1,0.0,COMMON}~{826,5,5,0.0,COMMON}~{1207,1,1,0.0,COMMON}~{1279,1,1,0.0,COMMON}~{1293,1,1,0.0,UNCOMMON}~{1239,1,1,0.0,UNCOMMON}~{1241,1,1,0.0,UNCOMMON}~{1295,1,1,0.0,UNCOMMON}~{555,2,2,0.0,UNCOMMON}~{559,6,6,0.0,UNCOMMON}~{554,7,7,0.0,UNCOMMON}~{564,2,2,0.0,UNCOMMON}~{562,3,3,0.0,UNCOMMON}~{561,4,4,0.0,UNCOMMON}~{563,2,2,0.0,UNCOMMON}~{5318,4,8,0.0,COMMON}~{5319,4,4,0.0,COMMON}~{5324,4,4,0.0,COMMON}~{5320,3,3,0.0,COMMON}~{5323,1,2,0.0,COMMON}~{5294,1,1,0.0,COMMON}~{5293,1,1,0.0,COMMON}~{5322,3,3,0.0,UNCOMMON}~{5321,1,2,0.0,UNCOMMON}~{5306,1,1,0.0,UNCOMMON}~{5311,1,1,0.0,UNCOMMON}~{5104,1,1,0.0,UNCOMMON}~{5105,1,2,0.0,UNCOMMON}~{5106,1,1,0.0,UNCOMMON}~{5280,1,1,0.0,UNCOMMON}~{5281,1,1,0.0,UNCOMMON}~{5100,1,1,0.0,UNCOMMON}~{5296,1,1,0.0,UNCOMMON}~{12176,1,1,0.0,UNCOMMON}~{5292,1,1,0.0,UNCOMMON}~{5297,1,1,0.0,UNCOMMON}~{5299,1,1,0.0,UNCOMMON}~{5301,1,1,0.0,RARE}~{5303,1,1,0.0,RARE}~{5295,1,1,0.0,RARE}~{5302,1,1,0.0,RARE}~{199,1,1,0.0,COMMON}~{201,1,1,0.0,COMMON}~{203,1,1,0.0,COMMON}~{205,1,1,0.0,COMMON}~{211,1,1,0.0,UNCOMMON}~{209,1,1,0.0,UNCOMMON}~{207,1,1,0.0,RARE}~{213,1,1,0.0,RARE}~{215,1,1,0.0,RARE}~{2485,1,1,0.0,RARE}~{217,1,1,0.0,RARE}~{225,1,1,0.0,COMMON}~{288,1,1,0.0,RARE}~{6306,15,15,0.0,UNCOMMON}~{31,1,1,0.0,RARE}', ''); INSERT INTO `npc_drops` (`npc_id`, `default`, `main`, `charm`) VALUES (124, '', '{199,1,1,0.0,COMMON}~{201,1,1,0.0,COMMON}~{203,1,1,0.0,COMMON}~{205,1,1,0.0,COMMON}~{207,1,1,0.0,UNCOMMON}~{209,1,1,0.0,UNCOMMON}~{211,1,1,0.0,UNCOMMON}~{213,1,1,0.0,UNCOMMON}~{215,1,1,0.0,RARE}~{2485,1,1,0.0,RARE}~{217,1,1,0.0,RARE}~{557,12,12,0.0,COMMON}~{557,60,60,0.0,COMMON}~{563,2,2,0.0,COMMON}~{561,3,3,0.0,COMMON}~{561,6,6,0.0,COMMON}~{562,3,3,0.0,UNCOMMON}~{560,2,2,0.0,UNCOMMON}~{565,2,2,0.0,RARE}~{556,45,45,0.0,RARE}~{554,6,6,0.0,RARE}~{5104,1,1,0.0,COMMON}~{5100,1,1,0.0,COMMON}~{5292,1,1,0.0,COMMON}~{5323,1,1,0.0,COMMON}~{5293,1,1,0.0,COMMON}~{5296,1,1,0.0,COMMON}~{5311,1,1,0.0,COMMON}~{5281,1,1,0.0,UNCOMMON}~{5294,1,1,0.0,UNCOMMON}~{12176,1,1,0.0,UNCOMMON}~{5321,1,1,0.0,UNCOMMON}~{5105,1,1,0.0,UNCOMMON}~{5297,1,1,0.0,UNCOMMON}~{5298,1,1,0.0,RARE}~{5280,1,1,0.0,RARE}~{5303,1,1,0.0,RARE}~{5299,1,1,0.0,RARE}~{5302,1,1,0.0,RARE}~{5106,1,1,0.0,RARE}~{5295,1,1,0.0,RARE}~{5301,1,1,0.0,RARE}~{5300,1,1,0.0,RARE}~{995,1,12,0.0,COMMON}~{995,24,24,0.0,COMMON}~{1385,1,1,0.0,UNCOMMON}~{1241,1,1,0.0,UNCOMMON}~{6808,1,1,0.0,RARE}~{31,1,1,0.0,RARE}', '{0,1,1,0.745,ALWAYS}~{12158,1,1,0.09,ALWAYS}~{12159,1,1,0.045,ALWAYS}~{12160,1,1,0.112,ALWAYS}~{12163,1,1,0.007,ALWAYS}'), -(125, '', '{1363,1,1,0.0,COMMON}~{888,3,3,0.0,COMMON}~{1428,1,1,0.0,UNCOMMON}~{890,2,2,0.0,UNCOMMON}~{890,5,5,0.0,UNCOMMON}~{1309,1,1,0.0,UNCOMMON}~{1281,1,1,0.0,RARE}~{1195,1,1,0.0,RARE}~{1181,1,1,0.0,RARE}~{1303,1,1,0.0,RARE}~{892,2,2,0.0,RARE}~{9185,1,1,0.0,RARE}~{564,2,4,0.0,COMMON}~{562,3,3,0.0,COMMON}~{561,4,4,0.0,COMMON}~{563,2,4,0.0,COMMON}~{560,2,2,0.0,UNCOMMON}~{560,5,5,0.0,UNCOMMON}~{565,2,50,0.0,UNCOMMON}~{558,24,24,0.0,RARE}~{4694,2,2,0.0,RARE}~{5291,1,1,0.0,COMMON}~{5293,1,1,0.0,COMMON}~{5294,1,1,0.0,COMMON}~{5100,1,1,0.0,COMMON}~{5311,1,1,0.0,COMMON}~{5323,1,1,0.0,COMMON}~{5104,1,1,0.0,COMMON}~{12176,1,1,0.0,UNCOMMON}~{5292,1,1,0.0,UNCOMMON}~{5301,1,1,0.0,UNCOMMON}~{5297,1,1,0.0,UNCOMMON}~{5298,1,1,0.0,UNCOMMON}~{5303,1,1,0.0,RARE}~{5296,1,1,0.0,RARE}~{5295,1,1,0.0,RARE}~{5105,1,1,0.0,RARE}~{5106,1,1,0.0,RARE}~{5299,1,1,0.0,RARE}~{5280,1,1,0.0,RARE}~{5321,1,1,0.0,RARE}~{5281,1,1,0.0,RARE}~{5302,1,1,0.0,RARE}~{199,1,1,0.0,COMMON}~{201,1,1,0.0,COMMON}~{203,1,1,0.0,COMMON}~{205,1,1,0.0,COMMON}~{207,1,1,0.0,UNCOMMON}~{209,1,1,0.0,UNCOMMON}~{211,1,1,0.0,UNCOMMON}~{213,1,1,0.0,RARE}~{215,1,1,0.0,RARE}~{2485,1,1,0.0,RARE}~{217,1,1,0.0,RARE}~{995,15,15,0.0,COMMON}~{995,465,465,0.0,COMMON}~{447,1,1,0.0,RARE}~{2853,1,1,0.0,RARE}~{31,1,1,0.0,RARE}', ''), +(125, '', '{1363,1,1,0.0,COMMON}~{888,3,3,0.0,COMMON}~{1428,1,1,0.0,UNCOMMON}~{890,2,2,0.0,UNCOMMON}~{890,5,5,0.0,UNCOMMON}~{1309,1,1,0.0,UNCOMMON}~{1281,1,1,0.0,RARE}~{1195,1,1,0.0,RARE}~{1181,1,1,0.0,RARE}~{1303,1,1,0.0,RARE}~{892,2,2,0.0,RARE}~{9185,1,1,0.0,RARE}~{564,2,4,0.0,COMMON}~{562,3,3,0.0,COMMON}~{561,4,4,0.0,COMMON}~{563,2,4,0.0,COMMON}~{560,2,2,0.0,UNCOMMON}~{560,5,5,0.0,UNCOMMON}~{565,2,20,0.0,RARE}~{558,24,24,0.0,RARE}~{4694,2,2,0.0,RARE}~{5291,1,1,0.0,COMMON}~{5293,1,1,0.0,COMMON}~{5294,1,1,0.0,COMMON}~{5100,1,1,0.0,COMMON}~{5311,1,1,0.0,COMMON}~{5323,1,1,0.0,COMMON}~{5104,1,1,0.0,COMMON}~{12176,1,1,0.0,UNCOMMON}~{5292,1,1,0.0,UNCOMMON}~{5301,1,1,0.0,UNCOMMON}~{5297,1,1,0.0,UNCOMMON}~{5298,1,1,0.0,UNCOMMON}~{5303,1,1,0.0,RARE}~{5296,1,1,0.0,RARE}~{5295,1,1,0.0,RARE}~{5105,1,1,0.0,RARE}~{5106,1,1,0.0,RARE}~{5299,1,1,0.0,RARE}~{5280,1,1,0.0,RARE}~{5321,1,1,0.0,RARE}~{5281,1,1,0.0,RARE}~{5302,1,1,0.0,RARE}~{199,1,1,0.0,COMMON}~{201,1,1,0.0,COMMON}~{203,1,1,0.0,COMMON}~{205,1,1,0.0,COMMON}~{207,1,1,0.0,UNCOMMON}~{209,1,1,0.0,UNCOMMON}~{211,1,1,0.0,UNCOMMON}~{213,1,1,0.0,RARE}~{215,1,1,0.0,RARE}~{2485,1,1,0.0,RARE}~{217,1,1,0.0,RARE}~{995,15,15,0.0,COMMON}~{995,465,465,0.0,COMMON}~{447,1,1,0.0,RARE}~{2853,1,1,0.0,RARE}~{31,1,1,0.0,RARE}', ''), (126, '', '{1428,1,1,0.0,UNCOMMON}~{1391,1,1,0.0,UNCOMMON}~{888,15,15,0.0,RARE}~{1357,1,1,0.0,RARE}~{1432,1,1,0.0,RARE}~{199,1,1,0.0,COMMON}~{201,1,1,0.0,UNCOMMON}~{203,1,1,0.0,UNCOMMON}~{205,1,1,0.0,UNCOMMON}~{207,1,1,0.0,RARE}~{209,1,1,0.0,RARE}~{211,1,1,0.0,RARE}~{213,1,1,0.0,RARE}~{215,1,1,0.0,RARE}~{2485,1,1,0.0,RARE}~{217,1,1,0.0,RARE}~{562,4,4,0.0,COMMON}~{564,2,2,0.0,COMMON}~{563,2,2,0.0,COMMON}~{560,2,2,0.0,UNCOMMON}~{561,5,10,0.0,UNCOMMON}~{565,2,2,0.0,RARE}~{995,15,40,0.0,COMMON}~{995,1,1,0.0,COMMON}~{1454,1,1,0.0,RARE}~{2357,1,1,0.0,RARE}~{355,1,1,0.0,RARE}~{1641,1,1,0.0,RARE}~{31,1,1,0.0,RARE}', ''), (127, '{1363,1,1,0.0,ALWAYS}', '', ''), (128, '{526,1,1,0.0,ALWAYS}', '{7862,1,1,0.0,UNCOMMON}', ''), @@ -17662,7 +17662,7 @@ INSERT INTO `npc_drops` (`npc_id`, `default`, `main`, `charm`) VALUES (133, '{526,1,1,0.0,ALWAYS}~{237,1,1,0.0,ALWAYS}', '{7821,1,1,0.0,UNCOMMON}', '{0,1,1,0.84,ALWAYS}~{12158,1,1,0.055,ALWAYS}~{12159,1,1,0.095,ALWAYS}~{12160,1,1,0.006,ALWAYS}~{12163,1,1,0.003,ALWAYS}'), (142, '{526,1,1,0.0,ALWAYS}~{2859,1,1,0.0,ALWAYS}', '{7830,1,1,0.0,COMMON}', '{0,1,1,0.885,ALWAYS}~{12158,1,1,0.035,ALWAYS}~{12159,1,1,0.02,ALWAYS}~{12160,1,1,0.051000000000000004,ALWAYS}~{12163,1,1,0.009000000000000001,ALWAYS}'), (143, '{2859,1,1,0.0,ALWAYS}', '', ''), -(145, '', '{1363,1,1,0.0,COMMON}~{888,3,3,0.0,COMMON}~{1428,1,1,0.0,UNCOMMON}~{890,2,2,0.0,UNCOMMON}~{890,5,5,0.0,UNCOMMON}~{1309,1,1,0.0,UNCOMMON}~{1281,1,1,0.0,RARE}~{1195,1,1,0.0,RARE}~{1181,1,1,0.0,RARE}~{1303,1,1,0.0,RARE}~{892,2,2,0.0,RARE}~{9185,1,1,0.0,RARE}~{564,2,4,0.0,COMMON}~{562,3,3,0.0,COMMON}~{561,4,4,0.0,COMMON}~{563,2,4,0.0,COMMON}~{560,2,2,0.0,UNCOMMON}~{560,5,5,0.0,UNCOMMON}~{565,2,50,0.0,UNCOMMON}~{558,24,24,0.0,RARE}~{4694,2,2,0.0,RARE}~{5291,1,1,0.0,COMMON}~{5293,1,1,0.0,COMMON}~{5294,1,1,0.0,COMMON}~{5100,1,1,0.0,COMMON}~{5311,1,1,0.0,COMMON}~{5323,1,1,0.0,COMMON}~{5104,1,1,0.0,COMMON}~{12176,1,1,0.0,UNCOMMON}~{5292,1,1,0.0,UNCOMMON}~{5301,1,1,0.0,UNCOMMON}~{5297,1,1,0.0,UNCOMMON}~{5298,1,1,0.0,UNCOMMON}~{5303,1,1,0.0,RARE}~{5296,1,1,0.0,RARE}~{5295,1,1,0.0,RARE}~{5105,1,1,0.0,RARE}~{5106,1,1,0.0,RARE}~{5299,1,1,0.0,RARE}~{5280,1,1,0.0,RARE}~{5321,1,1,0.0,RARE}~{5281,1,1,0.0,RARE}~{5302,1,1,0.0,RARE}~{199,1,1,0.0,COMMON}~{201,1,1,0.0,COMMON}~{203,1,1,0.0,COMMON}~{205,1,1,0.0,COMMON}~{207,1,1,0.0,UNCOMMON}~{209,1,1,0.0,UNCOMMON}~{211,1,1,0.0,UNCOMMON}~{213,1,1,0.0,RARE}~{215,1,1,0.0,RARE}~{2485,1,1,0.0,RARE}~{217,1,1,0.0,RARE}~{995,15,15,0.0,COMMON}~{995,465,465,0.0,COMMON}~{447,1,1,0.0,RARE}~{2807,1,1,0.0,RARE}~{31,1,1,0.0,RARE}', ''), +(145, '', '{1363,1,1,0.0,COMMON}~{888,3,3,0.0,COMMON}~{1428,1,1,0.0,UNCOMMON}~{890,2,2,0.0,UNCOMMON}~{890,5,5,0.0,UNCOMMON}~{1309,1,1,0.0,UNCOMMON}~{1281,1,1,0.0,RARE}~{1195,1,1,0.0,RARE}~{1181,1,1,0.0,RARE}~{1303,1,1,0.0,RARE}~{892,2,2,0.0,RARE}~{9185,1,1,0.0,RARE}~{564,2,4,0.0,COMMON}~{562,3,3,0.0,COMMON}~{561,4,4,0.0,COMMON}~{563,2,4,0.0,COMMON}~{560,2,2,0.0,UNCOMMON}~{560,5,5,0.0,UNCOMMON}~{565,2,20,0.0,RARE}~{558,24,24,0.0,RARE}~{4694,2,2,0.0,RARE}~{5291,1,1,0.0,COMMON}~{5293,1,1,0.0,COMMON}~{5294,1,1,0.0,COMMON}~{5100,1,1,0.0,COMMON}~{5311,1,1,0.0,COMMON}~{5323,1,1,0.0,COMMON}~{5104,1,1,0.0,COMMON}~{12176,1,1,0.0,UNCOMMON}~{5292,1,1,0.0,UNCOMMON}~{5301,1,1,0.0,UNCOMMON}~{5297,1,1,0.0,UNCOMMON}~{5298,1,1,0.0,UNCOMMON}~{5303,1,1,0.0,RARE}~{5296,1,1,0.0,RARE}~{5295,1,1,0.0,RARE}~{5105,1,1,0.0,RARE}~{5106,1,1,0.0,RARE}~{5299,1,1,0.0,RARE}~{5280,1,1,0.0,RARE}~{5321,1,1,0.0,RARE}~{5281,1,1,0.0,RARE}~{5302,1,1,0.0,RARE}~{199,1,1,0.0,COMMON}~{201,1,1,0.0,COMMON}~{203,1,1,0.0,COMMON}~{205,1,1,0.0,COMMON}~{207,1,1,0.0,UNCOMMON}~{209,1,1,0.0,UNCOMMON}~{211,1,1,0.0,UNCOMMON}~{213,1,1,0.0,RARE}~{215,1,1,0.0,RARE}~{2485,1,1,0.0,RARE}~{217,1,1,0.0,RARE}~{995,15,15,0.0,COMMON}~{995,465,465,0.0,COMMON}~{447,1,1,0.0,RARE}~{2807,1,1,0.0,RARE}~{31,1,1,0.0,RARE}', ''), (158, '', '{1217,1,1,0.0,UNCOMMON}~{869,1,1,0.0,UNCOMMON}~{1165,1,1,0.0,UNCOMMON}~{1297,1,1,0.0,RARE}~{199,1,1,0.0,COMMON}~{201,1,1,0.0,COMMON}~{203,1,1,0.0,COMMON}~{205,1,1,0.0,COMMON}~{207,1,1,0.0,UNCOMMON}~{209,1,1,0.0,UNCOMMON}~{211,1,1,0.0,UNCOMMON}~{213,1,1,0.0,UNCOMMON}~{215,1,1,0.0,RARE}~{2485,1,1,0.0,RARE}~{217,1,1,0.0,RARE}~{564,3,3,0.0,COMMON}~{560,2,2,0.0,UNCOMMON}~{556,45,45,0.0,UNCOMMON}~{565,2,2,0.0,COMMON}~{995,8,8,0.0,COMMON}~{2359,1,1,0.0,COMMON}~{187,1,1,0.0,RARE}~{31,1,1,0.0,RARE}', '{0,1,1,0.705,ALWAYS}~{12158,1,1,0.105,ALWAYS}~{12159,1,1,0.055,ALWAYS}~{12160,1,1,0.129,ALWAYS}~{12163,1,1,0.006,ALWAYS}'), (163, '{526,1,1,0.0,ALWAYS}', '{995,1,10,0.0,COMMON}~{2169,1,1,0.0,COMMON}~{2102,1,1,0.0,COMMON}~{2128,1,1,0.0,COMMON}~{2120,1,1,0.0,COMMON}~{2164,1,1,0.0,UNCOMMON}~{2026,1,1,0.0,UNCOMMON}~{2165,1,1,0.0,UNCOMMON}~{2167,1,1,0.0,RARE}~{2025,1,1,0.0,RARE}~{2166,1,1,0.0,UNCOMMON}~{2807,1,1,0.0,RARE}~{2171,1,1,0.0,COMMON}~{2023,1,1,0.0,UNCOMMON}', ''), (164, '{526,1,1,0.0,ALWAYS}', '{995,1,10,0.0,COMMON}~{2169,1,1,0.0,COMMON}~{2102,1,1,0.0,COMMON}~{2128,1,1,0.0,COMMON}~{2120,1,1,0.0,COMMON}~{2164,1,1,0.0,UNCOMMON}~{2026,1,1,0.0,UNCOMMON}~{2165,1,1,0.0,UNCOMMON}~{2167,1,1,0.0,RARE}~{2025,1,1,0.0,RARE}~{2166,1,1,0.0,UNCOMMON}~{2825,1,1,0.0,RARE}~{2171,1,1,0.0,COMMON}~{2023,1,1,0.0,UNCOMMON}', ''), @@ -19021,8 +19021,8 @@ INSERT INTO `npc_drops` (`npc_id`, `default`, `main`, `charm`) VALUES (5884, '{526,1,1,0.0,ALWAYS}', '{1265,1,1,0.0,COMMON}~{438,1,1,0.0,COMMON}~{2349,1,1,0.0,COMMON}~{436,1,1,0.0,COMMON}~{440,1,1,0.0,COMMON}~{1267,1,1,0.0,UNCOMMON}~{453,1,1,0.0,UNCOMMON}~{2351,1,1,0.0,UNCOMMON}~{561,2,2,0.0,RARE}~{562,2,2,0.0,RARE}~{1139,1,1,0.0,COMMON}~{1375,1,1,0.0,UNCOMMON}~{1363,1,1,0.0,UNCOMMON}~{877,2,2,0.0,UNCOMMON}~{877,11,11,0.0,UNCOMMON}~{995,4,4,0.0,COMMON}~{995,10,10,0.0,COMMON}~{2347,1,1,0.0,UNCOMMON}~{1913,1,1,0.0,UNCOMMON}~{31,1,1,0.0,RARE}', '{0,1,1,0.905,ALWAYS}~{12158,1,1,0.039,ALWAYS}~{12159,1,1,0.02,ALWAYS}~{12160,1,1,0.03,ALWAYS}~{12163,1,1,0.006,ALWAYS}'), (5885, '{526,1,1,0.0,ALWAYS}', '{1265,1,1,0.0,COMMON}~{438,1,1,0.0,COMMON}~{2349,1,1,0.0,COMMON}~{436,1,1,0.0,COMMON}~{440,1,1,0.0,COMMON}~{1267,1,1,0.0,UNCOMMON}~{453,1,1,0.0,UNCOMMON}~{2351,1,1,0.0,UNCOMMON}~{561,2,2,0.0,RARE}~{562,2,2,0.0,RARE}~{1139,1,1,0.0,COMMON}~{1375,1,1,0.0,UNCOMMON}~{1363,1,1,0.0,UNCOMMON}~{877,2,2,0.0,UNCOMMON}~{877,11,11,0.0,UNCOMMON}~{995,4,4,0.0,COMMON}~{995,10,10,0.0,COMMON}~{2347,1,1,0.0,UNCOMMON}~{1913,1,1,0.0,UNCOMMON}~{31,1,1,0.0,RARE}', '{0,1,1,0.905,ALWAYS}~{12158,1,1,0.039,ALWAYS}~{12159,1,1,0.02,ALWAYS}~{12160,1,1,0.03,ALWAYS}~{12163,1,1,0.006,ALWAYS}'), (5909, '{526,1,1,0.0,ALWAYS}', '{557,2,5,0.0,UNCOMMON}~{562,2,6,0.0,UNCOMMON}~{563,1,2,0.0,UNCOMMON}~{558,4,10,0.0,UNCOMMON}~{554,5,5,0.0,UNCOMMON}~{554,8,8,0.0,UNCOMMON}~{1379,1,1,0.0,UNCOMMON}~{1351,1,1,0.0,COMMON}~{1375,1,1,0.0,COMMON}~{882,5,18,0.0,COMMON}~{1349,1,1,0.0,COMMON}~{1420,1,1,0.0,COMMON}~{884,8,8,0.0,COMMON}~{995,58,315,0.0,COMMON}~{440,1,1,0.0,COMMON}~{438,1,1,0.0,COMMON}~{1917,1,1,0.0,COMMON}~{2142,1,1,0.0,COMMON}~{948,1,1,0.0,COMMON}~{1592,1,1,0.0,UNCOMMON}~{9004,1,1,0.0,RARE}~{1595,1,1,0.0,UNCOMMON}~{1619,1,1,0.0,RARE}~{1623,1,1,0.0,RARE}~{2698,1,1,0.0,RARE}~{956,1,1,0.0,RARE}~{2349,1,1,0.0,UNCOMMON}~{31,1,1,0.0,RARE}', '{0,1,1,0.9400000000000001,ALWAYS}~{12158,1,1,0.041,ALWAYS}~{12159,1,1,0.012,ALWAYS}~{12160,1,1,0.003,ALWAYS}~{12163,1,1,0.003,ALWAYS}'), -(5919, '{526,1,1,0.0,ALWAYS}', '{5318,4,6,0.0,COMMON}~{5319,4,4,0.0,COMMON}~{5324,4,4,0.0,UNCOMMON}~{5322,3,4,0.0,UNCOMMON}~{5320,3,3,0.0,RARE}~{5323,1,4,0.0,RARE}~{5321,2,4,0.0,RARE}~{556,6,6,0.0,COMMON}~{557,3,6,0.0,COMMON}~{554,2,2,0.0,COMMON}~{1446,1,1,0.0,COMMON}~{1458,1,1,0.0,UNCOMMON}~{565,1,4,0.0,RARE}~{561,1,1,0.0,RARE}~{562,1,2,0.0,RARE}~{1203,1,1,0.0,COMMON}~{1339,1,1,0.0,RARE}~{884,12,12,0.0,COMMON}~{9140,2,18,0.0,COMMON}~{882,125,125,0.0,UNCOMMON}~{886,1,11,0.0,UNCOMMON}~{199,1,1,0.0,RARE}~{995,1,1,0.0,COMMON}~{995,2,2,0.0,COMMON}~{1987,3,3,0.0,COMMON}~{2347,1,1,0.0,UNCOMMON}~{1947,1,1,0.0,RARE}~{1947,4,4,0.0,RARE}~{440,1,1,0.0,RARE}~{2857,1,1,0.0,RARE}~{1115,1,1,0.0,RARE}~{2353,1,1,0.0,RARE}~{2434,1,1,0.0,RARE}~{173,1,1,0.0,RARE}', ''), -(5920, '{526,1,1,0.0,ALWAYS}', '{5318,4,6,0.0,COMMON}~{5319,4,4,0.0,COMMON}~{5324,4,4,0.0,UNCOMMON}~{5322,3,4,0.0,UNCOMMON}~{5320,3,3,0.0,RARE}~{5323,1,4,0.0,RARE}~{5321,2,4,0.0,RARE}~{556,6,6,0.0,COMMON}~{557,3,6,0.0,COMMON}~{554,2,2,0.0,COMMON}~{1446,1,1,0.0,COMMON}~{1458,1,1,0.0,UNCOMMON}~{565,1,4,0.0,RARE}~{561,1,1,0.0,RARE}~{562,1,2,0.0,RARE}~{1203,1,1,0.0,COMMON}~{1339,1,1,0.0,RARE}~{884,12,12,0.0,COMMON}~{9140,2,18,0.0,COMMON}~{882,125,125,0.0,UNCOMMON}~{886,1,11,0.0,UNCOMMON}~{199,1,1,0.0,RARE}~{995,1,1,0.0,COMMON}~{995,2,2,0.0,COMMON}~{1987,3,3,0.0,COMMON}~{2347,1,1,0.0,UNCOMMON}~{1947,1,1,0.0,RARE}~{1947,4,4,0.0,RARE}~{440,1,1,0.0,RARE}~{2833,1,1,0.0,RARE}~{1115,1,1,0.0,RARE}~{2353,1,1,0.0,RARE}~{2434,1,1,0.0,RARE}~{173,1,1,0.0,RARE}', ''), +(5919, '{526,1,1,0.0,ALWAYS}', '{5318,4,6,0.0,COMMON}~{5319,4,4,0.0,COMMON}~{5324,4,4,0.0,UNCOMMON}~{5322,3,4,0.0,UNCOMMON}~{5320,3,3,0.0,RARE}~{5323,1,4,0.0,RARE}~{5321,2,4,0.0,RARE}~{556,6,6,0.0,COMMON}~{557,3,6,0.0,COMMON}~{554,2,2,0.0,COMMON}~{1446,1,1,0.0,COMMON}~{1458,1,1,0.0,UNCOMMON}~{565,1,4,0.0,RARE}~{561,1,1,0.0,RARE}~{562,1,2,0.0,RARE}~{1203,1,1,0.0,COMMON}~{1339,1,1,0.0,RARE}~{884,12,12,0.0,COMMON}~{9140,2,18,0.0,COMMON}~{882,125,125,0.0,UNCOMMON}~{886,1,11,0.0,UNCOMMON}~{199,1,1,0.0,RARE}~{995,1,1,0.0,COMMON}~{995,2,2,0.0,COMMON}~{1987,3,3,0.0,COMMON}~{2347,1,1,0.0,UNCOMMON}~{1947,1,1,0.0,RARE}~{1947,4,4,0.0,RARE}~{440,1,1,0.0,RARE}~{2857,1,1,0.0,RARE}~{1115,1,1,0.0,RARE}~{2353,1,1,0.0,RARE}~{173,1,1,0.0,RARE}', ''), +(5920, '{526,1,1,0.0,ALWAYS}', '{5318,4,6,0.0,COMMON}~{5319,4,4,0.0,COMMON}~{5324,4,4,0.0,UNCOMMON}~{5322,3,4,0.0,UNCOMMON}~{5320,3,3,0.0,RARE}~{5323,1,4,0.0,RARE}~{5321,2,4,0.0,RARE}~{556,6,6,0.0,COMMON}~{557,3,6,0.0,COMMON}~{554,2,2,0.0,COMMON}~{1446,1,1,0.0,COMMON}~{1458,1,1,0.0,UNCOMMON}~{565,1,4,0.0,RARE}~{561,1,1,0.0,RARE}~{562,1,2,0.0,RARE}~{1203,1,1,0.0,COMMON}~{1339,1,1,0.0,RARE}~{884,12,12,0.0,COMMON}~{9140,2,18,0.0,COMMON}~{882,125,125,0.0,UNCOMMON}~{886,1,11,0.0,UNCOMMON}~{199,1,1,0.0,RARE}~{995,1,1,0.0,COMMON}~{995,2,2,0.0,COMMON}~{1987,3,3,0.0,COMMON}~{2347,1,1,0.0,UNCOMMON}~{1947,1,1,0.0,RARE}~{1947,4,4,0.0,RARE}~{440,1,1,0.0,RARE}~{2833,1,1,0.0,RARE}~{1115,1,1,0.0,RARE}~{2353,1,1,0.0,RARE}~{173,1,1,0.0,RARE}', ''), (5923, '{526,1,1,0.0,ALWAYS}', '{555,7,7,0.0,UNCOMMON}~{557,4,4,0.0,UNCOMMON}~{554,6,6,0.0,UNCOMMON}~{558,9,9,0.0,UNCOMMON}~{562,2,2,0.0,RARE}~{559,7,7,0.0,RARE}~{199,1,1,0.0,COMMON}~{201,1,1,0.0,UNCOMMON}~{203,1,1,0.0,UNCOMMON}~{205,1,1,0.0,UNCOMMON}~{207,1,1,0.0,UNCOMMON}~{213,1,1,0.0,UNCOMMON}~{209,1,1,0.0,UNCOMMON}~{211,1,1,0.0,UNCOMMON}~{215,1,1,0.0,RARE}~{217,1,1,0.0,RARE}~{2485,1,1,0.0,RARE}~{877,2,12,0.0,COMMON}~{882,7,7,0.0,UNCOMMON}~{1203,1,1,0.0,UNCOMMON}~{1139,1,1,0.0,UNCOMMON}~{1381,1,1,0.0,RARE}~{995,1,40,0.0,COMMON}~{1438,1,1,0.0,UNCOMMON}~{1440,1,1,0.0,UNCOMMON}~{1965,1,1,0.0,UNCOMMON}~{313,1,1,0.0,UNCOMMON}~{436,1,1,0.0,UNCOMMON}~{438,1,1,0.0,UNCOMMON}~{2703,1,1,0.0,RARE}', ''), (5924, '{526,1,1,0.0,ALWAYS}', '{877,7,7,0.0,COMMON}~{882,2,12,0.0,UNCOMMON}~{1203,1,1,0.0,UNCOMMON}~{1381,1,1,0.0,RARE}~{555,7,7,0.0,UNCOMMON}~{557,4,4,0.0,UNCOMMON}~{554,6,6,0.0,UNCOMMON}~{558,9,9,0.0,UNCOMMON}~{562,2,2,0.0,RARE}~{559,7,7,0.0,RARE}~{199,1,1,0.0,COMMON}~{201,1,1,0.0,UNCOMMON}~{203,1,1,0.0,UNCOMMON}~{205,1,1,0.0,UNCOMMON}~{207,1,1,0.0,UNCOMMON}~{213,1,1,0.0,UNCOMMON}~{209,1,1,0.0,UNCOMMON}~{211,1,1,0.0,UNCOMMON}~{215,1,1,0.0,RARE}~{217,1,1,0.0,RARE}~{2485,1,1,0.0,RARE}~{995,1,400,0.0,COMMON}~{1965,1,1,0.0,UNCOMMON}~{313,1,1,0.0,UNCOMMON}~{436,1,1,0.0,UNCOMMON}~{438,1,1,0.0,UNCOMMON}~{1438,1,1,0.0,UNCOMMON}~{1440,1,1,0.0,UNCOMMON}~{2701,1,1,0.0,RARE}', ''), (5926, '{526,1,1,0.0,ALWAYS}', '{199,1,1,0.0,COMMON}~{201,1,1,0.0,COMMON}~{203,1,1,0.0,COMMON}~{205,1,1,0.0,UNCOMMON}~{213,1,1,0.0,RARE}~{211,1,1,0.0,RARE}~{207,1,1,0.0,UNCOMMON}~{209,1,1,0.0,RARE}~{217,1,1,0.0,RARE}~{2485,1,1,0.0,RARE}~{882,1,1,0.0,UNCOMMON}~{877,2,2,0.0,UNCOMMON}~{877,4,4,0.0,UNCOMMON}~{1381,1,1,0.0,UNCOMMON}~{863,1,1,0.0,UNCOMMON}~{562,1,1,0.0,RARE}~{557,1,1,0.0,RARE}~{554,1,1,0.0,RARE}~{558,1,1,0.0,RARE}~{995,3,3,0.0,COMMON}~{995,5,5,0.0,COMMON}~{1440,1,1,0.0,RARE}~{2747,1,1,0.0,RARE}~{436,1,1,0.0,RARE}', ''),