Commit 12a527b6 authored by mercury233's avatar mercury233
parents 880d484b 58a892a7
...@@ -920,10 +920,12 @@ void Game::DrawDeckBd() { ...@@ -920,10 +920,12 @@ void Game::DrawDeckBd() {
driver->draw2DRectangle(0x80000000, recti(806, 164 + i * 66, 1019, 230 + i * 66)); driver->draw2DRectangle(0x80000000, recti(806, 164 + i * 66, 1019, 230 + i * 66));
DrawThumb(ptr, position2di(810, 165 + i * 66), deckBuilder.filterList); DrawThumb(ptr, position2di(810, 165 + i * 66), deckBuilder.filterList);
if(ptr->second.type & TYPE_MONSTER) { if(ptr->second.type & TYPE_MONSTER) {
int form = 0x2605;
if(ptr->second.type & TYPE_XYZ) ++form;
myswprintf(textBuffer, L"%ls", dataManager.GetName(ptr->first)); myswprintf(textBuffer, L"%ls", dataManager.GetName(ptr->first));
textFont->draw(textBuffer, recti(859, 164 + i * 66, 955, 185 + i * 66), 0xff000000, false, false); textFont->draw(textBuffer, recti(859, 164 + i * 66, 955, 185 + i * 66), 0xff000000, false, false);
textFont->draw(textBuffer, recti(860, 165 + i * 66, 955, 185 + i * 66), 0xffffffff, false, false); textFont->draw(textBuffer, recti(860, 165 + i * 66, 955, 185 + i * 66), 0xffffffff, false, false);
myswprintf(textBuffer, L"%ls/%ls \x2605%d", dataManager.FormatAttribute(ptr->second.attribute), dataManager.FormatRace(ptr->second.race), ptr->second.level); myswprintf(textBuffer, L"%ls/%ls %c%d", dataManager.FormatAttribute(ptr->second.attribute), dataManager.FormatRace(ptr->second.race), form, ptr->second.level);
textFont->draw(textBuffer, recti(859, 186 + i * 66, 955, 207 + i * 66), 0xff000000, false, false); textFont->draw(textBuffer, recti(859, 186 + i * 66, 955, 207 + i * 66), 0xff000000, false, false);
textFont->draw(textBuffer, recti(860, 187 + i * 66, 955, 207 + i * 66), 0xffffffff, false, false); textFont->draw(textBuffer, recti(860, 187 + i * 66, 955, 207 + i * 66), 0xffffffff, false, false);
if(ptr->second.attack < 0 && ptr->second.defence < 0) if(ptr->second.attack < 0 && ptr->second.defence < 0)
...@@ -942,6 +944,8 @@ void Game::DrawDeckBd() { ...@@ -942,6 +944,8 @@ void Game::DrawDeckBd() {
wcscat(textBuffer, L" [OCG]"); wcscat(textBuffer, L" [OCG]");
else if((ptr->second.ot & 0x3) == 2) else if((ptr->second.ot & 0x3) == 2)
wcscat(textBuffer, L" [TCG]"); wcscat(textBuffer, L" [TCG]");
else if((ptr->second.ot & 0x7) == 4)
wcscat(textBuffer, L" [Custom]");
textFont->draw(textBuffer, recti(859, 208 + i * 66, 955, 229 + i * 66), 0xff000000, false, false); textFont->draw(textBuffer, recti(859, 208 + i * 66, 955, 229 + i * 66), 0xff000000, false, false);
textFont->draw(textBuffer, recti(860, 209 + i * 66, 955, 229 + i * 66), 0xffffffff, false, false); textFont->draw(textBuffer, recti(860, 209 + i * 66, 955, 229 + i * 66), 0xffffffff, false, false);
} else { } else {
...@@ -956,6 +960,8 @@ void Game::DrawDeckBd() { ...@@ -956,6 +960,8 @@ void Game::DrawDeckBd() {
wcscat(textBuffer, L"[OCG]"); wcscat(textBuffer, L"[OCG]");
else if((ptr->second.ot & 0x3) == 2) else if((ptr->second.ot & 0x3) == 2)
wcscat(textBuffer, L"[TCG]"); wcscat(textBuffer, L"[TCG]");
else if((ptr->second.ot & 0x7) == 4)
wcscat(textBuffer, L"[Custom]");
textFont->draw(textBuffer, recti(859, 208 + i * 66, 955, 229 + i * 66), 0xff000000, false, false); textFont->draw(textBuffer, recti(859, 208 + i * 66, 955, 229 + i * 66), 0xff000000, false, false);
textFont->draw(textBuffer, recti(860, 209 + i * 66, 955, 229 + i * 66), 0xffffffff, false, false); textFont->draw(textBuffer, recti(860, 209 + i * 66, 955, 229 + i * 66), 0xffffffff, false, false);
} }
......
...@@ -681,6 +681,12 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) { ...@@ -681,6 +681,12 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
mainGame->gMutex.Unlock(); mainGame->gMutex.Unlock();
mainGame->WaitFrameSignal(11); mainGame->WaitFrameSignal(11);
} }
if(mainGame->wOptions->isVisible()) {
mainGame->gMutex.Lock();
mainGame->HideElement(mainGame->wOptions);
mainGame->gMutex.Unlock();
mainGame->WaitFrameSignal(11);
}
} }
if(mainGame->dInfo.time_player == 1) if(mainGame->dInfo.time_player == 1)
mainGame->dInfo.time_player = 2; mainGame->dInfo.time_player = 2;
...@@ -3085,28 +3091,34 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) { ...@@ -3085,28 +3091,34 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
mainGame->dField.AddCard(ccard, p, LOCATION_DECK, seq); mainGame->dField.AddCard(ccard, p, LOCATION_DECK, seq);
mainGame->dField.GetCardLocation(ccard, &ccard->curPos, &ccard->curRot, true); mainGame->dField.GetCardLocation(ccard, &ccard->curPos, &ccard->curRot, true);
} }
val = BufferIO::ReadInt8(pbuf); val = BufferIO::ReadInt8(pbuf);
for(int seq = 0; seq < val; ++seq) { for(int seq = 0; seq < val; ++seq) {
ClientCard* ccard = new ClientCard; ClientCard* ccard = new ClientCard;
mainGame->dField.AddCard(ccard, p, LOCATION_HAND, seq); mainGame->dField.AddCard(ccard, p, LOCATION_HAND, seq);
}
// Use another loop to refresh the hand locations to prevent incorrect positioning
for (int seq = 0; seq < val; ++seq) {
ClientCard* ccard = mainGame->dField.hand[p][seq];
mainGame->dField.GetCardLocation(ccard, &ccard->curPos, &ccard->curRot, true); mainGame->dField.GetCardLocation(ccard, &ccard->curPos, &ccard->curRot, true);
} }
val = BufferIO::ReadInt8(pbuf); val = BufferIO::ReadInt8(pbuf);
for(int seq = 0; seq < val; ++seq) { for(int seq = 0; seq < val; ++seq) {
ClientCard* ccard = new ClientCard; ClientCard* ccard = new ClientCard;
mainGame->dField.AddCard(ccard, p, LOCATION_EXTRA, seq); mainGame->dField.AddCard(ccard, p, LOCATION_GRAVE, seq);
mainGame->dField.GetCardLocation(ccard, &ccard->curPos, &ccard->curRot, true); mainGame->dField.GetCardLocation(ccard, &ccard->curPos, &ccard->curRot, true);
} }
val = BufferIO::ReadInt8(pbuf); val = BufferIO::ReadInt8(pbuf);
for(int seq = 0; seq < val; ++seq) { for(int seq = 0; seq < val; ++seq) {
ClientCard* ccard = new ClientCard; ClientCard* ccard = new ClientCard;
mainGame->dField.AddCard(ccard, p, LOCATION_GRAVE, seq); mainGame->dField.AddCard(ccard, p, LOCATION_REMOVED, seq);
mainGame->dField.GetCardLocation(ccard, &ccard->curPos, &ccard->curRot, true); mainGame->dField.GetCardLocation(ccard, &ccard->curPos, &ccard->curRot, true);
} }
val = BufferIO::ReadInt8(pbuf); val = BufferIO::ReadInt8(pbuf);
for(int seq = 0; seq < val; ++seq) { for(int seq = 0; seq < val; ++seq) {
ClientCard* ccard = new ClientCard; ClientCard* ccard = new ClientCard;
mainGame->dField.AddCard(ccard, p, LOCATION_REMOVED, seq); mainGame->dField.AddCard(ccard, p, LOCATION_EXTRA, seq);
mainGame->dField.GetCardLocation(ccard, &ccard->curPos, &ccard->curRot, true); mainGame->dField.GetCardLocation(ccard, &ccard->curPos, &ccard->curRot, true);
} }
val = BufferIO::ReadInt8(pbuf); val = BufferIO::ReadInt8(pbuf);
......
...@@ -936,19 +936,19 @@ void Game::ShowCardInfo(int code) { ...@@ -936,19 +936,19 @@ void Game::ShowCardInfo(int code) {
if(cd.type & TYPE_MONSTER) { if(cd.type & TYPE_MONSTER) {
myswprintf(formatBuffer, L"[%ls] %ls/%ls", dataManager.FormatType(cd.type), dataManager.FormatRace(cd.race), dataManager.FormatAttribute(cd.attribute)); myswprintf(formatBuffer, L"[%ls] %ls/%ls", dataManager.FormatType(cd.type), dataManager.FormatRace(cd.race), dataManager.FormatAttribute(cd.attribute));
stInfo->setText(formatBuffer); stInfo->setText(formatBuffer);
formatBuffer[0] = L'['; int form = 0x2605;
for(unsigned int i = 1; i <= cd.level; ++i) if(cd.type & TYPE_XYZ) ++form ;
formatBuffer[i] = 0x2605; myswprintf(formatBuffer, L"[%c%d] ",form,cd.level);
formatBuffer[cd.level + 1] = L']'; wchar_t adBuffer[16];
formatBuffer[cd.level + 2] = L' ';
if(cd.attack < 0 && cd.defence < 0) if(cd.attack < 0 && cd.defence < 0)
myswprintf(&formatBuffer[cd.level + 3], L"?/?"); myswprintf(adBuffer, L"?/?");
else if(cd.attack < 0) else if(cd.attack < 0)
myswprintf(&formatBuffer[cd.level + 3], L"?/%d", cd.defence); myswprintf(adBuffer, L"?/%d", cd.defence);
else if(cd.defence < 0) else if(cd.defence < 0)
myswprintf(&formatBuffer[cd.level + 3], L"%d/?", cd.attack); myswprintf(adBuffer, L"%d/?", cd.attack);
else else
myswprintf(&formatBuffer[cd.level + 3], L"%d/%d", cd.attack, cd.defence); myswprintf(adBuffer, L"%d/%d", cd.attack, cd.defence);
wcscat(formatBuffer, adBuffer);
if(cd.type & TYPE_PENDULUM) { if(cd.type & TYPE_PENDULUM) {
wchar_t scaleBuffer[16]; wchar_t scaleBuffer[16];
myswprintf(scaleBuffer, L" %d/%d", cd.lscale, cd.rscale); myswprintf(scaleBuffer, L" %d/%d", cd.lscale, cd.rscale);
......
...@@ -54,7 +54,6 @@ bool MenuHandler::OnEvent(const irr::SEvent& event) { ...@@ -54,7 +54,6 @@ bool MenuHandler::OnEvent(const irr::SEvent& event) {
inet_ntop(AF_INET, &(((struct sockaddr_in *)servinfo->ai_addr)->sin_addr), ip, 20); inet_ntop(AF_INET, &(((struct sockaddr_in *)servinfo->ai_addr)->sin_addr), ip, 20);
freeaddrinfo(servinfo); freeaddrinfo(servinfo);
#else #else
//int status;
char hostname[100]; char hostname[100];
char ip[20]; char ip[20];
const wchar_t* pstr = mainGame->ebJoinIP->getText(); const wchar_t* pstr = mainGame->ebJoinIP->getText();
......
...@@ -86,25 +86,25 @@ int ReplayMode::ReplayThread(void* param) { ...@@ -86,25 +86,25 @@ int ReplayMode::ReplayThread(void* param) {
if(!(opt & DUEL_TAG_MODE)) { if(!(opt & DUEL_TAG_MODE)) {
int main = cur_replay.ReadInt32(); int main = cur_replay.ReadInt32();
for(int i = 0; i < main; ++i) for(int i = 0; i < main; ++i)
new_card(pduel, cur_replay.ReadInt32(), 0, 0, LOCATION_DECK, 0, 0); new_card(pduel, cur_replay.ReadInt32(), 0, 0, LOCATION_DECK, 0, POS_FACEDOWN_DEFENCE);
int extra = cur_replay.ReadInt32(); int extra = cur_replay.ReadInt32();
for(int i = 0; i < extra; ++i) for(int i = 0; i < extra; ++i)
new_card(pduel, cur_replay.ReadInt32(), 0, 0, LOCATION_EXTRA, 0, 0); new_card(pduel, cur_replay.ReadInt32(), 0, 0, LOCATION_EXTRA, 0, POS_FACEDOWN_DEFENCE);
mainGame->dField.Initial(0, main, extra); mainGame->dField.Initial(0, main, extra);
main = cur_replay.ReadInt32(); main = cur_replay.ReadInt32();
for(int i = 0; i < main; ++i) for(int i = 0; i < main; ++i)
new_card(pduel, cur_replay.ReadInt32(), 1, 1, LOCATION_DECK, 0, 0); new_card(pduel, cur_replay.ReadInt32(), 1, 1, LOCATION_DECK, 0, POS_FACEDOWN_DEFENCE);
extra = cur_replay.ReadInt32(); extra = cur_replay.ReadInt32();
for(int i = 0; i < extra; ++i) for(int i = 0; i < extra; ++i)
new_card(pduel, cur_replay.ReadInt32(), 1, 1, LOCATION_EXTRA, 0, 0); new_card(pduel, cur_replay.ReadInt32(), 1, 1, LOCATION_EXTRA, 0, POS_FACEDOWN_DEFENCE);
mainGame->dField.Initial(1, main, extra); mainGame->dField.Initial(1, main, extra);
} else { } else {
int main = cur_replay.ReadInt32(); int main = cur_replay.ReadInt32();
for(int i = 0; i < main; ++i) for(int i = 0; i < main; ++i)
new_card(pduel, cur_replay.ReadInt32(), 0, 0, LOCATION_DECK, 0, 0); new_card(pduel, cur_replay.ReadInt32(), 0, 0, LOCATION_DECK, 0, POS_FACEDOWN_DEFENCE);
int extra = cur_replay.ReadInt32(); int extra = cur_replay.ReadInt32();
for(int i = 0; i < extra; ++i) for(int i = 0; i < extra; ++i)
new_card(pduel, cur_replay.ReadInt32(), 0, 0, LOCATION_EXTRA, 0, 0); new_card(pduel, cur_replay.ReadInt32(), 0, 0, LOCATION_EXTRA, 0, POS_FACEDOWN_DEFENCE);
mainGame->dField.Initial(0, main, extra); mainGame->dField.Initial(0, main, extra);
main = cur_replay.ReadInt32(); main = cur_replay.ReadInt32();
for(int i = 0; i < main; ++i) for(int i = 0; i < main; ++i)
...@@ -114,10 +114,10 @@ int ReplayMode::ReplayThread(void* param) { ...@@ -114,10 +114,10 @@ int ReplayMode::ReplayThread(void* param) {
new_tag_card(pduel, cur_replay.ReadInt32(), 0, LOCATION_EXTRA); new_tag_card(pduel, cur_replay.ReadInt32(), 0, LOCATION_EXTRA);
main = cur_replay.ReadInt32(); main = cur_replay.ReadInt32();
for(int i = 0; i < main; ++i) for(int i = 0; i < main; ++i)
new_card(pduel, cur_replay.ReadInt32(), 1, 1, LOCATION_DECK, 0, 0); new_card(pduel, cur_replay.ReadInt32(), 1, 1, LOCATION_DECK, 0, POS_FACEDOWN_DEFENCE);
extra = cur_replay.ReadInt32(); extra = cur_replay.ReadInt32();
for(int i = 0; i < extra; ++i) for(int i = 0; i < extra; ++i)
new_card(pduel, cur_replay.ReadInt32(), 1, 1, LOCATION_EXTRA, 0, 0); new_card(pduel, cur_replay.ReadInt32(), 1, 1, LOCATION_EXTRA, 0, POS_FACEDOWN_DEFENCE);
mainGame->dField.Initial(1, main, extra); mainGame->dField.Initial(1, main, extra);
main = cur_replay.ReadInt32(); main = cur_replay.ReadInt32();
for(int i = 0; i < main; ++i) for(int i = 0; i < main; ++i)
......
...@@ -459,22 +459,22 @@ void SingleDuel::TPResult(DuelPlayer* dp, unsigned char tp) { ...@@ -459,22 +459,22 @@ void SingleDuel::TPResult(DuelPlayer* dp, unsigned char tp) {
last_replay.Flush(); last_replay.Flush();
last_replay.WriteInt32(pdeck[0].main.size(), false); last_replay.WriteInt32(pdeck[0].main.size(), false);
for(int32 i = (int32)pdeck[0].main.size() - 1; i >= 0; --i) { for(int32 i = (int32)pdeck[0].main.size() - 1; i >= 0; --i) {
new_card(pduel, pdeck[0].main[i]->first, 0, 0, LOCATION_DECK, 0, 0); new_card(pduel, pdeck[0].main[i]->first, 0, 0, LOCATION_DECK, 0, POS_FACEDOWN_DEFENCE);
last_replay.WriteInt32(pdeck[0].main[i]->first, false); last_replay.WriteInt32(pdeck[0].main[i]->first, false);
} }
last_replay.WriteInt32(pdeck[0].extra.size(), false); last_replay.WriteInt32(pdeck[0].extra.size(), false);
for(int32 i = (int32)pdeck[0].extra.size() - 1; i >= 0; --i) { for(int32 i = (int32)pdeck[0].extra.size() - 1; i >= 0; --i) {
new_card(pduel, pdeck[0].extra[i]->first, 0, 0, LOCATION_EXTRA, 0, 0); new_card(pduel, pdeck[0].extra[i]->first, 0, 0, LOCATION_EXTRA, 0, POS_FACEDOWN_DEFENCE);
last_replay.WriteInt32(pdeck[0].extra[i]->first, false); last_replay.WriteInt32(pdeck[0].extra[i]->first, false);
} }
last_replay.WriteInt32(pdeck[1].main.size(), false); last_replay.WriteInt32(pdeck[1].main.size(), false);
for(int32 i = (int32)pdeck[1].main.size() - 1; i >= 0; --i) { for(int32 i = (int32)pdeck[1].main.size() - 1; i >= 0; --i) {
new_card(pduel, pdeck[1].main[i]->first, 1, 1, LOCATION_DECK, 0, 0); new_card(pduel, pdeck[1].main[i]->first, 1, 1, LOCATION_DECK, 0, POS_FACEDOWN_DEFENCE);
last_replay.WriteInt32(pdeck[1].main[i]->first, false); last_replay.WriteInt32(pdeck[1].main[i]->first, false);
} }
last_replay.WriteInt32(pdeck[1].extra.size(), false); last_replay.WriteInt32(pdeck[1].extra.size(), false);
for(int32 i = (int32)pdeck[1].extra.size() - 1; i >= 0; --i) { for(int32 i = (int32)pdeck[1].extra.size() - 1; i >= 0; --i) {
new_card(pduel, pdeck[1].extra[i]->first, 1, 1, LOCATION_EXTRA, 0, 0); new_card(pduel, pdeck[1].extra[i]->first, 1, 1, LOCATION_EXTRA, 0, POS_FACEDOWN_DEFENCE);
last_replay.WriteInt32(pdeck[1].extra[i]->first, false); last_replay.WriteInt32(pdeck[1].extra[i]->first, false);
} }
last_replay.Flush(); last_replay.Flush();
......
...@@ -429,12 +429,12 @@ void TagDuel::TPResult(DuelPlayer* dp, unsigned char tp) { ...@@ -429,12 +429,12 @@ void TagDuel::TPResult(DuelPlayer* dp, unsigned char tp) {
// //
last_replay.WriteInt32(pdeck[0].main.size(), false); last_replay.WriteInt32(pdeck[0].main.size(), false);
for(int32 i = (int32)pdeck[0].main.size() - 1; i >= 0; --i) { for(int32 i = (int32)pdeck[0].main.size() - 1; i >= 0; --i) {
new_card(pduel, pdeck[0].main[i]->first, 0, 0, LOCATION_DECK, 0, 0); new_card(pduel, pdeck[0].main[i]->first, 0, 0, LOCATION_DECK, 0, POS_FACEDOWN_DEFENCE);
last_replay.WriteInt32(pdeck[0].main[i]->first, false); last_replay.WriteInt32(pdeck[0].main[i]->first, false);
} }
last_replay.WriteInt32(pdeck[0].extra.size(), false); last_replay.WriteInt32(pdeck[0].extra.size(), false);
for(int32 i = (int32)pdeck[0].extra.size() - 1; i >= 0; --i) { for(int32 i = (int32)pdeck[0].extra.size() - 1; i >= 0; --i) {
new_card(pduel, pdeck[0].extra[i]->first, 0, 0, LOCATION_EXTRA, 0, 0); new_card(pduel, pdeck[0].extra[i]->first, 0, 0, LOCATION_EXTRA, 0, POS_FACEDOWN_DEFENCE);
last_replay.WriteInt32(pdeck[0].extra[i]->first, false); last_replay.WriteInt32(pdeck[0].extra[i]->first, false);
} }
// //
...@@ -451,12 +451,12 @@ void TagDuel::TPResult(DuelPlayer* dp, unsigned char tp) { ...@@ -451,12 +451,12 @@ void TagDuel::TPResult(DuelPlayer* dp, unsigned char tp) {
// //
last_replay.WriteInt32(pdeck[3].main.size(), false); last_replay.WriteInt32(pdeck[3].main.size(), false);
for(int32 i = (int32)pdeck[3].main.size() - 1; i >= 0; --i) { for(int32 i = (int32)pdeck[3].main.size() - 1; i >= 0; --i) {
new_card(pduel, pdeck[3].main[i]->first, 1, 1, LOCATION_DECK, 0, 0); new_card(pduel, pdeck[3].main[i]->first, 1, 1, LOCATION_DECK, 0, POS_FACEDOWN_DEFENCE);
last_replay.WriteInt32(pdeck[3].main[i]->first, false); last_replay.WriteInt32(pdeck[3].main[i]->first, false);
} }
last_replay.WriteInt32(pdeck[3].extra.size(), false); last_replay.WriteInt32(pdeck[3].extra.size(), false);
for(int32 i = (int32)pdeck[3].extra.size() - 1; i >= 0; --i) { for(int32 i = (int32)pdeck[3].extra.size() - 1; i >= 0; --i) {
new_card(pduel, pdeck[3].extra[i]->first, 1, 1, LOCATION_EXTRA, 0, 0); new_card(pduel, pdeck[3].extra[i]->first, 1, 1, LOCATION_EXTRA, 0, POS_FACEDOWN_DEFENCE);
last_replay.WriteInt32(pdeck[3].extra[i]->first, false); last_replay.WriteInt32(pdeck[3].extra[i]->first, false);
} }
// //
......
Subproject commit febeec6fcc51217d2d4f877911304021a6f8f882 Subproject commit 1f7161806ce0ce348a7aa882faf372cc014786c8
Subproject commit 3f155a114706ec58ae1243e04201ad792756c0e6 Subproject commit 53a774f84c4896ab576c66661c0243243aa8fef0
...@@ -75,13 +75,13 @@ ...@@ -75,13 +75,13 @@
!system 510 请选择要盖放的卡 !system 510 请选择要盖放的卡
!system 511 请选择融合召唤的素材 !system 511 请选择融合召唤的素材
!system 512 请选择同调召唤的素材 !system 512 请选择同调召唤的素材
!system 513 请选择超召唤的素材 !system 513 请选择超召唤的素材
!system 514 请选择表侧表示的卡 !system 514 请选择表侧表示的卡
!system 515 请选择里侧表示的卡 !system 515 请选择里侧表示的卡
!system 516 请选择攻击表示的怪兽 !system 516 请选择攻击表示的怪兽
!system 517 请选择守备表示的怪兽 !system 517 请选择守备表示的怪兽
!system 518 请选择要装备的卡 !system 518 请选择要装备的卡
!system 519 请选择要取除的超素材 !system 519 请选择要取除的超素材
!system 520 请选择要改变控制权的怪兽 !system 520 请选择要改变控制权的怪兽
!system 521 请选择要代替破坏的卡 !system 521 请选择要代替破坏的卡
!system 522 请选择表侧攻击表示的怪兽 !system 522 请选择表侧攻击表示的怪兽
...@@ -94,7 +94,7 @@ ...@@ -94,7 +94,7 @@
!system 529 请选择自己的卡 !system 529 请选择自己的卡
!system 530 请选择对方的卡 !system 530 请选择对方的卡
!system 531 请选择上级召唤用需要解放的怪兽: !system 531 请选择上级召唤用需要解放的怪兽:
!system 532 请选择要取除超素材的怪兽 !system 532 请选择要取除超素材的怪兽
!system 550 请选择要发动的效果 !system 550 请选择要发动的效果
!system 551 请选择效果的对象 !system 551 请选择效果的对象
!system 552 请选择硬币的正反面 !system 552 请选择硬币的正反面
...@@ -173,7 +173,7 @@ ...@@ -173,7 +173,7 @@
!system 1070 反击 !system 1070 反击
!system 1071 反转 !system 1071 反转
!system 1072 卡通 !system 1072 卡通
!system 1073 !system 1073
!system 1074 灵摆 !system 1074 灵摆
!system 1080 (N/A) !system 1080 (N/A)
#GUI #GUI
...@@ -207,7 +207,7 @@ ...@@ -207,7 +207,7 @@
!system 1127 幸运 !system 1127 幸运
!system 1128 融合相关 !system 1128 融合相关
!system 1129 同调相关 !system 1129 同调相关
!system 1130相关 !system 1130相关
!system 1131 效果无效 !system 1131 效果无效
#actions #actions
!system 1150 发动 !system 1150 发动
...@@ -220,6 +220,7 @@ ...@@ -220,6 +220,7 @@
!system 1157 攻击 !system 1157 攻击
!system 1158 查看列表 !system 1158 查看列表
!system 1159 当魔法卡放置 !system 1159 当魔法卡放置
!system 1160 在灵摆区域发动
#menu #menu
!system 1200 联机模式 !system 1200 联机模式
!system 1201 残局模式 !system 1201 残局模式
......
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