package handling.channel.handler;
import client.MapleCharacterUtil;
import client.MapleClient;
import constants.ServerConstants;
import scripting.event.EventManager;
import scripting.npc.NPCScriptManager;
import tools.FileoutputUtil;
import tools.MaplePacketCreator;
import tools.data.input.SeekableLittleEndianAccessor;
public class UserInterfaceHandler {
public static void CygnusSummon_NPCRequest(MapleClient c) {
if (c.getPlayer().getJob() == 2000) {
NPCScriptManager.getInstance().start(c, 1202000);
} else if (c.getPlayer().getJob() == 1000) {
NPCScriptManager.getInstance().start(c, 1101008);
}
}
public static void InGame_Poll(SeekableLittleEndianAccessor slea, MapleClient c) {
if (ServerConstants.PollEnabled) {
int selection = slea.readInt();
if ((selection >= 0) && (selection <= ServerConstants.Poll_Answers.length)
&& (MapleCharacterUtil.SetPoll(c.getAccID(), selection))) {
c.getSession().write(MaplePacketCreator.getPollReply("Thank you."));
}
}
}
public static void ShipObjectRequest(int mapid, MapleClient c) {
int effect = 3;
EventManager em;
switch (mapid) {
case 101000300:
case 200000111:
em = c.getChannelServer().getEventSM().getEventManager("Boats");
if ((em == null) || (!em.getProperty("docked").equals("true"))) {
break;
}
effect = 1;
break;
case 200000121:
case 220000110:
em = c.getChannelServer().getEventSM().getEventManager("Trains");
if ((em == null) || (!em.getProperty("docked").equals("true"))) {
break;
}
effect = 1;
break;
case 200000151:
case 260000100:
em = c.getChannelServer().getEventSM().getEventManager("Geenie");
if ((em == null) || (!em.getProperty("docked").equals("true"))) {
break;
}
effect = 1;
break;
case 200000131:
case 240000110:
em = c.getChannelServer().getEventSM().getEventManager("Flight");
if ((em == null) || (!em.getProperty("docked").equals("true"))) {
break;
}
effect = 1;
break;
case 200090000:
case 200090010:
em = c.getChannelServer().getEventSM().getEventManager("Boats");
if ((em != null) && (em.getProperty("haveBalrog").equals("true"))) {
effect = 1;
} else {
return;
}
default:
FileoutputUtil.log("Unhandled ship object, MapID : " + mapid);
}
c.getSession().write(MaplePacketCreator.boatPacket(effect==1?true:false));
}
}