mirror of
https://github.com/ProjectSWGCore/Holocore.git
synced 2026-10-17 07:02:54 -04:00
Changed session to tradeSession for continuity
Trading an Equipped Item no longer aborts the Trade Added a Warning when trading an Equipped Item Trading a No Trade Item will abort the Trade Added a notifcation when attemptint to trade a NoTrade Item Removed additional blanklines in Securetrade ObjController
This commit is contained in:
@@ -84,6 +84,4 @@ public class SecureTrade extends ObjectController {
|
||||
return LOOKUP.getEnum(id, UNDEFINED);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -18,6 +18,7 @@ import network.packets.swg.zone.trade.BeginTradeMessage;
|
||||
import network.packets.swg.zone.trade.BeginVerificationMessage;
|
||||
import network.packets.swg.zone.trade.DenyTradeMessage;
|
||||
import network.packets.swg.zone.trade.GiveMoneyMessage;
|
||||
import network.packets.swg.zone.trade.RemoveItemMessage;
|
||||
import network.packets.swg.zone.trade.TradeCompleteMessage;
|
||||
import network.packets.swg.zone.trade.UnAcceptTransactionMessage;
|
||||
import network.packets.swg.zone.trade.VerifyTradeMessage;
|
||||
@@ -52,14 +53,14 @@ public class TradeService extends Service {
|
||||
private void handlePlayerEventIntent(PlayerEventIntent pei) {
|
||||
if (pei.getPlayer().getCreatureObject() == null)
|
||||
return;
|
||||
TradeSession session = pei.getPlayer().getCreatureObject().getTradeSession();
|
||||
if (session == null)
|
||||
TradeSession tradeSession = pei.getPlayer().getCreatureObject().getTradeSession();
|
||||
if (tradeSession == null)
|
||||
return;
|
||||
|
||||
switch (pei.getEvent()) {
|
||||
case PE_FIRST_ZONE:
|
||||
case PE_LOGGED_OUT:
|
||||
session.sendAbortTrade();
|
||||
tradeSession.sendAbortTrade();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@@ -162,20 +163,20 @@ public class TradeService extends Service {
|
||||
private void handleAddItemMessage(AddItemMessage packet, Player player, ObjectManager objectManager) {
|
||||
CreatureObject creature = player.getCreatureObject();
|
||||
TradeSession tradeSession = creature.getTradeSession();
|
||||
|
||||
if (tradeSession == null) {
|
||||
Log.w("Invalid TradeSession for handleAddItemMessage. Creature %s: ", creature);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
SWGObject tradeObject = objectManager.getObjectById(packet.getObjectId());
|
||||
if(creature.hasSlottedObject(tradeObject)){
|
||||
tradeSession.sendAbortTrade();
|
||||
return;
|
||||
sendSystemMessageNoStf(player, "Warning: You have just added an equipped item to the trade window!");
|
||||
}
|
||||
|
||||
if(tradeObject.hasAttribute("no_trade")){
|
||||
sendSystemMessage(player, "add_item_failed_prose");
|
||||
if(tradeObject.hasAttribute("no_trade")){
|
||||
tradeSession.sendAbortTrade();
|
||||
return;
|
||||
}
|
||||
|
||||
tradeObject.setContainerPermissions(ContainerPermissionsType.INVENTORY);
|
||||
@@ -236,7 +237,7 @@ public class TradeService extends Service {
|
||||
}
|
||||
|
||||
private void handleTradeSessionRequest(SecureTrade packet, Player packetSender , CreatureObject initiator, CreatureObject accepter) {
|
||||
SuiMessageBox requestBox = new SuiMessageBox(SuiButtons.OK_CANCEL, "Trade Request", accepter.getOwner().getCharacterName() + " wants to trade with you.\nDo you want to accept the request?");
|
||||
SuiMessageBox requestBox = new SuiMessageBox(SuiButtons.OK_CANCEL, "Trade Request", initiator.getObjectName() + " wants to trade with you.\nDo you want to accept the request?");
|
||||
requestBox.addOkButtonCallback("handleTradeRequest", (player, actor, event, paramenters)-> {
|
||||
if(initiator.getTradeSession() == null)
|
||||
return;
|
||||
@@ -262,4 +263,8 @@ public class TradeService extends Service {
|
||||
private void sendSystemMessage(Player player, String str) {
|
||||
new ChatBroadcastIntent(player, "@ui_trade:" + str).broadcast();
|
||||
}
|
||||
|
||||
private void sendSystemMessageNoStf(Player player, String message) {
|
||||
new ChatBroadcastIntent(player, message).broadcast();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user