Commit ba264204 authored by Fluorohydride's avatar Fluorohydride

'fix'

parent b254f2e1
......@@ -870,9 +870,9 @@ int SingleDuel::Analyze(char* msgbuffer, unsigned int len) {
int cp = pbuf[11];
pbuf += 16;
if(cl == LOCATION_REMOVED && (cp & POS_FACEDOWN)) {
BufferIO::WriteInt32(pbufw, 0);
NetServer::SendBufferToPlayer(players[cc], STOC_GAME_MSG, offset, pbuf - offset);
NetServer::ReSendToPlayer(players[1 - cc]);
BufferIO::WriteInt32(pbufw, 0);
NetServer::SendBufferToPlayer(players[1 - cc], STOC_GAME_MSG, offset, pbuf - offset);
for(auto oit = observers.begin(); oit != observers.end(); ++oit)
NetServer::ReSendToPlayer(*oit);
} else {
......@@ -1442,9 +1442,9 @@ void SingleDuel::RefreshSingle(int player, int location, int sequence, int flag)
BufferIO::WriteInt8(qbuf, location);
BufferIO::WriteInt8(qbuf, sequence);
int len = query_card(pduel, player, location, sequence, flag, (unsigned char*)qbuf, 0);
NetServer::SendBufferToPlayer(players[player], STOC_GAME_MSG, query_buffer, len + 4);
if(location == LOCATION_REMOVED && (qbuf[15] & POS_FACEDOWN))
return;
NetServer::SendBufferToPlayer(players[player], STOC_GAME_MSG, query_buffer, len + 4);
if ((location & 0x90) || ((location & 0x2c) && (qbuf[15] & POS_FACEUP))) {
NetServer::ReSendToPlayer(players[1 - player]);
for(auto pit = observers.begin(); pit != observers.end(); ++pit)
......
......@@ -1525,8 +1525,6 @@ void TagDuel::RefreshSingle(int player, int location, int sequence, int flag) {
BufferIO::WriteInt8(qbuf, location);
BufferIO::WriteInt8(qbuf, sequence);
int len = query_card(pduel, player, location, sequence, flag, (unsigned char*)qbuf, 0);
if(location == LOCATION_REMOVED && (qbuf[15] & POS_FACEDOWN))
return;
if(location & LOCATION_ONFIELD) {
int pid = (player == 0) ? 0 : 2;
NetServer::SendBufferToPlayer(players[pid], STOC_GAME_MSG, query_buffer, len + 4);
......@@ -1535,9 +1533,15 @@ void TagDuel::RefreshSingle(int player, int location, int sequence, int flag) {
pid = 2 - pid;
NetServer::SendBufferToPlayer(players[pid], STOC_GAME_MSG, query_buffer, len + 4);
NetServer::ReSendToPlayer(players[pid + 1]);
for(auto pit = observers.begin(); pit != observers.end(); ++pit)
NetServer::ReSendToPlayer(*pit);
}
} else {
NetServer::SendBufferToPlayer(cur_player[player], STOC_GAME_MSG, query_buffer, len + 4);
int pid = (player == 0) ? 0 : 2;
NetServer::SendBufferToPlayer(players[pid], STOC_GAME_MSG, query_buffer, len + 4);
NetServer::ReSendToPlayer(players[pid + 1]);
if(location == LOCATION_REMOVED && (qbuf[15] & POS_FACEDOWN))
return;
if (location & 0x90) {
for(int i = 0; i < 4; ++i)
if(players[i] != cur_player[player])
......
......@@ -7,6 +7,7 @@ function c95727991.initial_effect(c)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1)
e1:SetCost(c95727991.cost)
e1:SetTarget(c95727991.target)
e1:SetOperation(c95727991.operation)
......
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