Examples of Castle


Examples of com.jcloisterzone.feature.Castle

    private void undeployed(MeepleEvent ev) {
        if (ev.getFrom() == null) return;
        Feature f = getBoard().get(ev.getFrom());
        if (f instanceof Castle) {
            Castle castle = (Castle) f.getMaster();
            scoreableCastleVicinity.remove(castle);
            emptyCastles.add(castle);
        }
    }
View Full Code Here

Examples of com.jcloisterzone.feature.Castle

        for (Position p : triggerPositions) {
            for (Entry<Castle, Position[]> entry : scoreableCastleVicinity.entrySet()) {
                Position[] vicinity = entry.getValue();
                for (int i = 0; i < vicinity.length; i++) {
                    if (vicinity[i].equals(p)) {
                        Castle master = entry.getKey();
                        Integer currentCastleScore = castleScore.get(master);
                        if (currentCastleScore == null || currentCastleScore < score) {
                            castleScore.put(master, score);
                            //chain reaction, one completed castle triggers another
                            checkCastleVicinity(Arrays.asList(master.getCastleBase()), score);
                        }
                        break;
                    }
                }
            }
View Full Code Here

Examples of com.jcloisterzone.feature.Castle

        }
        List<Meeple> meeples = new ArrayList<>(city.getMeeples()); //collection copy required!!! undeploy modify it
        for (Meeple m : meeples) {
            m.undeploy();
        }
        Castle castle = new Castle();
        castle.setTile(tile);
        castle.setId(game.idSequnceNextVal());
        castle.setLocation(loc.rotateCCW(tile.getRotation()));
        iter.set(castle);

        for (Feature f : tile.getFeatures()) { //replace also city references
            if (f instanceof Farm) {
                Farm farm = (Farm) f;
View Full Code Here

Examples of com.jcloisterzone.feature.Castle

    public Castle convertCityToCastle(Position pos, Location loc) {
        return convertCityToCastle(pos, loc, false);
    }

    private Castle convertCityToCastle(Position pos, Location loc, boolean loadFromSnaphot) {
        Castle castle1 = replaceCityWithCastle(getBoard().get(pos), loc);
        Castle castle2 = replaceCityWithCastle(getBoard().get(pos.add(loc)), loc.rev());
        castle1.getEdges()[0] = castle2;
        castle2.getEdges()[0] = castle1;
        if (!loadFromSnaphot) {
            newCastles.add(castle1.getMaster());
        }
        game.post(new CastleDeployedEvent(game.getActivePlayer(), castle1, castle2));
        return castle1.getMaster();
View Full Code Here

Examples of com.jcloisterzone.feature.Castle

        nl = node.getElementsByTagName("castle");
        for (int i = 0; i < nl.getLength(); i++) {
            Element castleEl = (Element) nl.item(i);
            Position pos = XmlUtils.extractPosition(castleEl);
            Location loc = Location.valueOf(castleEl.getAttribute("location"));
            Castle castle = convertCityToCastle(pos, loc, true);
            boolean isNew = XmlUtils.attributeBoolValue(castleEl, "new");
            boolean isCompleted = XmlUtils.attributeBoolValue(castleEl, "completed");
            if (isNew) {
                newCastles.add(castle);
            } else if (isCompleted) {
                emptyCastles.add(castle);
            } else {
                scoreableCastleVicinity.put(castle, castle.getVicinity());
            }
        }
    }
View Full Code Here

Examples of com.l2jfrozen.gameserver.model.entity.siege.Castle

    {
      _log.warning("Living player [" + activeChar.getName() + "] called RestartPointPacket! Ban this player!");
      return;
    }
   
    Castle castle = CastleManager.getInstance().getCastle(activeChar.getX(), activeChar.getY(), activeChar.getZ());
    if (castle != null && castle.getSiege().getIsInProgress())
    {
      if (activeChar.getClan() != null && castle.getSiege().checkIsAttacker(activeChar.getClan()))
      {
        // Schedule respawn delay for attacker
        ThreadPoolManager.getInstance().scheduleGeneral(new DeathTask(activeChar), castle.getSiege().getAttackerRespawnDelay());
        activeChar.sendMessage("You will be re-spawned in " + castle.getSiege().getAttackerRespawnDelay() / 1000 + " seconds");
        return;
      }
    }
    // run immediately (no need to schedule)
    new DeathTask(activeChar).run();
View Full Code Here

Examples of com.l2jfrozen.gameserver.model.entity.siege.Castle

        return;
      }
      try
      {
        Location loc = null;
        Castle castle = null;
        Fort fort = null;
       
        if (activeChar.isInJail())
        {
          _requestedPointType = 27;
        }
        else if (activeChar.isFestivalParticipant())
        {
          _requestedPointType = 4;
        }
       
        if (activeChar.isPhoenixBlessed())
          activeChar.stopPhoenixBlessing(null);
       
        switch (_requestedPointType)
        {
          case 1: // to clanhall
           
            if (activeChar.getClan() != null)
            {
             
              if (activeChar.getClan().getHasHideout() == 0)
              {
                // cheater
                activeChar.sendMessage("You may not use this respawn point!");
                Util.handleIllegalPlayerAction(activeChar, "Player " + activeChar.getName() + " used respawn cheat.", IllegalPlayerAction.PUNISH_KICK);
                return;
              }
              loc = MapRegionTable.getInstance().getTeleToLocation(activeChar, MapRegionTable.TeleportWhereType.ClanHall);
             
              if (ClanHallManager.getInstance().getClanHallByOwner(activeChar.getClan()) != null && ClanHallManager.getInstance().getClanHallByOwner(activeChar.getClan()).getFunction(ClanHall.FUNC_RESTORE_EXP) != null)
              {
                activeChar.restoreExp(ClanHallManager.getInstance().getClanHallByOwner(activeChar.getClan()).getFunction(ClanHall.FUNC_RESTORE_EXP).getLvl());
              }
             
              break;       
            }
           
            loc = MapRegionTable.getInstance().getTeleToLocation(activeChar, MapRegionTable.TeleportWhereType.Town);
            break;
          case 2: // to castle
            Boolean isInDefense = false;
            castle = CastleManager.getInstance().getCastle(activeChar);
            fort = FortManager.getInstance().getFort(activeChar);
            MapRegionTable.TeleportWhereType teleportWhere = MapRegionTable.TeleportWhereType.Town;
           
            if (castle != null && castle.getSiege().getIsInProgress())
            {
              // siege in progress
              if (castle.getSiege().checkIsDefender(activeChar.getClan()))
              {
                isInDefense = true;
              }
            }
           
            if (fort != null && fort.getSiege().getIsInProgress())
            {
              // siege in progress
              if (fort.getSiege().checkIsDefender(activeChar.getClan()))
              {
                isInDefense = true;
              }
            }
           
            if (activeChar.getClan().getHasCastle() == 0 && activeChar.getClan().getHasFort() == 0 && !isInDefense)
            {
              // cheater
              activeChar.sendMessage("You may not use this respawn point!");
              Util.handleIllegalPlayerAction(activeChar, "Player " + activeChar.getName() + " used respawn cheat.", IllegalPlayerAction.PUNISH_KICK);
              return;
            }
           
            if (CastleManager.getInstance().getCastleByOwner(activeChar.getClan()) != null)
              teleportWhere = MapRegionTable.TeleportWhereType.Castle;
            else if (FortManager.getInstance().getFortByOwner(activeChar.getClan()) != null)
              teleportWhere = MapRegionTable.TeleportWhereType.Fortress;
           
            loc = MapRegionTable.getInstance().getTeleToLocation(activeChar, teleportWhere);
            break;
         
          case 3: // to siege HQ
            L2SiegeClan siegeClan = null;
            castle = CastleManager.getInstance().getCastle(activeChar);
            fort = FortManager.getInstance().getFort(activeChar);
           
            if (castle != null && castle.getSiege().getIsInProgress())
            {
              siegeClan = castle.getSiege().getAttackerClan(activeChar.getClan());
            }
            else if (fort != null && fort.getSiege().getIsInProgress())
            {
              siegeClan = fort.getSiege().getAttackerClan(activeChar.getClan());
            }
View Full Code Here

Examples of com.l2jfrozen.gameserver.model.entity.siege.Castle

    }

    if(!(target instanceof L2ManorManagerInstance))
      return;

    Castle castle = CastleManager.getInstance().getCastleById(_manorId);

    for(int i = 0; i < _count; i++)
    {
      int seedId = _items[i * 2 + 0];
      int count = _items[i * 2 + 1];
      int price = 0;
      int residual = 0;

      SeedProduction seed = castle.getSeed(seedId, CastleManorManager.PERIOD_CURRENT);
      price = seed.getPrice();
      residual = seed.getCanProduce();

      if(price <= 0)
        return;

      if(residual < count)
        return;

      totalPrice += count * price;

      L2Item template = ItemTable.getInstance().getTemplate(seedId);
      totalWeight += count * template.getWeight();
      if(!template.isStackable())
      {
        slots += count;
      }
      else if(player.getInventory().getItemByItemId(seedId) == null)
      {
        slots++;
      }
    }

    if(totalPrice > Integer.MAX_VALUE)
    {
      Util.handleIllegalPlayerAction(player, "Warning!! Character " + player.getName() + " of account " + player.getAccountName() + " tried to purchase over " + Integer.MAX_VALUE + " adena worth of goods.", Config.DEFAULT_PUNISH);
      return;
    }

    if(!player.getInventory().validateWeight(totalWeight))
    {
      sendPacket(new SystemMessage(SystemMessageId.WEIGHT_LIMIT_EXCEEDED));
      return;
    }

    if(!player.getInventory().validateCapacity(slots))
    {
      sendPacket(new SystemMessage(SystemMessageId.SLOTS_FULL));
      return;
    }

    // Charge buyer
    if(totalPrice < 0 || !player.reduceAdena("Buy", (int) totalPrice, target, false))
    {
      sendPacket(new SystemMessage(SystemMessageId.YOU_NOT_ENOUGH_ADENA));
      return;
    }

    // Adding to treasury for Manor Castle
    castle.addToTreasuryNoTax((int) totalPrice);

    // Proceed the purchase
    InventoryUpdate playerIU = new InventoryUpdate();
    for(int i = 0; i < _count; i++)
    {
      int seedId = _items[i * 2 + 0];
      int count = _items[i * 2 + 1];

      if(count < 0)
      {
        count = 0;
      }

      // Update Castle Seeds Amount
      SeedProduction seed = castle.getSeed(seedId, CastleManorManager.PERIOD_CURRENT);
      seed.setCanProduce(seed.getCanProduce() - count);
      if(Config.ALT_MANOR_SAVE_ALL_ACTIONS)
      {
        CastleManager.getInstance().getCastleById(_manorId).updateSeed(seed.getId(), seed.getCanProduce(), CastleManorManager.PERIOD_CURRENT);
      }
View Full Code Here

Examples of com.l2jfrozen.gameserver.model.entity.siege.Castle

    // Check if the player has a clan
    if(activeChar.getClan() == null)
      return;

    Castle castle = CastleManager.getInstance().getCastleById(_castleId);
    if(castle == null)
      return;

    // Check if leader of the clan who owns the castle?
    if(castle.getOwnerId() != activeChar.getClanId() || !activeChar.isClanLeader())
      return;

    L2Clan clan = ClanTable.getInstance().getClan(_clanId);
    if(clan == null)
      return;

    if(!castle.getSiege().getIsRegistrationOver())
    {
      if(_approved == 1)
      {
        if(castle.getSiege().checkIsDefenderWaiting(clan))
        {
          castle.getSiege().approveSiegeDefenderClan(_clanId);
        }
        else
          return;
      }
      else
      {
        if(castle.getSiege().checkIsDefenderWaiting(clan) || castle.getSiege().checkIsDefender(clan))
        {
          castle.getSiege().removeSiegeClan(_clanId);
        }
      }
    }

    //Update the defender list
View Full Code Here

Examples of com.l2jfrozen.gameserver.model.entity.siege.Castle

          e.printStackTrace();
      }

      if(castleId > 0)
      {
        Castle castle = CastleManager.getInstance().getCastleById(castleId);
        castle.setCropProcure(new FastList<CropProcure>(), CastleManorManager.PERIOD_CURRENT);
        castle.setCropProcure(new FastList<CropProcure>(), CastleManorManager.PERIOD_NEXT);
        castle.setSeedProduction(new FastList<SeedProduction>(), CastleManorManager.PERIOD_CURRENT);
        castle.setSeedProduction(new FastList<SeedProduction>(), CastleManorManager.PERIOD_NEXT);

        if(Config.ALT_MANOR_SAVE_ALL_ACTIONS)
        {
          castle.saveCropData();
          castle.saveSeedData();
        }

        activeChar.sendMessage("Manor data for " + castle.getName() + " was nulled");
      }
      else
      {
        for(Castle castle : CastleManager.getInstance().getCastles())
        {
          castle.setCropProcure(new FastList<CropProcure>(), CastleManorManager.PERIOD_CURRENT);
          castle.setCropProcure(new FastList<CropProcure>(), CastleManorManager.PERIOD_NEXT);
          castle.setSeedProduction(new FastList<SeedProduction>(), CastleManorManager.PERIOD_CURRENT);
          castle.setSeedProduction(new FastList<SeedProduction>(), CastleManorManager.PERIOD_NEXT);

          if(Config.ALT_MANOR_SAVE_ALL_ACTIONS)
          {
            castle.saveCropData();
            castle.saveSeedData();
          }
        }

        activeChar.sendMessage("Manor data was nulled");
      }
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.