Search in sources :

Example 16 with MapleInventoryType

use of client.inventory.MapleInventoryType in project HeavenMS by ronancpl.

the class MapleInventoryManipulator method checkSpaceProgressively.

public static int checkSpaceProgressively(MapleClient c, int itemid, int quantity, String owner, int usedSlots) {
    // return value --> bit0: if has space for this one;
    // value after: new slots filled;
    // assumption: equipments always have slotMax == 1.
    int returnValue;
    MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
    MapleInventoryType type = ItemConstants.getInventoryType(itemid);
    if (ii.isPickupRestricted(itemid) && haveItemWithId(c.getPlayer().getInventory(type), itemid)) {
        return 0;
    }
    if (!type.equals(MapleInventoryType.EQUIP)) {
        short slotMax = ii.getSlotMax(c, itemid);
        if (!ItemConstants.isRechargable(itemid)) {
            List<Item> existing = c.getPlayer().getInventory(type).listById(itemid);
            if (// first update all existing slots to slotMax
            existing.size() > 0) {
                for (Item eItem : existing) {
                    short oldQ = eItem.getQuantity();
                    if (oldQ < slotMax && owner.equals(eItem.getOwner())) {
                        short newQ = (short) Math.min(oldQ + quantity, slotMax);
                        quantity -= (newQ - oldQ);
                    }
                    if (quantity <= 0) {
                        break;
                    }
                }
            }
        }
        final int numSlotsNeeded;
        if (slotMax > 0) {
            numSlotsNeeded = (int) (Math.ceil(((double) quantity) / slotMax));
        } else if (ItemConstants.isRechargable(itemid)) {
            numSlotsNeeded = 1;
        } else {
            numSlotsNeeded = 1;
        }
        returnValue = ((numSlotsNeeded + usedSlots) << 1);
        returnValue += (numSlotsNeeded == 0 || !c.getPlayer().getInventory(type).isFullAfterSomeItems(numSlotsNeeded - 1, usedSlots)) ? 1 : 0;
    // System.out.print(" needed " + numSlotsNeeded + " used " + usedSlots + " rval " + returnValue);
    } else {
        returnValue = ((quantity + usedSlots) << 1);
        returnValue += (!c.getPlayer().getInventory(type).isFullAfterSomeItems(0, usedSlots)) ? 1 : 0;
    // System.out.print(" eqpneeded " + 1 + " used " + usedSlots + " rval " + returnValue);
    }
    return returnValue;
}
Also used : Item(client.inventory.Item) MapleInventoryType(client.inventory.MapleInventoryType) Point(java.awt.Point)

Example 17 with MapleInventoryType

use of client.inventory.MapleInventoryType in project HeavenMS by ronancpl.

the class MapleInventoryManipulator method checkSpace.

public static boolean checkSpace(MapleClient c, int itemid, int quantity, String owner) {
    MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
    MapleInventoryType type = ItemConstants.getInventoryType(itemid);
    if (ii.isPickupRestricted(itemid) && haveItemWithId(c.getPlayer().getInventory(type), itemid)) {
        return false;
    }
    if (!type.equals(MapleInventoryType.EQUIP)) {
        short slotMax = ii.getSlotMax(c, itemid);
        List<Item> existing = c.getPlayer().getInventory(type).listById(itemid);
        if (!ItemConstants.isRechargable(itemid)) {
            if (// first update all existing slots to slotMax
            existing.size() > 0) {
                for (Item eItem : existing) {
                    short oldQ = eItem.getQuantity();
                    if (oldQ < slotMax && owner.equals(eItem.getOwner())) {
                        short newQ = (short) Math.min(oldQ + quantity, slotMax);
                        quantity -= (newQ - oldQ);
                    }
                    if (quantity <= 0) {
                        break;
                    }
                }
            }
        }
        final int numSlotsNeeded;
        if (slotMax > 0) {
            numSlotsNeeded = (int) (Math.ceil(((double) quantity) / slotMax));
        } else if (ItemConstants.isRechargable(itemid)) {
            numSlotsNeeded = 1;
        } else {
            numSlotsNeeded = 1;
        }
        return !c.getPlayer().getInventory(type).isFull(numSlotsNeeded - 1);
    } else {
        return !c.getPlayer().getInventory(type).isFull();
    }
}
Also used : Item(client.inventory.Item) MapleInventoryType(client.inventory.MapleInventoryType) Point(java.awt.Point)

Example 18 with MapleInventoryType

use of client.inventory.MapleInventoryType in project HeavenMS by ronancpl.

the class MapleInventoryManipulator method addById.

public static boolean addById(MapleClient c, int itemId, short quantity, String owner, int petid, byte flag, long expiration) {
    MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
    MapleInventoryType type = ItemConstants.getInventoryType(itemId);
    if (!type.equals(MapleInventoryType.EQUIP)) {
        short slotMax = ii.getSlotMax(c, itemId);
        List<Item> existing = c.getPlayer().getInventory(type).listById(itemId);
        if (!ItemConstants.isRechargable(itemId) && petid == -1) {
            if (existing.size() > 0) {
                // first update all existing slots to slotMax
                Iterator<Item> i = existing.iterator();
                while (quantity > 0) {
                    if (i.hasNext()) {
                        Item eItem = (Item) i.next();
                        short oldQ = eItem.getQuantity();
                        if (oldQ < slotMax && (eItem.getOwner().equals(owner) || owner == null)) {
                            short newQ = (short) Math.min(oldQ + quantity, slotMax);
                            quantity -= (newQ - oldQ);
                            eItem.setQuantity(newQ);
                            eItem.setExpiration(expiration);
                            c.announce(MaplePacketCreator.modifyInventory(true, Collections.singletonList(new ModifyInventory(1, eItem))));
                        }
                    } else {
                        break;
                    }
                }
            }
            while (quantity > 0 || ItemConstants.isRechargable(itemId)) {
                short newQ = (short) Math.min(quantity, slotMax);
                if (newQ != 0) {
                    quantity -= newQ;
                    Item nItem = new Item(itemId, (short) 0, newQ, petid);
                    nItem.setFlag(flag);
                    nItem.setExpiration(expiration);
                    short newSlot = c.getPlayer().getInventory(type).addItem(nItem);
                    if (newSlot == -1) {
                        c.announce(MaplePacketCreator.getInventoryFull());
                        c.announce(MaplePacketCreator.getShowInventoryFull());
                        return false;
                    }
                    if (owner != null) {
                        nItem.setOwner(owner);
                    }
                    c.announce(MaplePacketCreator.modifyInventory(true, Collections.singletonList(new ModifyInventory(0, nItem))));
                    if ((ItemConstants.isRechargable(itemId)) && quantity == 0) {
                        break;
                    }
                } else {
                    c.announce(MaplePacketCreator.enableActions());
                    return false;
                }
            }
        } else {
            Item nItem = new Item(itemId, (short) 0, quantity, petid);
            nItem.setFlag(flag);
            nItem.setExpiration(expiration);
            short newSlot = c.getPlayer().getInventory(type).addItem(nItem);
            if (newSlot == -1) {
                c.announce(MaplePacketCreator.getInventoryFull());
                c.announce(MaplePacketCreator.getShowInventoryFull());
                return false;
            }
            c.announce(MaplePacketCreator.modifyInventory(true, Collections.singletonList(new ModifyInventory(0, nItem))));
        }
    } else if (quantity == 1) {
        Item nEquip = ii.getEquipById(itemId);
        nEquip.setFlag(flag);
        nEquip.setExpiration(expiration);
        if (owner != null) {
            nEquip.setOwner(owner);
        }
        short newSlot = c.getPlayer().getInventory(type).addItem(nEquip);
        if (newSlot == -1) {
            c.announce(MaplePacketCreator.getInventoryFull());
            c.announce(MaplePacketCreator.getShowInventoryFull());
            return false;
        }
        c.announce(MaplePacketCreator.modifyInventory(true, Collections.singletonList(new ModifyInventory(0, nEquip))));
    } else {
        throw new RuntimeException("Trying to create equip with non-one quantity");
    }
    return true;
}
Also used : Item(client.inventory.Item) MapleInventoryType(client.inventory.MapleInventoryType) ModifyInventory(client.inventory.ModifyInventory)

Example 19 with MapleInventoryType

use of client.inventory.MapleInventoryType in project HeavenMS by ronancpl.

the class AbstractPlayerInteraction method removeFromParty.

public void removeFromParty(int id, List<MapleCharacter> party) {
    for (MapleCharacter chr : party) {
        MapleInventoryType type = ItemConstants.getInventoryType(id);
        MapleInventory iv = chr.getInventory(type);
        int possesed = iv.countById(id);
        if (possesed > 0) {
            MapleInventoryManipulator.removeById(c, ItemConstants.getInventoryType(id), id, possesed, true, false);
            chr.announce(MaplePacketCreator.getShowItemGain(id, (short) -possesed, true));
        }
    }
}
Also used : MapleCharacter(client.MapleCharacter) MapleInventoryType(client.inventory.MapleInventoryType) MapleInventory(client.inventory.MapleInventory) Point(java.awt.Point)

Example 20 with MapleInventoryType

use of client.inventory.MapleInventoryType in project HeavenMS by ronancpl.

the class MapleCharacter method loadCharFromDB.

public static MapleCharacter loadCharFromDB(int charid, MapleClient client, boolean channelserver) throws SQLException {
    try {
        MapleCharacter ret = new MapleCharacter();
        ret.client = client;
        ret.id = charid;
        Connection con = DatabaseConnection.getConnection();
        PreparedStatement ps = con.prepareStatement("SELECT * FROM characters WHERE id = ?");
        ps.setInt(1, charid);
        ResultSet rs = ps.executeQuery();
        if (!rs.next()) {
            rs.close();
            ps.close();
            throw new RuntimeException("Loading char failed (not found)");
        }
        ret.name = rs.getString("name");
        ret.level = rs.getInt("level");
        ret.fame = rs.getInt("fame");
        ret.quest_fame = rs.getInt("fquest");
        ret.str = rs.getInt("str");
        ret.dex = rs.getInt("dex");
        ret.int_ = rs.getInt("int");
        ret.luk = rs.getInt("luk");
        ret.exp.set(rs.getInt("exp"));
        ret.gachaexp.set(rs.getInt("gachaexp"));
        ret.hp = rs.getInt("hp");
        ret.maxhp = rs.getInt("maxhp");
        ret.mp = rs.getInt("mp");
        ret.maxmp = rs.getInt("maxmp");
        ret.hpMpApUsed = rs.getInt("hpMpUsed");
        ret.hasMerchant = rs.getInt("HasMerchant") == 1;
        String[] skillPoints = rs.getString("sp").split(",");
        for (int i = 0; i < ret.remainingSp.length; i++) {
            ret.remainingSp[i] = Integer.parseInt(skillPoints[i]);
        }
        ret.remainingAp = rs.getInt("ap");
        ret.meso.set(rs.getInt("meso"));
        ret.merchantmeso = rs.getInt("MerchantMesos");
        ret.gmLevel = rs.getInt("gm");
        ret.skinColor = MapleSkinColor.getById(rs.getInt("skincolor"));
        ret.gender = rs.getInt("gender");
        ret.job = MapleJob.getById(rs.getInt("job"));
        ret.finishedDojoTutorial = rs.getInt("finishedDojoTutorial") == 1;
        ret.vanquisherKills = rs.getInt("vanquisherKills");
        ret.omokwins = rs.getInt("omokwins");
        ret.omoklosses = rs.getInt("omoklosses");
        ret.omokties = rs.getInt("omokties");
        ret.matchcardwins = rs.getInt("matchcardwins");
        ret.matchcardlosses = rs.getInt("matchcardlosses");
        ret.matchcardties = rs.getInt("matchcardties");
        ret.hair = rs.getInt("hair");
        ret.face = rs.getInt("face");
        ret.accountid = rs.getInt("accountid");
        ret.mapid = rs.getInt("map");
        ret.jailExpiration = rs.getLong("jailexpire");
        ret.initialSpawnPoint = rs.getInt("spawnpoint");
        ret.world = rs.getByte("world");
        ret.rank = rs.getInt("rank");
        ret.rankMove = rs.getInt("rankMove");
        ret.jobRank = rs.getInt("jobRank");
        ret.jobRankMove = rs.getInt("jobRankMove");
        int mountexp = rs.getInt("mountexp");
        int mountlevel = rs.getInt("mountlevel");
        int mounttiredness = rs.getInt("mounttiredness");
        ret.guildid = rs.getInt("guildid");
        ret.guildRank = rs.getInt("guildrank");
        ret.allianceRank = rs.getInt("allianceRank");
        ret.familyId = rs.getInt("familyId");
        ret.bookCover = rs.getInt("monsterbookcover");
        ret.monsterbook = new MonsterBook();
        ret.monsterbook.loadCards(charid);
        ret.vanquisherStage = rs.getInt("vanquisherStage");
        ret.dojoPoints = rs.getInt("dojoPoints");
        ret.dojoStage = rs.getInt("lastDojoStage");
        ret.dataString = rs.getString("dataString");
        ret.mgc = new MapleGuildCharacter(ret);
        int buddyCapacity = rs.getInt("buddyCapacity");
        ret.buddylist = new BuddyList(buddyCapacity);
        ret.getInventory(MapleInventoryType.EQUIP).setSlotLimit(rs.getByte("equipslots"));
        ret.getInventory(MapleInventoryType.USE).setSlotLimit(rs.getByte("useslots"));
        ret.getInventory(MapleInventoryType.SETUP).setSlotLimit(rs.getByte("setupslots"));
        ret.getInventory(MapleInventoryType.ETC).setSlotLimit(rs.getByte("etcslots"));
        for (Pair<Item, MapleInventoryType> item : ItemFactory.INVENTORY.loadItems(ret.id, !channelserver)) {
            ret.getInventory(item.getRight()).addFromDB(item.getLeft());
            Item itemz = item.getLeft();
            if (itemz.getPetId() > -1) {
                MaplePet pet = itemz.getPet();
                if (pet != null && pet.isSummoned()) {
                    ret.addPet(pet);
                }
                continue;
            }
            if (item.getRight().equals(MapleInventoryType.EQUIP) || item.getRight().equals(MapleInventoryType.EQUIPPED)) {
                Equip equip = (Equip) item.getLeft();
                if (equip.getRingId() > -1) {
                    MapleRing ring = MapleRing.loadFromDb(equip.getRingId());
                    if (item.getRight().equals(MapleInventoryType.EQUIPPED)) {
                        ring.equip();
                    }
                    if (ring.getItemId() > 1112012) {
                        ret.addFriendshipRing(ring);
                    } else {
                        ret.addCrushRing(ring);
                    }
                }
            }
        }
        NewYearCardRecord.loadPlayerNewYearCards(ret);
        PreparedStatement ps2, ps3;
        ResultSet rs2, rs3;
        ps3 = con.prepareStatement("SELECT petid FROM inventoryitems WHERE characterid = ? AND petid > -1");
        ps3.setInt(1, charid);
        rs3 = ps3.executeQuery();
        while (rs3.next()) {
            int petId = rs3.getInt("petid");
            ps2 = con.prepareStatement("SELECT itemid FROM petignores WHERE petid = ?");
            ps2.setInt(1, petId);
            ret.resetExcluded(petId);
            rs2 = ps2.executeQuery();
            while (rs2.next()) {
                ret.addExcluded(petId, rs2.getInt("itemid"));
            }
            ps2.close();
            rs2.close();
        }
        ps3.close();
        rs3.close();
        ret.commitExcludedItems();
        if (channelserver) {
            MapleMapFactory mapFactory = client.getChannelServer().getMapFactory();
            ret.map = mapFactory.getMap(ret.mapid);
            if (ret.map == null) {
                ret.map = mapFactory.getMap(100000000);
            }
            MaplePortal portal = ret.map.getPortal(ret.initialSpawnPoint);
            if (portal == null) {
                portal = ret.map.getPortal(0);
                ret.initialSpawnPoint = 0;
            }
            ret.setPosition(portal.getPosition());
            int partyid = rs.getInt("party");
            MapleParty party = Server.getInstance().getWorld(ret.world).getParty(partyid);
            if (party != null) {
                ret.mpc = party.getMemberById(ret.id);
                if (ret.mpc != null) {
                    ret.mpc = new MaplePartyCharacter(ret);
                    ret.party = party;
                }
            }
            int messengerid = rs.getInt("messengerid");
            int position = rs.getInt("messengerposition");
            if (messengerid > 0 && position < 4 && position > -1) {
                MapleMessenger messenger = Server.getInstance().getWorld(ret.world).getMessenger(messengerid);
                if (messenger != null) {
                    ret.messenger = messenger;
                    ret.messengerposition = position;
                }
            }
            ret.loggedIn = true;
        }
        rs.close();
        ps.close();
        ps = con.prepareStatement("SELECT mapid,vip FROM trocklocations WHERE characterid = ? LIMIT 15");
        ps.setInt(1, charid);
        rs = ps.executeQuery();
        byte v = 0;
        byte r = 0;
        while (rs.next()) {
            if (rs.getInt("vip") == 1) {
                ret.viptrockmaps.add(rs.getInt("mapid"));
                v++;
            } else {
                ret.trockmaps.add(rs.getInt("mapid"));
                r++;
            }
        }
        while (v < 10) {
            ret.viptrockmaps.add(999999999);
            v++;
        }
        while (r < 5) {
            ret.trockmaps.add(999999999);
            r++;
        }
        rs.close();
        ps.close();
        ps = con.prepareStatement("SELECT name FROM accounts WHERE id = ?", Statement.RETURN_GENERATED_KEYS);
        ps.setInt(1, ret.accountid);
        rs = ps.executeQuery();
        if (rs.next()) {
            ret.getClient().setAccountName(rs.getString("name"));
        }
        rs.close();
        ps.close();
        ps = con.prepareStatement("SELECT `area`,`info` FROM area_info WHERE charid = ?");
        ps.setInt(1, ret.id);
        rs = ps.executeQuery();
        while (rs.next()) {
            ret.area_info.put(rs.getShort("area"), rs.getString("info"));
        }
        rs.close();
        ps.close();
        ps = con.prepareStatement("SELECT `name`,`info` FROM eventstats WHERE characterid = ?");
        ps.setInt(1, ret.id);
        rs = ps.executeQuery();
        while (rs.next()) {
            String name = rs.getString("name");
            if (rs.getString("name").equals("rescueGaga")) {
                ret.events.put(name, new RescueGaga(rs.getInt("info")));
            }
        // ret.events = new MapleEvents(new RescueGaga(rs.getInt("rescuegaga")), new ArtifactHunt(rs.getInt("artifacthunt")));
        }
        rs.close();
        ps.close();
        ret.cashshop = new CashShop(ret.accountid, ret.id, ret.getJobType());
        ret.autoban = new AutobanManager(ret);
        // for now
        ret.marriageRing = null;
        ps = con.prepareStatement("SELECT name, level FROM characters WHERE accountid = ? AND id != ? ORDER BY level DESC limit 1");
        ps.setInt(1, ret.accountid);
        ps.setInt(2, charid);
        rs = ps.executeQuery();
        if (rs.next()) {
            ret.linkedName = rs.getString("name");
            ret.linkedLevel = rs.getInt("level");
        }
        rs.close();
        ps.close();
        if (channelserver) {
            ps = con.prepareStatement("SELECT * FROM queststatus WHERE characterid = ?");
            ps.setInt(1, charid);
            rs = ps.executeQuery();
            PreparedStatement psf;
            try (PreparedStatement pse = con.prepareStatement("SELECT * FROM questprogress WHERE queststatusid = ?")) {
                psf = con.prepareStatement("SELECT mapid FROM medalmaps WHERE queststatusid = ?");
                while (rs.next()) {
                    MapleQuest q = MapleQuest.getInstance(rs.getShort("quest"));
                    MapleQuestStatus status = new MapleQuestStatus(q, MapleQuestStatus.Status.getById(rs.getInt("status")));
                    long cTime = rs.getLong("time");
                    if (cTime > -1) {
                        status.setCompletionTime(cTime * 1000);
                    }
                    long eTime = rs.getLong("expires");
                    if (eTime > 0) {
                        status.setExpirationTime(eTime);
                    }
                    status.setForfeited(rs.getInt("forfeited"));
                    ret.quests.put(q.getId(), status);
                    pse.setInt(1, rs.getInt("queststatusid"));
                    try (ResultSet rsProgress = pse.executeQuery()) {
                        while (rsProgress.next()) {
                            status.setProgress(rsProgress.getInt("progressid"), rsProgress.getString("progress"));
                        }
                    }
                    psf.setInt(1, rs.getInt("queststatusid"));
                    try (ResultSet medalmaps = psf.executeQuery()) {
                        while (medalmaps.next()) {
                            status.addMedalMap(medalmaps.getInt("mapid"));
                        }
                    }
                }
                rs.close();
                ps.close();
            }
            psf.close();
            ps = con.prepareStatement("SELECT skillid,skilllevel,masterlevel,expiration FROM skills WHERE characterid = ?");
            ps.setInt(1, charid);
            rs = ps.executeQuery();
            while (rs.next()) {
                ret.skills.put(SkillFactory.getSkill(rs.getInt("skillid")), new SkillEntry(rs.getByte("skilllevel"), rs.getInt("masterlevel"), rs.getLong("expiration")));
            }
            rs.close();
            ps.close();
            ps = con.prepareStatement("SELECT SkillID,StartTime,length FROM cooldowns WHERE charid = ?");
            ps.setInt(1, ret.getId());
            rs = ps.executeQuery();
            while (rs.next()) {
                final int skillid = rs.getInt("SkillID");
                final long length = rs.getLong("length"), startTime = rs.getLong("StartTime");
                if (skillid != 5221999 && (length + startTime < System.currentTimeMillis())) {
                    continue;
                }
                ret.giveCoolDowns(skillid, startTime, length);
            }
            rs.close();
            ps.close();
            ps = con.prepareStatement("DELETE FROM cooldowns WHERE charid = ?");
            ps.setInt(1, ret.getId());
            ps.executeUpdate();
            ps.close();
            ps = con.prepareStatement("SELECT * FROM skillmacros WHERE characterid = ?");
            ps.setInt(1, charid);
            rs = ps.executeQuery();
            while (rs.next()) {
                int position = rs.getInt("position");
                SkillMacro macro = new SkillMacro(rs.getInt("skill1"), rs.getInt("skill2"), rs.getInt("skill3"), rs.getString("name"), rs.getInt("shout"), position);
                ret.skillMacros[position] = macro;
            }
            rs.close();
            ps.close();
            ps = con.prepareStatement("SELECT `key`,`type`,`action` FROM keymap WHERE characterid = ?");
            ps.setInt(1, charid);
            rs = ps.executeQuery();
            while (rs.next()) {
                int key = rs.getInt("key");
                int type = rs.getInt("type");
                int action = rs.getInt("action");
                ret.keymap.put(Integer.valueOf(key), new MapleKeyBinding(type, action));
            }
            rs.close();
            ps.close();
            ps = con.prepareStatement("SELECT `locationtype`,`map`,`portal` FROM savedlocations WHERE characterid = ?");
            ps.setInt(1, charid);
            rs = ps.executeQuery();
            while (rs.next()) {
                ret.savedLocations[SavedLocationType.valueOf(rs.getString("locationtype")).ordinal()] = new SavedLocation(rs.getInt("map"), rs.getInt("portal"));
            }
            rs.close();
            ps.close();
            ps = con.prepareStatement("SELECT `characterid_to`,`when` FROM famelog WHERE characterid = ? AND DATEDIFF(NOW(),`when`) < 30");
            ps.setInt(1, charid);
            rs = ps.executeQuery();
            ret.lastfametime = 0;
            ret.lastmonthfameids = new ArrayList<>(31);
            while (rs.next()) {
                ret.lastfametime = Math.max(ret.lastfametime, rs.getTimestamp("when").getTime());
                ret.lastmonthfameids.add(Integer.valueOf(rs.getInt("characterid_to")));
            }
            rs.close();
            ps.close();
            ret.buddylist.loadFromDb(charid);
            ret.storage = MapleStorage.loadOrCreateFromDB(ret.accountid, ret.world);
            ret.recalcLocalStats();
            // ret.resetBattleshipHp();
            ret.silentEnforceMaxHpMp();
        }
        int mountid = ret.getJobType() * 10000000 + 1004;
        if (ret.getInventory(MapleInventoryType.EQUIPPED).getItem((short) -18) != null) {
            ret.maplemount = new MapleMount(ret, ret.getInventory(MapleInventoryType.EQUIPPED).getItem((short) -18).getItemId(), mountid);
        } else {
            ret.maplemount = new MapleMount(ret, 0, mountid);
        }
        ret.maplemount.setExp(mountexp);
        ret.maplemount.setLevel(mountlevel);
        ret.maplemount.setTiredness(mounttiredness);
        ret.maplemount.setActive(false);
        con.close();
        return ret;
    } catch (SQLException | RuntimeException e) {
        e.printStackTrace();
    }
    return null;
}
Also used : MapleQuest(server.quest.MapleQuest) AutobanManager(client.autoban.AutobanManager) SQLException(java.sql.SQLException) MapleGuildCharacter(net.server.guild.MapleGuildCharacter) RescueGaga(server.events.RescueGaga) MapleMapFactory(server.maps.MapleMapFactory) MapleMapItem(server.maps.MapleMapItem) Item(client.inventory.Item) MaplePlayerShopItem(server.maps.MaplePlayerShopItem) Equip(client.inventory.Equip) MapleInventoryType(client.inventory.MapleInventoryType) ResultSet(java.sql.ResultSet) MaplePet(client.inventory.MaplePet) CashShop(server.CashShop) DatabaseConnection(tools.DatabaseConnection) Connection(java.sql.Connection) SavedLocation(server.maps.SavedLocation) MapleParty(net.server.world.MapleParty) PreparedStatement(java.sql.PreparedStatement) Point(java.awt.Point) MaplePortal(server.MaplePortal) MaplePartyCharacter(net.server.world.MaplePartyCharacter) MapleMessenger(net.server.world.MapleMessenger)

Aggregations

MapleInventoryType (client.inventory.MapleInventoryType)28 Item (client.inventory.Item)20 MapleCharacter (client.MapleCharacter)9 Point (java.awt.Point)7 SQLException (java.sql.SQLException)6 MapleItemInformationProvider (server.MapleItemInformationProvider)5 Equip (client.inventory.Equip)4 MapleInventory (client.inventory.MapleInventory)4 Connection (java.sql.Connection)4 PreparedStatement (java.sql.PreparedStatement)4 ResultSet (java.sql.ResultSet)4 LinkedList (java.util.LinkedList)4 MaplePlayerShopItem (server.maps.MaplePlayerShopItem)4 DatabaseConnection (tools.DatabaseConnection)4 MapleClient (client.MapleClient)3 ModifyInventory (client.inventory.ModifyInventory)3 ArrayList (java.util.ArrayList)3 MapleMap (server.maps.MapleMap)3 MapleMapObject (server.maps.MapleMapObject)3 Pair (tools.Pair)3