Rename and clean up MapleItemInformationProvider

This commit is contained in:
P0nk
2021-09-09 22:45:55 +02:00
parent 8f54b3e5de
commit 9c8abf6f62
81 changed files with 545 additions and 414 deletions

View File

@@ -58,7 +58,7 @@ import scripting.AbstractPlayerInteraction;
import scripting.event.EventInstanceManager;
import scripting.item.ItemScriptManager;
import server.*;
import server.MapleItemInformationProvider.ScriptedItem;
import server.ItemInformationProvider.ScriptedItem;
import server.events.Events;
import server.events.RescueGaga;
import server.events.gm.Fitness;
@@ -94,7 +94,7 @@ import java.util.concurrent.locks.Lock;
import java.util.regex.Pattern;
public class Character extends AbstractCharacterObject {
private static final MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
private static final ItemInformationProvider ii = ItemInformationProvider.getInstance();
private static final String LEVEL_200 = "[Congrats] %s has reached Level %d! Congratulate %s on such an amazing achievement!";
private static final String[] BLOCKED_NAMES = {"admin", "owner", "moderator", "intern", "donor", "administrator", "FREDRICK", "help", "helper", "alert", "notice", "maplestory", "fuck", "wizet", "fucking", "negro", "fuk", "fuc", "penis", "pussy", "asshole", "gay",
"nigger", "homo", "suck", "cum", "shit", "shitty", "condom", "security", "official", "rape", "nigga", "sex", "tit", "boner", "orgy", "clit", "asshole", "fatass", "bitch", "support", "gamemaster", "cock", "gaay", "gm",
@@ -902,7 +902,7 @@ public class Character extends AbstractCharacterObject {
return;
}
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
ItemInformationProvider ii = ItemInformationProvider.getInstance();
for (InventoryType invType : InventoryType.values()) {
Inventory inv = this.getInventory(invType);
@@ -2977,7 +2977,7 @@ public class Character extends AbstractCharacterObject {
InventoryManipulator.removeFromSlot(client, inv.getType(), item.getPosition(), item.getQuantity(), true);
}
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
ItemInformationProvider ii = ItemInformationProvider.getInstance();
for (Item item : toberemove) {
List<Integer> toadd = new ArrayList<>();
Pair<Integer, String> replace = ii.getReplaceOnExpire(item.getItemId());
@@ -3593,7 +3593,7 @@ public class Character extends AbstractCharacterObject {
System.out.println("IN ACTION:");
for (Entry<BuffStat, MapleBuffStatValueHolder> bpl : effects.entrySet()) {
System.out.println(bpl.getKey().name() + " -> " + MapleItemInformationProvider.getInstance().getName(bpl.getValue().effect.getSourceId()));
System.out.println(bpl.getKey().name() + " -> " + ItemInformationProvider.getInstance().getName(bpl.getValue().effect.getSourceId()));
}
} finally {
chrLock.unlock();
@@ -9348,7 +9348,7 @@ public class Character extends AbstractCharacterObject {
}
}
public int sellAllItemsFromPosition(MapleItemInformationProvider ii, InventoryType type, short pos) {
public int sellAllItemsFromPosition(ItemInformationProvider ii, InventoryType type, short pos) {
int mesoGain = 0;
Inventory inv = getInventory(type);
@@ -9367,7 +9367,7 @@ public class Character extends AbstractCharacterObject {
return (mesoGain);
}
private int standaloneSell(Client c, MapleItemInformationProvider ii, InventoryType type, short slot, short quantity) {
private int standaloneSell(Client c, ItemInformationProvider ii, InventoryType type, short slot, short quantity) {
if (quantity == 0xFFFF || quantity == 0) {
quantity = 1;
}
@@ -9506,7 +9506,7 @@ public class Character extends AbstractCharacterObject {
Equip eqp = eqpUpg.getKey();
setMergeFlag(eqp);
String showStr = " '" + MapleItemInformationProvider.getInstance().getName(eqp.getItemId()) + "': ";
String showStr = " '" + ItemInformationProvider.getInstance().getName(eqp.getItemId()) + "': ";
String upgdStr = eqp.gainStats(eqpStatups).getLeft();
this.forceUpdateItem(eqp);

View File

@@ -25,7 +25,7 @@ package client.command.commands.gm0;
import client.Client;
import client.command.Command;
import server.MapleItemInformationProvider;
import server.ItemInformationProvider;
import server.gachapon.MapleGachapon;
public class GachaCommand extends Command {
@@ -56,7 +56,7 @@ public class GachaCommand extends Command {
String talkStr = "The #b" + gachaName + "#k Gachapon contains the following items.\r\n\r\n";
for (int i = 0; i < 2; i++){
for (int id : gacha.getItems(i)){
talkStr += "-" + MapleItemInformationProvider.getInstance().getName(id) + "\r\n";
talkStr += "-" + ItemInformationProvider.getInstance().getName(id) + "\r\n";
}
}
talkStr += "\r\nPlease keep in mind that there are items that are in all gachapons and are not listed here.";

View File

@@ -26,7 +26,7 @@ package client.command.commands.gm1;
import client.Character;
import client.Client;
import client.command.Command;
import server.MapleItemInformationProvider;
import server.ItemInformationProvider;
import server.life.MonsterDropEntry;
import server.life.MonsterInformationProvider;
import tools.Pair;
@@ -57,7 +57,7 @@ public class WhatDropsFromCommand extends Command {
output += mobName + " drops the following items:\r\n\r\n";
for (MonsterDropEntry drop : MonsterInformationProvider.getInstance().retrieveDrop(mobId)){
try {
String name = MapleItemInformationProvider.getInstance().getName(drop.itemId);
String name = ItemInformationProvider.getInstance().getName(drop.itemId);
if (name == null || name.equals("null") || drop.chance == 0){
continue;
}

View File

@@ -26,7 +26,7 @@ package client.command.commands.gm1;
import client.Character;
import client.Client;
import client.command.Command;
import server.MapleItemInformationProvider;
import server.ItemInformationProvider;
import server.life.MonsterInformationProvider;
import tools.DatabaseConnection;
import tools.Pair;
@@ -53,7 +53,7 @@ public class WhoDropsCommand extends Command {
try {
String searchString = player.getLastCommandMessage();
String output = "";
Iterator<Pair<Integer, String>> listIterator = MapleItemInformationProvider.getInstance().getItemDataByName(searchString).iterator();
Iterator<Pair<Integer, String>> listIterator = ItemInformationProvider.getInstance().getItemDataByName(searchString).iterator();
if (listIterator.hasNext()) {
int count = 1;
while (listIterator.hasNext() && count <= 3) {

View File

@@ -30,7 +30,7 @@ import client.inventory.Pet;
import client.inventory.manipulator.InventoryManipulator;
import config.YamlConfig;
import constants.inventory.ItemConstants;
import server.MapleItemInformationProvider;
import server.ItemInformationProvider;
public class ItemCommand extends Command {
{
@@ -47,7 +47,7 @@ public class ItemCommand extends Command {
}
int itemId = Integer.parseInt(params[0]);
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
ItemInformationProvider ii = ItemInformationProvider.getInstance();
if(ii.getName(itemId) == null) {
player.yellowMessage("Item id '" + params[0] + "' does not exist.");

View File

@@ -31,7 +31,7 @@ import client.inventory.Item;
import client.inventory.Pet;
import config.YamlConfig;
import constants.inventory.ItemConstants;
import server.MapleItemInformationProvider;
import server.ItemInformationProvider;
public class ItemDropCommand extends Command {
{
@@ -48,7 +48,7 @@ public class ItemDropCommand extends Command {
}
int itemId = Integer.parseInt(params[0]);
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
ItemInformationProvider ii = ItemInformationProvider.getInstance();
if(ii.getName(itemId) == null) {
player.yellowMessage("Item id '" + params[0] + "' does not exist.");

View File

@@ -29,7 +29,7 @@ import client.command.Command;
import client.inventory.InventoryType;
import client.inventory.Item;
import constants.inventory.ItemConstants;
import server.MapleItemInformationProvider;
import server.ItemInformationProvider;
public class RechargeCommand extends Command {
{
@@ -39,7 +39,7 @@ public class RechargeCommand extends Command {
@Override
public void execute(Client c, String[] params) {
Character player = c.getPlayer();
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
ItemInformationProvider ii = ItemInformationProvider.getInstance();
for (Item torecharge : c.getPlayer().getInventory(InventoryType.USE).list()) {
if (ItemConstants.isThrowingStar(torecharge.getItemId())){
torecharge.setQuantity(ii.getSlotMax(c, torecharge.getItemId()));

View File

@@ -31,7 +31,7 @@ import provider.DataProvider;
import provider.DataProviderFactory;
import provider.DataTool;
import provider.wz.WZFiles;
import server.MapleItemInformationProvider;
import server.ItemInformationProvider;
import server.quest.Quest;
import tools.Pair;
@@ -117,7 +117,7 @@ public class SearchCommand extends Command {
}
}
} else {
for (Pair<Integer, String> itemPair : MapleItemInformationProvider.getInstance().getAllItems()) {
for (Pair<Integer, String> itemPair : ItemInformationProvider.getInstance().getAllItems()) {
if (sb.length() < 32654) {//ohlol
if (itemPair.getRight().toLowerCase().contains(search.toLowerCase())) {
sb.append("#b").append(itemPair.getLeft()).append("#k - #r").append(itemPair.getRight()).append("\r\n");

View File

@@ -28,7 +28,7 @@ import client.Client;
import client.Stat;
import client.command.Command;
import constants.inventory.ItemConstants;
import server.MapleItemInformationProvider;
import server.ItemInformationProvider;
public class FaceCommand extends Command {
{
@@ -46,7 +46,7 @@ public class FaceCommand extends Command {
try {
if (params.length == 1) {
int itemId = Integer.parseInt(params[0]);
if (!ItemConstants.isFace(itemId) || MapleItemInformationProvider.getInstance().getName(itemId) == null) {
if (!ItemConstants.isFace(itemId) || ItemInformationProvider.getInstance().getName(itemId) == null) {
player.yellowMessage("Face id '" + params[0] + "' does not exist.");
return;
}
@@ -56,7 +56,7 @@ public class FaceCommand extends Command {
player.equipChanged();
} else {
int itemId = Integer.parseInt(params[1]);
if (!ItemConstants.isFace(itemId) || MapleItemInformationProvider.getInstance().getName(itemId) == null) {
if (!ItemConstants.isFace(itemId) || ItemInformationProvider.getInstance().getName(itemId) == null) {
player.yellowMessage("Face id '" + params[1] + "' does not exist.");
}

View File

@@ -28,7 +28,7 @@ import client.Client;
import client.Stat;
import client.command.Command;
import constants.inventory.ItemConstants;
import server.MapleItemInformationProvider;
import server.ItemInformationProvider;
public class HairCommand extends Command {
{
@@ -46,7 +46,7 @@ public class HairCommand extends Command {
try {
if (params.length == 1) {
int itemId = Integer.parseInt(params[0]);
if (!ItemConstants.isHair(itemId) || MapleItemInformationProvider.getInstance().getName(itemId) == null) {
if (!ItemConstants.isHair(itemId) || ItemInformationProvider.getInstance().getName(itemId) == null) {
player.yellowMessage("Hair id '" + params[0] + "' does not exist.");
return;
}
@@ -56,7 +56,7 @@ public class HairCommand extends Command {
player.equipChanged();
} else {
int itemId = Integer.parseInt(params[1]);
if (!ItemConstants.isHair(itemId) || MapleItemInformationProvider.getInstance().getName(itemId) == null) {
if (!ItemConstants.isHair(itemId) || ItemInformationProvider.getInstance().getName(itemId) == null) {
player.yellowMessage("Hair id '" + params[1] + "' does not exist.");
return;
}

View File

@@ -31,7 +31,7 @@ import client.inventory.InventoryType;
import client.inventory.Item;
import client.inventory.manipulator.InventoryManipulator;
import constants.inventory.ItemConstants;
import server.MapleItemInformationProvider;
import server.ItemInformationProvider;
public class ProItemCommand extends Command {
{
@@ -46,7 +46,7 @@ public class ProItemCommand extends Command {
return;
}
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
ItemInformationProvider ii = ItemInformationProvider.getInstance();
int itemid = Integer.parseInt(params[0]);
if(ii.getName(itemid) == null) {

View File

@@ -27,7 +27,7 @@ import client.inventory.InventoryType;
import client.inventory.Item;
import config.YamlConfig;
import net.server.Server;
import server.MapleItemInformationProvider;
import server.ItemInformationProvider;
import tools.FilePrinter;
import tools.PacketCreator;
@@ -59,7 +59,7 @@ public abstract class CharacterFactory {
newchar.setMapId(recipe.getMap());
Inventory equipped = newchar.getInventory(InventoryType.EQUIPPED);
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
ItemInformationProvider ii = ItemInformationProvider.getInstance();
int top = recipe.getTop(), bottom = recipe.getBottom(), shoes = recipe.getShoes(), weapon = recipe.getWeapon();

View File

@@ -25,7 +25,7 @@ import client.creator.CharacterFactory;
import client.creator.CharacterFactoryRecipe;
import client.inventory.InventoryType;
import client.inventory.Item;
import server.MapleItemInformationProvider;
import server.ItemInformationProvider;
/**
*
@@ -38,7 +38,7 @@ public class BowmanCreator extends CharacterFactory {
private static CharacterFactoryRecipe createRecipe(Job job, int level, int map, int top, int bottom, int shoes, int weapon) {
CharacterFactoryRecipe recipe = new CharacterFactoryRecipe(job, level, map, top, bottom, shoes, weapon);
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
ItemInformationProvider ii = ItemInformationProvider.getInstance();
recipe.setDex(25);
recipe.setRemainingAp(133);
@@ -60,7 +60,7 @@ public class BowmanCreator extends CharacterFactory {
return recipe;
}
private static void giveEquipment(CharacterFactoryRecipe recipe, MapleItemInformationProvider ii, int equipid) {
private static void giveEquipment(CharacterFactoryRecipe recipe, ItemInformationProvider ii, int equipid) {
Item nEquip = ii.getEquipById(equipid);
recipe.addStartingEquipment(nEquip);
}

View File

@@ -28,7 +28,7 @@ import client.creator.CharacterFactoryRecipe;
import client.inventory.InventoryType;
import client.inventory.Item;
import constants.skills.Magician;
import server.MapleItemInformationProvider;
import server.ItemInformationProvider;
/**
*
@@ -42,7 +42,7 @@ public class MagicianCreator extends CharacterFactory {
private static CharacterFactoryRecipe createRecipe(Job job, int level, int map, int top, int bottom, int shoes, int weapon, int gender, int improveSp) {
CharacterFactoryRecipe recipe = new CharacterFactoryRecipe(job, level, map, top, bottom, shoes, weapon);
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
ItemInformationProvider ii = ItemInformationProvider.getInstance();
recipe.setInt(20);
recipe.setRemainingAp(138);
@@ -83,7 +83,7 @@ public class MagicianCreator extends CharacterFactory {
return recipe;
}
private static void giveEquipment(CharacterFactoryRecipe recipe, MapleItemInformationProvider ii, int equipid) {
private static void giveEquipment(CharacterFactoryRecipe recipe, ItemInformationProvider ii, int equipid) {
Item nEquip = ii.getEquipById(equipid);
recipe.addStartingEquipment(nEquip);
}

View File

@@ -25,7 +25,7 @@ import client.creator.CharacterFactory;
import client.creator.CharacterFactoryRecipe;
import client.inventory.InventoryType;
import client.inventory.Item;
import server.MapleItemInformationProvider;
import server.ItemInformationProvider;
/**
*
@@ -38,7 +38,7 @@ public class PirateCreator extends CharacterFactory {
private static CharacterFactoryRecipe createRecipe(Job job, int level, int map, int top, int bottom, int shoes, int weapon) {
CharacterFactoryRecipe recipe = new CharacterFactoryRecipe(job, level, map, top, bottom, shoes, weapon);
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
ItemInformationProvider ii = ItemInformationProvider.getInstance();
recipe.setDex(20);
recipe.setRemainingAp(138);
@@ -64,7 +64,7 @@ public class PirateCreator extends CharacterFactory {
return recipe;
}
private static void giveEquipment(CharacterFactoryRecipe recipe, MapleItemInformationProvider ii, int equipid) {
private static void giveEquipment(CharacterFactoryRecipe recipe, ItemInformationProvider ii, int equipid) {
Item nEquip = ii.getEquipById(equipid);
recipe.addStartingEquipment(nEquip);
}

View File

@@ -25,7 +25,7 @@ import client.creator.CharacterFactory;
import client.creator.CharacterFactoryRecipe;
import client.inventory.InventoryType;
import client.inventory.Item;
import server.MapleItemInformationProvider;
import server.ItemInformationProvider;
/**
*
@@ -38,7 +38,7 @@ public class ThiefCreator extends CharacterFactory {
private static CharacterFactoryRecipe createRecipe(Job job, int level, int map, int top, int bottom, int shoes, int weapon) {
CharacterFactoryRecipe recipe = new CharacterFactoryRecipe(job, level, map, top, bottom, shoes, weapon);
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
ItemInformationProvider ii = ItemInformationProvider.getInstance();
recipe.setDex(25);
recipe.setRemainingAp(133);
@@ -62,7 +62,7 @@ public class ThiefCreator extends CharacterFactory {
return recipe;
}
private static void giveEquipment(CharacterFactoryRecipe recipe, MapleItemInformationProvider ii, int equipid) {
private static void giveEquipment(CharacterFactoryRecipe recipe, ItemInformationProvider ii, int equipid) {
Item nEquip = ii.getEquipById(equipid);
recipe.addStartingEquipment(nEquip);
}

View File

@@ -28,7 +28,7 @@ import client.creator.CharacterFactoryRecipe;
import client.inventory.InventoryType;
import client.inventory.Item;
import constants.skills.Warrior;
import server.MapleItemInformationProvider;
import server.ItemInformationProvider;
/**
*
@@ -42,7 +42,7 @@ public class WarriorCreator extends CharacterFactory {
private static CharacterFactoryRecipe createRecipe(Job job, int level, int map, int top, int bottom, int shoes, int weapon, int gender, int improveSp) {
CharacterFactoryRecipe recipe = new CharacterFactoryRecipe(job, level, map, top, bottom, shoes, weapon);
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
ItemInformationProvider ii = ItemInformationProvider.getInstance();
recipe.setStr(35);
recipe.setRemainingAp(123);
@@ -83,7 +83,7 @@ public class WarriorCreator extends CharacterFactory {
return recipe;
}
private static void giveEquipment(CharacterFactoryRecipe recipe, MapleItemInformationProvider ii, int equipid) {
private static void giveEquipment(CharacterFactoryRecipe recipe, ItemInformationProvider ii, int equipid) {
Item nEquip = ii.getEquipById(equipid);
recipe.addStartingEquipment(nEquip);
}

View File

@@ -25,7 +25,7 @@ import client.Client;
import config.YamlConfig;
import constants.game.ExpTable;
import constants.inventory.ItemConstants;
import server.MapleItemInformationProvider;
import server.ItemInformationProvider;
import tools.PacketCreator;
import tools.Pair;
import tools.Randomizer;
@@ -83,7 +83,7 @@ public class Equip extends Item {
this.itemExp = 0;
this.itemLevel = 1;
this.isElemental = (MapleItemInformationProvider.getInstance().getEquipLevel(id, false) > 1);
this.isElemental = (ItemInformationProvider.getInstance().getEquipLevel(id, false) > 1);
}
@Override
@@ -306,7 +306,7 @@ public class Equip extends Item {
}
private static boolean isPhysicalWeapon(int itemid) {
Equip eqp = (Equip) MapleItemInformationProvider.getInstance().getEquipById(itemid);
Equip eqp = (Equip) ItemInformationProvider.getInstance().getEquipById(itemid);
return eqp.getWatk() >= eqp.getMatk();
}
@@ -476,7 +476,7 @@ public class Equip extends Item {
List<Pair<StatUpgrade, Integer>> stats = new LinkedList<>();
if(isElemental) {
List<Pair<String, Integer>> elementalStats = MapleItemInformationProvider.getInstance().getItemLevelupStats(getItemId(), itemLevel);
List<Pair<String, Integer>> elementalStats = ItemInformationProvider.getInstance().getItemLevelupStats(getItemId(), itemLevel);
for(Pair<String, Integer> p: elementalStats) {
if(p.getRight() > 0) stats.add(new Pair<>(StatUpgrade.valueOf(p.getLeft()), p.getRight()));
@@ -510,8 +510,8 @@ public class Equip extends Item {
itemLevel++;
String lvupStr = "'" + MapleItemInformationProvider.getInstance().getName(this.getItemId()) + "' is now level " + itemLevel + "! ";
String showStr = "#e'" + MapleItemInformationProvider.getInstance().getName(this.getItemId()) + "'#b is now #elevel #r" + itemLevel + "#k#b!";
String lvupStr = "'" + ItemInformationProvider.getInstance().getName(this.getItemId()) + "' is now level " + itemLevel + "! ";
String showStr = "#e'" + ItemInformationProvider.getInstance().getName(this.getItemId()) + "'#b is now #elevel #r" + itemLevel + "#k#b!";
Pair<String, Pair<Boolean, Boolean>> res = this.gainStats(stats);
lvupStr += res.getLeft();
@@ -519,11 +519,11 @@ public class Equip extends Item {
boolean gotVicious = res.getRight().getRight();
if (gotVicious) {
//c.getPlayer().dropMessage(6, "A new Vicious Hammer opportunity has been found on the '" + MapleItemInformationProvider.getInstance().getName(getItemId()) + "'!");
//c.getPlayer().dropMessage(6, "A new Vicious Hammer opportunity has been found on the '" + ItemInformationProvider.getInstance().getName(getItemId()) + "'!");
lvupStr += "+VICIOUS ";
}
if (gotSlot) {
//c.getPlayer().dropMessage(6, "A new upgrade slot has been found on the '" + MapleItemInformationProvider.getInstance().getName(getItemId()) + "'!");
//c.getPlayer().dropMessage(6, "A new upgrade slot has been found on the '" + ItemInformationProvider.getInstance().getName(getItemId()) + "'!");
lvupStr += "+UPGSLOT ";
}
@@ -559,7 +559,7 @@ public class Equip extends Item {
}
public synchronized void gainItemExp(Client c, int gain) { // Ronan's Equip Exp gain method
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
ItemInformationProvider ii = ItemInformationProvider.getInstance();
if(!ii.isUpgradeable(this.getItemId())) {
return;
}
@@ -601,7 +601,7 @@ public class Equip extends Item {
private boolean reachedMaxLevel() {
if (isElemental) {
if (itemLevel < MapleItemInformationProvider.getInstance().getEquipLevel(getItemId(), true)) {
if (itemLevel < ItemInformationProvider.getInstance().getEquipLevel(getItemId(), true)) {
return false;
}
}
@@ -610,7 +610,7 @@ public class Equip extends Item {
}
public String showEquipFeatures(Client c) {
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
ItemInformationProvider ii = ItemInformationProvider.getInstance();
if(!ii.isUpgradeable(this.getItemId())) return "";
String eqpName = ii.getName(getItemId());

View File

@@ -27,7 +27,7 @@ import client.inventory.manipulator.InventoryManipulator;
import constants.inventory.ItemConstants;
import net.server.audit.locks.MonitoredLockType;
import net.server.audit.locks.factory.MonitoredReentrantLockFactory;
import server.MapleItemInformationProvider;
import server.ItemInformationProvider;
import server.ThreadManager;
import tools.FilePrinter;
import tools.Pair;
@@ -113,7 +113,7 @@ public class Inventory implements Iterable<Item> {
}
public Item findByName(String name) {
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
ItemInformationProvider ii = ItemInformationProvider.getInstance();
for (Item item : list()) {
String itemName = ii.getName(item.getItemId());
if (itemName == null) {
@@ -421,7 +421,7 @@ public class Inventory implements Iterable<Item> {
}
private static boolean checkItemRestricted(List<Pair<Item, InventoryType>> items) {
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
ItemInformationProvider ii = ItemInformationProvider.getInstance();
// thanks Shavit for noticing set creation that would be only effective in rare situations
for (Pair<Item, InventoryType> p : items) {

View File

@@ -23,7 +23,7 @@ package client.inventory;
import client.inventory.manipulator.KarmaManipulator;
import constants.inventory.ItemConstants;
import server.MapleItemInformationProvider;
import server.ItemInformationProvider;
import java.util.Collections;
import java.util.LinkedList;
@@ -152,7 +152,7 @@ public class Item implements Comparable<Item> {
}
public void setFlag(short b) {
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
ItemInformationProvider ii = ItemInformationProvider.getInstance();
if (ii.isAccountRestricted(id)) {
b |= ItemConstants.ACCOUNT_SHARING; // thanks Shinigami15 for noticing ACCOUNT_SHARING flag not being applied properly to items server-side
}
@@ -189,6 +189,6 @@ public class Item implements Comparable<Item> {
}
public boolean isUntradeable() {
return ((this.getFlag() & ItemConstants.UNTRADEABLE) == ItemConstants.UNTRADEABLE) || (MapleItemInformationProvider.getInstance().isDropRestricted(this.getItemId()) && !KarmaManipulator.hasKarmaFlag(this));
return ((this.getFlag() & ItemConstants.UNTRADEABLE) == ItemConstants.UNTRADEABLE) || (ItemInformationProvider.getInstance().isDropRestricted(this.getItemId()) && !KarmaManipulator.hasKarmaFlag(this));
}
}

View File

@@ -24,7 +24,7 @@ package client.inventory;
import client.Character;
import client.inventory.manipulator.CashIdGenerator;
import constants.game.ExpTable;
import server.MapleItemInformationProvider;
import server.ItemInformationProvider;
import server.movement.AbsoluteLifeMovement;
import server.movement.LifeMovement;
import server.movement.LifeMovementFragment;
@@ -130,7 +130,7 @@ public class Pet extends Item {
PreparedStatement ps = con.prepareStatement("INSERT INTO pets (petid, name, level, closeness, fullness, summoned, flag) VALUES (?, ?, 1, 0, 100, 0, 0)")) {
int ret = CashIdGenerator.generateCashId();
ps.setInt(1, ret);
ps.setString(2, MapleItemInformationProvider.getInstance().getName(itemid));
ps.setString(2, ItemInformationProvider.getInstance().getName(itemid));
ps.executeUpdate();
return ret;
} catch (SQLException e) {
@@ -144,7 +144,7 @@ public class Pet extends Item {
PreparedStatement ps = con.prepareStatement("INSERT INTO pets (petid, name, level, closeness, fullness, summoned, flag) VALUES (?, ?, ?, ?, ?, 0, 0)")) {
int ret = CashIdGenerator.generateCashId();
ps.setInt(1, ret);
ps.setString(2, MapleItemInformationProvider.getInstance().getName(itemid));
ps.setString(2, ItemInformationProvider.getInstance().getName(itemid));
ps.setByte(3, level);
ps.setInt(4, closeness);
ps.setInt(5, fullness);
@@ -307,7 +307,7 @@ public class Pet extends Item {
}
public Pair<Integer, Boolean> canConsume(int itemId) {
return MapleItemInformationProvider.getInstance().canPetConsume(this.getItemId(), itemId);
return ItemInformationProvider.getInstance().canPetConsume(this.getItemId(), itemId);
}
public void updatePosition(List<LifeMovementFragment> movement) {

View File

@@ -28,7 +28,7 @@ import client.inventory.*;
import client.newyear.NewYearCardRecord;
import config.YamlConfig;
import constants.inventory.ItemConstants;
import server.MapleItemInformationProvider;
import server.ItemInformationProvider;
import server.maps.MapleMap;
import tools.FilePrinter;
import tools.PacketCreator;
@@ -75,7 +75,7 @@ public class InventoryManipulator {
}
private static boolean addByIdInternal(Client c, Character chr, InventoryType type, Inventory inv, int itemId, short quantity, String owner, int petid, short flag, long expiration) {
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
ItemInformationProvider ii = ItemInformationProvider.getInstance();
if (!type.equals(InventoryType.EQUIP)) {
short slotMax = ii.getSlotMax(c, itemId);
List<Item> existing = inv.listById(itemId);
@@ -184,7 +184,7 @@ public class InventoryManipulator {
}
private static boolean addFromDropInternal(Client c, Character chr, InventoryType type, Inventory inv, Item item, boolean show, int petId) {
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
ItemInformationProvider ii = ItemInformationProvider.getInstance();
int itemid = item.getItemId();
if (ii.isPickupRestricted(itemid) && chr.haveItemWithId(itemid, true)) {
c.sendPacket(PacketCreator.getInventoryFull());
@@ -284,7 +284,7 @@ public class InventoryManipulator {
}
public static boolean checkSpace(Client c, int itemid, int quantity, String owner) {
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
ItemInformationProvider ii = ItemInformationProvider.getInstance();
InventoryType type = ItemConstants.getInventoryType(itemid);
Character chr = c.getPlayer();
Inventory inv = chr.getInventory(type);
@@ -339,7 +339,7 @@ public class InventoryManipulator {
int returnValue;
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
ItemInformationProvider ii = ItemInformationProvider.getInstance();
InventoryType type = !useProofInv ? ItemConstants.getInventoryType(itemid) : InventoryType.CANHOLD;
Character chr = c.getPlayer();
Inventory inv = chr.getInventory(type);
@@ -484,7 +484,7 @@ public class InventoryManipulator {
if (dst > inv.getSlotLimit()) {
return;
}
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
ItemInformationProvider ii = ItemInformationProvider.getInstance();
Item source = inv.getItem(src);
Item initialTarget = inv.getItem(dst);
if (source == null) {
@@ -513,7 +513,7 @@ public class InventoryManipulator {
}
public static void equip(Client c, short src, short dst) {
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
ItemInformationProvider ii = ItemInformationProvider.getInstance();
Character chr = c.getPlayer();
Inventory eqpInv = chr.getInventory(InventoryType.EQUIP);
@@ -672,7 +672,7 @@ public class InventoryManipulator {
}
private static boolean isDisappearingItemDrop(Item it) {
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
ItemInformationProvider ii = ItemInformationProvider.getInstance();
if (ii.isDropRestricted(it.getItemId())) {
return true;
} else if (ii.isCash(it.getItemId())) {

View File

@@ -29,9 +29,9 @@ import config.YamlConfig;
import constants.game.GameConstants;
import constants.inventory.ItemConstants;
import net.packet.InPacket;
import server.ItemInformationProvider;
import server.MakerItemFactory;
import server.MakerItemFactory.MakerItemCreateEntry;
import server.MapleItemInformationProvider;
import tools.FilePrinter;
import tools.PacketCreator;
import tools.Pair;
@@ -47,7 +47,7 @@ import java.util.Map;
*/
public class MakerProcessor {
private static MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
private static ItemInformationProvider ii = ItemInformationProvider.getInstance();
public static void makerAction(InPacket p, Client c) {
if (c.tryacquireClient()) {
@@ -376,7 +376,7 @@ public class MakerProcessor {
if(!(c.getPlayer().isGM() && YamlConfig.config.server.USE_PERFECT_GM_SCROLL)) {
eqp.setUpgradeSlots((byte)(eqp.getUpgradeSlots() + 1));
}
item = MapleItemInformationProvider.getInstance().scrollEquipWithId(eqp, 2049100, true, 2049100, c.getPlayer().isGM());
item = ItemInformationProvider.getInstance().scrollEquipWithId(eqp, 2049100, true, 2049100, c.getPlayer().isGM());
}
if(!reagentids.isEmpty()) {

View File

@@ -28,7 +28,7 @@ import client.inventory.InventoryType;
import client.inventory.Item;
import client.inventory.manipulator.InventoryManipulator;
import config.YamlConfig;
import server.MapleItemInformationProvider;
import server.ItemInformationProvider;
import server.MapleStatEffect;
import tools.PacketCreator;
@@ -116,7 +116,7 @@ public class PetAutopotProcessor {
}
}
stat = MapleItemInformationProvider.getInstance().getItemEffect(toUse.getItemId());
stat = ItemInformationProvider.getInstance().getItemEffect(toUse.getItemId());
hasHpGain = stat.getHp() > 0 || stat.getHpRate() > 0.0;
hasMpGain = stat.getMp() > 0 || stat.getMpRate() > 0.0;

View File

@@ -36,7 +36,7 @@ import config.YamlConfig;
import constants.inventory.ItemConstants;
import net.server.channel.Channel;
import server.DueyPackage;
import server.MapleItemInformationProvider;
import server.ItemInformationProvider;
import server.MapleTrade;
import tools.DatabaseConnection;
import tools.FilePrinter;
@@ -239,7 +239,7 @@ public class DueyProcessor {
private static int addPackageItemFromInventory(int packageId, Client c, byte invTypeId, short itemPos, short amount) {
if (invTypeId > 0) {
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
ItemInformationProvider ii = ItemInformationProvider.getInstance();
InventoryType invType = InventoryType.getByType(invTypeId);
Inventory inv = c.getPlayer().getInventory(invType);
@@ -411,7 +411,7 @@ public class DueyProcessor {
if (!InventoryManipulator.checkSpace(c, dpItem.getItemId(), dpItem.getQuantity(), dpItem.getOwner())) {
int itemid = dpItem.getItemId();
if (MapleItemInformationProvider.getInstance().isPickupRestricted(itemid) && c.getPlayer().getInventory(ItemConstants.getInventoryType(itemid)).findById(itemid) != null) {
if (ItemInformationProvider.getInstance().isPickupRestricted(itemid) && c.getPlayer().getInventory(ItemConstants.getInventoryType(itemid)).findById(itemid) != null) {
c.sendPacket(PacketCreator.sendDueyMSG(Actions.TOCLIENT_RECV_RECEIVER_WITH_UNIQUE.getCode()));
} else {
c.sendPacket(PacketCreator.sendDueyMSG(Actions.TOCLIENT_RECV_NO_FREE_SLOTS.getCode()));

View File

@@ -32,7 +32,7 @@ import client.inventory.ItemFactory;
import client.inventory.manipulator.InventoryManipulator;
import net.server.Server;
import net.server.world.World;
import server.MapleItemInformationProvider;
import server.ItemInformationProvider;
import server.maps.HiredMerchant;
import tools.DatabaseConnection;
import tools.FilePrinter;
@@ -290,7 +290,7 @@ public class FredrickProcessor {
for (Pair<Item, InventoryType> it : items) {
Item item = it.getLeft();
InventoryManipulator.addFromDrop(chr.getClient(), item, false);
String itemName = MapleItemInformationProvider.getInstance().getName(item.getItemId());
String itemName = ItemInformationProvider.getInstance().getName(item.getItemId());
FilePrinter.print(FilePrinter.FREDRICK + chr.getName() + ".txt", chr.getName() + " gained " + item.getQuantity() + " " + itemName + " (" + item.getItemId() + ")");
}

View File

@@ -32,7 +32,7 @@ import client.inventory.manipulator.KarmaManipulator;
import config.YamlConfig;
import constants.inventory.ItemConstants;
import net.packet.InPacket;
import server.MapleItemInformationProvider;
import server.ItemInformationProvider;
import server.MapleStorage;
import tools.FilePrinter;
import tools.PacketCreator;
@@ -45,7 +45,7 @@ import tools.PacketCreator;
public class StorageProcessor {
public static void storageAction(InPacket p, Client c) {
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
ItemInformationProvider ii = ItemInformationProvider.getInstance();
Character chr = c.getPlayer();
MapleStorage storage = chr.getStorage();
byte mode = p.readByte();

View File

@@ -28,7 +28,7 @@ import client.inventory.InventoryType;
import client.inventory.manipulator.InventoryManipulator;
import net.AbstractPacketHandler;
import net.packet.InPacket;
import server.MapleItemInformationProvider;
import server.ItemInformationProvider;
import server.life.LifeFactory;
import server.life.Monster;
import server.maps.MapObject;
@@ -52,7 +52,7 @@ public final class AdminCommandHandler extends AbstractPacketHandler {
Character target;
switch (mode) {
case 0x00: // Level1~Level8 & Package1~Package2
int[][] toSpawn = MapleItemInformationProvider.getInstance().getSummonMobs(p.readInt());
int[][] toSpawn = ItemInformationProvider.getInstance().getSummonMobs(p.readInt());
for (int[] toSpawnChild : toSpawn) {
if (Randomizer.nextInt(100) < toSpawnChild[1]) {
c.getPlayer().getMap().spawnMonsterOnGroundBelow(LifeFactory.getMonster(toSpawnChild[0]), c.getPlayer().getPosition());

View File

@@ -24,14 +24,14 @@ package net.server.channel.handlers;
import client.Client;
import net.AbstractPacketHandler;
import net.packet.InPacket;
import server.MapleItemInformationProvider;
import server.ItemInformationProvider;
public final class CancelItemEffectHandler extends AbstractPacketHandler {
@Override
public final void handlePacket(InPacket p, Client c) {
int itemId = -p.readInt();
if (MapleItemInformationProvider.getInstance().noCancelMouse(itemId)) {
if (ItemInformationProvider.getInstance().noCancelMouse(itemId)) {
return;
}
c.getPlayer().cancelEffect(itemId);

View File

@@ -37,7 +37,7 @@ import net.server.Server;
import server.CashShop;
import server.CashShop.CashItem;
import server.CashShop.CashItemFactory;
import server.MapleItemInformationProvider;
import server.ItemInformationProvider;
import tools.FilePrinter;
import tools.PacketCreator;
import tools.Pair;
@@ -484,7 +484,7 @@ public final class CashOperationHandler extends AbstractPacketHandler {
private static boolean canBuy(Character chr, CashItem item, int cash) {
if (item != null && item.isOnSale() && item.getPrice() <= cash) {
FilePrinter.print(FilePrinter.CASHITEM_BOUGHT, chr + " bought " + MapleItemInformationProvider.getInstance().getName(item.getItemId()) + " (SN " + item.getSN() + ") for " + item.getPrice());
FilePrinter.print(FilePrinter.CASHITEM_BOUGHT, chr + " bought " + ItemInformationProvider.getInstance().getName(item.getItemId()) + " (SN " + item.getSN() + ") for " + item.getPrice());
return true;
} else {
return false;

View File

@@ -31,7 +31,7 @@ import net.AbstractPacketHandler;
import net.packet.InPacket;
import net.server.Server;
import server.CashShop;
import server.MapleItemInformationProvider;
import server.ItemInformationProvider;
import tools.DatabaseConnection;
import tools.FilePrinter;
import tools.PacketCreator;
@@ -87,7 +87,7 @@ public final class CouponCodeHandler extends AbstractPacketHandler {
for (Entry<Integer, Integer> e : couponItems.entrySet()) {
int item = e.getKey(), qty = e.getValue();
if (MapleItemInformationProvider.getInstance().getName(item) == null) {
if (ItemInformationProvider.getInstance().getName(item) == null) {
item = 4000000;
qty = 1;
@@ -238,7 +238,7 @@ public final class CouponCodeHandler extends AbstractPacketHandler {
qty = (short) quantity;
}
if (MapleItemInformationProvider.getInstance().isCash(item)) {
if (ItemInformationProvider.getInstance().isCash(item)) {
Item it = CashShop.generateCouponItem(item, qty);
cs.addToInventory(it);

View File

@@ -31,7 +31,7 @@ import config.YamlConfig;
import net.AbstractPacketHandler;
import net.packet.InPacket;
import net.server.Server;
import server.MapleItemInformationProvider;
import server.ItemInformationProvider;
import tools.PacketCreator;
public final class InventoryMergeHandler extends AbstractPacketHandler {
@@ -59,7 +59,7 @@ public final class InventoryMergeHandler extends AbstractPacketHandler {
try {
//------------------- RonanLana's SLOT MERGER -----------------
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
ItemInformationProvider ii = ItemInformationProvider.getInstance();
Item srcItem, dstItem;
for(short dst = 1; dst <= inventory.getSlotLimit(); dst++) {

View File

@@ -28,7 +28,7 @@ import config.YamlConfig;
import net.AbstractPacketHandler;
import net.packet.InPacket;
import net.server.Server;
import server.MapleItemInformationProvider;
import server.ItemInformationProvider;
import tools.PacketCreator;
import java.util.ArrayList;
@@ -44,7 +44,7 @@ class PairedQuicksort {
private int i = 0;
private int j = 0;
private final ArrayList<Integer> intersect;
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
ItemInformationProvider ii = ItemInformationProvider.getInstance();
private void PartitionByItemId(int Esq, int Dir, ArrayList<Item> A) {
Item x, w;

View File

@@ -29,8 +29,8 @@ import constants.inventory.ItemConstants;
import net.AbstractPacketHandler;
import net.packet.InPacket;
import net.server.Server;
import server.MapleItemInformationProvider;
import server.MapleItemInformationProvider.RewardItem;
import server.ItemInformationProvider;
import server.ItemInformationProvider.RewardItem;
import tools.PacketCreator;
import tools.Pair;
import tools.Randomizer;
@@ -50,7 +50,7 @@ public final class ItemRewardHandler extends AbstractPacketHandler {
Item it = c.getPlayer().getInventory(InventoryType.USE).getItem(slot); // null check here thanks to Thora
if (it == null || it.getItemId() != itemId || c.getPlayer().getInventory(InventoryType.USE).countById(itemId) < 1) return;
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
ItemInformationProvider ii = ItemInformationProvider.getInstance();
Pair<Integer, List<RewardItem>> rewards = ii.getItemReward(itemId);
for (RewardItem reward : rewards.getRight()) {
if (!InventoryManipulator.checkSpace(c, reward.itemid, reward.quantity, "")) {

View File

@@ -33,8 +33,8 @@ import net.packet.InPacket;
import net.packet.Packet;
import net.server.Server;
import net.server.channel.Channel;
import server.ItemInformationProvider;
import server.MTSItemInfo;
import server.MapleItemInformationProvider;
import tools.DatabaseConnection;
import tools.PacketCreator;
import tools.Pair;
@@ -809,7 +809,7 @@ public final class MTSHandler extends AbstractPacketHandler {
public Packet getMTSSearch(int tab, int type, int cOi, String search, int page) {
List<MTSItemInfo> items = new ArrayList<>();
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
ItemInformationProvider ii = ItemInformationProvider.getInstance();
String listaitems = "";
if (cOi != 0) {
List<String> retItems = new ArrayList<>();

View File

@@ -26,7 +26,7 @@ import client.Client;
import client.processor.action.PetAutopotProcessor;
import net.AbstractPacketHandler;
import net.packet.InPacket;
import server.MapleItemInformationProvider;
import server.ItemInformationProvider;
import server.MapleStatEffect;
public final class PetAutoPotHandler extends AbstractPacketHandler {
@@ -40,7 +40,7 @@ public final class PetAutoPotHandler extends AbstractPacketHandler {
int itemId = p.readInt();
Character chr = c.getPlayer();
MapleStatEffect stat = MapleItemInformationProvider.getInstance().getItemEffect(itemId);
MapleStatEffect stat = ItemInformationProvider.getInstance().getItemEffect(itemId);
if (stat.getHp() > 0 || stat.getHpRate() > 0.0) {
float estimatedHp = ((float) chr.getHp()) / chr.getMaxHp();
chr.setAutopotHpAlert(estimatedHp + 0.05f);

View File

@@ -34,7 +34,7 @@ import constants.game.GameConstants;
import constants.inventory.ItemConstants;
import net.AbstractPacketHandler;
import net.packet.InPacket;
import server.MapleItemInformationProvider;
import server.ItemInformationProvider;
import server.MapleTrade;
import server.maps.*;
import server.maps.MiniGame.MiniGameType;
@@ -471,7 +471,7 @@ public final class PlayerInteractionHandler extends AbstractPacketHandler {
} else if (mode == Action.SET_MESO.getCode()) {
chr.getTrade().setMeso(p.readInt());
} else if (mode == Action.SET_ITEMS.getCode()) {
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
ItemInformationProvider ii = ItemInformationProvider.getInstance();
InventoryType ivType = InventoryType.getByType(p.readByte());
short pos = p.readShort();
Item item = chr.getInventory(ivType).getItem(pos);
@@ -565,7 +565,7 @@ public final class PlayerInteractionHandler extends AbstractPacketHandler {
c.sendPacket(PacketCreator.serverNotice(1, "Could not perform shop operation with that item."));
c.sendPacket(PacketCreator.enableActions());
return;
} else if (MapleItemInformationProvider.getInstance().isUnmerchable(ivItem.getItemId())) {
} else if (ItemInformationProvider.getInstance().isUnmerchable(ivItem.getItemId())) {
if (ItemConstants.isPet(ivItem.getItemId())) {
c.sendPacket(PacketCreator.serverNotice(1, "Pets are not allowed to be sold on the Player Store."));
} else {

View File

@@ -8,8 +8,8 @@ import client.inventory.InventoryType;
import client.inventory.manipulator.InventoryManipulator;
import net.AbstractPacketHandler;
import net.packet.InPacket;
import server.MapleItemInformationProvider;
import server.MapleItemInformationProvider.QuestConsItem;
import server.ItemInformationProvider;
import server.ItemInformationProvider.QuestConsItem;
import server.quest.Quest;
import tools.PacketCreator;
@@ -30,7 +30,7 @@ public class RaiseIncExpHandler extends AbstractPacketHandler {
if (c.tryacquireClient()) {
try {
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
ItemInformationProvider ii = ItemInformationProvider.getInstance();
QuestConsItem consItem = ii.getQuestConsumablesInfo(itemid);
if (consItem == null) {
return;

View File

@@ -34,7 +34,7 @@ import constants.inventory.ItemConstants;
import constants.skills.*;
import net.packet.InPacket;
import net.packet.Packet;
import server.MapleItemInformationProvider;
import server.ItemInformationProvider;
import server.MapleStatEffect;
import tools.PacketCreator;
import tools.Randomizer;
@@ -91,7 +91,7 @@ public final class RangedAttackHandler extends AbstractDealDamageHandler {
}
} else {
Item weapon = chr.getInventory(InventoryType.EQUIPPED).getItem((short) -11);
WeaponType type = MapleItemInformationProvider.getInstance().getWeaponType(weapon.getItemId());
WeaponType type = ItemInformationProvider.getInstance().getWeaponType(weapon.getItemId());
if (type == WeaponType.NOT_A_WEAPON) {
return;
}

View File

@@ -34,7 +34,7 @@ import net.packet.InPacket;
import net.server.channel.Channel;
import net.server.world.World;
import scripting.event.EventInstanceManager;
import server.MapleItemInformationProvider;
import server.ItemInformationProvider;
import tools.DatabaseConnection;
import tools.PacketCreator;
import tools.Pair;
@@ -273,7 +273,7 @@ public final class RingActionHandler extends AbstractPacketHandler {
public static void giveMarriageRings(Character player, Character partner, int marriageRingId) {
Pair<Integer, Integer> rings = Ring.createRing(marriageRingId, player, partner);
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
ItemInformationProvider ii = ItemInformationProvider.getInstance();
Item ringObj = ii.getEquipById(marriageRingId);
Equip ringEqp = (Equip) ringObj;

View File

@@ -27,8 +27,8 @@ import constants.inventory.ItemConstants;
import net.AbstractPacketHandler;
import net.packet.InPacket;
import scripting.item.ItemScriptManager;
import server.MapleItemInformationProvider;
import server.MapleItemInformationProvider.ScriptedItem;
import server.ItemInformationProvider;
import server.ItemInformationProvider.ScriptedItem;
/**
*
@@ -41,7 +41,7 @@ public final class ScriptedItemHandler extends AbstractPacketHandler {
short itemSlot = p.readShort(); // item slot, thanks RMZero213
int itemId = p.readInt();
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
ItemInformationProvider ii = ItemInformationProvider.getInstance();
ScriptedItem info = ii.getScriptedItemInfo(itemId);
if (info == null) return;

View File

@@ -31,7 +31,7 @@ import client.inventory.manipulator.InventoryManipulator;
import constants.inventory.ItemConstants;
import net.AbstractPacketHandler;
import net.packet.InPacket;
import server.MapleItemInformationProvider;
import server.ItemInformationProvider;
import tools.PacketCreator;
import java.util.ArrayList;
@@ -58,7 +58,7 @@ public final class ScrollHandler extends AbstractPacketHandler {
whiteScroll = true;
}
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
ItemInformationProvider ii = ItemInformationProvider.getInstance();
Character chr = c.getPlayer();
Equip toScroll = (Equip) chr.getInventory(InventoryType.EQUIPPED).getItem(dst);
Skill LegendarySpirit = SkillFactory.getSkill(1003);

View File

@@ -31,7 +31,7 @@ import client.inventory.Item;
import client.inventory.manipulator.InventoryManipulator;
import net.AbstractPacketHandler;
import net.packet.InPacket;
import server.MapleItemInformationProvider;
import server.ItemInformationProvider;
import tools.PacketCreator;
import java.util.Map;
@@ -61,7 +61,7 @@ public final class SkillBookHandler extends AbstractPacketHandler {
if (toUse == null || toUse.getItemId() != itemId) {
return;
}
Map<String, Integer> skilldata = MapleItemInformationProvider.getInstance().getSkillStats(toUse.getItemId(), c.getPlayer().getJob().getId());
Map<String, Integer> skilldata = ItemInformationProvider.getInstance().getSkillStats(toUse.getItemId(), c.getPlayer().getJob().getId());
if (skilldata == null) {
return;
}
@@ -82,7 +82,7 @@ public final class SkillBookHandler extends AbstractPacketHandler {
}
canuse = true;
if (MapleItemInformationProvider.rollSuccessChance(skilldata.get("success"))) {
if (ItemInformationProvider.rollSuccessChance(skilldata.get("success"))) {
success = true;
player.changeSkillLevel(skill2, player.getSkillLevel(skill2), Math.max(skilldata.get("masterLevel"), player.getMasterLevel(skill2)), -1);
} else {

View File

@@ -32,7 +32,7 @@ import client.inventory.WeaponType;
import client.status.MonsterStatusEffect;
import constants.skills.Outlaw;
import net.packet.InPacket;
import server.MapleItemInformationProvider;
import server.ItemInformationProvider;
import server.MapleStatEffect;
import server.life.Monster;
import server.life.MonsterInformationProvider;
@@ -139,7 +139,7 @@ public final class SummonDamageHandler extends AbstractDealDamageHandler {
int maxBaseDmg; // thanks Conrad, Atoot for detecting some summons legitimately hitting over the calculated limit
if (weapon_item != null) {
maxBaseDmg = player.calculateMaxBaseDamage(watk, MapleItemInformationProvider.getInstance().getWeaponType(weapon_item.getItemId()));
maxBaseDmg = player.calculateMaxBaseDamage(watk, ItemInformationProvider.getInstance().getWeaponType(weapon_item.getItemId()));
} else {
maxBaseDmg = player.calculateMaxBaseDamage(watk, WeaponType.SWORD1H);
}

View File

@@ -37,7 +37,7 @@ import constants.inventory.ItemConstants;
import net.AbstractPacketHandler;
import net.packet.InPacket;
import net.server.Server;
import server.MapleItemInformationProvider;
import server.ItemInformationProvider;
import server.MapleShop;
import server.MapleShopFactory;
import server.TimerManager;
@@ -64,7 +64,7 @@ public final class UseCashItemHandler extends AbstractPacketHandler {
}
player.setLastUsedCashItem(timeNow);
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
ItemInformationProvider ii = ItemInformationProvider.getInstance();
short position = p.readShort();
int itemId = p.readInt();
int itemType = itemId / 10000;

View File

@@ -30,7 +30,7 @@ import constants.inventory.ItemConstants;
import net.AbstractPacketHandler;
import net.packet.InPacket;
import net.server.Server;
import server.MapleItemInformationProvider;
import server.ItemInformationProvider;
import server.life.Monster;
import tools.PacketCreator;
@@ -189,7 +189,7 @@ public final class UseCatchItemHandler extends AbstractPacketHandler {
default:
// proper Fish catch, thanks to Dragohe4rt
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
ItemInformationProvider ii = ItemInformationProvider.getInstance();
int itemGanho = ii.getCreateItem(itemId);
int mobItem = ii.getMobItem(itemId);

View File

@@ -31,7 +31,7 @@ import config.YamlConfig;
import constants.inventory.ItemConstants;
import net.AbstractPacketHandler;
import net.packet.InPacket;
import server.MapleItemInformationProvider;
import server.ItemInformationProvider;
import server.MapleStatEffect;
import tools.PacketCreator;
@@ -47,7 +47,7 @@ public final class UseItemHandler extends AbstractPacketHandler {
c.sendPacket(PacketCreator.enableActions());
return;
}
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
ItemInformationProvider ii = ItemInformationProvider.getInstance();
p.readInt();
short slot = p.readShort();
int itemId = p.readInt();

View File

@@ -29,7 +29,7 @@ import client.inventory.Item;
import client.inventory.manipulator.InventoryManipulator;
import net.AbstractPacketHandler;
import net.packet.InPacket;
import server.MapleItemInformationProvider;
import server.ItemInformationProvider;
import tools.PacketCreator;
/**
@@ -45,7 +45,7 @@ public final class UseSolomonHandler extends AbstractPacketHandler {
p.readInt();
short slot = p.readShort();
int itemId = p.readInt();
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
ItemInformationProvider ii = ItemInformationProvider.getInstance();
if (c.tryacquireClient()) {
try {

View File

@@ -27,7 +27,7 @@ import client.inventory.Item;
import client.inventory.manipulator.InventoryManipulator;
import net.AbstractPacketHandler;
import net.packet.InPacket;
import server.MapleItemInformationProvider;
import server.ItemInformationProvider;
import server.life.LifeFactory;
import tools.PacketCreator;
import tools.Randomizer;
@@ -51,7 +51,7 @@ public final class UseSummonBagHandler extends AbstractPacketHandler {
Item toUse = c.getPlayer().getInventory(InventoryType.USE).getItem(slot);
if (toUse != null && toUse.getQuantity() > 0 && toUse.getItemId() == itemId) {
InventoryManipulator.removeFromSlot(c, InventoryType.USE, slot, (short) 1, false);
int[][] toSpawn = MapleItemInformationProvider.getInstance().getSummonMobs(itemId);
int[][] toSpawn = ItemInformationProvider.getInstance().getSummonMobs(itemId);
for (int[] toSpawnChild : toSpawn) {
if (Randomizer.nextInt(100) < toSpawnChild[1]) {
c.getPlayer().getMap().spawnMonsterOnGroundBelow(LifeFactory.getMonster(toSpawnChild[0]), c.getPlayer().getPosition());

View File

@@ -36,7 +36,7 @@ import net.server.world.PartyCharacter;
import scripting.event.EventInstanceManager;
import scripting.event.EventManager;
import scripting.npc.NPCScriptManager;
import server.MapleItemInformationProvider;
import server.ItemInformationProvider;
import server.MapleMarriage;
import server.expeditions.Expedition;
import server.expeditions.ExpeditionBossLog;
@@ -581,7 +581,7 @@ public class AbstractPlayerInteraction {
evolved.setStance(0);
evolved.setSummoned(true);
evolved.setName(from.getName().compareTo(MapleItemInformationProvider.getInstance().getName(from.getItemId())) != 0 ? from.getName() : MapleItemInformationProvider.getInstance().getName(id));
evolved.setName(from.getName().compareTo(ItemInformationProvider.getInstance().getName(from.getItemId())) != 0 ? from.getName() : ItemInformationProvider.getInstance().getName(id));
evolved.setCloseness(from.getCloseness());
evolved.setFullness(from.getFullness());
evolved.setLevel(from.getLevel());
@@ -592,7 +592,7 @@ public class AbstractPlayerInteraction {
//InventoryManipulator.addById(c, id, (short) 1, null, petId, expires == -1 ? -1 : System.currentTimeMillis() + expires);
}
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
ItemInformationProvider ii = ItemInformationProvider.getInstance();
if (ItemConstants.getInventoryType(id).equals(InventoryType.EQUIP)) {
item = ii.getEquipById(id);
@@ -608,7 +608,7 @@ public class AbstractPlayerInteraction {
if(!(c.getPlayer().isGM() && YamlConfig.config.server.USE_PERFECT_GM_SCROLL)) {
eqp.setUpgradeSlots((byte)(eqp.getUpgradeSlots() + 1));
}
item = MapleItemInformationProvider.getInstance().scrollEquipWithId(item, 2049100, true, 2049100, c.getPlayer().isGM());
item = ItemInformationProvider.getInstance().scrollEquipWithId(item, 2049100, true, 2049100, c.getPlayer().isGM());
}
}
} else {
@@ -904,12 +904,12 @@ public class AbstractPlayerInteraction {
}
public void useItem(int id) {
MapleItemInformationProvider.getInstance().getItemEffect(id).applyTo(c.getPlayer());
ItemInformationProvider.getInstance().getItemEffect(id).applyTo(c.getPlayer());
c.sendPacket(PacketCreator.getItemMessage(id));//Useful shet :3
}
public void cancelItem(final int id) {
getPlayer().cancelEffect(MapleItemInformationProvider.getInstance().getItemEffect(id), false, -1);
getPlayer().cancelEffect(ItemInformationProvider.getInstance().getItemEffect(id), false, -1);
}
public void teachSkill(int skillid, byte level, byte masterLevel, long expiration) {
@@ -941,7 +941,7 @@ public class AbstractPlayerInteraction {
if (old != null) {
InventoryManipulator.removeFromSlot(c, InventoryType.EQUIPPED, slot, old.getQuantity(), false, false);
}
final Item newItem = MapleItemInformationProvider.getInstance().getEquipById(itemid);
final Item newItem = ItemInformationProvider.getInstance().getEquipById(itemid);
newItem.setPosition(slot);
c.getPlayer().getInventory(InventoryType.EQUIPPED).addItemFromDB(newItem);
c.sendPacket(PacketCreator.modifyInventory(false, Collections.singletonList(new ModifyInventory(0, newItem))));

View File

@@ -36,7 +36,7 @@ import net.server.world.Party;
import net.server.world.PartyCharacter;
import scripting.AbstractPlayerInteraction;
import scripting.event.scheduler.EventScriptScheduler;
import server.MapleItemInformationProvider;
import server.ItemInformationProvider;
import server.MapleStatEffect;
import server.ThreadManager;
import server.TimerManager;
@@ -144,7 +144,7 @@ public class EventInstanceManager {
public void applyEventPlayersItemBuff(int itemId) {
List<Character> players = getPlayerList();
MapleStatEffect mse = MapleItemInformationProvider.getInstance().getItemEffect(itemId);
MapleStatEffect mse = ItemInformationProvider.getInstance().getItemEffect(itemId);
if(mse != null) {
for (Character player: players) {

View File

@@ -23,7 +23,7 @@ package scripting.item;
import client.Client;
import scripting.npc.NPCScriptManager;
import server.MapleItemInformationProvider.ScriptedItem;
import server.ItemInformationProvider.ScriptedItem;
public class ItemScriptManager {

View File

@@ -365,7 +365,7 @@ public class NPCConversationManager extends AbstractPlayerInteraction {
}
public MapleStatEffect getItemEffect(int itemId) {
return MapleItemInformationProvider.getInstance().getItemEffect(itemId);
return ItemInformationProvider.getInstance().getItemEffect(itemId);
}
public void resetStats() {
@@ -532,7 +532,7 @@ public class NPCConversationManager extends AbstractPlayerInteraction {
}
public boolean itemExists(int itemid) {
return MapleItemInformationProvider.getInstance().getName(itemid) != null;
return ItemInformationProvider.getInstance().getName(itemid) != null;
}
public int getCosmeticItem(int itemid) {
@@ -567,18 +567,18 @@ public class NPCConversationManager extends AbstractPlayerInteraction {
}
public Object[] getAvailableMasteryBooks() {
return MapleItemInformationProvider.getInstance().usableMasteryBooks(this.getPlayer()).toArray();
return ItemInformationProvider.getInstance().usableMasteryBooks(this.getPlayer()).toArray();
}
public Object[] getAvailableSkillBooks() {
List<Integer> ret = MapleItemInformationProvider.getInstance().usableSkillBooks(this.getPlayer());
List<Integer> ret = ItemInformationProvider.getInstance().usableSkillBooks(this.getPlayer());
ret.addAll(MapleSkillbookInformationProvider.getTeachableSkills(this.getPlayer()));
return ret.toArray();
}
public Object[] getNamesWhoDropsItem(Integer itemId) {
return MapleItemInformationProvider.getInstance().getWhoDrops(itemId).toArray();
return ItemInformationProvider.getInstance().getWhoDrops(itemId).toArray();
}
public String getSkillBookInfo(int itemid) {

View File

@@ -25,7 +25,7 @@ import client.Character;
import client.Client;
import net.server.world.PartyCharacter;
import scripting.AbstractScriptManager;
import server.MapleItemInformationProvider.ScriptedItem;
import server.ItemInformationProvider.ScriptedItem;
import tools.FilePrinter;
import tools.PacketCreator;

View File

@@ -23,7 +23,7 @@ package scripting.quest;
import client.Client;
import scripting.npc.NPCConversationManager;
import server.MapleItemInformationProvider;
import server.ItemInformationProvider;
import server.quest.Quest;
import server.quest.actions.ExpAction;
import server.quest.actions.MesoAction;
@@ -85,6 +85,6 @@ public class QuestActionManager extends NPCConversationManager {
public String getMedalName() { // usable only for medal quests (id 299XX)
Quest q = Quest.getInstance(quest);
return MapleItemInformationProvider.getInstance().getName(q.getMedalRequirement());
return ItemInformationProvider.getInstance().getName(q.getMedalRequirement());
}
}

View File

@@ -29,7 +29,7 @@ import client.inventory.Item;
import config.YamlConfig;
import constants.inventory.ItemConstants;
import scripting.AbstractPlayerInteraction;
import server.MapleItemInformationProvider;
import server.ItemInformationProvider;
import server.TimerManager;
import server.life.LifeFactory;
import server.life.Monster;
@@ -72,7 +72,7 @@ public class ReactorActionManager extends AbstractPlayerInteraction {
}
private static void sortDropEntries(List<ReactorDropEntry> from, List<ReactorDropEntry> item, List<ReactorDropEntry> visibleQuest, List<ReactorDropEntry> otherQuest, Character chr) {
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
ItemInformationProvider ii = ItemInformationProvider.getInstance();
for(ReactorDropEntry mde : from) {
if(!ii.isQuestItem(mde.itemId)) {
@@ -160,7 +160,7 @@ public class ReactorActionManager extends AbstractPlayerInteraction {
final Point dropPos = new Point(posX, posY);
if(!delayed) {
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
ItemInformationProvider ii = ItemInformationProvider.getInstance();
byte p = 1;
for (ReactorDropEntry d : items) {
@@ -209,7 +209,7 @@ public class ReactorActionManager extends AbstractPlayerInteraction {
if (ItemConstants.getInventoryType(d.itemId) != InventoryType.EQUIP) {
drop = new Item(d.itemId, (short) 0, (short) 1);
} else {
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
ItemInformationProvider ii = ItemInformationProvider.getInstance();
drop = ii.randomizeStats((Equip) ii.getEquipById(d.itemId));
}

View File

@@ -91,7 +91,7 @@ public class CashShop {
}
if (ItemConstants.getInventoryType(itemId).equals(InventoryType.EQUIP)) {
item = MapleItemInformationProvider.getInstance().getEquipById(itemId);
item = ItemInformationProvider.getInstance().getEquipById(itemId);
} else {
item = new Item(itemId, (byte) 0, count, petid);
}

View File

@@ -47,14 +47,12 @@ import java.util.*;
import java.util.Map.Entry;
/**
*
* @author Matze
*
*/
public class MapleItemInformationProvider {
private final static MapleItemInformationProvider instance = new MapleItemInformationProvider();
public class ItemInformationProvider {
private final static ItemInformationProvider instance = new ItemInformationProvider();
public static MapleItemInformationProvider getInstance() {
public static ItemInformationProvider getInstance() {
return instance;
}
@@ -115,7 +113,7 @@ public class MapleItemInformationProvider {
protected Map<Integer, Pair<Integer, Set<Integer>>> cashPetFoodCache = new HashMap<>();
protected Map<Integer, QuestConsItem> questItemConsCache = new HashMap<>();
private MapleItemInformationProvider() {
private ItemInformationProvider() {
loadCardIdData();
itemData = DataProviderFactory.getDataProvider(WZFiles.ITEM);
equipData = DataProviderFactory.getDataProvider(WZFiles.CHARACTER);
@@ -270,7 +268,7 @@ public class MapleItemInformationProvider {
private Data getItemData(int itemId) {
Data ret = null;
String idStr = "0" + String.valueOf(itemId);
String idStr = "0" + itemId;
DataDirectoryEntry root = itemData.getRoot();
for (DataDirectoryEntry topDir : root.getSubdirectories()) {
for (DataFileEntry iFile : topDir.getFiles()) {
@@ -300,16 +298,15 @@ public class MapleItemInformationProvider {
public List<Integer> getItemIdsInRange(int minId, int maxId, boolean ignoreCashItem) {
List<Integer> list = new ArrayList<>();
if(ignoreCashItem) {
for(int i = minId; i <= maxId; i++) {
if(getItemData(i) != null && !isCash(i)) {
if (ignoreCashItem) {
for (int i = minId; i <= maxId; i++) {
if (getItemData(i) != null && !isCash(i)) {
list.add(i);
}
}
}
else {
for(int i = minId; i <= maxId; i++) {
if(getItemData(i) != null) {
} else {
for (int i = minId; i <= maxId; i++) {
if (getItemData(i) != null) {
list.add(i);
}
}
@@ -324,7 +321,7 @@ public class MapleItemInformationProvider {
// thanks GMChuck for detecting player sensitive data being cached into getSlotMax
if (ItemConstants.isThrowingStar(itemId)) {
if(c.getPlayer().getJob().isA(Job.NIGHTWALKER1)) {
if (c.getPlayer().getJob().isA(Job.NIGHTWALKER1)) {
ret += c.getPlayer().getSkillLevel(SkillFactory.getSkill(NightWalker.CLAW_MASTERY)) * 10;
} else {
ret += c.getPlayer().getSkillLevel(SkillFactory.getSkill(Assassin.CLAW_MASTERY)) * 10;
@@ -339,7 +336,7 @@ public class MapleItemInformationProvider {
public short getSlotMax(Client c, int itemId) {
Short slotMax = slotMaxCache.get(itemId);
if (slotMax != null) {
return (short)(slotMax + getExtraSlotMaxFromPlayer(c, itemId));
return (short) (slotMax + getExtraSlotMaxFromPlayer(c, itemId));
}
short ret = 0;
Data item = getItemData(itemId);
@@ -357,7 +354,7 @@ public class MapleItemInformationProvider {
}
slotMaxCache.put(itemId, ret);
return (short)(ret + getExtraSlotMaxFromPlayer(c, itemId));
return (short) (ret + getExtraSlotMaxFromPlayer(c, itemId));
}
public int getMeso(int itemId) {
@@ -381,7 +378,9 @@ public class MapleItemInformationProvider {
private static double getRoundedUnitPrice(double unitPrice, int max) {
double intPart = Math.floor(unitPrice);
double fractPart = unitPrice - intPart;
if(fractPart == 0.0) return intPart;
if (fractPart == 0.0) {
return intPart;
}
double fractMask = 0.0;
double lastFract, curFract = 1.0;
@@ -391,22 +390,22 @@ public class MapleItemInformationProvider {
lastFract = curFract;
curFract /= 2;
if(fractPart == curFract) {
if (fractPart == curFract) {
break;
} else if(fractPart > curFract) {
} else if (fractPart > curFract) {
fractMask += curFract;
fractPart -= curFract;
}
i++;
} while(i <= max);
} while (i <= max);
if(i > max) {
if (i > max) {
lastFract = curFract;
curFract = 0.0;
}
if(Math.abs(fractPart - curFract) < Math.abs(fractPart - lastFract)) {
if (Math.abs(fractPart - curFract) < Math.abs(fractPart - lastFract)) {
return intPart + fractMask + curFract;
} else {
return intPart + fractMask + lastFract;
@@ -433,7 +432,7 @@ public class MapleItemInformationProvider {
try {
fEntry = getRoundedUnitPrice(DataTool.getDouble(pData), 5);
} catch (Exception e) {
fEntry = (double) DataTool.getInt(pData);
fEntry = DataTool.getInt(pData);
}
}
@@ -460,11 +459,11 @@ public class MapleItemInformationProvider {
public int getPrice(int itemId, int quantity) {
int retPrice = getWholePrice(itemId);
if(retPrice == -1) {
if (retPrice == -1) {
return -1;
}
if(!ItemConstants.isRechargeable(itemId)) {
if (!ItemConstants.isRechargeable(itemId)) {
retPrice *= quantity;
} else {
retPrice += Math.ceil(quantity * getUnitPrice(itemId));
@@ -572,7 +571,7 @@ public class MapleItemInformationProvider {
if (scrollReqsCache.containsKey(itemId)) {
return scrollReqsCache.get(itemId);
}
List<Integer> ret = new ArrayList<>();
Data data = getItemData(itemId);
data = data.getChildByPath("req");
@@ -581,7 +580,7 @@ public class MapleItemInformationProvider {
ret.add(DataTool.getInt(req));
}
}
scrollReqsCache.put(itemId, ret);
return ret;
}
@@ -619,74 +618,116 @@ public class MapleItemInformationProvider {
// option: watk, matk, wdef, mdef, spd, jump, hp, mp
// stat: dex, luk, str, int, avoid, acc
if(!option) {
if (!option) {
if (nEquip.getStr() > 0) {
if(YamlConfig.config.server.USE_ENHANCED_CHSCROLL) nEquip.setStr(getMaximumShortMaxIfOverflow(nEquip.getStr(), (nEquip.getStr() + chscrollRandomizedStat(range))));
else nEquip.setStr(getMaximumShortMaxIfOverflow(0, (nEquip.getStr() + chscrollRandomizedStat(range))));
if (YamlConfig.config.server.USE_ENHANCED_CHSCROLL) {
nEquip.setStr(getMaximumShortMaxIfOverflow(nEquip.getStr(), (nEquip.getStr() + chscrollRandomizedStat(range))));
} else {
nEquip.setStr(getMaximumShortMaxIfOverflow(0, (nEquip.getStr() + chscrollRandomizedStat(range))));
}
}
if (nEquip.getDex() > 0) {
if(YamlConfig.config.server.USE_ENHANCED_CHSCROLL) nEquip.setDex(getMaximumShortMaxIfOverflow(nEquip.getDex(), (nEquip.getDex() + chscrollRandomizedStat(range))));
else nEquip.setDex(getMaximumShortMaxIfOverflow(0, (nEquip.getDex() + chscrollRandomizedStat(range))));
if (YamlConfig.config.server.USE_ENHANCED_CHSCROLL) {
nEquip.setDex(getMaximumShortMaxIfOverflow(nEquip.getDex(), (nEquip.getDex() + chscrollRandomizedStat(range))));
} else {
nEquip.setDex(getMaximumShortMaxIfOverflow(0, (nEquip.getDex() + chscrollRandomizedStat(range))));
}
}
if (nEquip.getInt() > 0) {
if(YamlConfig.config.server.USE_ENHANCED_CHSCROLL) nEquip.setInt(getMaximumShortMaxIfOverflow(nEquip.getInt(), (nEquip.getInt() + chscrollRandomizedStat(range))));
else nEquip.setInt(getMaximumShortMaxIfOverflow(0, (nEquip.getInt() + chscrollRandomizedStat(range))));
if (YamlConfig.config.server.USE_ENHANCED_CHSCROLL) {
nEquip.setInt(getMaximumShortMaxIfOverflow(nEquip.getInt(), (nEquip.getInt() + chscrollRandomizedStat(range))));
} else {
nEquip.setInt(getMaximumShortMaxIfOverflow(0, (nEquip.getInt() + chscrollRandomizedStat(range))));
}
}
if (nEquip.getLuk() > 0) {
if(YamlConfig.config.server.USE_ENHANCED_CHSCROLL) nEquip.setLuk(getMaximumShortMaxIfOverflow(nEquip.getLuk(), (nEquip.getLuk() + chscrollRandomizedStat(range))));
else nEquip.setLuk(getMaximumShortMaxIfOverflow(0, (nEquip.getLuk() + chscrollRandomizedStat(range))));
if (YamlConfig.config.server.USE_ENHANCED_CHSCROLL) {
nEquip.setLuk(getMaximumShortMaxIfOverflow(nEquip.getLuk(), (nEquip.getLuk() + chscrollRandomizedStat(range))));
} else {
nEquip.setLuk(getMaximumShortMaxIfOverflow(0, (nEquip.getLuk() + chscrollRandomizedStat(range))));
}
}
if (nEquip.getAcc() > 0) {
if(YamlConfig.config.server.USE_ENHANCED_CHSCROLL) nEquip.setAcc(getMaximumShortMaxIfOverflow(nEquip.getAcc(), (nEquip.getAcc() + chscrollRandomizedStat(range))));
else nEquip.setAcc(getMaximumShortMaxIfOverflow(0, (nEquip.getAcc() + chscrollRandomizedStat(range))));
if (YamlConfig.config.server.USE_ENHANCED_CHSCROLL) {
nEquip.setAcc(getMaximumShortMaxIfOverflow(nEquip.getAcc(), (nEquip.getAcc() + chscrollRandomizedStat(range))));
} else {
nEquip.setAcc(getMaximumShortMaxIfOverflow(0, (nEquip.getAcc() + chscrollRandomizedStat(range))));
}
}
if (nEquip.getAvoid() > 0) {
if(YamlConfig.config.server.USE_ENHANCED_CHSCROLL) nEquip.setAvoid(getMaximumShortMaxIfOverflow(nEquip.getAvoid(), (nEquip.getAvoid() + chscrollRandomizedStat(range))));
else nEquip.setAvoid(getMaximumShortMaxIfOverflow(0, (nEquip.getAvoid() + chscrollRandomizedStat(range))));
if (YamlConfig.config.server.USE_ENHANCED_CHSCROLL) {
nEquip.setAvoid(getMaximumShortMaxIfOverflow(nEquip.getAvoid(), (nEquip.getAvoid() + chscrollRandomizedStat(range))));
} else {
nEquip.setAvoid(getMaximumShortMaxIfOverflow(0, (nEquip.getAvoid() + chscrollRandomizedStat(range))));
}
}
} else {
if (nEquip.getWatk() > 0) {
if(YamlConfig.config.server.USE_ENHANCED_CHSCROLL) nEquip.setWatk(getMaximumShortMaxIfOverflow(nEquip.getWatk(), (nEquip.getWatk() + chscrollRandomizedStat(range))));
else nEquip.setWatk(getMaximumShortMaxIfOverflow(0, (nEquip.getWatk() + chscrollRandomizedStat(range))));
if (YamlConfig.config.server.USE_ENHANCED_CHSCROLL) {
nEquip.setWatk(getMaximumShortMaxIfOverflow(nEquip.getWatk(), (nEquip.getWatk() + chscrollRandomizedStat(range))));
} else {
nEquip.setWatk(getMaximumShortMaxIfOverflow(0, (nEquip.getWatk() + chscrollRandomizedStat(range))));
}
}
if (nEquip.getWdef() > 0) {
if(YamlConfig.config.server.USE_ENHANCED_CHSCROLL) nEquip.setWdef(getMaximumShortMaxIfOverflow(nEquip.getWdef(), (nEquip.getWdef() + chscrollRandomizedStat(range))));
else nEquip.setWdef(getMaximumShortMaxIfOverflow(0, (nEquip.getWdef() + chscrollRandomizedStat(range))));
if (YamlConfig.config.server.USE_ENHANCED_CHSCROLL) {
nEquip.setWdef(getMaximumShortMaxIfOverflow(nEquip.getWdef(), (nEquip.getWdef() + chscrollRandomizedStat(range))));
} else {
nEquip.setWdef(getMaximumShortMaxIfOverflow(0, (nEquip.getWdef() + chscrollRandomizedStat(range))));
}
}
if (nEquip.getMatk() > 0) {
if(YamlConfig.config.server.USE_ENHANCED_CHSCROLL) nEquip.setMatk(getMaximumShortMaxIfOverflow(nEquip.getMatk(), (nEquip.getMatk() + chscrollRandomizedStat(range))));
else nEquip.setMatk(getMaximumShortMaxIfOverflow(0, (nEquip.getMatk() + chscrollRandomizedStat(range))));
if (YamlConfig.config.server.USE_ENHANCED_CHSCROLL) {
nEquip.setMatk(getMaximumShortMaxIfOverflow(nEquip.getMatk(), (nEquip.getMatk() + chscrollRandomizedStat(range))));
} else {
nEquip.setMatk(getMaximumShortMaxIfOverflow(0, (nEquip.getMatk() + chscrollRandomizedStat(range))));
}
}
if (nEquip.getMdef() > 0) {
if(YamlConfig.config.server.USE_ENHANCED_CHSCROLL) nEquip.setMdef(getMaximumShortMaxIfOverflow(nEquip.getMdef(), (nEquip.getMdef() + chscrollRandomizedStat(range))));
else nEquip.setMdef(getMaximumShortMaxIfOverflow(0, (nEquip.getMdef() + chscrollRandomizedStat(range))));
if (YamlConfig.config.server.USE_ENHANCED_CHSCROLL) {
nEquip.setMdef(getMaximumShortMaxIfOverflow(nEquip.getMdef(), (nEquip.getMdef() + chscrollRandomizedStat(range))));
} else {
nEquip.setMdef(getMaximumShortMaxIfOverflow(0, (nEquip.getMdef() + chscrollRandomizedStat(range))));
}
}
if (nEquip.getSpeed() > 0) {
if(YamlConfig.config.server.USE_ENHANCED_CHSCROLL) nEquip.setSpeed(getMaximumShortMaxIfOverflow(nEquip.getSpeed(), (nEquip.getSpeed() + chscrollRandomizedStat(range))));
else nEquip.setSpeed(getMaximumShortMaxIfOverflow(0, (nEquip.getSpeed() + chscrollRandomizedStat(range))));
if (YamlConfig.config.server.USE_ENHANCED_CHSCROLL) {
nEquip.setSpeed(getMaximumShortMaxIfOverflow(nEquip.getSpeed(), (nEquip.getSpeed() + chscrollRandomizedStat(range))));
} else {
nEquip.setSpeed(getMaximumShortMaxIfOverflow(0, (nEquip.getSpeed() + chscrollRandomizedStat(range))));
}
}
if (nEquip.getJump() > 0) {
if(YamlConfig.config.server.USE_ENHANCED_CHSCROLL) nEquip.setJump(getMaximumShortMaxIfOverflow(nEquip.getJump(), (nEquip.getJump() + chscrollRandomizedStat(range))));
else nEquip.setJump(getMaximumShortMaxIfOverflow(0, (nEquip.getJump() + chscrollRandomizedStat(range))));
if (YamlConfig.config.server.USE_ENHANCED_CHSCROLL) {
nEquip.setJump(getMaximumShortMaxIfOverflow(nEquip.getJump(), (nEquip.getJump() + chscrollRandomizedStat(range))));
} else {
nEquip.setJump(getMaximumShortMaxIfOverflow(0, (nEquip.getJump() + chscrollRandomizedStat(range))));
}
}
if (nEquip.getHp() > 0) {
if(YamlConfig.config.server.USE_ENHANCED_CHSCROLL) nEquip.setHp(getMaximumShortMaxIfOverflow(nEquip.getHp(), (nEquip.getHp() + chscrollRandomizedStat(range))));
else nEquip.setHp(getMaximumShortMaxIfOverflow(0, (nEquip.getHp() + chscrollRandomizedStat(range))));
if (YamlConfig.config.server.USE_ENHANCED_CHSCROLL) {
nEquip.setHp(getMaximumShortMaxIfOverflow(nEquip.getHp(), (nEquip.getHp() + chscrollRandomizedStat(range))));
} else {
nEquip.setHp(getMaximumShortMaxIfOverflow(0, (nEquip.getHp() + chscrollRandomizedStat(range))));
}
}
if (nEquip.getMp() > 0) {
if(YamlConfig.config.server.USE_ENHANCED_CHSCROLL) nEquip.setMp(getMaximumShortMaxIfOverflow(nEquip.getMp(), (nEquip.getMp() + chscrollRandomizedStat(range))));
else nEquip.setMp(getMaximumShortMaxIfOverflow(0, (nEquip.getMp() + chscrollRandomizedStat(range))));
if (YamlConfig.config.server.USE_ENHANCED_CHSCROLL) {
nEquip.setMp(getMaximumShortMaxIfOverflow(nEquip.getMp(), (nEquip.getMp() + chscrollRandomizedStat(range))));
} else {
nEquip.setMp(getMaximumShortMaxIfOverflow(0, (nEquip.getMp() + chscrollRandomizedStat(range))));
}
}
}
}
private void scrollEquipWithChaos(Equip nEquip, int range) {
if(YamlConfig.config.server.CHSCROLL_STAT_RATE > 0) {
if (YamlConfig.config.server.CHSCROLL_STAT_RATE > 0) {
int temp;
short curStr, curDex, curInt, curLuk, curWatk, curWdef, curMatk, curMdef, curAcc, curAvoid, curSpeed, curJump, curHp, curMp;
if(YamlConfig.config.server.USE_ENHANCED_CHSCROLL) {
if (YamlConfig.config.server.USE_ENHANCED_CHSCROLL) {
curStr = nEquip.getStr();
curDex = nEquip.getDex();
curInt = nEquip.getInt();
@@ -718,101 +759,143 @@ public class MapleItemInformationProvider {
curMp = Short.MIN_VALUE;
}
for(int i = 0; i < YamlConfig.config.server.CHSCROLL_STAT_RATE; i++) {
for (int i = 0; i < YamlConfig.config.server.CHSCROLL_STAT_RATE; i++) {
if (nEquip.getStr() > 0) {
if(YamlConfig.config.server.USE_ENHANCED_CHSCROLL) temp = curStr + chscrollRandomizedStat(range);
else temp = nEquip.getStr() + chscrollRandomizedStat(range);
if (YamlConfig.config.server.USE_ENHANCED_CHSCROLL) {
temp = curStr + chscrollRandomizedStat(range);
} else {
temp = nEquip.getStr() + chscrollRandomizedStat(range);
}
curStr = getMaximumShortMaxIfOverflow(temp, curStr);
}
if (nEquip.getDex() > 0) {
if(YamlConfig.config.server.USE_ENHANCED_CHSCROLL) temp = curDex + chscrollRandomizedStat(range);
else temp = nEquip.getDex() + chscrollRandomizedStat(range);
if (YamlConfig.config.server.USE_ENHANCED_CHSCROLL) {
temp = curDex + chscrollRandomizedStat(range);
} else {
temp = nEquip.getDex() + chscrollRandomizedStat(range);
}
curDex = getMaximumShortMaxIfOverflow(temp, curDex);
}
if (nEquip.getInt() > 0) {
if(YamlConfig.config.server.USE_ENHANCED_CHSCROLL) temp = curInt + chscrollRandomizedStat(range);
else temp = nEquip.getInt() + chscrollRandomizedStat(range);
if (YamlConfig.config.server.USE_ENHANCED_CHSCROLL) {
temp = curInt + chscrollRandomizedStat(range);
} else {
temp = nEquip.getInt() + chscrollRandomizedStat(range);
}
curInt = getMaximumShortMaxIfOverflow(temp, curInt);
}
if (nEquip.getLuk() > 0) {
if(YamlConfig.config.server.USE_ENHANCED_CHSCROLL) temp = curLuk + chscrollRandomizedStat(range);
else temp = nEquip.getLuk() + chscrollRandomizedStat(range);
if (YamlConfig.config.server.USE_ENHANCED_CHSCROLL) {
temp = curLuk + chscrollRandomizedStat(range);
} else {
temp = nEquip.getLuk() + chscrollRandomizedStat(range);
}
curLuk = getMaximumShortMaxIfOverflow(temp, curLuk);
}
if (nEquip.getWatk() > 0) {
if(YamlConfig.config.server.USE_ENHANCED_CHSCROLL) temp = curWatk + chscrollRandomizedStat(range);
else temp = nEquip.getWatk() + chscrollRandomizedStat(range);
if (YamlConfig.config.server.USE_ENHANCED_CHSCROLL) {
temp = curWatk + chscrollRandomizedStat(range);
} else {
temp = nEquip.getWatk() + chscrollRandomizedStat(range);
}
curWatk = getMaximumShortMaxIfOverflow(temp, curWatk);
}
if (nEquip.getWdef() > 0) {
if(YamlConfig.config.server.USE_ENHANCED_CHSCROLL) temp = curWdef + chscrollRandomizedStat(range);
else temp = nEquip.getWdef() + chscrollRandomizedStat(range);
if (YamlConfig.config.server.USE_ENHANCED_CHSCROLL) {
temp = curWdef + chscrollRandomizedStat(range);
} else {
temp = nEquip.getWdef() + chscrollRandomizedStat(range);
}
curWdef = getMaximumShortMaxIfOverflow(temp, curWdef);
}
if (nEquip.getMatk() > 0) {
if(YamlConfig.config.server.USE_ENHANCED_CHSCROLL) temp = curMatk + chscrollRandomizedStat(range);
else temp = nEquip.getMatk() + chscrollRandomizedStat(range);
if (YamlConfig.config.server.USE_ENHANCED_CHSCROLL) {
temp = curMatk + chscrollRandomizedStat(range);
} else {
temp = nEquip.getMatk() + chscrollRandomizedStat(range);
}
curMatk = getMaximumShortMaxIfOverflow(temp, curMatk);
}
if (nEquip.getMdef() > 0) {
if(YamlConfig.config.server.USE_ENHANCED_CHSCROLL) temp = curMdef + chscrollRandomizedStat(range);
else temp = nEquip.getMdef() + chscrollRandomizedStat(range);
if (YamlConfig.config.server.USE_ENHANCED_CHSCROLL) {
temp = curMdef + chscrollRandomizedStat(range);
} else {
temp = nEquip.getMdef() + chscrollRandomizedStat(range);
}
curMdef = getMaximumShortMaxIfOverflow(temp, curMdef);
}
if (nEquip.getAcc() > 0) {
if(YamlConfig.config.server.USE_ENHANCED_CHSCROLL) temp = curAcc + chscrollRandomizedStat(range);
else temp = nEquip.getAcc() + chscrollRandomizedStat(range);
if (YamlConfig.config.server.USE_ENHANCED_CHSCROLL) {
temp = curAcc + chscrollRandomizedStat(range);
} else {
temp = nEquip.getAcc() + chscrollRandomizedStat(range);
}
curAcc = getMaximumShortMaxIfOverflow(temp, curAcc);
}
if (nEquip.getAvoid() > 0) {
if(YamlConfig.config.server.USE_ENHANCED_CHSCROLL) temp = curAvoid + chscrollRandomizedStat(range);
else temp = nEquip.getAvoid() + chscrollRandomizedStat(range);
if (YamlConfig.config.server.USE_ENHANCED_CHSCROLL) {
temp = curAvoid + chscrollRandomizedStat(range);
} else {
temp = nEquip.getAvoid() + chscrollRandomizedStat(range);
}
curAvoid = getMaximumShortMaxIfOverflow(temp, curAvoid);
}
if (nEquip.getSpeed() > 0) {
if(YamlConfig.config.server.USE_ENHANCED_CHSCROLL) temp = curSpeed + chscrollRandomizedStat(range);
else temp = nEquip.getSpeed() + chscrollRandomizedStat(range);
if (YamlConfig.config.server.USE_ENHANCED_CHSCROLL) {
temp = curSpeed + chscrollRandomizedStat(range);
} else {
temp = nEquip.getSpeed() + chscrollRandomizedStat(range);
}
curSpeed = getMaximumShortMaxIfOverflow(temp, curSpeed);
}
if (nEquip.getJump() > 0) {
if(YamlConfig.config.server.USE_ENHANCED_CHSCROLL) temp = curJump + chscrollRandomizedStat(range);
else temp = nEquip.getJump() + chscrollRandomizedStat(range);
if (YamlConfig.config.server.USE_ENHANCED_CHSCROLL) {
temp = curJump + chscrollRandomizedStat(range);
} else {
temp = nEquip.getJump() + chscrollRandomizedStat(range);
}
curJump = getMaximumShortMaxIfOverflow(temp, curJump);
}
if (nEquip.getHp() > 0) {
if(YamlConfig.config.server.USE_ENHANCED_CHSCROLL) temp = curHp + chscrollRandomizedStat(range);
else temp = nEquip.getHp() + chscrollRandomizedStat(range);
if (YamlConfig.config.server.USE_ENHANCED_CHSCROLL) {
temp = curHp + chscrollRandomizedStat(range);
} else {
temp = nEquip.getHp() + chscrollRandomizedStat(range);
}
curHp = getMaximumShortMaxIfOverflow(temp, curHp);
}
if (nEquip.getMp() > 0) {
if(YamlConfig.config.server.USE_ENHANCED_CHSCROLL) temp = curMp + chscrollRandomizedStat(range);
else temp = nEquip.getMp() + chscrollRandomizedStat(range);
if (YamlConfig.config.server.USE_ENHANCED_CHSCROLL) {
temp = curMp + chscrollRandomizedStat(range);
} else {
temp = nEquip.getMp() + chscrollRandomizedStat(range);
}
curMp = getMaximumShortMaxIfOverflow(temp, curMp);
}
@@ -832,68 +915,108 @@ public class MapleItemInformationProvider {
nEquip.setJump((short) Math.max(0, curJump));
nEquip.setHp((short) Math.max(0, curHp));
nEquip.setMp((short) Math.max(0, curMp));
}
else {
} else {
if (nEquip.getStr() > 0) {
if(YamlConfig.config.server.USE_ENHANCED_CHSCROLL) nEquip.setStr(getMaximumShortMaxIfOverflow(nEquip.getStr(), (nEquip.getStr() + chscrollRandomizedStat(range))));
else nEquip.setStr(getMaximumShortMaxIfOverflow(0, (nEquip.getStr() + chscrollRandomizedStat(range))));
if (YamlConfig.config.server.USE_ENHANCED_CHSCROLL) {
nEquip.setStr(getMaximumShortMaxIfOverflow(nEquip.getStr(), (nEquip.getStr() + chscrollRandomizedStat(range))));
} else {
nEquip.setStr(getMaximumShortMaxIfOverflow(0, (nEquip.getStr() + chscrollRandomizedStat(range))));
}
}
if (nEquip.getDex() > 0) {
if(YamlConfig.config.server.USE_ENHANCED_CHSCROLL) nEquip.setDex(getMaximumShortMaxIfOverflow(nEquip.getDex(), (nEquip.getDex() + chscrollRandomizedStat(range))));
else nEquip.setDex(getMaximumShortMaxIfOverflow(0, (nEquip.getDex() + chscrollRandomizedStat(range))));
if (YamlConfig.config.server.USE_ENHANCED_CHSCROLL) {
nEquip.setDex(getMaximumShortMaxIfOverflow(nEquip.getDex(), (nEquip.getDex() + chscrollRandomizedStat(range))));
} else {
nEquip.setDex(getMaximumShortMaxIfOverflow(0, (nEquip.getDex() + chscrollRandomizedStat(range))));
}
}
if (nEquip.getInt() > 0) {
if(YamlConfig.config.server.USE_ENHANCED_CHSCROLL) nEquip.setInt(getMaximumShortMaxIfOverflow(nEquip.getInt(), (nEquip.getInt() + chscrollRandomizedStat(range))));
else nEquip.setInt(getMaximumShortMaxIfOverflow(0, (nEquip.getInt() + chscrollRandomizedStat(range))));
if (YamlConfig.config.server.USE_ENHANCED_CHSCROLL) {
nEquip.setInt(getMaximumShortMaxIfOverflow(nEquip.getInt(), (nEquip.getInt() + chscrollRandomizedStat(range))));
} else {
nEquip.setInt(getMaximumShortMaxIfOverflow(0, (nEquip.getInt() + chscrollRandomizedStat(range))));
}
}
if (nEquip.getLuk() > 0) {
if(YamlConfig.config.server.USE_ENHANCED_CHSCROLL) nEquip.setLuk(getMaximumShortMaxIfOverflow(nEquip.getLuk(), (nEquip.getLuk() + chscrollRandomizedStat(range))));
else nEquip.setLuk(getMaximumShortMaxIfOverflow(0, (nEquip.getLuk() + chscrollRandomizedStat(range))));
if (YamlConfig.config.server.USE_ENHANCED_CHSCROLL) {
nEquip.setLuk(getMaximumShortMaxIfOverflow(nEquip.getLuk(), (nEquip.getLuk() + chscrollRandomizedStat(range))));
} else {
nEquip.setLuk(getMaximumShortMaxIfOverflow(0, (nEquip.getLuk() + chscrollRandomizedStat(range))));
}
}
if (nEquip.getWatk() > 0) {
if(YamlConfig.config.server.USE_ENHANCED_CHSCROLL) nEquip.setWatk(getMaximumShortMaxIfOverflow(nEquip.getWatk(), (nEquip.getWatk() + chscrollRandomizedStat(range))));
else nEquip.setWatk(getMaximumShortMaxIfOverflow(0, (nEquip.getWatk() + chscrollRandomizedStat(range))));
if (YamlConfig.config.server.USE_ENHANCED_CHSCROLL) {
nEquip.setWatk(getMaximumShortMaxIfOverflow(nEquip.getWatk(), (nEquip.getWatk() + chscrollRandomizedStat(range))));
} else {
nEquip.setWatk(getMaximumShortMaxIfOverflow(0, (nEquip.getWatk() + chscrollRandomizedStat(range))));
}
}
if (nEquip.getWdef() > 0) {
if(YamlConfig.config.server.USE_ENHANCED_CHSCROLL) nEquip.setWdef(getMaximumShortMaxIfOverflow(nEquip.getWdef(), (nEquip.getWdef() + chscrollRandomizedStat(range))));
else nEquip.setWdef(getMaximumShortMaxIfOverflow(0, (nEquip.getWdef() + chscrollRandomizedStat(range))));
if (YamlConfig.config.server.USE_ENHANCED_CHSCROLL) {
nEquip.setWdef(getMaximumShortMaxIfOverflow(nEquip.getWdef(), (nEquip.getWdef() + chscrollRandomizedStat(range))));
} else {
nEquip.setWdef(getMaximumShortMaxIfOverflow(0, (nEquip.getWdef() + chscrollRandomizedStat(range))));
}
}
if (nEquip.getMatk() > 0) {
if(YamlConfig.config.server.USE_ENHANCED_CHSCROLL) nEquip.setMatk(getMaximumShortMaxIfOverflow(nEquip.getMatk(), (nEquip.getMatk() + chscrollRandomizedStat(range))));
else nEquip.setMatk(getMaximumShortMaxIfOverflow(0, (nEquip.getMatk() + chscrollRandomizedStat(range))));
if (YamlConfig.config.server.USE_ENHANCED_CHSCROLL) {
nEquip.setMatk(getMaximumShortMaxIfOverflow(nEquip.getMatk(), (nEquip.getMatk() + chscrollRandomizedStat(range))));
} else {
nEquip.setMatk(getMaximumShortMaxIfOverflow(0, (nEquip.getMatk() + chscrollRandomizedStat(range))));
}
}
if (nEquip.getMdef() > 0) {
if(YamlConfig.config.server.USE_ENHANCED_CHSCROLL) nEquip.setMdef(getMaximumShortMaxIfOverflow(nEquip.getMdef(), (nEquip.getMdef() + chscrollRandomizedStat(range))));
else nEquip.setMdef(getMaximumShortMaxIfOverflow(0, (nEquip.getMdef() + chscrollRandomizedStat(range))));
if (YamlConfig.config.server.USE_ENHANCED_CHSCROLL) {
nEquip.setMdef(getMaximumShortMaxIfOverflow(nEquip.getMdef(), (nEquip.getMdef() + chscrollRandomizedStat(range))));
} else {
nEquip.setMdef(getMaximumShortMaxIfOverflow(0, (nEquip.getMdef() + chscrollRandomizedStat(range))));
}
}
if (nEquip.getAcc() > 0) {
if(YamlConfig.config.server.USE_ENHANCED_CHSCROLL) nEquip.setAcc(getMaximumShortMaxIfOverflow(nEquip.getAcc(), (nEquip.getAcc() + chscrollRandomizedStat(range))));
else nEquip.setAcc(getMaximumShortMaxIfOverflow(0, (nEquip.getAcc() + chscrollRandomizedStat(range))));
if (YamlConfig.config.server.USE_ENHANCED_CHSCROLL) {
nEquip.setAcc(getMaximumShortMaxIfOverflow(nEquip.getAcc(), (nEquip.getAcc() + chscrollRandomizedStat(range))));
} else {
nEquip.setAcc(getMaximumShortMaxIfOverflow(0, (nEquip.getAcc() + chscrollRandomizedStat(range))));
}
}
if (nEquip.getAvoid() > 0) {
if(YamlConfig.config.server.USE_ENHANCED_CHSCROLL) nEquip.setAvoid(getMaximumShortMaxIfOverflow(nEquip.getAvoid(), (nEquip.getAvoid() + chscrollRandomizedStat(range))));
else nEquip.setAvoid(getMaximumShortMaxIfOverflow(0, (nEquip.getAvoid() + chscrollRandomizedStat(range))));
if (YamlConfig.config.server.USE_ENHANCED_CHSCROLL) {
nEquip.setAvoid(getMaximumShortMaxIfOverflow(nEquip.getAvoid(), (nEquip.getAvoid() + chscrollRandomizedStat(range))));
} else {
nEquip.setAvoid(getMaximumShortMaxIfOverflow(0, (nEquip.getAvoid() + chscrollRandomizedStat(range))));
}
}
if (nEquip.getSpeed() > 0) {
if(YamlConfig.config.server.USE_ENHANCED_CHSCROLL) nEquip.setSpeed(getMaximumShortMaxIfOverflow(nEquip.getSpeed(), (nEquip.getSpeed() + chscrollRandomizedStat(range))));
else nEquip.setSpeed(getMaximumShortMaxIfOverflow(0, (nEquip.getSpeed() + chscrollRandomizedStat(range))));
if (YamlConfig.config.server.USE_ENHANCED_CHSCROLL) {
nEquip.setSpeed(getMaximumShortMaxIfOverflow(nEquip.getSpeed(), (nEquip.getSpeed() + chscrollRandomizedStat(range))));
} else {
nEquip.setSpeed(getMaximumShortMaxIfOverflow(0, (nEquip.getSpeed() + chscrollRandomizedStat(range))));
}
}
if (nEquip.getJump() > 0) {
if(YamlConfig.config.server.USE_ENHANCED_CHSCROLL) nEquip.setJump(getMaximumShortMaxIfOverflow(nEquip.getJump(), (nEquip.getJump() + chscrollRandomizedStat(range))));
else nEquip.setJump(getMaximumShortMaxIfOverflow(0, (nEquip.getJump() + chscrollRandomizedStat(range))));
if (YamlConfig.config.server.USE_ENHANCED_CHSCROLL) {
nEquip.setJump(getMaximumShortMaxIfOverflow(nEquip.getJump(), (nEquip.getJump() + chscrollRandomizedStat(range))));
} else {
nEquip.setJump(getMaximumShortMaxIfOverflow(0, (nEquip.getJump() + chscrollRandomizedStat(range))));
}
}
if (nEquip.getHp() > 0) {
if(YamlConfig.config.server.USE_ENHANCED_CHSCROLL) nEquip.setHp(getMaximumShortMaxIfOverflow(nEquip.getHp(), (nEquip.getHp() + chscrollRandomizedStat(range))));
else nEquip.setHp(getMaximumShortMaxIfOverflow(0, (nEquip.getHp() + chscrollRandomizedStat(range))));
if (YamlConfig.config.server.USE_ENHANCED_CHSCROLL) {
nEquip.setHp(getMaximumShortMaxIfOverflow(nEquip.getHp(), (nEquip.getHp() + chscrollRandomizedStat(range))));
} else {
nEquip.setHp(getMaximumShortMaxIfOverflow(0, (nEquip.getHp() + chscrollRandomizedStat(range))));
}
}
if (nEquip.getMp() > 0) {
if(YamlConfig.config.server.USE_ENHANCED_CHSCROLL) nEquip.setMp(getMaximumShortMaxIfOverflow(nEquip.getMp(), (nEquip.getMp() + chscrollRandomizedStat(range))));
else nEquip.setMp(getMaximumShortMaxIfOverflow(0, (nEquip.getMp() + chscrollRandomizedStat(range))));
if (YamlConfig.config.server.USE_ENHANCED_CHSCROLL) {
nEquip.setMp(getMaximumShortMaxIfOverflow(nEquip.getMp(), (nEquip.getMp() + chscrollRandomizedStat(range))));
} else {
nEquip.setMp(getMaximumShortMaxIfOverflow(0, (nEquip.getMp() + chscrollRandomizedStat(range))));
}
}
}
}
/*
Issue with clean slate found thanks to Masterrulax
Vicious added in the clean slate check thanks to Crypter (CrypterDEV)
@@ -913,23 +1036,23 @@ public class MapleItemInformationProvider {
if (((nEquip.getUpgradeSlots() > 0 || ItemConstants.isCleanSlate(scrollId))) || assertGM) {
double prop = (double) stats.get("success");
switch(vegaItemId) {
case 5610000:
if (prop == 10.0f) {
prop = 30.0f;
}
break;
case 5610001:
if (prop == 60.0f) {
prop = 90.0f;
}
break;
case 2049100:
prop = 100.0f;
break;
switch (vegaItemId) {
case 5610000:
if (prop == 10.0f) {
prop = 30.0f;
}
break;
case 5610001:
if (prop == 60.0f) {
prop = 90.0f;
}
break;
case 2049100:
prop = 100.0f;
break;
}
if(assertGM || rollSuccessChance(prop)) {
if (assertGM || rollSuccessChance(prop)) {
short flag = nEquip.getFlag();
switch (scrollId) {
case 2040727:
@@ -1206,7 +1329,7 @@ public class MapleItemInformationProvider {
}
boolean bRestricted = false;
if(itemId != 0) {
if (itemId != 0) {
Data data = getItemData(itemId);
if (data != null) {
bRestricted = DataTool.getIntConvert("info/tradeBlock", data, 0) == 1;
@@ -1216,14 +1339,14 @@ public class MapleItemInformationProvider {
untradeableCache.put(itemId, bRestricted);
return bRestricted;
}
public boolean isAccountRestricted(int itemId) {
if (accountItemRestrictionCache.containsKey(itemId)) {
return accountItemRestrictionCache.get(itemId);
}
boolean bRestricted = false;
if(itemId != 0) {
if (itemId != 0) {
Data data = getItemData(itemId);
if (data != null) {
bRestricted = DataTool.getIntConvert("info/accountSharable", data, 0) == 1;
@@ -1240,7 +1363,7 @@ public class MapleItemInformationProvider {
}
boolean bRestricted = false;
if(itemId != 0) {
if (itemId != 0) {
Data data = getItemData(itemId);
if (data != null) {
bRestricted = DataTool.getIntConvert("info/tradeBlock", data, 0) == 1;
@@ -1264,7 +1387,7 @@ public class MapleItemInformationProvider {
}
boolean bRestricted = false;
if(itemId != 0) {
if (itemId != 0) {
Data data = getItemData(itemId);
if (data != null) {
bRestricted = DataTool.getIntConvert("info/only", data, 0) == 1;
@@ -1279,7 +1402,9 @@ public class MapleItemInformationProvider {
Map<String, Integer> ret = skillUpgradeCache.get(itemId);
Data retSkill = skillUpgradeInfoCache.get(itemId);
if(ret != null) return new Pair<>(ret, retSkill);
if (ret != null) {
return new Pair<>(ret, retSkill);
}
retSkill = null;
ret = new LinkedHashMap<>();
@@ -1307,7 +1432,9 @@ public class MapleItemInformationProvider {
public Map<String, Integer> getSkillStats(int itemId, double playerJob) {
Pair<Map<String, Integer>, Data> retData = getSkillStatsInternal(itemId);
if(retData.getLeft().isEmpty()) return null;
if (retData.getLeft().isEmpty()) {
return null;
}
Map<String, Integer> ret = new LinkedHashMap<>(retData.getLeft());
Data skill = retData.getRight();
@@ -1331,14 +1458,14 @@ public class MapleItemInformationProvider {
public Pair<Integer, Boolean> canPetConsume(Integer petId, Integer itemId) {
Pair<Integer, Set<Integer>> foodData = cashPetFoodCache.get(itemId);
if(foodData == null) {
if (foodData == null) {
Set<Integer> pets = new HashSet<>(4);
int inc = 1;
Data data = getItemData(itemId);
if(data != null) {
if (data != null) {
Data specData = data.getChildByPath("spec");
for(Data specItem : specData.getChildren()) {
for (Data specItem : specData.getChildren()) {
String itemName = specItem.getName();
try {
@@ -1346,8 +1473,8 @@ public class MapleItemInformationProvider {
Integer petid = DataTool.getInt(specItem, 0);
pets.add(petid);
} catch(NumberFormatException npe) {
if(itemName.contentEquals("inc")) {
} catch (NumberFormatException npe) {
if (itemName.contentEquals("inc")) {
inc = DataTool.getInt(specItem, 1);
}
}
@@ -1415,8 +1542,8 @@ public class MapleItemInformationProvider {
}
Data itemInfo = getItemData(itemId);
ScriptedItem script = new ScriptedItem(DataTool.getInt("spec/npc", itemInfo, 0),
DataTool.getString("spec/script", itemInfo, ""),
DataTool.getInt("spec/runOnPickup", itemInfo, 0) == 1);
DataTool.getString("spec/script", itemInfo, ""),
DataTool.getInt("spec/runOnPickup", itemInfo, 0) == 1);
scriptedItemCache.put(itemId, script);
return scriptedItemCache.get(itemId);
}
@@ -1553,8 +1680,12 @@ public class MapleItemInformationProvider {
public boolean isCash(int itemId) {
int itemType = itemId / 1000000;
if (itemType == 5) return true;
if (itemType != 1) return false;
if (itemType == 5) {
return true;
}
if (itemType != 1) {
return false;
}
Map<String, Integer> eqpStats = getEquipStats(itemId);
return eqpStats != null && eqpStats.get("cash") == 1;
@@ -1562,23 +1693,19 @@ public class MapleItemInformationProvider {
public boolean isUpgradeable(int itemId) {
Item it = this.getEquipById(itemId);
Equip eq = (Equip)it;
Equip eq = (Equip) it;
return (eq.getUpgradeSlots() > 0 || eq.getStr() > 0 || eq.getDex() > 0 || eq.getInt() > 0 || eq.getLuk() > 0 ||
eq.getWatk() > 0 || eq.getMatk() > 0 || eq.getWdef() > 0 || eq.getMdef() > 0 || eq.getAcc() > 0 ||
eq.getAvoid() > 0 || eq.getSpeed() > 0 || eq.getJump() > 0 || eq.getHp() > 0 || eq.getMp() > 0);
}
public boolean isUnmerchable(int itemId) {
if(YamlConfig.config.server.USE_ENFORCE_UNMERCHABLE_CASH && isCash(itemId)) {
if (YamlConfig.config.server.USE_ENFORCE_UNMERCHABLE_CASH && isCash(itemId)) {
return true;
}
if (YamlConfig.config.server.USE_ENFORCE_UNMERCHABLE_PET && ItemConstants.isPet(itemId)) {
return true;
}
return false;
return YamlConfig.config.server.USE_ENFORCE_UNMERCHABLE_PET && ItemConstants.isPet(itemId);
}
public Collection<Item> canWearEquipment(Character chr, Collection<Item> items) {
@@ -1660,7 +1787,7 @@ public class MapleItemInformationProvider {
public boolean canWearEquipment(Character chr, Equip equip, int dst) {
int id = equip.getItemId();
if(ItemConstants.isWeddingRing(id) && chr.hasJustMarried()) {
if (ItemConstants.isWeddingRing(id) && chr.hasJustMarried()) {
chr.dropMessage(5, "The Wedding Ring cannot be equipped on this map."); // will dc everyone due to doubled couple effect
return false;
}
@@ -1668,7 +1795,7 @@ public class MapleItemInformationProvider {
String islot = getEquipmentSlot(id);
if (!EquipSlot.getFromTextSlot(islot).isAllowed(dst, isCash(id))) {
equip.wear(false);
String itemName = MapleItemInformationProvider.getInstance().getName(equip.getItemId());
String itemName = ItemInformationProvider.getInstance().getName(equip.getItemId());
Server.getInstance().broadcastGMMessage(chr.getWorld(), PacketCreator.sendYellowTip("[Warning]: " + chr.getName() + " tried to equip " + itemName + " into slot " + dst + "."));
AutobanFactory.PACKET_EDIT.alert(chr, chr.getName() + " tried to forcibly equip an item.");
FilePrinter.printError(FilePrinter.EXPLOITS + chr.getName() + ".txt", chr.getName() + " tried to equip " + itemName + " into " + dst + " slot.");
@@ -1729,7 +1856,7 @@ public class MapleItemInformationProvider {
public ArrayList<Pair<Integer, String>> getItemDataByName(String name) {
ArrayList<Pair<Integer, String>> ret = new ArrayList<>();
for (Pair<Integer, String> itemPair : MapleItemInformationProvider.getInstance().getAllItems()) {
for (Pair<Integer, String> itemPair : ItemInformationProvider.getInstance().getAllItems()) {
if (itemPair.getRight().toLowerCase().contains(name.toLowerCase())) {
ret.add(itemPair);
}
@@ -1740,7 +1867,9 @@ public class MapleItemInformationProvider {
private Data getEquipLevelInfo(int itemId) {
Data equipLevelData = equipLevelInfoCache.get(itemId);
if (equipLevelData == null) {
if (equipLevelInfoCache.containsKey(itemId)) return null;
if (equipLevelInfoCache.containsKey(itemId)) {
return null;
}
Data iData = getItemData(itemId);
if (iData != null) {
@@ -1836,12 +1965,12 @@ public class MapleItemInformationProvider {
private static int getCrystalForLevel(int level) {
int range = (level - 1) / 10;
if(range < 5) {
if (range < 5) {
return 4260000;
} else if(range > 11) {
} else if (range > 11) {
return 4260008;
} else {
switch(range) {
switch (range) {
case 5:
return 4260001;
@@ -1907,7 +2036,7 @@ public class MapleItemInformationProvider {
itemid = -1;
try (Connection con = DatabaseConnection.getConnection();
PreparedStatement ps = con.prepareStatement("SELECT dropperid FROM drop_data WHERE itemid = ? ORDER BY dropperid;")) {
PreparedStatement ps = con.prepareStatement("SELECT dropperid FROM drop_data WHERE itemid = ? ORDER BY dropperid;")) {
ps.setInt(1, leftoverId);
try (ResultSet rs = ps.executeQuery()) {
@@ -2033,15 +2162,15 @@ public class MapleItemInformationProvider {
public int getMakerStimulant(int itemId) { // thanks to Arnah
Integer itemid = makerCatalystCache.get(itemId);
if(itemid != null) {
if (itemid != null) {
return itemid;
}
itemid = -1;
for(Data md : etcData.getData("ItemMake.img").getChildren()) {
for (Data md : etcData.getData("ItemMake.img").getChildren()) {
Data me = md.getChildByPath(StringUtil.getLeftPaddedStr(Integer.toString(itemId), '0', 8));
if(me != null) {
if (me != null) {
itemid = DataTool.getInt(me.getChildByPath("catalyst"), -1);
break;
}
@@ -2074,7 +2203,9 @@ public class MapleItemInformationProvider {
private boolean canUseSkillBook(Character player, Integer skillBookId) {
Map<String, Integer> skilldata = getSkillStats(skillBookId, player.getJob().getId());
if(skilldata == null || skilldata.get("skillid") == 0) return false;
if (skilldata == null || skilldata.get("skillid") == 0) {
return false;
}
Skill skill2 = SkillFactory.getSkill(skilldata.get("skillid"));
return (skilldata.get("skillid") != 0 && ((player.getSkillLevel(skill2) >= skilldata.get("reqSkillLevel") || skilldata.get("reqSkillLevel") == 0) && player.getMasterLevel(skill2) < skilldata.get("masterLevel")));
@@ -2082,8 +2213,8 @@ public class MapleItemInformationProvider {
public List<Integer> usableMasteryBooks(Character player) {
List<Integer> masterybook = new LinkedList<>();
for(Integer i = 2290000; i <= 2290139; i++) {
if(canUseSkillBook(player, i)) {
for (Integer i = 2290000; i <= 2290139; i++) {
if (canUseSkillBook(player, i)) {
masterybook.add(i);
}
}
@@ -2093,22 +2224,22 @@ public class MapleItemInformationProvider {
public List<Integer> usableSkillBooks(Character player) {
List<Integer> skillbook = new LinkedList<>();
for(Integer i = 2280000; i <= 2280019; i++) {
if(canUseSkillBook(player, i)) {
for (Integer i = 2280000; i <= 2280019; i++) {
if (canUseSkillBook(player, i)) {
skillbook.add(i);
}
}
return skillbook;
}
public final QuestConsItem getQuestConsumablesInfo(final int itemId) {
if (questItemConsCache.containsKey(itemId)) {
return questItemConsCache.get(itemId);
}
Data data = getItemData(itemId);
QuestConsItem qcItem = null;
Data infoData = data.getChildByPath("info");
if (infoData.getChildByPath("uiData") != null) {
qcItem = new QuestConsItem();
@@ -2116,7 +2247,7 @@ public class MapleItemInformationProvider {
qcItem.grade = DataTool.getInt("grade", infoData);
qcItem.questid = DataTool.getInt("questId", infoData);
qcItem.items = new HashMap<>(2);
Map<Integer, Integer> cItems = qcItem.items;
Data ciData = infoData.getChildByPath("consumeItem");
if (ciData != null) {
@@ -2128,16 +2259,16 @@ public class MapleItemInformationProvider {
}
}
}
questItemConsCache.put(itemId, qcItem);
return qcItem;
}
public class ScriptedItem {
private boolean runOnPickup;
private int npc;
private String script;
private final boolean runOnPickup;
private final int npc;
private final String script;
public ScriptedItem(int npc, String script, boolean rop) {
this.npc = npc;
@@ -2164,15 +2295,15 @@ public class MapleItemInformationProvider {
public short prob, quantity;
public String effect, worldmsg;
}
public static final class QuestConsItem {
public int questid, exp, grade;
public Map<Integer, Integer> items;
public Integer getItemRequirement(int itemid) {
return items.get(itemid);
}
}
}

View File

@@ -35,7 +35,7 @@ import java.util.Map.Entry;
* @author Jay Estrella, Ronan
*/
public class MakerItemFactory {
private static MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
private static ItemInformationProvider ii = ItemInformationProvider.getInstance();
public static MakerItemCreateEntry getItemCreateEntry(int toCreate, int stimulantid, Map<Integer, Short> reagentids) {
MakerItemCreateEntry makerEntry = ii.getMakerItemEntry(toCreate);

View File

@@ -89,7 +89,7 @@ public class MapleShop {
} else {
return;
}
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
ItemInformationProvider ii = ItemInformationProvider.getInstance();
if (item.getPrice() > 0) {
int amount = (int)Math.min((float) item.getPrice() * quantity, Integer.MAX_VALUE);
if (c.getPlayer().getMeso() >= amount) {
@@ -198,7 +198,7 @@ public class MapleShop {
quantity = getSellingQuantity(item, quantity);
InventoryManipulator.removeFromSlot(c, type, (byte) slot, quantity, false);
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
ItemInformationProvider ii = ItemInformationProvider.getInstance();
int recvMesos = ii.getPrice(item.getItemId(), quantity);
if (recvMesos > 0) {
c.getPlayer().gainMeso(recvMesos, false);
@@ -210,7 +210,7 @@ public class MapleShop {
}
public void recharge(Client c, short slot) {
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
ItemInformationProvider ii = ItemInformationProvider.getInstance();
Item item = c.getPlayer().getInventory(InventoryType.USE).getItem(slot);
if (item == null || !ItemConstants.isRechargeable(item.getItemId())) {
return;

View File

@@ -36,7 +36,7 @@ class PairedQuicksort {
private int i = 0;
private int j = 0;
private final ArrayList<Integer> intersect;
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
ItemInformationProvider ii = ItemInformationProvider.getInstance();
private void PartitionByItemId(int Esq, int Dir, ArrayList<Item> A) {
Item x, w;
@@ -224,7 +224,7 @@ public class MapleStorageInventory {
source.setPosition(dSlot);
inventory.put(dSlot, source);
inventory.remove(sSlot);
} else if (target.getItemId() == source.getItemId() && !ItemConstants.isRechargeable(source.getItemId()) && !MapleItemInformationProvider.getInstance().isPickupRestricted(source.getItemId()) && isSameOwner(source, target)) {
} else if (target.getItemId() == source.getItemId() && !ItemConstants.isRechargeable(source.getItemId()) && !ItemInformationProvider.getInstance().isPickupRestricted(source.getItemId()) && isSameOwner(source, target)) {
if (isEquipOrCash(source)) {
swap(target, source);
} else if (source.getQuantity() + target.getQuantity() > slotMax) {
@@ -252,7 +252,7 @@ public class MapleStorageInventory {
if (source == null) {
return;
}
short slotMax = MapleItemInformationProvider.getInstance().getSlotMax(c, source.getItemId());
short slotMax = ItemInformationProvider.getInstance().getSlotMax(c, source.getItemId());
this.move(src, dst, slotMax);
}
@@ -296,7 +296,7 @@ public class MapleStorageInventory {
}
public void mergeItems() {
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
ItemInformationProvider ii = ItemInformationProvider.getInstance();
Item srcItem, dstItem;
for(short dst = 1; dst <= this.getSlotLimit(); dst++) {

View File

@@ -21,7 +21,7 @@
*/
package server.gachapon;
import server.MapleItemInformationProvider;
import server.ItemInformationProvider;
import tools.Randomizer;
/**
@@ -100,7 +100,7 @@ public class MapleGachapon {
}
public static String[] getLootInfo() {
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
ItemInformationProvider ii = ItemInformationProvider.getInstance();
String[] strList = new String[values.length + 1];

View File

@@ -27,7 +27,7 @@ import provider.DataProvider;
import provider.DataProviderFactory;
import provider.DataTool;
import provider.wz.WZFiles;
import server.MapleItemInformationProvider;
import server.ItemInformationProvider;
import tools.DatabaseConnection;
import tools.Pair;
import tools.Randomizer;
@@ -176,7 +176,7 @@ public class MonsterInformationProvider {
return dropsChancePool.get(monsterId);
}
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
ItemInformationProvider ii = ItemInformationProvider.getInstance();
List<MonsterDropEntry> dropList = retrieveDrop(monsterId);
List<Integer> ret = new ArrayList<>();

View File

@@ -40,7 +40,7 @@ public class LootManager {
qCompleteAmount = quest.getCompleteItemAmountNeeded(dropEntry.itemId);
}
//boolean restricted = MapleItemInformationProvider.getInstance().isPickupRestricted(dropEntry.itemId);
//boolean restricted = ItemInformationProvider.getInstance().isPickupRestricted(dropEntry.itemId);
for (int i = 0; i < players.size(); i++) {
LootInventory chrInv = playersInv.get(i);

View File

@@ -35,7 +35,7 @@ import net.packet.Packet;
import net.server.Server;
import net.server.audit.locks.MonitoredLockType;
import net.server.audit.locks.factory.MonitoredReentrantLockFactory;
import server.MapleItemInformationProvider;
import server.ItemInformationProvider;
import server.MapleTrade;
import tools.DatabaseConnection;
import tools.PacketCreator;
@@ -342,7 +342,7 @@ public class HiredMerchant extends AbstractMapObject {
Character player = Server.getInstance().getWorld(world).getPlayerStorage().getCharacterById(ownerId);
if (player != null && player.isLoggedinWorld()) {
player.dropMessage(6, "[Hired Merchant] Item '" + MapleItemInformationProvider.getInstance().getName(item.getItemId()) + "'" + qtyStr + " has been sold for " + mesos + " mesos. (" + inStore + " left)");
player.dropMessage(6, "[Hired Merchant] Item '" + ItemInformationProvider.getInstance().getName(item.getItemId()) + "'" + qtyStr + " has been sold for " + mesos + " mesos. (" + inStore + " left)");
}
}

View File

@@ -53,7 +53,7 @@ import net.server.world.Party;
import net.server.world.World;
import scripting.event.EventInstanceManager;
import scripting.map.MapScriptManager;
import server.MapleItemInformationProvider;
import server.ItemInformationProvider;
import server.MapleStatEffect;
import server.TimerManager;
import server.events.gm.*;
@@ -610,7 +610,7 @@ public class MapleMap {
}
private static void sortDropEntries(List<MonsterDropEntry> from, List<MonsterDropEntry> item, List<MonsterDropEntry> visibleQuest, List<MonsterDropEntry> otherQuest, Character chr) {
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
ItemInformationProvider ii = ItemInformationProvider.getInstance();
for (MonsterDropEntry mde : from) {
if (!ii.isQuestItem(mde.itemId)) {
@@ -633,7 +633,7 @@ public class MapleMap {
Collections.shuffle(dropEntry);
Item idrop;
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
ItemInformationProvider ii = ItemInformationProvider.getInstance();
for (final MonsterDropEntry de : dropEntry) {
float cardRate = chr.getCardRate(de.itemId);
@@ -678,7 +678,7 @@ public class MapleMap {
Collections.shuffle(globalEntry);
Item idrop;
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
ItemInformationProvider ii = ItemInformationProvider.getInstance();
for (final MonsterGlobalDropEntry de : globalEntry) {
if (Randomizer.nextInt(999999) < de.chance) {
@@ -1397,7 +1397,7 @@ public class MapleMap {
int buff = monster.getBuffToGive();
if (buff > -1) {
MapleItemInformationProvider mii = MapleItemInformationProvider.getInstance();
ItemInformationProvider mii = ItemInformationProvider.getInstance();
for (MapObject mmo : this.getPlayers()) {
Character character = (Character) mmo;
if (character.isAlive()) {
@@ -2177,7 +2177,7 @@ public class MapleMap {
Collections.shuffle(list);
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
ItemInformationProvider ii = ItemInformationProvider.getInstance();
Random rnd = new Random();
final Point dropPos = new Point(pos);

View File

@@ -24,7 +24,7 @@ package server.partyquest;
import client.Character;
import net.server.world.Party;
import server.MapleItemInformationProvider;
import server.ItemInformationProvider;
import server.TimerManager;
import tools.PacketCreator;
@@ -168,14 +168,14 @@ public class Pyramid extends PartyQuest {
int total = (kill + cool);
if (buffcount == 0 && total >= 250) {
buffcount++;
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
ItemInformationProvider ii = ItemInformationProvider.getInstance();
for (Character chr : getParticipants())
ii.getItemEffect(2022585).applyTo(chr);
} else if (buffcount == 1 && total >= 500) {
buffcount++;
skill++;
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
ItemInformationProvider ii = ItemInformationProvider.getInstance();
for (Character chr : getParticipants()) {
chr.sendPacket(PacketCreator.getEnergy("massacre_skill", skill));
ii.getItemEffect(2022586).applyTo(chr);
@@ -183,7 +183,7 @@ public class Pyramid extends PartyQuest {
} else if (buffcount == 2 && total >= 1000) {
buffcount++;
skill++;
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
ItemInformationProvider ii = ItemInformationProvider.getInstance();
for (Character chr : getParticipants()) {
chr.sendPacket(PacketCreator.getEnergy("massacre_skill", skill));
ii.getItemEffect(2022587).applyTo(chr);
@@ -194,7 +194,7 @@ public class Pyramid extends PartyQuest {
} else if (buffcount == 4 && total >= 2000) {
buffcount++;
skill++;
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
ItemInformationProvider ii = ItemInformationProvider.getInstance();
for (Character chr : getParticipants()) {
chr.sendPacket(PacketCreator.getEnergy("massacre_skill", skill));
ii.getItemEffect(2022588).applyTo(chr);

View File

@@ -24,7 +24,7 @@ package server.quest.actions;
import client.Character;
import provider.Data;
import provider.DataTool;
import server.MapleItemInformationProvider;
import server.ItemInformationProvider;
import server.quest.Quest;
import server.quest.QuestActionType;
@@ -52,6 +52,6 @@ public class BuffAction extends MapleQuestAction {
@Override
public void run(Character chr, Integer extSelection) {
MapleItemInformationProvider.getInstance().getItemEffect(itemEffect).applyTo(chr);
ItemInformationProvider.getInstance().getItemEffect(itemEffect).applyTo(chr);
}
}

View File

@@ -29,7 +29,7 @@ import client.inventory.manipulator.InventoryManipulator;
import constants.inventory.ItemConstants;
import provider.Data;
import provider.DataTool;
import server.MapleItemInformationProvider;
import server.ItemInformationProvider;
import server.quest.Quest;
import server.quest.QuestActionType;
import tools.FilePrinter;
@@ -241,7 +241,7 @@ public class ItemAction extends MapleQuestAction {
private void announceInventoryLimit(List<Integer> itemids, Character chr) {
for (Integer id : itemids) {
if (MapleItemInformationProvider.getInstance().isPickupRestricted(id) && chr.haveItemWithId(id, true)) {
if (ItemInformationProvider.getInstance().isPickupRestricted(id) && chr.haveItemWithId(id, true)) {
chr.dropMessage(1, "Please check if you already have a similar one-of-a-kind item in your inventory.");
return;
}
@@ -293,7 +293,7 @@ public class ItemAction extends MapleQuestAction {
}
public boolean restoreLostItem(Character chr, int itemid) {
if (!MapleItemInformationProvider.getInstance().isQuestItem(itemid)) {
if (!ItemInformationProvider.getInstance().isQuestItem(itemid)) {
return false;
}

View File

@@ -27,7 +27,7 @@ import client.inventory.Item;
import constants.inventory.ItemConstants;
import provider.Data;
import provider.DataTool;
import server.MapleItemInformationProvider;
import server.ItemInformationProvider;
import server.quest.Quest;
import server.quest.QuestRequirementType;
@@ -60,7 +60,7 @@ public class ItemRequirement extends MapleQuestRequirement {
@Override
public boolean check(Character chr, Integer npcid) {
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
ItemInformationProvider ii = ItemInformationProvider.getInstance();
for(Integer itemId : items.keySet()) {
int countNeeded = items.get(itemId);
int count = 0;

View File

@@ -4,7 +4,7 @@ import client.Character;
import client.Client;
import client.inventory.Item;
import net.server.Server;
import server.MapleItemInformationProvider;
import server.ItemInformationProvider;
import server.MapleTrade;
import server.expeditions.Expedition;
@@ -21,13 +21,13 @@ public class LogHelper {
//Trade 1 to trade 2
log += trade1.getExchangeMesos() + " mesos from " + name1 + " to " + name2 + " \r\n";
for (Item item : trade1.getItems()){
String itemName = MapleItemInformationProvider.getInstance().getName(item.getItemId()) + "(" + item.getItemId() + ")";
String itemName = ItemInformationProvider.getInstance().getName(item.getItemId()) + "(" + item.getItemId() + ")";
log += item.getQuantity() + " " + itemName + " from " + name1 + " to " + name2 + " \r\n";
}
//Trade 2 to trade 1
log += trade2.getExchangeMesos() + " mesos from " + name2 + " to " + name1 + " \r\n";
for (Item item : trade2.getItems()){
String itemName = MapleItemInformationProvider.getInstance().getName(item.getItemId()) + "(" + item.getItemId() + ")";
String itemName = ItemInformationProvider.getInstance().getName(item.getItemId()) + "(" + item.getItemId() + ")";
log += item.getQuantity() + " " + itemName + " from " + name2 + " to " + name1 + " \r\n";
}
log += "\r\n\r\n";
@@ -65,7 +65,7 @@ public class LogHelper {
}
public static void logGacha(Character player, int itemid, String map) {
String itemName = MapleItemInformationProvider.getInstance().getName(itemid);
String itemName = ItemInformationProvider.getInstance().getName(itemid);
String timeStamp = new SimpleDateFormat("dd-MM-yyyy hh:mm:ss").format(new Date());
String log = player.getName() + " got a " + itemName + "(" + itemid + ") from the " + map + " gachapon. - " + timeStamp;
FilePrinter.print(FilePrinter.LOG_GACHAPON, log);

View File

@@ -248,7 +248,7 @@ public class PacketCreator {
private static void addCharEquips(final OutPacket p, Character chr) {
Inventory equip = chr.getInventory(InventoryType.EQUIPPED);
Collection<Item> ii = MapleItemInformationProvider.getInstance().canWearEquipment(chr, equip.list());
Collection<Item> ii = ItemInformationProvider.getInstance().canWearEquipment(chr, equip.list());
Map<Short, Integer> myEquip = new LinkedHashMap<>();
Map<Short, Integer> maskedEquip = new LinkedHashMap<>();
for (Item item : ii) {
@@ -347,7 +347,7 @@ public class PacketCreator {
}
protected static void addItemInfo(final OutPacket p, Item item, boolean zeroPosition) {
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
ItemInformationProvider ii = ItemInformationProvider.getInstance();
boolean isCash = ii.isCash(item.getItemId());
boolean isPet = item.getPetId() > -1;
boolean isRing = false;
@@ -2358,7 +2358,7 @@ public class PacketCreator {
}
public static Packet getNPCShop(Client c, int sid, List<MapleShopItem> items) {
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
ItemInformationProvider ii = ItemInformationProvider.getInstance();
final OutPacket p = OutPacket.create(SendOpcode.OPEN_NPC_SHOP);
p.writeInt(sid);
p.writeShort(items.size()); // item count
@@ -2711,7 +2711,7 @@ public class PacketCreator {
p.writeByte(0); //end of pets
Item mount; //mounts can potentially crash the client if the player's level is not properly checked
if (chr.getMount() != null && (mount = chr.getInventory(InventoryType.EQUIPPED).getItem((short) -18)) != null && MapleItemInformationProvider.getInstance().getEquipLevelReq(mount.getItemId()) <= chr.getLevel()) {
if (chr.getMount() != null && (mount = chr.getInventory(InventoryType.EQUIPPED).getItem((short) -18)) != null && ItemInformationProvider.getInstance().getEquipLevelReq(mount.getItemId()) <= chr.getLevel()) {
Mount mmount = chr.getMount();
p.writeByte(mmount.getId()); //mount
p.writeInt(mmount.getLevel()); //level
@@ -2730,7 +2730,7 @@ public class PacketCreator {
p.writeInt(book.getNormalCard());
p.writeInt(book.getSpecialCard());
p.writeInt(book.getTotalCards());
p.writeInt(chr.getMonsterBookCover() > 0 ? MapleItemInformationProvider.getInstance().getCardMobId(chr.getMonsterBookCover()) : 0);
p.writeInt(chr.getMonsterBookCover() > 0 ? ItemInformationProvider.getInstance().getCardMobId(chr.getMonsterBookCover()) : 0);
Item medal = chr.getInventory(InventoryType.EQUIPPED).getItem((short) -49);
if (medal != null) {
p.writeInt(medal.getItemId());

View File

@@ -1,6 +1,6 @@
package tools.mapletools;
import server.MapleItemInformationProvider;
import server.ItemInformationProvider;
import tools.DatabaseConnection;
import java.io.BufferedReader;
@@ -85,7 +85,7 @@ public class CashCosmeticsFetcher {
}
private static void reportCosmeticCouponResults() {
final MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
final ItemInformationProvider ii = ItemInformationProvider.getInstance();
for (int itemid = 5150000; itemid <= 5154000; itemid++) {
String itemName = ii.getName(itemid);
@@ -102,7 +102,7 @@ public class CashCosmeticsFetcher {
}
public static void main(String[] args) {
DatabaseConnection.initializeConnectionPool(); // MapleItemInformationProvider loads unrelated stuff from the db
DatabaseConnection.initializeConnectionPool(); // ItemInformationProvider loads unrelated stuff from the db
try {
loadScripts();
System.out.println("Loaded scripts");

View File

@@ -2,7 +2,7 @@ package tools.mapletools;
import org.apache.commons.io.FileUtils;
import provider.wz.WZFiles;
import server.MapleItemInformationProvider;
import server.ItemInformationProvider;
import tools.DatabaseConnection;
import tools.Pair;
@@ -38,7 +38,7 @@ public class QuestItemFetcher {
private static final Map<Integer, int[]> mixedQuestidItems = new HashMap<>();
private static final Set<Integer> limitedQuestids = new HashSet<>();
private static MapleItemInformationProvider ii;
private static ItemInformationProvider ii;
private static PrintWriter printWriter = null;
private static BufferedReader bufferedReader = null;
private static byte status = 0;
@@ -520,8 +520,8 @@ public class QuestItemFetcher {
}
public static void main(String[] args) {
DatabaseConnection.initializeConnectionPool(); // MapleItemInformationProvider loads some unrelated db data
ii = MapleItemInformationProvider.getInstance();
DatabaseConnection.initializeConnectionPool(); // ItemInformationProvider loads some unrelated db data
ii = ItemInformationProvider.getInstance();
reportQuestItemData();
}

View File

@@ -1,7 +1,7 @@
package tools.mapletools;
import provider.wz.WZFiles;
import server.MapleItemInformationProvider;
import server.ItemInformationProvider;
import tools.DatabaseConnection;
import java.io.*;
@@ -227,7 +227,7 @@ public class SkillMakerFetcher {
}
private static void generateUpdatedItemFee() {
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
ItemInformationProvider ii = ItemInformationProvider.getInstance();
float adjPrice = reqMeso;
if (itemid < 2000000) {
@@ -329,7 +329,7 @@ public class SkillMakerFetcher {
}
public static void main(String[] args) {
DatabaseConnection.initializeConnectionPool(); // Using MapleItemInformationProvider which loads som unrelated things from the db
DatabaseConnection.initializeConnectionPool(); // Using ItemInformationProvider which loads som unrelated things from the db
writeMakerTableData();
}
}

View File

@@ -23,7 +23,7 @@ import client.Character;
import config.YamlConfig;
import constants.game.GameConstants;
import constants.inventory.ItemConstants;
import server.MapleItemInformationProvider;
import server.ItemInformationProvider;
import tools.PacketCreator;
import java.util.Calendar;
@@ -105,12 +105,12 @@ public class Fishing {
break;
case 2:
int itemid = getRandomItem();
rewardStr = "a(n) " + MapleItemInformationProvider.getInstance().getName(itemid) + ".";
rewardStr = "a(n) " + ItemInformationProvider.getInstance().getName(itemid) + ".";
if (chr.canHold(itemid)) {
chr.getAbstractPlayerInteraction().gainItem(itemid, true);
} else {
chr.showHint("Couldn't catch a(n) #r" + MapleItemInformationProvider.getInstance().getName(itemid) + "#k due to #e#b" + ItemConstants.getInventoryType(itemid) + "#k#n inventory limit.");
chr.showHint("Couldn't catch a(n) #r" + ItemInformationProvider.getInstance().getName(itemid) + "#k due to #e#b" + ItemConstants.getInventoryType(itemid) + "#k#n inventory limit.");
rewardStr += ".. but has goofed up due to full inventory.";
}
break;