@Override public boolean onReviveEvent(Player player) { PacketSendUtility.sendPacket(player, SM_SYSTEM_MESSAGE.STR_REBIRTH_MASSAGE_ME); PlayerReviveService.revive(player, 100, 100, false, 0); player.getGameStats().updateStatsAndSpeedVisually(); return TeleportService2.teleportTo( player, mapId, instanceId, 527.6408f, 109.9414f, 175.50763f, (byte) 75); }
@Override public boolean onDialogSelect(Player player, int dialogId, int questId, int extendedRewardIndex) { switch (dialogId) { case 10000: TeleportService2.teleportTo( player, 140010000, 281.3614f, 266.1f, 96.5f, (byte) 60, TeleportAnimation.BEAM_ANIMATION); break; } return true; }
@Override public boolean onDialogEvent(QuestEnv env) { final Player player = env.getPlayer(); final QuestState qs = player.getQuestStateList().getQuestState(questId); if (qs == null) return false; int var = qs.getQuestVarById(0); int targetId = 0; if (env.getVisibleObject() instanceof Npc) targetId = ((Npc) env.getVisibleObject()).getNpcId(); if (qs.getStatus() == QuestStatus.START) { switch (targetId) { case 204191: { switch (env.getDialog()) { case QUEST_SELECT: if (var == 0) return sendQuestDialog(env, 1352); break; case SETPRO1: if (var == 0) { qs.setQuestVarById(0, var + 1); updateQuestStatus(env); TeleportService2.teleportTo( player, 220030000, player.getInstanceId(), 1748f, 1807f, 255f); PacketSendUtility.sendPacket( player, new SM_DIALOG_WINDOW(env.getVisibleObject().getObjectId(), 0)); return true; } } } case 203559: switch (env.getDialog()) { case QUEST_SELECT: if (var == 1) { qs.setStatus(QuestStatus.REWARD); updateQuestStatus(env); return sendQuestDialog(env, 2375); } } } } else if (qs.getStatus() == QuestStatus.REWARD) { if (targetId == 203559) { return sendQuestEndDialog(env); } } return false; }
@Override public boolean onDialogSelect(Player player, int dialogId, int questId, int extendedRewardIndex) { int instanceId = getPosition().getInstanceId(); if (dialogId == DialogAction.SETPRO1.id()) { switch (getNpcId()) { case 205682: TeleportService2.teleportTo( player, 300320000, instanceId, 357.10208f, 1662.702f, 95.9803f, (byte) 60); break; case 205683: TeleportService2.teleportTo( player, 300320000, instanceId, 1796.5513f, 306.9967f, 469.25f, (byte) 60); break; case 205684: TeleportService2.teleportTo( player, 300320000, instanceId, 1324.433f, 1738.2279f, 316.476f, (byte) 70); break; case 205663: TeleportService2.teleportTo( player, 300320000, instanceId, 1270.8877f, 237.93307f, 405.38028f, (byte) 60); break; case 205686: TeleportService2.teleportTo( player, 300320000, instanceId, 357.98798f, 349.19116f, 96.09108f, (byte) 60); break; case 205687: TeleportService2.teleportTo( player, 300320000, instanceId, 1759.5004f, 1273.5414f, 389.11743f, (byte) 10); break; case 205685: TeleportService2.teleportTo( player, 300320000, instanceId, 1283.1246f, 791.6683f, 436.6403f, (byte) 60); break; } } return true; }
@Override public boolean onDialogEvent(QuestEnv env) { final Player player = env.getPlayer(); int targetId = 0; if (env.getVisibleObject() instanceof Npc) targetId = ((Npc) env.getVisibleObject()).getNpcId(); final QuestState qs = player.getQuestStateList().getQuestState(questId); if (qs == null || qs.getStatus() == QuestStatus.NONE) { if (targetId == 204326) { if (env.getDialog() == DialogAction.QUEST_SELECT) return sendQuestDialog(env, 4762); else return sendQuestStartDialog(env); } } else if (qs.getStatus() == QuestStatus.START) { switch (targetId) { case 204375: { switch (env.getDialog()) { case QUEST_SELECT: { if (qs.getQuestVarById(0) == 0) return sendQuestDialog(env, 1011); else if (qs.getQuestVarById(0) == 1) return sendQuestDialog(env, 1352); else if (qs.getQuestVarById(0) == 2) return sendQuestDialog(env, 1693); } case CHECK_USER_HAS_QUEST_ITEM: { return checkQuestItems(env, 1, 2, false, 10000, 10001); } case SETPRO3: { TeleportService2.teleportTo( player, 210020000, 1, 370.13f, 2682.59f, 171, (byte) 30, TeleportAnimation.BEAM_ANIMATION); qs.setQuestVar(3); return defaultCloseDialog(env, 3, 3, true, false); } case SELECT_ACTION_1779: { return sendQuestDialog(env, 1779); } case SETPRO1: { TeleportService2.teleportTo( player, 210020000, 1, 370.13f, 2682.59f, 171, (byte) 30, TeleportAnimation.BEAM_ANIMATION); return defaultCloseDialog(env, 0, 1); } } } } } else if (qs.getStatus() == QuestStatus.REWARD) { if (targetId == 204375) { if (env.getDialog() == DialogAction.USE_OBJECT) { return sendQuestDialog(env, 10002); } else { return sendQuestEndDialog(env); } } } return false; }
@Override public void onPlayerLogOut(Player player) { cleanItems(player); TeleportService2.moveToInstanceExit(player, mapId, player.getRace()); }
@Override public void onExitInstance(Player player) { TeleportService2.moveToInstanceExit(player, mapId, player.getRace()); }
@Override public boolean onDialogEvent(QuestEnv env) { Player player = env.getPlayer(); QuestState qs = player.getQuestStateList().getQuestState(env.getQuestId()); if (qs == null) return false; Npc target = (Npc) env.getVisibleObject(); int targetId = target.getNpcId(); int var = qs.getQuestVarById(0); DialogAction dialog = env.getDialog(); if (qs.getStatus() == QuestStatus.START) { switch (targetId) { case 798300: { // Phyper if (dialog == DialogAction.QUEST_SELECT && var == 0) { return sendQuestDialog(env, 1011); } if (dialog == DialogAction.SETPRO1) { return defaultCloseDialog(env, 0, 1); // 1 } break; } case 204253: { // Khrudgelmir if (dialog == DialogAction.QUEST_SELECT && var == 2) { return sendQuestDialog(env, 1693); } if (dialog == DialogAction.QUEST_SELECT && var == 6) { return sendQuestDialog(env, 3057); } if (dialog == DialogAction.SETPRO3) { removeQuestItem(env, 182205502, 1); return defaultCloseDialog(env, 2, 3); // 3 } if (dialog == DialogAction.SET_SUCCEED) { return defaultCloseDialog(env, 6, 6, true, false); // reward } break; } case 700369: { // Underground Arena Exit if (dialog == DialogAction.USE_OBJECT && var == 5) { TeleportService2.teleportTo(player, 120010000, 981.6009f, 1552.97f, 210.46f); changeQuestStep(env, 5, 6, false); // 6 return true; } break; } case 204089: { // Garm if (dialog == DialogAction.QUEST_SELECT && var == 3) { return sendQuestDialog(env, 2034); } if (dialog == DialogAction.SETPRO4) { WorldMapInstance newInstance = InstanceService.getNextAvailableInstance(320120000); InstanceService.registerPlayerWithInstance(newInstance, player); TeleportService2.teleportTo( player, 320120000, newInstance.getInstanceId(), 591.47894f, 420.20865f, 202.97754f); playQuestMovie(env, 423); changeQuestStep(env, 3, 5, false); // 5 return closeDialogWindow(env); } break; } } } else if (qs.getStatus() == QuestStatus.REWARD) { if (targetId == 203550) { // Munin if (dialog == DialogAction.USE_OBJECT) { return sendQuestDialog(env, 10002); } else { int[] questItems = {182205502}; return sendQuestEndDialog(env, questItems); } } } return false; }
@Override public void execute(Player admin, String... params) { if (params == null || params.length < 1) { onFail(admin, null); return; } VisibleObject target = admin.getTarget(); Player player; if (target == null) player = admin; else player = (Player) target; if (params[0].equals("reset")) { PlayerAppearance savedPlayerAppearance = player.getSavedPlayerAppearance(); if (savedPlayerAppearance == null) { PacketSendUtility.sendMessage(admin, "The target has already the normal appearance."); return; } // Edit the current player's appearance with the saved player's appearance player.setPlayerAppearance(savedPlayerAppearance); // See line 44 player.setSavedPlayerAppearance(null); // Warn the player PacketSendUtility.sendMessage(player, "An admin has resetted your appearance."); // Send update packets TeleportService2.teleportTo( player, player.getWorldId(), player.getInstanceId(), player.getX(), player.getY(), player.getZ(), player.getHeading()); return; } if (params.length < 2) { onFail(player, null); return; } // Get the current player's appearance PlayerAppearance playerAppearance = player.getPlayerAppearance(); // Save a clean player's appearance if (player.getSavedPlayerAppearance() == null) player.setSavedPlayerAppearance((PlayerAppearance) playerAppearance.clone()); if (params[0].equals("size")) // Edit player's size. Min: 0, Max: 50 (prevent bug) { float height; try { height = Float.parseFloat(params[1]); } catch (NumberFormatException e) { PacketSendUtility.sendMessage(admin, "The value must be a number !"); onFail(player, e.getMessage()); return; } if (height < 0 || height > 50) { PacketSendUtility.sendMessage(admin, "Size: Min value : 0 - Max value : 50"); return; } // Edit the height playerAppearance.setHeight(height); } else if (params[0].equals("voice")) // Min: 0, Max: 3 { int voice; try { voice = Integer.parseInt(params[1]); } catch (NumberFormatException e) { PacketSendUtility.sendMessage(admin, "The value must be a number !"); onFail(player, e.getMessage()); return; } if (voice < 0 || voice > 3) { PacketSendUtility.sendMessage(admin, "Voice: Min value : 0 - Max value : 3"); return; } // Edit the voice playerAppearance.setVoice(voice); } else if (params[0].equals("hair")) // Min: 1, Max: 43 { int hair; try { hair = Integer.parseInt(params[1]); } catch (NumberFormatException e) { PacketSendUtility.sendMessage(admin, "The value must be a number !"); onFail(player, e.getMessage()); return; } if (hair < 1 || hair > 43) { PacketSendUtility.sendMessage(admin, "Hair: Min value : 1 - Max value : 43"); return; } // Edit the hair playerAppearance.setHair(hair); } else if (params[0].equals("face")) // Min: 1, Max: 24 { int face; try { face = Integer.parseInt(params[1]); } catch (NumberFormatException e) { PacketSendUtility.sendMessage(admin, "The value must be a number !"); onFail(player, e.getMessage()); return; } if (face < 1 || face > 24) { PacketSendUtility.sendMessage(admin, "Face: Min value : 1 - Max value : 24"); return; } // Edit the face playerAppearance.setFace(face); } else if (params[0].equals("deco")) // Min: 1, Max: 18 { int deco; try { deco = Integer.parseInt(params[1]); } catch (NumberFormatException e) { PacketSendUtility.sendMessage(admin, "The value must be a number !"); onFail(player, e.getMessage()); return; } if (deco < 1 || deco > 18) { PacketSendUtility.sendMessage(admin, "Deco: Min value : 1 - Max value : 18"); return; } // Edit the deco playerAppearance.setDeco(deco); } else if (params[0].equals("head_size")) // Min: 0, Max: 100 { int head; try { head = Integer.parseInt(params[1]); } catch (NumberFormatException e) { PacketSendUtility.sendMessage(admin, "The value must be a number !"); onFail(player, e.getMessage()); return; } if (head < 0 || head > 100) { PacketSendUtility.sendMessage(admin, "Head Size: Min value : 0 - Max value : 100"); return; } // Edit the head playerAppearance.setHeadSize(head + 200); } else if (params[0].equals("tattoo")) // Min: 1, Max: 13 { int tattoo; try { tattoo = Integer.parseInt(params[1]); } catch (NumberFormatException e) { PacketSendUtility.sendMessage(admin, "The value must be a number !"); onFail(player, e.getMessage()); return; } if (tattoo < 1 || tattoo > 13) { PacketSendUtility.sendMessage(admin, "Tattoo: Min value : 1 - Max value : 13"); return; } // Edit the tattoo playerAppearance.setTattoo(tattoo); } else { onFail(player, null); return; } // Edit the current player's appearance with our modifications player.setPlayerAppearance(playerAppearance); // Warn the player PacketSendUtility.sendMessage(player, "An admin has changed your appearance."); // Send update packets TeleportService2.teleportTo( player, player.getWorldId(), player.getInstanceId(), player.getX(), player.getY(), player.getZ(), player.getHeading()); }