Commit 96039388 authored by nanahira's avatar nanahira

shadow of remove ready

parent 42290b43
...@@ -424,6 +424,14 @@ void NetServer::HandleCTOSPacket(DuelPlayer* dp, unsigned char* data, int len) { ...@@ -424,6 +424,14 @@ void NetServer::HandleCTOSPacket(DuelPlayer* dp, unsigned char* data, int len) {
duel_mode->ToObserver(dp); duel_mode->ToObserver(dp);
break; break;
} }
#ifdef YGOPRO_SERVER_MODE
case CTOS_HS_NOTREADY: {
if (!duel_mode || duel_mode->pduel)
return;
duel_mode->PlayerReady(dp, false);
break;
}
#else
case CTOS_HS_READY: case CTOS_HS_READY:
case CTOS_HS_NOTREADY: { case CTOS_HS_NOTREADY: {
if (!duel_mode || duel_mode->pduel) if (!duel_mode || duel_mode->pduel)
...@@ -431,6 +439,7 @@ void NetServer::HandleCTOSPacket(DuelPlayer* dp, unsigned char* data, int len) { ...@@ -431,6 +439,7 @@ void NetServer::HandleCTOSPacket(DuelPlayer* dp, unsigned char* data, int len) {
duel_mode->PlayerReady(dp, (CTOS_HS_NOTREADY - pktType) != 0); duel_mode->PlayerReady(dp, (CTOS_HS_NOTREADY - pktType) != 0);
break; break;
} }
#endif
case CTOS_HS_KICK: { case CTOS_HS_KICK: {
if (!duel_mode || duel_mode->pduel) if (!duel_mode || duel_mode->pduel)
return; return;
......
...@@ -404,6 +404,13 @@ void SingleDuel::UpdateDeck(DuelPlayer* dp, unsigned char* pdata, int len) { ...@@ -404,6 +404,13 @@ void SingleDuel::UpdateDeck(DuelPlayer* dp, unsigned char* pdata, int len) {
else if (len < (2 + deckbuf.mainc + deckbuf.sidec) * (int)sizeof(int32_t)) else if (len < (2 + deckbuf.mainc + deckbuf.sidec) * (int)sizeof(int32_t))
valid = false; valid = false;
if (!valid) { if (!valid) {
#ifdef YGOPRO_SERVER_MODE
if(duel_count == 0) {
STOC_HS_PlayerChange scpc;
scpc.status = (dp->type << 4) | PLAYERCHANGE_NOTREADY;
NetServer::SendPacketToPlayer(dp, STOC_HS_PLAYER_CHANGE, scpc);
}
#endif
STOC_ErrorMsg scem; STOC_ErrorMsg scem;
scem.msg = ERRMSG_DECKERROR; scem.msg = ERRMSG_DECKERROR;
scem.code = 0; scem.code = 0;
...@@ -412,6 +419,9 @@ void SingleDuel::UpdateDeck(DuelPlayer* dp, unsigned char* pdata, int len) { ...@@ -412,6 +419,9 @@ void SingleDuel::UpdateDeck(DuelPlayer* dp, unsigned char* pdata, int len) {
} }
if(duel_count == 0) { if(duel_count == 0) {
deck_error[dp->type] = DeckManager::LoadDeck(pdeck[dp->type], deckbuf.list, deckbuf.mainc, deckbuf.sidec); deck_error[dp->type] = DeckManager::LoadDeck(pdeck[dp->type], deckbuf.list, deckbuf.mainc, deckbuf.sidec);
#ifdef YGOPRO_SERVER_MODE
PlayerReady(dp, true);
#endif
} else { } else {
if(DeckManager::LoadSide(pdeck[dp->type], deckbuf.list, deckbuf.mainc, deckbuf.sidec)) { if(DeckManager::LoadSide(pdeck[dp->type], deckbuf.list, deckbuf.mainc, deckbuf.sidec)) {
ready[dp->type] = true; ready[dp->type] = true;
......
...@@ -390,6 +390,11 @@ void TagDuel::UpdateDeck(DuelPlayer* dp, unsigned char* pdata, int len) { ...@@ -390,6 +390,11 @@ void TagDuel::UpdateDeck(DuelPlayer* dp, unsigned char* pdata, int len) {
else if (len < (2 + deckbuf.mainc + deckbuf.sidec) * (int)sizeof(int32_t)) else if (len < (2 + deckbuf.mainc + deckbuf.sidec) * (int)sizeof(int32_t))
valid = false; valid = false;
if (!valid) { if (!valid) {
#ifdef YGOPRO_SERVER_MODE
STOC_HS_PlayerChange scpc;
scpc.status = (dp->type << 4) | PLAYERCHANGE_NOTREADY;
NetServer::SendPacketToPlayer(dp, STOC_HS_PLAYER_CHANGE, scpc);
#endif
STOC_ErrorMsg scem; STOC_ErrorMsg scem;
scem.msg = ERRMSG_DECKERROR; scem.msg = ERRMSG_DECKERROR;
scem.code = 0; scem.code = 0;
...@@ -397,6 +402,9 @@ void TagDuel::UpdateDeck(DuelPlayer* dp, unsigned char* pdata, int len) { ...@@ -397,6 +402,9 @@ void TagDuel::UpdateDeck(DuelPlayer* dp, unsigned char* pdata, int len) {
return; return;
} }
deck_error[dp->type] = DeckManager::LoadDeck(pdeck[dp->type], deckbuf.list, deckbuf.mainc, deckbuf.sidec); deck_error[dp->type] = DeckManager::LoadDeck(pdeck[dp->type], deckbuf.list, deckbuf.mainc, deckbuf.sidec);
#ifdef YGOPRO_SERVER_MODE
PlayerReady(dp, true);
#endif
} }
void TagDuel::StartDuel(DuelPlayer* dp) { void TagDuel::StartDuel(DuelPlayer* dp) {
if(dp != host_player) if(dp != host_player)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment