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);
   }
 }
Exemple #4
0
  @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;
  }