/*
* Copyright (C) 2004-2015 L2J Server
*
* This file is part of L2J Server.
*
* L2J Server is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* L2J Server is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
package com.l2jserver.gameserver.network.serverpackets;
import java.util.HashMap;
import java.util.Map;
import com.l2jserver.gameserver.instancemanager.CastleManager;
import com.l2jserver.gameserver.instancemanager.CastleManorManager;
import com.l2jserver.gameserver.model.CropProcure;
import com.l2jserver.gameserver.model.entity.Castle;
/**
* @author l3x
*/
public class ExShowProcureCropDetail extends L2GameServerPacket
{
private final int _cropId;
private final Map _castleCrops = new HashMap<>();
public ExShowProcureCropDetail(int cropId)
{
_cropId = cropId;
for (Castle c : CastleManager.getInstance().getCastles())
{
final CropProcure cropItem = CastleManorManager.getInstance().getCropProcure(c.getResidenceId(), cropId, false);
if ((cropItem != null) && (cropItem.getAmount() > 0))
{
_castleCrops.put(c.getResidenceId(), cropItem);
}
}
}
@Override
public void writeImpl()
{
writeC(0xFE);
writeH(0x78);
writeD(_cropId); // crop id
writeD(_castleCrops.size()); // size
for (Map.Entry entry : _castleCrops.entrySet())
{
final CropProcure crop = entry.getValue();
writeD(entry.getKey()); // manor name
writeQ(crop.getAmount()); // buy residual
writeQ(crop.getPrice()); // buy price
writeC(crop.getReward()); // reward type
}
}
}