Search in sources :

Example 91 with MapleCharacter

use of client.MapleCharacter 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 92 with MapleCharacter

use of client.MapleCharacter in project HeavenMS by ronancpl.

the class MapleCoconut method bonusTime.

public void bonusTime() {
    map.broadcastMessage(MaplePacketCreator.getClock(120));
    TimerManager.getInstance().schedule(new Runnable() {

        @Override
        public void run() {
            if (getMapleScore() == getStoryScore()) {
                for (MapleCharacter chr : map.getCharacters()) {
                    chr.getClient().announce(MaplePacketCreator.showEffect("event/coconut/lose"));
                    chr.getClient().announce(MaplePacketCreator.playSound("Coconut/Failed"));
                }
                warpOut();
            } else if (getMapleScore() > getStoryScore()) {
                for (MapleCharacter chr : map.getCharacters()) {
                    if (chr.getTeam() == 0) {
                        chr.getClient().announce(MaplePacketCreator.showEffect("event/coconut/victory"));
                        chr.getClient().announce(MaplePacketCreator.playSound("Coconut/Victory"));
                    } else {
                        chr.getClient().announce(MaplePacketCreator.showEffect("event/coconut/lose"));
                        chr.getClient().announce(MaplePacketCreator.playSound("Coconut/Failed"));
                    }
                }
                warpOut();
            } else {
                for (MapleCharacter chr : map.getCharacters()) {
                    if (chr.getTeam() == 1) {
                        chr.getClient().announce(MaplePacketCreator.showEffect("event/coconut/victory"));
                        chr.getClient().announce(MaplePacketCreator.playSound("Coconut/Victory"));
                    } else {
                        chr.getClient().announce(MaplePacketCreator.showEffect("event/coconut/lose"));
                        chr.getClient().announce(MaplePacketCreator.playSound("Coconut/Failed"));
                    }
                }
                warpOut();
            }
        }
    }, 120000);
}
Also used : MapleCharacter(client.MapleCharacter)

Example 93 with MapleCharacter

use of client.MapleCharacter in project HeavenMS by ronancpl.

the class MapleSnowball method startEvent.

public void startEvent() {
    if (hittable == true)
        return;
    for (MapleCharacter chr : characters) {
        if (chr != null) {
            chr.announce(MaplePacketCreator.rollSnowBall(false, 1, map.getSnowball(0), map.getSnowball(1)));
            chr.announce(MaplePacketCreator.getClock(600));
        }
    }
    hittable = true;
    TimerManager.getInstance().schedule(new Runnable() {

        @Override
        public void run() {
            if (map.getSnowball(team).getPosition() > map.getSnowball(team == 0 ? 1 : 0).getPosition()) {
                for (MapleCharacter chr : characters) {
                    if (chr != null)
                        chr.announce(MaplePacketCreator.rollSnowBall(false, 3, map.getSnowball(0), map.getSnowball(0)));
                }
                winner = true;
            } else if (map.getSnowball(team == 0 ? 1 : 0).getPosition() > map.getSnowball(team).getPosition()) {
                for (MapleCharacter chr : characters) {
                    if (chr != null)
                        chr.announce(MaplePacketCreator.rollSnowBall(false, 4, map.getSnowball(0), map.getSnowball(0)));
                }
                winner = true;
            }
            // Else
            warpOut();
        }
    }, 600000);
}
Also used : MapleCharacter(client.MapleCharacter)

Example 94 with MapleCharacter

use of client.MapleCharacter in project HeavenMS by ronancpl.

the class Commands method executeHeavenMsCommandLv5.

public static boolean executeHeavenMsCommandLv5(Channel cserv, Server srv, MapleClient c, String[] sub) {
    // Developer
    MapleCharacter player = c.getPlayer();
    MapleMonster monster;
    switch(sub[0]) {
        case "debugmonster":
            List<MapleMapObject> monsters = player.getMap().getMapObjectsInRange(player.getPosition(), Double.POSITIVE_INFINITY, Arrays.asList(MapleMapObjectType.MONSTER));
            for (MapleMapObject monstermo : monsters) {
                monster = (MapleMonster) monstermo;
                player.message("Monster ID: " + monster.getId() + " Aggro target: " + ((monster.getController() != null) ? monster.getController().getName() : "<none>"));
            }
            break;
        case "debugpacket":
            player.getMap().broadcastMessage(MaplePacketCreator.customPacket(joinStringFrom(sub, 1)));
            break;
        case "debugportal":
            MaplePortal portal = player.getMap().findClosestPortal(player.getPosition());
            if (portal != null)
                player.dropMessage(6, "Closest portal: " + portal.getId() + " '" + portal.getName() + "' Type: " + portal.getType() + " --> toMap: " + portal.getTargetMapId() + " scriptname: '" + portal.getScriptName() + "' state: " + portal.getPortalState() + ".");
            else
                player.dropMessage(6, "There is no portal on this map.");
            break;
        case "debugspawnpoint":
            SpawnPoint sp = player.getMap().findClosestSpawnpoint(player.getPosition());
            if (sp != null)
                player.dropMessage(6, "Closest mob spawn point: " + " Position: x " + sp.getPosition().getX() + " y " + sp.getPosition().getY() + " Spawns mobid: '" + sp.getMonsterId() + "' --> canSpawn: " + !sp.getDenySpawn() + " canSpawnRightNow: " + sp.shouldSpawn() + ".");
            else
                player.dropMessage(6, "There is no mob spawn point on this map.");
            break;
        case "debugpos":
            player.dropMessage(6, "Current map position: (" + player.getPosition().getX() + ", " + player.getPosition().getY() + ").");
            break;
        case "debugmap":
            player.dropMessage(6, "Current map id " + player.getMap().getId() + ", event: '" + ((player.getMap().getEventInstance() != null) ? player.getMap().getEventInstance().getName() : "null") + "'; Players: " + player.getMap().getAllPlayers().size() + ", Mobs: " + player.getMap().countMonsters() + ", Reactors: " + player.getMap().countReactors() + ", Items: " + player.getMap().countItems() + ", Objects: " + player.getMap().getMapObjects().size() + ".");
            break;
        case "debugmobsp":
            player.getMap().reportMonsterSpawnPoints(player);
            break;
        case "debugevent":
            if (player.getEventInstance() == null)
                player.dropMessage(6, "Player currently not in an event.");
            else
                player.dropMessage(6, "Current event name: " + player.getEventInstance().getName() + ".");
            break;
        case "debugareas":
            player.dropMessage(6, "Configured areas on map " + player.getMapId() + ":");
            byte index = 0;
            for (Rectangle rect : player.getMap().getAreas()) {
                player.dropMessage(6, "Id: " + index + " -> posX: " + rect.getX() + " posY: '" + rect.getY() + "' dX: " + rect.getWidth() + " dY: " + rect.getHeight() + ".");
                index++;
            }
            break;
        case "debugreactors":
            player.dropMessage(6, "Current reactor states on map " + player.getMapId() + ":");
            for (MapleMapObject mmo : player.getMap().getReactors()) {
                MapleReactor mr = (MapleReactor) mmo;
                player.dropMessage(6, "Id: " + mr.getId() + " Oid: " + mr.getObjectId() + " name: '" + mr.getName() + "' -> Type: " + mr.getReactorType() + " State: " + mr.getState() + " Event State: " + mr.getEventState() + " Position: x " + mr.getPosition().getX() + " y " + mr.getPosition().getY() + ".");
            }
            break;
        case "debugservercoupons":
        case "debugcoupons":
            String s = "Currently active SERVER coupons: ";
            for (Integer i : Server.getInstance().getActiveCoupons()) {
                s += (i + " ");
            }
            player.dropMessage(6, s);
            break;
        case "debugplayercoupons":
            String st = "Currently active PLAYER coupons: ";
            for (Integer i : player.getActiveCoupons()) {
                st += (i + " ");
            }
            player.dropMessage(6, st);
            break;
        case "debugtimer":
            TimerManager tMan = TimerManager.getInstance();
            player.dropMessage(6, "Total Task: " + tMan.getTaskCount() + " Current Task: " + tMan.getQueuedTasks() + " Active Task: " + tMan.getActiveCount() + " Completed Task: " + tMan.getCompletedTaskCount());
            break;
        default:
            return false;
    }
    return true;
}
Also used : MapleCharacter(client.MapleCharacter) MaplePortal(server.MaplePortal) MapleReactor(server.maps.MapleReactor) Rectangle(java.awt.Rectangle) MapleMapObject(server.maps.MapleMapObject) TimerManager(server.TimerManager) SpawnPoint(server.life.SpawnPoint) MapleMonster(server.life.MapleMonster)

Example 95 with MapleCharacter

use of client.MapleCharacter in project HeavenMS by ronancpl.

the class Commands method executeHeavenMsCommandLv0.

public static boolean executeHeavenMsCommandLv0(Channel cserv, Server srv, MapleClient c, String[] sub) {
    // Player
    MapleCharacter player = c.getPlayer();
    switch(sub[0]) {
        case "help":
        case "commands":
        case "playercommands":
            c.getAbstractPlayerInteraction().openNpc(9201143, "commands");
            break;
        case "droplimit":
            int dropCount = c.getPlayer().getMap().getDroppedItemCount();
            if (((float) dropCount) / ServerConstants.ITEM_LIMIT_ON_MAP < 0.75f) {
                c.getPlayer().showHint("Current drop count: #b" + dropCount + "#k / #e" + ServerConstants.ITEM_LIMIT_ON_MAP + "#n", 300);
            } else {
                c.getPlayer().showHint("Current drop count: #r" + dropCount + "#k / #e" + ServerConstants.ITEM_LIMIT_ON_MAP + "#n", 300);
            }
            break;
        case "time":
            DateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
            dateFormat.setTimeZone(TimeZone.getTimeZone(ServerConstants.TIMEZONE));
            player.yellowMessage("Solaxia Server Time: " + dateFormat.format(new Date()));
            break;
        case "credits":
        case "staff":
            c.getAbstractPlayerInteraction().openNpc(2010007, "credits");
            break;
        case "lastrestart":
        case "uptime":
            long milliseconds = System.currentTimeMillis() - Server.uptime;
            int seconds = (int) (milliseconds / 1000) % 60;
            int minutes = (int) ((milliseconds / (1000 * 60)) % 60);
            int hours = (int) ((milliseconds / (1000 * 60 * 60)) % 24);
            int days = (int) ((milliseconds / (1000 * 60 * 60 * 24)));
            player.yellowMessage("Server has been online for " + days + " days " + hours + " hours " + minutes + " minutes and " + seconds + " seconds.");
            break;
        case "gacha":
            Gachapon gacha = null;
            String search = joinStringFrom(sub, 1);
            String gachaName = "";
            String[] names = { "Henesys", "Ellinia", "Perion", "Kerning City", "Sleepywood", "Mushroom Shrine", "Showa Spa Male", "Showa Spa Female", "New Leaf City", "Nautilus Harbor" };
            int[] ids = { 9100100, 9100101, 9100102, 9100103, 9100104, 9100105, 9100106, 9100107, 9100109, 9100117 };
            for (int i = 0; i < names.length; i++) {
                if (search.equalsIgnoreCase(names[i])) {
                    gachaName = names[i];
                    gacha = Gachapon.getByNpcId(ids[i]);
                }
            }
            if (gacha == null) {
                player.yellowMessage("Please use @gacha <name> where name corresponds to one of the below:");
                for (String name : names) {
                    player.yellowMessage(name);
                }
                break;
            }
            String output = "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)) {
                    output += "-" + MapleItemInformationProvider.getInstance().getName(id) + "\r\n";
                }
            }
            output += "\r\nPlease keep in mind that there are items that are in all gachapons and are not listed here.";
            c.announce(MaplePacketCreator.getNPCTalk(9010000, (byte) 0, output, "00 00", (byte) 0));
            break;
        case "whatdropsfrom":
            if (sub.length < 2) {
                player.dropMessage(5, "Please do @whatdropsfrom <monster name>");
                break;
            }
            String monsterName = joinStringFrom(sub, 1);
            output = "";
            int limit = 3;
            Iterator<Pair<Integer, String>> listIterator = MapleMonsterInformationProvider.getMobsIDsFromName(monsterName).iterator();
            for (int i = 0; i < limit; i++) {
                if (listIterator.hasNext()) {
                    Pair<Integer, String> data = listIterator.next();
                    int mobId = data.getLeft();
                    String mobName = data.getRight();
                    output += mobName + " drops the following items:\r\n\r\n";
                    for (MonsterDropEntry drop : MapleMonsterInformationProvider.getInstance().retrieveDrop(mobId)) {
                        try {
                            String name = MapleItemInformationProvider.getInstance().getName(drop.itemId);
                            if (name.equals("null") || drop.chance == 0) {
                                continue;
                            }
                            float chance = 1000000 / drop.chance / player.getDropRate();
                            output += "- " + name + " (1/" + (int) chance + ")\r\n";
                        } catch (Exception ex) {
                            ex.printStackTrace();
                            continue;
                        }
                    }
                    output += "\r\n";
                }
            }
            c.announce(MaplePacketCreator.getNPCTalk(9010000, (byte) 0, output, "00 00", (byte) 0));
            break;
        case "whodrops":
            if (sub.length < 2) {
                player.dropMessage(5, "Please do @whodrops <item name>");
                break;
            }
            String searchString = joinStringFrom(sub, 1);
            output = "";
            listIterator = MapleItemInformationProvider.getInstance().getItemDataByName(searchString).iterator();
            if (listIterator.hasNext()) {
                int count = 1;
                while (listIterator.hasNext() && count <= 3) {
                    Pair<Integer, String> data = listIterator.next();
                    output += "#b" + data.getRight() + "#k is dropped by:\r\n";
                    try {
                        Connection con = DatabaseConnection.getConnection();
                        PreparedStatement ps = con.prepareStatement("SELECT dropperid FROM drop_data WHERE itemid = ? LIMIT 50");
                        ps.setInt(1, data.getLeft());
                        ResultSet rs = ps.executeQuery();
                        while (rs.next()) {
                            String resultName = MapleMonsterInformationProvider.getMobNameFromID(rs.getInt("dropperid"));
                            if (resultName != null) {
                                output += resultName + ", ";
                            }
                        }
                        rs.close();
                        ps.close();
                        con.close();
                    } catch (Exception e) {
                        player.dropMessage(6, "There was a problem retrieving the required data. Please try again.");
                        e.printStackTrace();
                        break;
                    }
                    output += "\r\n\r\n";
                    count++;
                }
            } else {
                player.dropMessage(5, "The item you searched for doesn't exist.");
                break;
            }
            c.announce(MaplePacketCreator.getNPCTalk(9010000, (byte) 0, output, "00 00", (byte) 0));
            break;
        case "dispose":
            NPCScriptManager.getInstance().dispose(c);
            c.announce(MaplePacketCreator.enableActions());
            c.removeClickedNPC();
            player.message("You've been disposed.");
            break;
        case "equiplv":
            player.showAllEquipFeatures();
            break;
        case "showrates":
            String showMsg = "#eEXP RATE#n" + "\r\n";
            showMsg += "Server EXP Rate: #k" + c.getWorldServer().getExpRate() + "x#k" + "\r\n";
            showMsg += "Player EXP Rate: #k" + player.getRawExpRate() + "x#k" + "\r\n";
            if (player.getCouponExpRate() != 1)
                showMsg += "Coupon EXP Rate: #k" + player.getCouponExpRate() + "x#k" + "\r\n";
            showMsg += "EXP Rate: #e#b" + player.getExpRate() + "x#k#n" + "\r\n";
            showMsg += "\r\n" + "#eMESO RATE#n" + "\r\n";
            showMsg += "Server MESO Rate: #k" + c.getWorldServer().getMesoRate() + "x#k" + "\r\n";
            showMsg += "Player MESO Rate: #k" + player.getRawMesoRate() + "x#k" + "\r\n";
            if (player.getCouponMesoRate() != 1)
                showMsg += "Coupon MESO Rate: #k" + player.getCouponMesoRate() + "x#k" + "\r\n";
            showMsg += "MESO Rate: #e#b" + player.getMesoRate() + "x#k#n" + "\r\n";
            showMsg += "\r\n" + "#eDROP RATE#n" + "\r\n";
            showMsg += "Server DROP Rate: #k" + c.getWorldServer().getDropRate() + "x#k" + "\r\n";
            showMsg += "Player DROP Rate: #k" + player.getRawDropRate() + "x#k" + "\r\n";
            if (player.getCouponDropRate() != 1)
                showMsg += "Coupon DROP Rate: #k" + player.getCouponDropRate() + "x#k" + "\r\n";
            showMsg += "DROP Rate: #e#b" + player.getDropRate() + "x#k#n" + "\r\n";
            if (ServerConstants.USE_QUEST_RATE) {
                showMsg += "\r\n" + "#eQUEST RATE#n" + "\r\n";
                showMsg += "Server QUEST Rate: #e#b" + c.getWorldServer().getQuestRate() + "x#k#n" + "\r\n";
            }
            player.showHint(showMsg, 300);
            break;
        case "rates":
            String showMsg_ = "#eCHARACTER RATES#n" + "\r\n\r\n";
            showMsg_ += "EXP Rate: #e#b" + player.getExpRate() + "x#k#n" + "\r\n";
            showMsg_ += "MESO Rate: #e#b" + player.getMesoRate() + "x#k#n" + "\r\n";
            showMsg_ += "DROP Rate: #e#b" + player.getDropRate() + "x#k#n" + "\r\n";
            if (ServerConstants.USE_QUEST_RATE)
                showMsg_ += "QUEST Rate: #e#b" + c.getWorldServer().getQuestRate() + "x#k#n" + "\r\n";
            player.showHint(showMsg_, 300);
            break;
        case "online":
            for (Channel ch : Server.getInstance().getChannelsFromWorld(player.getWorld())) {
                player.yellowMessage("Players in Channel " + ch.getId() + ":");
                for (MapleCharacter chr : ch.getPlayerStorage().getAllCharacters()) {
                    if (!chr.isGM()) {
                        player.message(" >> " + MapleCharacter.makeMapleReadable(chr.getName()) + " is at " + chr.getMap().getMapName() + ".");
                    }
                }
            }
            break;
        case "gm":
            if (sub.length < 3) {
                // #goodbye 'hi'
                player.dropMessage(5, "Your message was too short. Please provide as much detail as possible.");
                break;
            }
            String message = joinStringFrom(sub, 1);
            Server.getInstance().broadcastGMMessage(c.getWorld(), MaplePacketCreator.sendYellowTip("[GM MESSAGE]:" + MapleCharacter.makeMapleReadable(player.getName()) + ": " + message));
            Server.getInstance().broadcastGMMessage(c.getWorld(), MaplePacketCreator.serverNotice(1, message));
            FilePrinter.printError("gm.txt", MapleCharacter.makeMapleReadable(player.getName()) + ": " + message + "\r\n");
            player.dropMessage(5, "Your message '" + message + "' was sent to GMs.");
            player.dropMessage(5, tips[Randomizer.nextInt(tips.length)]);
            break;
        case "bug":
            if (sub.length < 2) {
                player.dropMessage(5, "Message too short and not sent. Please do @bug <bug>");
                break;
            }
            message = joinStringFrom(sub, 1);
            Server.getInstance().broadcastGMMessage(c.getWorld(), MaplePacketCreator.sendYellowTip("[BUG]:" + MapleCharacter.makeMapleReadable(player.getName()) + ": " + message));
            Server.getInstance().broadcastGMMessage(c.getWorld(), MaplePacketCreator.serverNotice(1, message));
            FilePrinter.printError("bug.txt", MapleCharacter.makeMapleReadable(player.getName()) + ": " + message + "\r\n");
            player.dropMessage(5, "Your bug '" + message + "' was submitted successfully to our developers. Thank you!");
            break;
        /*
                case "points":
			player.dropMessage(5, "You have " + c.getVotePoints() + " vote point(s).");
			if (c.hasVotedAlready()) {
				Date currentDate = new Date();
				int time = (int) ((int) 86400 - ((currentDate.getTime() / 1000) - c.getVoteTime())); //ugly as fuck
				hours = time / 3600;
				minutes = time % 3600 / 60;
				seconds = time % 3600 % 60;
				player.yellowMessage("You have already voted. You can vote again in " + hours + " hours, " + minutes + " minutes, " + seconds + " seconds.");
			} else {
				player.yellowMessage("You are free to vote! Make sure to vote to gain a vote point!");
			}
			break;
                */
        case "joinevent":
            if (!FieldLimit.CANNOTMIGRATE.check(player.getMap().getFieldLimit())) {
                MapleEvent event = c.getChannelServer().getEvent();
                if (event != null) {
                    if (event.getMapId() != player.getMapId()) {
                        if (event.getLimit() > 0) {
                            player.saveLocation("EVENT");
                            if (event.getMapId() == 109080000 || event.getMapId() == 109060001)
                                player.setTeam(event.getLimit() % 2);
                            event.minusLimit();
                            player.changeMap(event.getMapId());
                        } else {
                            player.dropMessage(5, "The limit of players for the event has already been reached.");
                        }
                    } else {
                        player.dropMessage(5, "You are already in the event.");
                    }
                } else {
                    player.dropMessage(5, "There is currently no event in progress.");
                }
            } else {
                player.dropMessage(5, "You are currently in a map where you can't join an event.");
            }
            break;
        case "leaveevent":
            int returnMap = player.getSavedLocation("EVENT");
            if (returnMap != -1) {
                if (player.getOla() != null) {
                    player.getOla().resetTimes();
                    player.setOla(null);
                }
                if (player.getFitness() != null) {
                    player.getFitness().resetTimes();
                    player.setFitness(null);
                }
                player.changeMap(returnMap);
                if (c.getChannelServer().getEvent() != null) {
                    c.getChannelServer().getEvent().addLimit();
                }
            } else {
                player.dropMessage(5, "You are not currently in an event.");
            }
            break;
        case "bosshp":
            for (MapleMonster monster : player.getMap().getMonsters()) {
                if (monster != null && monster.isBoss() && monster.getHp() > 0) {
                    long percent = monster.getHp() * 100L / monster.getMaxHp();
                    String bar = "[";
                    for (int i = 0; i < 100; i++) {
                        bar += i < percent ? "|" : ".";
                    }
                    bar += "]";
                    player.yellowMessage(monster.getName() + " (" + monster.getId() + ") has " + percent + "% HP left.");
                    player.yellowMessage("HP: " + bar);
                }
            }
            break;
        case "ranks":
            PreparedStatement ps = null;
            ResultSet rs = null;
            Connection con = null;
            try {
                con = DatabaseConnection.getConnection();
                ps = con.prepareStatement("SELECT `characters`.`name`, `characters`.`level` FROM `characters` LEFT JOIN accounts ON accounts.id = characters.accountid WHERE `characters`.`gm` = '0' AND `accounts`.`banned` = '0' ORDER BY level DESC, exp DESC LIMIT 50");
                rs = ps.executeQuery();
                player.announce(MaplePacketCreator.showPlayerRanks(9010000, rs));
                ps.close();
                rs.close();
                con.close();
            } catch (SQLException ex) {
                ex.printStackTrace();
            } finally {
                try {
                    if (ps != null && !ps.isClosed()) {
                        ps.close();
                    }
                    if (rs != null && !rs.isClosed()) {
                        rs.close();
                    }
                    if (con != null && !con.isClosed()) {
                        con.close();
                    }
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            break;
        default:
            return false;
    }
    return true;
}
Also used : MapleCharacter(client.MapleCharacter) MapleEvent(server.events.gm.MapleEvent) SQLException(java.sql.SQLException) Channel(net.server.channel.Channel) Connection(java.sql.Connection) DatabaseConnection(tools.DatabaseConnection) Gachapon(server.gachapon.MapleGachapon.Gachapon) PreparedStatement(java.sql.PreparedStatement) Point(java.awt.Point) SpawnPoint(server.life.SpawnPoint) Date(java.util.Date) SQLException(java.sql.SQLException) IOException(java.io.IOException) UnknownHostException(java.net.UnknownHostException) MonsterDropEntry(server.life.MonsterDropEntry) DateFormat(java.text.DateFormat) SimpleDateFormat(java.text.SimpleDateFormat) ResultSet(java.sql.ResultSet) SimpleDateFormat(java.text.SimpleDateFormat) MapleMonster(server.life.MapleMonster) Pair(tools.Pair)

Aggregations

MapleCharacter (client.MapleCharacter)163 Point (java.awt.Point)32 SQLException (java.sql.SQLException)22 Item (client.inventory.Item)21 Connection (java.sql.Connection)15 PreparedStatement (java.sql.PreparedStatement)15 MapleMonster (server.life.MapleMonster)15 MapleMapObject (server.maps.MapleMapObject)15 DatabaseConnection (tools.DatabaseConnection)15 MapleMap (server.maps.MapleMap)14 ArrayList (java.util.ArrayList)13 Skill (client.Skill)12 SpawnPoint (server.life.SpawnPoint)12 LinkedList (java.util.LinkedList)11 MapleInventory (client.inventory.MapleInventory)10 World (net.server.world.World)10 MapleStatEffect (server.MapleStatEffect)10 MapleInventoryType (client.inventory.MapleInventoryType)9 ResultSet (java.sql.ResultSet)9 MapleItemInformationProvider (server.MapleItemInformationProvider)9