Commit e9e70b7c authored by Momobako's avatar Momobako

Merge branch 'master' of /root/7210

parents b78038c2 be1dfdbf
...@@ -961,6 +961,9 @@ int SingleDuel::Analyze(char* msgbuffer, unsigned int len) { ...@@ -961,6 +961,9 @@ int SingleDuel::Analyze(char* msgbuffer, unsigned int len) {
NetServer::ReSendToPlayer(players[1]); NetServer::ReSendToPlayer(players[1]);
for (auto oit = observers.begin(); oit != observers.end(); ++oit) for (auto oit = observers.begin(); oit != observers.end(); ++oit)
NetServer::ReSendToPlayer(*oit); NetServer::ReSendToPlayer(*oit);
#ifdef YGOPRO_SERVER_MODE
NetServer::ReSendToPlayers(cache_recorder, replay_recorder);
#endif
break; break;
} }
case MSG_CONFIRM_CARDS: { case MSG_CONFIRM_CARDS: {
...@@ -1014,11 +1017,17 @@ int SingleDuel::Analyze(char* msgbuffer, unsigned int len) { ...@@ -1014,11 +1017,17 @@ int SingleDuel::Analyze(char* msgbuffer, unsigned int len) {
player = BufferIO::ReadInt8(pbuf); player = BufferIO::ReadInt8(pbuf);
count = BufferIO::ReadInt8(pbuf); count = BufferIO::ReadInt8(pbuf);
NetServer::SendBufferToPlayer(players[player], STOC_GAME_MSG, offset, (pbuf - offset) + count * 4); NetServer::SendBufferToPlayer(players[player], STOC_GAME_MSG, offset, (pbuf - offset) + count * 4);
#ifdef YGOPRO_SERVER_MODE
NetServer::ReSendToPlayer(replay_recorder);
#endif
for (int i = 0; i < count; ++i) for (int i = 0; i < count; ++i)
BufferIO::WriteInt32(pbuf, 0); BufferIO::WriteInt32(pbuf, 0);
NetServer::SendBufferToPlayer(players[1 - player], STOC_GAME_MSG, offset, pbuf - offset); NetServer::SendBufferToPlayer(players[1 - player], STOC_GAME_MSG, offset, pbuf - offset);
for (auto oit = observers.begin(); oit != observers.end(); ++oit) for (auto oit = observers.begin(); oit != observers.end(); ++oit)
NetServer::ReSendToPlayer(*oit); NetServer::ReSendToPlayer(*oit);
#ifdef YGOPRO_SERVER_MODE
NetServer::ReSendToPlayer(cache_recorder);
#endif
RefreshExtra(player); RefreshExtra(player);
break; break;
} }
......
...@@ -883,6 +883,9 @@ int TagDuel::Analyze(char* msgbuffer, unsigned int len) { ...@@ -883,6 +883,9 @@ int TagDuel::Analyze(char* msgbuffer, unsigned int len) {
NetServer::ReSendToPlayer(players[3]); NetServer::ReSendToPlayer(players[3]);
for (auto oit = observers.begin(); oit != observers.end(); ++oit) for (auto oit = observers.begin(); oit != observers.end(); ++oit)
NetServer::ReSendToPlayer(*oit); NetServer::ReSendToPlayer(*oit);
#ifdef YGOPRO_SERVER_MODE
NetServer::ReSendToPlayers(cache_recorder, replay_recorder);
#endif
break; break;
} }
case MSG_CONFIRM_CARDS: { case MSG_CONFIRM_CARDS: {
...@@ -942,6 +945,9 @@ int TagDuel::Analyze(char* msgbuffer, unsigned int len) { ...@@ -942,6 +945,9 @@ int TagDuel::Analyze(char* msgbuffer, unsigned int len) {
player = BufferIO::ReadInt8(pbuf); player = BufferIO::ReadInt8(pbuf);
count = BufferIO::ReadInt8(pbuf); count = BufferIO::ReadInt8(pbuf);
NetServer::SendBufferToPlayer(cur_player[player], STOC_GAME_MSG, offset, (pbuf - offset) + count * 4); NetServer::SendBufferToPlayer(cur_player[player], STOC_GAME_MSG, offset, (pbuf - offset) + count * 4);
#ifdef YGOPRO_SERVER_MODE
NetServer::ReSendToPlayer(replay_recorder);
#endif
for(int i = 0; i < count; ++i) for(int i = 0; i < count; ++i)
BufferIO::WriteInt32(pbuf, 0); BufferIO::WriteInt32(pbuf, 0);
for(int i = 0; i < 4; ++i) for(int i = 0; i < 4; ++i)
...@@ -949,6 +955,9 @@ int TagDuel::Analyze(char* msgbuffer, unsigned int len) { ...@@ -949,6 +955,9 @@ int TagDuel::Analyze(char* msgbuffer, unsigned int len) {
NetServer::SendBufferToPlayer(players[i], STOC_GAME_MSG, offset, pbuf - offset); NetServer::SendBufferToPlayer(players[i], STOC_GAME_MSG, offset, pbuf - offset);
for(auto oit = observers.begin(); oit != observers.end(); ++oit) for(auto oit = observers.begin(); oit != observers.end(); ++oit)
NetServer::ReSendToPlayer(*oit); NetServer::ReSendToPlayer(*oit);
#ifdef YGOPRO_SERVER_MODE
NetServer::ReSendToPlayer(cache_recorder);
#endif
RefreshExtra(player); RefreshExtra(player);
break; break;
} }
......
...@@ -4402,6 +4402,8 @@ int32 field::change_position(uint16 step, group * targets, effect * reason_effec ...@@ -4402,6 +4402,8 @@ int32 field::change_position(uint16 step, group * targets, effect * reason_effec
if((opos & POS_FACEUP) && (npos & POS_FACEDOWN)) { if((opos & POS_FACEUP) && (npos & POS_FACEDOWN)) {
if(pcard->get_type() & TYPE_TRAPMONSTER) if(pcard->get_type() & TYPE_TRAPMONSTER)
trapmonster = true; trapmonster = true;
if(pcard->status & (STATUS_SUMMON_DISABLED | STATUS_ACTIVATE_DISABLED))
pcard->set_status(STATUS_SUMMON_DISABLED | STATUS_ACTIVATE_DISABLED, FALSE);
pcard->reset(RESET_TURN_SET, RESET_EVENT); pcard->reset(RESET_TURN_SET, RESET_EVENT);
pcard->set_status(STATUS_SET_TURN, TRUE); pcard->set_status(STATUS_SET_TURN, TRUE);
pcard->enable_field_effect(false); pcard->enable_field_effect(false);
......
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