Public Repository for the Magicbane Shadowbane Emulator
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

52 lines
1.5 KiB

package engine.net.client.handlers;
import engine.Enum;
import engine.exception.MsgSendException;
import engine.gameManager.DbManager;
import engine.net.Dispatch;
import engine.net.DispatchMessage;
import engine.net.client.ClientConnection;
import engine.net.client.msg.ClientNetMsg;
import engine.net.client.msg.PetitionReceivedMsg;
import engine.objects.Petition;
import engine.objects.PlayerCharacter;
public class PetitionReceivedMsgHandler extends AbstractClientMsgHandler {
public PetitionReceivedMsgHandler() {
super(PetitionReceivedMsg.class);
}
@Override
protected boolean _handleNetMsg(ClientNetMsg msg, ClientConnection origin) throws MsgSendException {
if (msg == null)
return true;
PetitionReceivedMsg petitionReceivedMsg = (PetitionReceivedMsg) msg;
if (origin == null)
return true;
PlayerCharacter playerCharacter = origin.getPlayerCharacter();
if (playerCharacter == null)
return true;
Petition petition = new Petition(msg, origin);
if (petition == null)
return false;
try {
petitionReceivedMsg.petition = 2;
DbManager.PetitionQueries.WRITE_PETITION_TO_TABLE(petition);
Dispatch dispatch = Dispatch.borrow(playerCharacter, msg);
DispatchMessage.dispatchMsgDispatch(dispatch, Enum.DispatchChannel.SECONDARY);
} catch (Exception e) {
return false;
}
return true;
}
}