Sync with L2JServer Jan 30th 2015.
This commit is contained in:
@ -46,8 +46,8 @@ import com.l2jserver.gameserver.model.items.instance.L2ItemInstance;
|
||||
import com.l2jserver.gameserver.network.SystemMessageId;
|
||||
import com.l2jserver.gameserver.network.serverpackets.ActionFailed;
|
||||
import com.l2jserver.gameserver.network.serverpackets.ConfirmDlg;
|
||||
import com.l2jserver.gameserver.network.serverpackets.ExShowCommission;
|
||||
import com.l2jserver.gameserver.network.serverpackets.NpcHtmlMessage;
|
||||
import com.l2jserver.gameserver.network.serverpackets.auctionhouse.ExShowCommission;
|
||||
import com.l2jserver.gameserver.util.GMAudit;
|
||||
import com.l2jserver.gameserver.util.Util;
|
||||
|
||||
|
@ -12,13 +12,14 @@
|
||||
* You should have received a copy of the GNU General Public License along with
|
||||
* this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.l2jserver.gameserver.network.clientpackets;
|
||||
package com.l2jserver.gameserver.network.clientpackets.auctionhouse;
|
||||
|
||||
import com.l2jserver.gameserver.instancemanager.AuctionManager;
|
||||
import com.l2jserver.gameserver.instancemanager.AuctionManager.Auctions;
|
||||
import com.l2jserver.gameserver.instancemanager.AuctionHouseManager;
|
||||
import com.l2jserver.gameserver.instancemanager.AuctionHouseManager.Auctions;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jserver.gameserver.network.SystemMessageId;
|
||||
import com.l2jserver.gameserver.network.serverpackets.ExResponseCommissionBuyInfo;
|
||||
import com.l2jserver.gameserver.network.clientpackets.L2GameClientPacket;
|
||||
import com.l2jserver.gameserver.network.serverpackets.auctionhouse.ExResponseCommissionBuyInfo;
|
||||
|
||||
/**
|
||||
* @author Erlandys
|
||||
@ -44,7 +45,7 @@ public final class RequestCommissionBuyInfo extends L2GameClientPacket
|
||||
{
|
||||
return;
|
||||
}
|
||||
AuctionManager am = AuctionManager.getInstance();
|
||||
AuctionHouseManager am = AuctionHouseManager.getInstance();
|
||||
Auctions auction = am.getAuctionById(_auctionID);
|
||||
if (auction != null)
|
||||
{
|
@ -12,19 +12,20 @@
|
||||
* You should have received a copy of the GNU General Public License along with
|
||||
* this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.l2jserver.gameserver.network.clientpackets;
|
||||
package com.l2jserver.gameserver.network.clientpackets.auctionhouse;
|
||||
|
||||
import com.l2jserver.gameserver.enums.MailType;
|
||||
import com.l2jserver.gameserver.instancemanager.AuctionManager;
|
||||
import com.l2jserver.gameserver.instancemanager.AuctionManager.Auctions;
|
||||
import com.l2jserver.gameserver.instancemanager.AuctionHouseManager;
|
||||
import com.l2jserver.gameserver.instancemanager.AuctionHouseManager.Auctions;
|
||||
import com.l2jserver.gameserver.instancemanager.MailManager;
|
||||
import com.l2jserver.gameserver.model.L2World;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jserver.gameserver.model.entity.Message;
|
||||
import com.l2jserver.gameserver.network.SystemMessageId;
|
||||
import com.l2jserver.gameserver.network.serverpackets.ExResponseCommissionItemList;
|
||||
import com.l2jserver.gameserver.network.serverpackets.ExResponseCommissionList;
|
||||
import com.l2jserver.gameserver.network.clientpackets.L2GameClientPacket;
|
||||
import com.l2jserver.gameserver.network.serverpackets.SystemMessage;
|
||||
import com.l2jserver.gameserver.network.serverpackets.auctionhouse.ExResponseCommissionItemList;
|
||||
import com.l2jserver.gameserver.network.serverpackets.auctionhouse.ExResponseCommissionList;
|
||||
|
||||
/**
|
||||
* @author Erlandys
|
||||
@ -51,7 +52,7 @@ public final class RequestCommissionBuyItem extends L2GameClientPacket
|
||||
{
|
||||
return;
|
||||
}
|
||||
AuctionManager am = AuctionManager.getInstance();
|
||||
AuctionHouseManager am = AuctionHouseManager.getInstance();
|
||||
Auctions auction;
|
||||
if (am.getAuctionById(_auctionID) != null)
|
||||
{
|
@ -12,9 +12,10 @@
|
||||
* You should have received a copy of the GNU General Public License along with
|
||||
* this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.l2jserver.gameserver.network.clientpackets;
|
||||
package com.l2jserver.gameserver.network.clientpackets.auctionhouse;
|
||||
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jserver.gameserver.network.clientpackets.L2GameClientPacket;
|
||||
|
||||
public final class RequestCommissionCancel extends L2GameClientPacket
|
||||
{
|
@ -12,15 +12,16 @@
|
||||
* You should have received a copy of the GNU General Public License along with
|
||||
* this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.l2jserver.gameserver.network.clientpackets;
|
||||
package com.l2jserver.gameserver.network.clientpackets.auctionhouse;
|
||||
|
||||
import com.l2jserver.gameserver.instancemanager.AuctionManager;
|
||||
import com.l2jserver.gameserver.instancemanager.AuctionManager.Auctions;
|
||||
import com.l2jserver.gameserver.instancemanager.AuctionHouseManager;
|
||||
import com.l2jserver.gameserver.instancemanager.AuctionHouseManager.Auctions;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jserver.gameserver.network.SystemMessageId;
|
||||
import com.l2jserver.gameserver.network.serverpackets.ExResponseCommissionDelete;
|
||||
import com.l2jserver.gameserver.network.serverpackets.ExResponseCommissionItemList;
|
||||
import com.l2jserver.gameserver.network.serverpackets.ExResponseCommissionList;
|
||||
import com.l2jserver.gameserver.network.clientpackets.L2GameClientPacket;
|
||||
import com.l2jserver.gameserver.network.serverpackets.auctionhouse.ExResponseCommissionDelete;
|
||||
import com.l2jserver.gameserver.network.serverpackets.auctionhouse.ExResponseCommissionItemList;
|
||||
import com.l2jserver.gameserver.network.serverpackets.auctionhouse.ExResponseCommissionList;
|
||||
|
||||
/**
|
||||
* @author Erlandys
|
||||
@ -49,7 +50,7 @@ public final class RequestCommissionDelete extends L2GameClientPacket
|
||||
{
|
||||
return;
|
||||
}
|
||||
AuctionManager am = AuctionManager.getInstance();
|
||||
AuctionHouseManager am = AuctionHouseManager.getInstance();
|
||||
am.checkForAuctionsDeletion();
|
||||
Auctions auction = am.getAuctionById(_auctionID);
|
||||
if (auction != null)
|
@ -12,10 +12,11 @@
|
||||
* You should have received a copy of the GNU General Public License along with
|
||||
* this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.l2jserver.gameserver.network.clientpackets;
|
||||
package com.l2jserver.gameserver.network.clientpackets.auctionhouse;
|
||||
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jserver.gameserver.network.serverpackets.ExResponseCommissionInfo;
|
||||
import com.l2jserver.gameserver.network.clientpackets.L2GameClientPacket;
|
||||
import com.l2jserver.gameserver.network.serverpackets.auctionhouse.ExResponseCommissionInfo;
|
||||
|
||||
/**
|
||||
* @author Erlandys
|
@ -12,12 +12,13 @@
|
||||
* You should have received a copy of the GNU General Public License along with
|
||||
* this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.l2jserver.gameserver.network.clientpackets;
|
||||
package com.l2jserver.gameserver.network.clientpackets.auctionhouse;
|
||||
|
||||
import com.l2jserver.gameserver.instancemanager.AuctionManager;
|
||||
import com.l2jserver.gameserver.instancemanager.AuctionHouseManager;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jserver.gameserver.network.SystemMessageId;
|
||||
import com.l2jserver.gameserver.network.serverpackets.ExResponseCommissionList;
|
||||
import com.l2jserver.gameserver.network.clientpackets.L2GameClientPacket;
|
||||
import com.l2jserver.gameserver.network.serverpackets.auctionhouse.ExResponseCommissionList;
|
||||
|
||||
/**
|
||||
* @author Erlandys
|
||||
@ -48,7 +49,7 @@ public final class RequestCommissionList extends L2GameClientPacket
|
||||
{
|
||||
return;
|
||||
}
|
||||
AuctionManager am = AuctionManager.getInstance();
|
||||
AuctionHouseManager am = AuctionHouseManager.getInstance();
|
||||
|
||||
if (_category == 0)
|
||||
{
|
@ -12,19 +12,20 @@
|
||||
* You should have received a copy of the GNU General Public License along with
|
||||
* this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.l2jserver.gameserver.network.clientpackets;
|
||||
package com.l2jserver.gameserver.network.clientpackets.auctionhouse;
|
||||
|
||||
import com.l2jserver.gameserver.datatables.ItemTable;
|
||||
import com.l2jserver.gameserver.idfactory.IdFactory;
|
||||
import com.l2jserver.gameserver.instancemanager.AuctionManager;
|
||||
import com.l2jserver.gameserver.instancemanager.AuctionHouseManager;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jserver.gameserver.model.items.L2Item;
|
||||
import com.l2jserver.gameserver.network.SystemMessageId;
|
||||
import com.l2jserver.gameserver.network.serverpackets.ExResponseCommissionInfo;
|
||||
import com.l2jserver.gameserver.network.serverpackets.ExResponseCommissionItemList;
|
||||
import com.l2jserver.gameserver.network.serverpackets.ExResponseCommissionList;
|
||||
import com.l2jserver.gameserver.network.serverpackets.ExResponseCommissionRegister;
|
||||
import com.l2jserver.gameserver.network.clientpackets.L2GameClientPacket;
|
||||
import com.l2jserver.gameserver.network.serverpackets.InventoryUpdate;
|
||||
import com.l2jserver.gameserver.network.serverpackets.auctionhouse.ExResponseCommissionInfo;
|
||||
import com.l2jserver.gameserver.network.serverpackets.auctionhouse.ExResponseCommissionItemList;
|
||||
import com.l2jserver.gameserver.network.serverpackets.auctionhouse.ExResponseCommissionList;
|
||||
import com.l2jserver.gameserver.network.serverpackets.auctionhouse.ExResponseCommissionRegister;
|
||||
|
||||
/**
|
||||
* @author Erlandys
|
||||
@ -59,7 +60,7 @@ public final class RequestCommissionRegister extends L2GameClientPacket
|
||||
return;
|
||||
}
|
||||
long destroyPrice = _price;
|
||||
AuctionManager am = AuctionManager.getInstance();
|
||||
AuctionHouseManager am = AuctionHouseManager.getInstance();
|
||||
am.checkForAuctionsDeletion();
|
||||
long timeToAdd = 0;
|
||||
switch (_duration)
|
@ -12,11 +12,12 @@
|
||||
* You should have received a copy of the GNU General Public License along with
|
||||
* this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.l2jserver.gameserver.network.clientpackets;
|
||||
package com.l2jserver.gameserver.network.clientpackets.auctionhouse;
|
||||
|
||||
import com.l2jserver.gameserver.instancemanager.AuctionManager;
|
||||
import com.l2jserver.gameserver.instancemanager.AuctionHouseManager;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jserver.gameserver.network.serverpackets.ExResponseCommissionList;
|
||||
import com.l2jserver.gameserver.network.clientpackets.L2GameClientPacket;
|
||||
import com.l2jserver.gameserver.network.serverpackets.auctionhouse.ExResponseCommissionList;
|
||||
|
||||
/**
|
||||
* @author Erlandys
|
||||
@ -38,7 +39,7 @@ public final class RequestCommissionRegisteredItem extends L2GameClientPacket
|
||||
{
|
||||
return;
|
||||
}
|
||||
AuctionManager am = AuctionManager.getInstance();
|
||||
AuctionHouseManager am = AuctionHouseManager.getInstance();
|
||||
|
||||
am.checkForAuctionsDeletion();
|
||||
|
@ -12,10 +12,11 @@
|
||||
* You should have received a copy of the GNU General Public License along with
|
||||
* this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.l2jserver.gameserver.network.clientpackets;
|
||||
package com.l2jserver.gameserver.network.clientpackets.auctionhouse;
|
||||
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jserver.gameserver.network.serverpackets.ExResponseCommissionItemList;
|
||||
import com.l2jserver.gameserver.network.clientpackets.L2GameClientPacket;
|
||||
import com.l2jserver.gameserver.network.serverpackets.auctionhouse.ExResponseCommissionItemList;
|
||||
|
||||
/**
|
||||
* @author Erlandys
|
@ -18,15 +18,27 @@
|
||||
*/
|
||||
package com.l2jserver.gameserver.network.clientpackets.primeshop;
|
||||
|
||||
import java.util.Calendar;
|
||||
|
||||
import com.l2jserver.Config;
|
||||
import com.l2jserver.gameserver.data.xml.impl.PrimeShopData;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jserver.gameserver.model.itemcontainer.Inventory;
|
||||
import com.l2jserver.gameserver.model.primeshop.PrimeShopGroup;
|
||||
import com.l2jserver.gameserver.model.primeshop.PrimeShopItem;
|
||||
import com.l2jserver.gameserver.network.clientpackets.L2GameClientPacket;
|
||||
import com.l2jserver.gameserver.network.serverpackets.primeshop.ExBRBuyProduct;
|
||||
import com.l2jserver.gameserver.network.serverpackets.primeshop.ExBRBuyProduct.ExBrProductReplyType;
|
||||
import com.l2jserver.gameserver.network.serverpackets.primeshop.ExBRGamePoint;
|
||||
import com.l2jserver.gameserver.util.Util;
|
||||
|
||||
/**
|
||||
* @author Gnacik, UnAfraid
|
||||
*/
|
||||
public final class RequestBRBuyProduct extends L2GameClientPacket
|
||||
{
|
||||
private static final int HERO_COINS = 23805;
|
||||
|
||||
private int _brId;
|
||||
private int _count;
|
||||
|
||||
@ -40,11 +52,157 @@ public final class RequestBRBuyProduct extends L2GameClientPacket
|
||||
@Override
|
||||
protected void runImpl()
|
||||
{
|
||||
final L2PcInstance player = getClient().getActiveChar();
|
||||
if (player != null)
|
||||
final L2PcInstance activeChar = getClient().getActiveChar();
|
||||
if (activeChar == null)
|
||||
{
|
||||
PrimeShopData.getInstance().buyItem(player, _brId, _count);
|
||||
return;
|
||||
}
|
||||
|
||||
if (activeChar.isUsingPrimeShop())
|
||||
{
|
||||
activeChar.sendPacket(new ExBRBuyProduct(ExBrProductReplyType.INVALID_USER_STATE));
|
||||
return;
|
||||
}
|
||||
|
||||
activeChar.setUsingPrimeShop(true);
|
||||
|
||||
final PrimeShopGroup item = PrimeShopData.getInstance().getItem(_brId);
|
||||
if (validatePlayer(item, _count, activeChar))
|
||||
{
|
||||
final int price = (item.getPrice() * _count);
|
||||
final int paymentId = validatePaymentId(activeChar, item, price);
|
||||
|
||||
if (paymentId < 0)
|
||||
{
|
||||
activeChar.sendPacket(new ExBRBuyProduct(ExBrProductReplyType.LACK_OF_POINT));
|
||||
return;
|
||||
}
|
||||
else if (paymentId > 0)
|
||||
{
|
||||
if (!activeChar.destroyItemByItemId("PrimeShop-" + item.getBrId(), paymentId, price, activeChar, true))
|
||||
{
|
||||
activeChar.sendPacket(new ExBRBuyProduct(ExBrProductReplyType.LACK_OF_POINT));
|
||||
return;
|
||||
}
|
||||
}
|
||||
else if (paymentId == 0)
|
||||
{
|
||||
if (activeChar.getPrimePoints() < price)
|
||||
{
|
||||
activeChar.sendPacket(new ExBRBuyProduct(ExBrProductReplyType.LACK_OF_POINT));
|
||||
return;
|
||||
}
|
||||
activeChar.setPrimePoints(activeChar.getPrimePoints() - price);
|
||||
}
|
||||
|
||||
for (PrimeShopItem subItem : item.getItems())
|
||||
{
|
||||
activeChar.addItem("PrimeShop", subItem.getId(), subItem.getCount() * _count, activeChar, true);
|
||||
}
|
||||
|
||||
activeChar.sendPacket(new ExBRBuyProduct(ExBrProductReplyType.SUCCESS));
|
||||
activeChar.sendPacket(new ExBRGamePoint(activeChar));
|
||||
}
|
||||
|
||||
activeChar.setUsingPrimeShop(false);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param item
|
||||
* @param count
|
||||
* @param player
|
||||
* @return
|
||||
*/
|
||||
private static boolean validatePlayer(PrimeShopGroup item, int count, L2PcInstance player)
|
||||
{
|
||||
final long currentTime = System.currentTimeMillis() / 1000;
|
||||
if (item == null)
|
||||
{
|
||||
player.sendPacket(new ExBRBuyProduct(ExBrProductReplyType.INVALID_PRODUCT));
|
||||
Util.handleIllegalPlayerAction(player, "Player " + player.getName() + " tried to buy invalid brId from Prime", Config.DEFAULT_PUNISH);
|
||||
return false;
|
||||
}
|
||||
else if ((count < 1) && (count > 99))
|
||||
{
|
||||
Util.handleIllegalPlayerAction(player, "Player " + player.getName() + " tried to buy invalid itemcount [" + count + "] from Prime", Config.DEFAULT_PUNISH);
|
||||
player.sendPacket(new ExBRBuyProduct(ExBrProductReplyType.INVALID_USER_STATE));
|
||||
return false;
|
||||
}
|
||||
else if ((item.getMinLevel() > 0) && (item.getMinLevel() > player.getLevel()))
|
||||
{
|
||||
player.sendPacket(new ExBRBuyProduct(ExBrProductReplyType.INVALID_USER));
|
||||
return false;
|
||||
}
|
||||
else if ((item.getMaxLevel() > 0) && (item.getMaxLevel() < player.getLevel()))
|
||||
{
|
||||
player.sendPacket(new ExBRBuyProduct(ExBrProductReplyType.INVALID_USER));
|
||||
return false;
|
||||
}
|
||||
else if ((item.getMinBirthday() > 0) && (item.getMinBirthday() > player.getBirthdays()))
|
||||
{
|
||||
player.sendPacket(new ExBRBuyProduct(ExBrProductReplyType.INVALID_USER_STATE));
|
||||
return false;
|
||||
}
|
||||
else if ((item.getMaxBirthday() > 0) && (item.getMaxBirthday() < player.getBirthdays()))
|
||||
{
|
||||
player.sendPacket(new ExBRBuyProduct(ExBrProductReplyType.INVALID_USER_STATE));
|
||||
return false;
|
||||
}
|
||||
else if ((Calendar.getInstance().get(Calendar.DAY_OF_WEEK) & item.getDaysOfWeek()) == 0)
|
||||
{
|
||||
player.sendPacket(new ExBRBuyProduct(ExBrProductReplyType.NOT_DAY_OF_WEEK));
|
||||
return false;
|
||||
}
|
||||
else if ((item.getStartSale() > 1) && (item.getStartSale() > currentTime))
|
||||
{
|
||||
player.sendPacket(new ExBRBuyProduct(ExBrProductReplyType.BEFORE_SALE_DATE));
|
||||
return false;
|
||||
}
|
||||
else if ((item.getEndSale() > 1) && (item.getEndSale() < currentTime))
|
||||
{
|
||||
player.sendPacket(new ExBRBuyProduct(ExBrProductReplyType.AFTER_SALE_DATE));
|
||||
return false;
|
||||
}
|
||||
|
||||
final int weight = item.getWeight() * count;
|
||||
final long slots = item.getCount() * count;
|
||||
|
||||
if (player.getInventory().validateWeight(weight))
|
||||
{
|
||||
if (!player.getInventory().validateCapacity(slots))
|
||||
{
|
||||
player.sendPacket(new ExBRBuyProduct(ExBrProductReplyType.INVENTROY_OVERFLOW));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
player.sendPacket(new ExBRBuyProduct(ExBrProductReplyType.INVENTROY_OVERFLOW));
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
private static int validatePaymentId(L2PcInstance player, PrimeShopGroup item, long amount)
|
||||
{
|
||||
switch (item.getPaymentType())
|
||||
{
|
||||
case 0: // Prime points
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
case 1: // Adenas
|
||||
{
|
||||
return Inventory.ADENA_ID;
|
||||
}
|
||||
case 2: // Hero coins
|
||||
{
|
||||
return HERO_COINS;
|
||||
}
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
Reference in New Issue
Block a user