private void spawnHesibanata(Player player) { Npc spawn = (Npc) QuestService.spawnQuestNpc( 300330000, player.getInstanceId(), 218890, 250.970f, 221.711f, 124.942f, (byte) 0); spawn.getAggroList().addHate(player, 1); }
/** @param npcAI */ public static void thinkAttack(NpcAI2 npcAI) { Npc npc = npcAI.getOwner(); Creature mostHated = npc.getAggroList().getMostHated(); if (mostHated != null && !mostHated.getLifeStats().isAlreadyDead()) { npcAI.onCreatureEvent(AIEventType.TARGET_CHANGED, mostHated); } else { npc.getMoveController().recallPreviousStep(); npcAI.onGeneralEvent(AIEventType.ATTACK_FINISH); npcAI.onGeneralEvent( npc.isAtSpawnLocation() ? AIEventType.BACK_HOME : AIEventType.NOT_AT_HOME); } }
private void spawn(Player player) { int mobToSpawn = mobs.get(Rnd.get(0, 3)); float x = 0; float y = 0; final float z = 124.942f; switch (mobToSpawn) { case 218760: { x = 250.081f; y = 268.308f; break; } case 218762: { x = 273.354f; y = 244.489f; break; } case 218761: { x = 272.994f; y = 244.674f; break; } case 218763: { x = 250.800f; y = 222.782f; break; } } Npc spawn = (Npc) QuestService.spawnQuestNpc( 300330000, player.getInstanceId(), mobToSpawn, x, y, z, (byte) 0); Collection<Npc> allNpcs = World.getInstance().getNpcs(); Npc target = null; for (Npc npc : allNpcs) { if (npc.getNpcId() == 730493) { target = npc; } } if (target != null) { spawn.getAggroList().addHate(target, 1); } }
@Override public boolean onKillEvent(QuestEnv env) { Player player = env.getPlayer(); int instanceId = player.getInstanceId(); QuestState qs = player.getQuestStateList().getQuestState(questId); if (qs == null || qs.getStatus() != QuestStatus.START) return false; int var = qs.getQuestVarById(0); int targetId = 0; if (env.getVisibleObject() instanceof Npc) targetId = ((Npc) env.getVisibleObject()).getNpcId(); if (targetId == 211042) { if (var >= 51 && var <= 53) { qs.setQuestVar(qs.getQuestVars().getQuestVars() + 1); updateQuestStatus(player, qs); return true; } else if (var == 54) { qs.setQuestVar(4); updateQuestStatus(player, qs); Npc mob = (Npc) questService.addNewSpawn( 310010000, instanceId, 211043, (float) 226.7, (float) 251.5, (float) 205.5, (byte) 0, true); // TODO: Tempt decrease P attack. mob.getGameStats() .setStat( StatEnum.MAIN_HAND_POWER, mob.getGameStats().getCurrentStat(StatEnum.MAIN_HAND_POWER) / 3); mob.getAggroList().addDamage(player, 1000); return true; } } return false; }