/** Method runImpl. */ @Override protected void runImpl() { Player activeChar = getClient().getActiveChar(); if (activeChar == null) { return; } if (!activeChar.isInStoreMode() || (activeChar.getPrivateStoreType() != Player.STORE_PRIVATE_BUY)) { activeChar.sendActionFailed(); return; } activeChar.setPrivateStoreType(Player.STORE_PRIVATE_NONE); activeChar.standUp(); activeChar.broadcastCharInfo(); }
/** Method setUpPlayers. */ private void setUpPlayers() { HandysBlockCheckerManager.getInstance().setArenaBeingUsed(_arena); _redPoints = _spawns.size() / 2; _bluePoints = _spawns.size() / 2; final ExCubeGameChangePoints initialPoints = new ExCubeGameChangePoints(300, _bluePoints, _redPoints); ExCubeGameExtendedChangePoints clientSetUp; for (Player player : _holder.getAllPlayers()) { if (player == null) { continue; } player.addListener(_listener); boolean isRed = _holder.getRedPlayers().contains(player); clientSetUp = new ExCubeGameExtendedChangePoints(300, _bluePoints, _redPoints, isRed, player, 0); player.sendPacket(clientSetUp); player.sendActionFailed(); int tc = _holder.getPlayerTeam(player) * 2; int x = _arenaCoordinates[_arena][tc]; int y = _arenaCoordinates[_arena][tc + 1]; player.teleToLocation(x, y, _zCoord); if (isRed) { _redTeamPoints.put(player, 0); player.setTeam(TeamType.RED); } else { _blueTeamPoints.put(player, 0); player.setTeam(TeamType.BLUE); } player.getEffectList().stopAllEffects(); for (Summon summon : player.getSummonList()) { summon.unSummon(); } _freeze.getEffects(player, player, false, false); if (_holder.getPlayerTeam(player) == 0) { _transformationRed.getEffects(player, player, false, false); } else { _transformationBlue.getEffects(player, player, false, false); } player.setBlockCheckerArena((byte) _arena); player.sendPacket(initialPoints); player.sendPacket(_closeUserInterface); player.sendPacket(new ExBasicActionList(player)); broadcastRelationChanged(player); player.broadcastCharInfo(); } }
/** * Method onPlayerExit. * * @param player Player * @see lineage2.gameserver.listener.actor.player.OnPlayerExitListener#onPlayerExit(Player) */ @Override public void onPlayerExit(final Player player) { if (player.getBlockCheckerArena() < 0) { return; } _isExit = true; player.teleToLocation(-57478, -60367, -2370); player.setTransformation(0); player.getEffectList().stopAllEffects(); int arena = player.getBlockCheckerArena(); int team = HandysBlockCheckerManager.getInstance().getHolder(arena).getPlayerTeam(player); HandysBlockCheckerManager.getInstance().removePlayer(player, arena, team); player.setTeam(TeamType.NONE); player.broadcastCharInfo(); PcInventory inv = player.getInventory(); inv.destroyItemByItemId(13787, inv.getCountOf(13787)); inv.destroyItemByItemId(13788, inv.getCountOf(13788)); }
/** Method setPlayersBack. */ private void setPlayersBack() { final ExCubeGameEnd end = new ExCubeGameEnd(_isRedWinner); for (Player player : _holder.getAllPlayers()) { if (player == null) { continue; } player.getEffectList().stopAllEffects(); player.setTeam(TeamType.NONE); player.setBlockCheckerArena(DEFAULT_ARENA); PcInventory inv = player.getInventory(); inv.destroyItemByItemId(13787, inv.getCountOf(13787)); inv.destroyItemByItemId(13788, inv.getCountOf(13788)); broadcastRelationChanged(player); player.teleToLocation(-57478, -60367, -2370); player.sendPacket(end); player.broadcastCharInfo(); } }
/** * Method endOfLife. * * @param cw CursedWeapon */ public void endOfLife(CursedWeapon cw) { if (cw.isActivated()) { Player player = cw.getOnlineOwner(); if (player != null) { _log.info( "CursedWeaponsManager: " + cw.getName() + " being removed online from " + player + "."); player.abortAttack(true, true); player.setKarma(cw.getPlayerKarma()); player.setPkKills(cw.getPlayerPkKills()); player.setCursedWeaponEquippedId(0); player.setTransformation(0); player.setTransformationName(null); player.removeSkill( SkillTable.getInstance() .getInfo(cw.getSkillId(), player.getSkillLevel(cw.getSkillId())), false); player.getInventory().destroyItemByItemId(cw.getItemId(), 1L); player.broadcastCharInfo(); } else { _log.info("CursedWeaponsManager: " + cw.getName() + " being removed offline."); Connection con = null; PreparedStatement statement = null; try { con = DatabaseFactory.getInstance().getConnection(); statement = con.prepareStatement("DELETE FROM items WHERE owner_id=? AND item_id=?"); statement.setInt(1, cw.getPlayerId()); statement.setInt(2, cw.getItemId()); statement.executeUpdate(); DbUtils.close(statement); statement = con.prepareStatement( "DELETE FROM character_skills WHERE char_obj_id=? AND skill_id=?"); statement.setInt(1, cw.getPlayerId()); statement.setInt(2, cw.getSkillId()); statement.executeUpdate(); DbUtils.close(statement); statement = con.prepareStatement("UPDATE characters SET karma=?, pkkills=? WHERE obj_Id=?"); statement.setInt(1, cw.getPlayerKarma()); statement.setInt(2, cw.getPlayerPkKills()); statement.setInt(3, cw.getPlayerId()); statement.executeUpdate(); } catch (SQLException e) { _log.warn("CursedWeaponsManager: Could not delete : " + e); } finally { DbUtils.closeQuietly(con, statement); } } } else if ((cw.getPlayer() != null) && (cw.getPlayer().getInventory().getItemByItemId(cw.getItemId()) != null)) { Player player = cw.getPlayer(); if (!cw.getPlayer().getInventory().destroyItemByItemId(cw.getItemId(), 1)) { _log.info("CursedWeaponsManager[453]: Error! Cursed weapon not found!!!"); } player.sendChanges(); player.broadcastUserInfo(); } else if (cw.getItem() != null) { cw.getItem().deleteMe(); cw.getItem().delete(); _log.info("CursedWeaponsManager: " + cw.getName() + " item has been removed from World."); } cw.initWeapon(); removeFromDb(cw.getItemId()); announce(new SystemMessage(SystemMessage.S1_HAS_DISAPPEARED_CW).addString(cw.getName())); }