Commit 9e939145 authored by mercury233's avatar mercury233

update

parents 2e237987 59f42223
No preview for this file type
......@@ -1613,6 +1613,7 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
l = pcard->location;
if (l == LOCATION_HAND) {
mainGame->dField.MoveCard(pcard, 5);
pcard->is_highlighting = true;
} else if (l == LOCATION_MZONE) {
if (pcard->position & POS_FACEUP)
continue;
......@@ -1632,9 +1633,14 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
pcard->aniFrame = 5;
}
}
mainGame->WaitFrameSignal(90);
if (mainGame->dInfo.isReplay)
mainGame->WaitFrameSignal(30);
else
mainGame->WaitFrameSignal(90);
for(size_t i = 0; i < field_confirm.size(); ++i) {
mainGame->dField.MoveCard(field_confirm[i], 5);
pcard = field_confirm[i];
mainGame->dField.MoveCard(pcard, 5);
pcard->is_highlighting = false;
}
mainGame->WaitFrameSignal(5);
}
......
......@@ -22,6 +22,7 @@ extern unsigned char draw_count;
bool runasserver = true;
SingleDuel::SingleDuel(bool is_match) {
game_started = false;
match_mode = is_match;
match_kill = 0;
for(int i = 0; i < 2; ++i) {
......@@ -196,7 +197,7 @@ void SingleDuel::LeaveGame(DuelPlayer* dp) {
}
if(dp->type == NETPLAYER_TYPE_OBSERVER) {
observers.erase(dp);
if(!pduel) {
if(!game_started) {
STOC_HS_WatchChange scwc;
scwc.watch_count = observers.size();
if(players[0])
......@@ -208,7 +209,7 @@ void SingleDuel::LeaveGame(DuelPlayer* dp) {
}
NetServer::DisconnectPlayer(dp);
} else {
if(!pduel && duel_count == 0) {
if(!game_started && duel_count == 0) {
STOC_HS_PlayerChange scpc;
players[dp->type] = 0;
ready[dp->type] = false;
......@@ -221,7 +222,7 @@ void SingleDuel::LeaveGame(DuelPlayer* dp) {
NetServer::SendPacketToPlayer(*pit, STOC_HS_PLAYER_CHANGE, scpc);
NetServer::DisconnectPlayer(dp);
} else {
if(!pduel) {
if(!game_started) {
if(!ready[0])
NetServer::SendPacketToPlayer(players[0], STOC_DUEL_START);
if(!ready[1])
......@@ -361,6 +362,7 @@ void SingleDuel::StartDuel(DuelPlayer* dp) {
return;
NetServer::StopListen();
//NetServer::StopBroadcast();
game_started = true;
NetServer::SendPacketToPlayer(players[0], STOC_DUEL_START);
NetServer::ReSendToPlayer(players[1]);
for(auto oit = observers.begin(); oit != observers.end(); ++oit) {
......
......@@ -52,6 +52,7 @@ protected:
Replay last_replay;
bool match_mode;
int match_kill;
bool game_started;
unsigned char duel_count;
unsigned char tp_player;
unsigned char match_result[3];
......
......@@ -21,6 +21,7 @@ extern unsigned char start_hand;
extern unsigned char draw_count;
TagDuel::TagDuel() {
game_started = false;
for(int i = 0; i < 4; ++i) {
players[i] = 0;
ready[i] = false;
......@@ -174,7 +175,7 @@ void TagDuel::LeaveGame(DuelPlayer* dp) {
}
if(dp->type == NETPLAYER_TYPE_OBSERVER) {
observers.erase(dp);
if(!pduel) {
if(!game_started) {
STOC_HS_WatchChange scwc;
scwc.watch_count = observers.size();
for(int i = 0; i < 4; ++i)
......@@ -185,7 +186,7 @@ void TagDuel::LeaveGame(DuelPlayer* dp) {
}
NetServer::DisconnectPlayer(dp);
} else {
if(!pduel) {
if(!game_started) {
STOC_HS_PlayerChange scpc;
players[dp->type] = 0;
ready[dp->type] = false;
......@@ -318,6 +319,7 @@ void TagDuel::StartDuel(DuelPlayer* dp) {
if(!ready[0] || !ready[1] || !ready[2] || !ready[3])
return;
NetServer::StopListen();
game_started = true;
//NetServer::StopBroadcast();
for(int i = 0; i < 4; ++i)
NetServer::SendPacketToPlayer(players[i], STOC_DUEL_START);
......
......@@ -51,6 +51,7 @@ protected:
unsigned char hand_result[2];
unsigned char last_response;
Replay last_replay;
bool game_started;
unsigned char turn_count;
unsigned short time_limit[2];
unsigned short time_elapsed;
......
Subproject commit 0b4345e70fa2fe3e2bf4518076df907acd4c00d8
Subproject commit ad00a8e3ce4f8015c2ef0e27caae6568682a5334
Subproject commit 223f7b7ae6247430699d4b643a2eeac7cf0681d1
Subproject commit c75936f93ccea5a0739b46f8ccecd23ee4b5abd6
......@@ -762,3 +762,6 @@
!setname 0xe9 磁石战士 磁石の戦士(じしゃくのせんし)
!setname 0xea 水晶机巧 クリストロン
!setname 0xeb 化合兽 化合獣
#!setname 0xec 魔界 魔界
!setname 0x10ec 魔界剧团 魔界劇団
!setname 0x20ec 魔界台本 魔界台本
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