Examples of ClanHallSiegeEvent


Examples of lineage2.gameserver.model.entity.events.impl.ClanHallSiegeEvent

   * Method getMostDamagedClan.
   * @return Clan
   */
  public Clan getMostDamagedClan()
  {
    ClanHallSiegeEvent siegeEvent = getEvent(ClanHallSiegeEvent.class);
    Player temp = null;
    Map<Player, Integer> damageMap = new HashMap<>();
    for (AggroList.HateInfo info : getAggroList().getPlayableMap().values())
    {
      Playable killer = (Playable) info.attacker;
      int damage = info.damage;
      if (killer.isPet() || killer.isServitor())
      {
        temp = killer.getPlayer();
      }
      else if (killer.isPlayer())
      {
        temp = (Player) killer;
      }
      if ((temp == null) || (siegeEvent.getSiegeClan(SiegeEvent.ATTACKERS, temp.getClan()) == null))
      {
        continue;
      }
      if (!damageMap.containsKey(temp))
      {
View Full Code Here

Examples of lineage2.gameserver.model.entity.events.impl.ClanHallSiegeEvent

    final NpcInstance actor = getActor();
    super.onEvtDead(killer);
    ZONE_1.setActive(false);
    ZONE_2.setActive(false);
    Functions.npcShout(actor, NpcString.AARGH_IF_I_DIE_THEN_THE_MAGIC_FORCE_FIELD_OF_BLOOD_WILL);
    final ClanHallSiegeEvent siegeEvent = actor.getEvent(ClanHallSiegeEvent.class);
    if (siegeEvent == null)
    {
      return;
    }
    final SpawnExObject spawnExObject = siegeEvent.getFirstObject(ClanHallSiegeEvent.BOSS);
    final NpcInstance lidiaNpc = spawnExObject.getFirstSpawned();
    if (lidiaNpc.getCurrentHpRatio() == 1.)
    {
      lidiaNpc.setCurrentHp(lidiaNpc.getMaxHp() >> 1, true);
    }
View Full Code Here

Examples of lineage2.gameserver.model.entity.events.impl.ClanHallSiegeEvent

      setCurrentHp(1, true);
      for (Creature cha : World.getAroundCharacters(this))
      {
        ThreadPoolManager.getInstance().execute(new GameObjectTasks.NotifyAITask(cha, CtrlEvent.EVT_FORGET_OBJECT, this, null));
      }
      ClanHallSiegeEvent siegeEvent = getEvent(ClanHallSiegeEvent.class);
      if (siegeEvent == null)
      {
        return;
      }
      SpawnExObject obj = siegeEvent.getFirstObject(ClanHallSiegeEvent.BOSS);
      for (int i = 0; i < 3; i++)
      {
        final NpcInstance npc = obj.getSpawns().get(i).getFirstSpawned();
        Functions.npcSay(npc, ((_34SiegeGuard) npc).teleChatSay());
        npc.broadcastPacket(new MagicSkillUse(npc, npc, 4235, 1, 10000, 0));
        _teleportTask = ThreadPoolManager.getInstance().schedule(new RunnableImpl()
        {
          @Override
          public void runImpl()
          {
            Location loc = Location.findAroundPosition(177134, -18807, -2256, 50, 100, npc.getGeoIndex());
            npc.teleToLocation(loc);
            if (npc == GustavInstance.this)
            {
              npc.reduceCurrentHp(npc.getCurrentHp(), 0, npc, null, false, false, false, false, false, false, false);
            }
          }
        }, 10000L);
      }
    }
    else
    {
      if (_teleportTask != null)
      {
        _teleportTask.cancel(false);
        _teleportTask = null;
      }
      SiegeEvent<?, ?> siegeEvent = getEvent(SiegeEvent.class);
      if (siegeEvent == null)
      {
        return;
      }
      siegeEvent.processStep(getMostDamagedClan());
      super.onDeath(killer);
    }
  }
View Full Code Here

Examples of lineage2.gameserver.model.entity.events.impl.ClanHallSiegeEvent

   * Method getMostDamagedClan.
   * @return Clan
   */
  public Clan getMostDamagedClan()
  {
    ClanHallSiegeEvent siegeEvent = getEvent(ClanHallSiegeEvent.class);
    Player temp = null;
    Map<Player, Integer> damageMap = new HashMap<>();
    for (AggroList.HateInfo info : getAggroList().getPlayableMap().values())
    {
      Playable killer = (Playable) info.attacker;
      int damage = info.damage;
      if (killer.isPet() || killer.isServitor())
      {
        temp = killer.getPlayer();
      }
      else if (killer.isPlayer())
      {
        temp = (Player) killer;
      }
      if ((temp == null) || (siegeEvent.getSiegeClan(SiegeEvent.ATTACKERS, temp.getClan()) == null))
      {
        continue;
      }
      if (!damageMap.containsKey(temp))
      {
View Full Code Here

Examples of lineage2.gameserver.model.entity.events.impl.ClanHallSiegeEvent

   */
  @Override
  public void showChatWindow(Player player, int val, Object... arg)
  {
    ClanHall clanHall = getClanHall();
    ClanHallSiegeEvent siegeEvent = clanHall.getSiegeEvent();
    if ((clanHall.getOwner() != null) && (clanHall.getOwner() == player.getClan()))
    {
      showChatWindow(player, _ownerDialog);
    }
    else if (siegeEvent.isInProgress())
    {
      showChatWindow(player, _siegeDialog);
    }
    else
    {
View Full Code Here

Examples of lineage2.gameserver.model.entity.events.impl.ClanHallSiegeEvent

  {
    final NpcInstance actor = getActor();
    super.onEvtDead(killer);
    ZONE_3.setActive(false);
    Functions.npcShout(actor, NpcString.AARGH_IF_I_DIE_THEN_THE_MAGIC_FORCE_FIELD_OF_BLOOD_WILL);
    final ClanHallSiegeEvent siegeEvent = actor.getEvent(ClanHallSiegeEvent.class);
    if (siegeEvent == null)
    {
      return;
    }
    final SpawnExObject spawnExObject = siegeEvent.getFirstObject(ClanHallSiegeEvent.BOSS);
    final NpcInstance lidiaNpc = spawnExObject.getFirstSpawned();
    if (lidiaNpc.getCurrentHpRatio() == 1.)
    {
      lidiaNpc.setCurrentHp(lidiaNpc.getMaxHp() >> 1, true);
    }
View Full Code Here

Examples of lineage2.gameserver.model.entity.events.impl.ClanHallSiegeEvent

   * @param clanHall ClanHall
   * @param join boolean
   */
  private static void registerAtClanHall(Player player, ClanHall clanHall, boolean join)
  {
    ClanHallSiegeEvent siegeEvent = clanHall.getSiegeEvent();
    Clan playerClan = player.getClan();
    SiegeClanObject siegeClan = siegeEvent.getSiegeClan(SiegeEvent.ATTACKERS, playerClan);
    if (join)
    {
      if (playerClan.getHasHideout() > 0)
      {
        player.sendPacket(SystemMsg.A_CLAN_THAT_OWNS_A_CLAN_HALL_MAY_NOT_PARTICIPATE_IN_A_CLAN_HALL_SIEGE);
        return;
      }
      if (siegeClan != null)
      {
        player.sendPacket(SystemMsg.YOU_ARE_ALREADY_REGISTERED_TO_THE_ATTACKER_SIDE_AND_MUST_CANCEL_YOUR_REGISTRATION_BEFORE_SUBMITTING_YOUR_REQUEST);
        return;
      }
      if (playerClan.getLevel() < 4)
      {
        player.sendPacket(SystemMsg.ONLY_CLANS_WHO_ARE_LEVEL_4_OR_ABOVE_CAN_REGISTER_FOR_BATTLE_AT_DEVASTATED_CASTLE_AND_FORTRESS_OF_THE_DEAD);
        return;
      }
      if (siegeEvent.isRegistrationOver())
      {
        player.sendPacket(SystemMsg.YOU_ARE_TOO_LATE_THE_REGISTRATION_PERIOD_IS_OVER);
        return;
      }
      int allSize = siegeEvent.getObjects(SiegeEvent.ATTACKERS).size();
      if (allSize >= CastleSiegeEvent.MAX_SIEGE_CLANS)
      {
        player.sendPacket(SystemMsg.NO_MORE_REGISTRATIONS_MAY_BE_ACCEPTED_FOR_THE_ATTACKER_SIDE);
        return;
      }
      siegeClan = new SiegeClanObject(SiegeEvent.ATTACKERS, playerClan, 0);
      siegeEvent.addObject(SiegeEvent.ATTACKERS, siegeClan);
      SiegeClanDAO.getInstance().insert(clanHall, siegeClan);
    }
    else
    {
      if (siegeClan == null)
      {
        player.sendPacket(SystemMsg.YOU_ARE_NOT_YET_REGISTERED_FOR_THE_CASTLE_SIEGE);
        return;
      }
      if (siegeEvent.isRegistrationOver())
      {
        player.sendPacket(SystemMsg.YOU_ARE_TOO_LATE_THE_REGISTRATION_PERIOD_IS_OVER);
        return;
      }
      siegeEvent.removeObject(siegeClan.getType(), siegeClan);
      SiegeClanDAO.getInstance().delete(clanHall, siegeClan);
    }
    player.sendPacket(new CastleSiegeAttackerList(clanHall));
  }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.