Switch to Maven file structure
This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
package net.server.channel.handlers;
|
||||
|
||||
import client.MapleCharacter;
|
||||
import client.MapleClient;
|
||||
import server.minigame.MapleRockPaperScissor;
|
||||
import net.AbstractMaplePacketHandler;
|
||||
import tools.MaplePacketCreator;
|
||||
import tools.data.input.SeekableLittleEndianAccessor;
|
||||
|
||||
/**
|
||||
* @Author Arnah
|
||||
* @Website http://Vertisy.ca/
|
||||
* @since Aug 15, 2016
|
||||
*/
|
||||
public final class RPSActionHandler extends AbstractMaplePacketHandler{
|
||||
|
||||
@Override
|
||||
public final void handlePacket(SeekableLittleEndianAccessor slea, MapleClient c){
|
||||
MapleCharacter chr = c.getPlayer();
|
||||
MapleRockPaperScissor rps = chr.getRPS();
|
||||
|
||||
if (c.tryacquireClient()) {
|
||||
try {
|
||||
if(slea.available() == 0 || !chr.getMap().containsNPC(9000019)){
|
||||
if(rps != null){
|
||||
rps.dispose(c);
|
||||
}
|
||||
return;
|
||||
}
|
||||
final byte mode = slea.readByte();
|
||||
switch (mode){
|
||||
case 0: // start game
|
||||
case 5: // retry
|
||||
if(rps != null){
|
||||
rps.reward(c);
|
||||
}
|
||||
if(chr.getMeso() >= 1000){
|
||||
chr.setRPS(new MapleRockPaperScissor(c, mode));
|
||||
}else{
|
||||
c.announce(MaplePacketCreator.rpsMesoError(-1));
|
||||
}
|
||||
break;
|
||||
case 1: // answer
|
||||
if(rps == null || !rps.answer(c, slea.readByte())){
|
||||
c.announce(MaplePacketCreator.rpsMode((byte) 0x0D));// 13
|
||||
}
|
||||
break;
|
||||
case 2: // time over
|
||||
if(rps == null || !rps.timeOut(c)){
|
||||
c.announce(MaplePacketCreator.rpsMode((byte) 0x0D));
|
||||
}
|
||||
break;
|
||||
case 3: // continue
|
||||
if(rps == null || !rps.nextRound(c)){
|
||||
c.announce(MaplePacketCreator.rpsMode((byte) 0x0D));
|
||||
}
|
||||
break;
|
||||
case 4: // leave
|
||||
if(rps != null){
|
||||
rps.dispose(c);
|
||||
}else{
|
||||
c.announce(MaplePacketCreator.rpsMode((byte) 0x0D));
|
||||
}
|
||||
break;
|
||||
}
|
||||
} finally {
|
||||
c.releaseClient();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user