Commit 552a7886 authored by mercury233's avatar mercury233
parents 5946d6d5 7123d072
...@@ -18,7 +18,7 @@ A script engine for "yu-gi-oh!" and sample gui ...@@ -18,7 +18,7 @@ A script engine for "yu-gi-oh!" and sample gui
* White = your card, Grey = your opponent's card * White = your card, Grey = your opponent's card
####Text: ####Text:
Cards in extra deck or removed: Cards in deck, extra deck and banished zone:
* Black = face-up, Blue = face-down * Black = face-up, Blue = face-down
Xyz materials: Xyz materials:
......
...@@ -19,7 +19,6 @@ ClientCard::ClientCard() { ...@@ -19,7 +19,6 @@ ClientCard::ClientCard() {
is_highlighting = false; is_highlighting = false;
is_disabled = false; is_disabled = false;
is_reversed = false; is_reversed = false;
is_conti = false;
cmdFlag = 0; cmdFlag = 0;
code = 0; code = 0;
chain_code = 0; chain_code = 0;
......
...@@ -63,7 +63,6 @@ public: ...@@ -63,7 +63,6 @@ public:
bool is_showtarget; bool is_showtarget;
bool is_highlighting; bool is_highlighting;
bool is_reversed; bool is_reversed;
bool is_conti;
u32 code; u32 code;
u32 chain_code; u32 chain_code;
u32 alias; u32 alias;
......
...@@ -23,6 +23,7 @@ ClientField::ClientField() { ...@@ -23,6 +23,7 @@ ClientField::ClientField() {
pzone_act[1] = false; pzone_act[1] = false;
conti_act = false; conti_act = false;
deck_reversed = false; deck_reversed = false;
conti_selecting = false;
for(int p = 0; p < 2; ++p) { for(int p = 0; p < 2; ++p) {
for(int i = 0; i < 5; ++i) for(int i = 0; i < 5; ++i)
mzone[p].push_back(0); mzone[p].push_back(0);
...@@ -90,6 +91,7 @@ void ClientField::Initial(int player, int deckc, int extrac) { ...@@ -90,6 +91,7 @@ void ClientField::Initial(int player, int deckc, int extrac) {
pcard->controler = player; pcard->controler = player;
pcard->location = 0x1; pcard->location = 0x1;
pcard->sequence = i; pcard->sequence = i;
pcard->position = POS_FACEDOWN_DEFENSE;
GetCardLocation(pcard, &pcard->curPos, &pcard->curRot); GetCardLocation(pcard, &pcard->curPos, &pcard->curRot);
pcard->mTransform.setTranslation(pcard->curPos); pcard->mTransform.setTranslation(pcard->curPos);
pcard->mTransform.setRotationRadians(pcard->curRot); pcard->mTransform.setRotationRadians(pcard->curRot);
...@@ -354,7 +356,6 @@ void ClientField::ClearChainSelect() { ...@@ -354,7 +356,6 @@ void ClientField::ClearChainSelect() {
(*cit)->chain_code = 0; (*cit)->chain_code = 0;
(*cit)->is_selectable = false; (*cit)->is_selectable = false;
(*cit)->is_selected = false; (*cit)->is_selected = false;
(*cit)->is_conti = false;
} }
conti_cards.clear(); conti_cards.clear();
grave_act = false; grave_act = false;
...@@ -375,9 +376,10 @@ void ClientField::ShowSelectCard(bool buttonok, bool chain) { ...@@ -375,9 +376,10 @@ void ClientField::ShowSelectCard(bool buttonok, bool chain) {
} }
for(size_t i = 0; i < ct; ++i) { for(size_t i = 0; i < ct; ++i) {
mainGame->stCardPos[i]->enableOverrideColor(false); mainGame->stCardPos[i]->enableOverrideColor(false);
// image
if(selectable_cards[i]->code) if(selectable_cards[i]->code)
mainGame->imageLoading.insert(std::make_pair(mainGame->btnCardSelect[i], selectable_cards[i]->code)); mainGame->imageLoading.insert(std::make_pair(mainGame->btnCardSelect[i], selectable_cards[i]->code));
else if(chain) else if(conti_selecting)
mainGame->imageLoading.insert(std::make_pair(mainGame->btnCardSelect[i], selectable_cards[i]->chain_code)); mainGame->imageLoading.insert(std::make_pair(mainGame->btnCardSelect[i], selectable_cards[i]->chain_code));
else else
mainGame->btnCardSelect[i]->setImage(imageManager.tCover[0]); mainGame->btnCardSelect[i]->setImage(imageManager.tCover[0]);
...@@ -385,8 +387,9 @@ void ClientField::ShowSelectCard(bool buttonok, bool chain) { ...@@ -385,8 +387,9 @@ void ClientField::ShowSelectCard(bool buttonok, bool chain) {
mainGame->btnCardSelect[i]->setPressed(false); mainGame->btnCardSelect[i]->setPressed(false);
mainGame->btnCardSelect[i]->setVisible(true); mainGame->btnCardSelect[i]->setVisible(true);
if(mainGame->dInfo.curMsg != MSG_SORT_CHAIN && mainGame->dInfo.curMsg != MSG_SORT_CARD) { if(mainGame->dInfo.curMsg != MSG_SORT_CHAIN && mainGame->dInfo.curMsg != MSG_SORT_CARD) {
// text
wchar_t formatBuffer[2048]; wchar_t formatBuffer[2048];
if(chain && selectable_cards[i]->is_conti && !selectable_cards[i]->code) if(conti_selecting)
myswprintf(formatBuffer, L"%ls", DataManager::unknown_string); myswprintf(formatBuffer, L"%ls", DataManager::unknown_string);
else if(selectable_cards[i]->location == LOCATION_OVERLAY) else if(selectable_cards[i]->location == LOCATION_OVERLAY)
myswprintf(formatBuffer, L"%ls[%d](%d)", myswprintf(formatBuffer, L"%ls[%d](%d)",
...@@ -396,13 +399,16 @@ void ClientField::ShowSelectCard(bool buttonok, bool chain) { ...@@ -396,13 +399,16 @@ void ClientField::ShowSelectCard(bool buttonok, bool chain) {
myswprintf(formatBuffer, L"%ls[%d]", dataManager.FormatLocation(selectable_cards[i]->location, selectable_cards[i]->sequence), myswprintf(formatBuffer, L"%ls[%d]", dataManager.FormatLocation(selectable_cards[i]->location, selectable_cards[i]->sequence),
selectable_cards[i]->sequence + 1); selectable_cards[i]->sequence + 1);
mainGame->stCardPos[i]->setText(formatBuffer); mainGame->stCardPos[i]->setText(formatBuffer);
if(selectable_cards[i]->location == LOCATION_OVERLAY) { // color
if(conti_selecting)
mainGame->stCardPos[i]->setBackgroundColor(0xffffffff);
else if(selectable_cards[i]->location == LOCATION_OVERLAY) {
if(selectable_cards[i]->owner != selectable_cards[i]->overlayTarget->controler) if(selectable_cards[i]->owner != selectable_cards[i]->overlayTarget->controler)
mainGame->stCardPos[i]->setOverrideColor(0xff0000ff); mainGame->stCardPos[i]->setOverrideColor(0xff0000ff);
if(selectable_cards[i]->overlayTarget->controler) if(selectable_cards[i]->overlayTarget->controler)
mainGame->stCardPos[i]->setBackgroundColor(0xffd0d0d0); mainGame->stCardPos[i]->setBackgroundColor(0xffd0d0d0);
else mainGame->stCardPos[i]->setBackgroundColor(0xffffffff); else mainGame->stCardPos[i]->setBackgroundColor(0xffffffff);
} else if(selectable_cards[i]->location == LOCATION_EXTRA || selectable_cards[i]->location == LOCATION_REMOVED) { } else if(selectable_cards[i]->location == LOCATION_DECK || selectable_cards[i]->location == LOCATION_EXTRA || selectable_cards[i]->location == LOCATION_REMOVED) {
if(selectable_cards[i]->position & POS_FACEDOWN) if(selectable_cards[i]->position & POS_FACEDOWN)
mainGame->stCardPos[i]->setOverrideColor(0xff0000ff); mainGame->stCardPos[i]->setOverrideColor(0xff0000ff);
if(selectable_cards[i]->controler) if(selectable_cards[i]->controler)
......
...@@ -77,6 +77,7 @@ public: ...@@ -77,6 +77,7 @@ public:
ChainInfo current_chain; ChainInfo current_chain;
bool last_chain; bool last_chain;
bool deck_reversed; bool deck_reversed;
bool conti_selecting;
ClientField(); ClientField();
void Clear(); void Clear();
......
...@@ -844,6 +844,7 @@ void Game::HideElement(irr::gui::IGUIElement * win, bool set_action) { ...@@ -844,6 +844,7 @@ void Game::HideElement(irr::gui::IGUIElement * win, bool set_action) {
if(win == wCardSelect) { if(win == wCardSelect) {
for(int i = 0; i < 5; ++i) for(int i = 0; i < 5; ++i)
btnCardSelect[i]->setDrawImage(false); btnCardSelect[i]->setDrawImage(false);
dField.conti_selecting = false;
} }
if(win == wCardDisplay) { if(win == wCardDisplay) {
for(int i = 0; i < 5; ++i) for(int i = 0; i < 5; ++i)
......
...@@ -1217,13 +1217,11 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) { ...@@ -1217,13 +1217,11 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
mainGame->dField.activatable_descs.push_back(std::make_pair(desc, flag)); mainGame->dField.activatable_descs.push_back(std::make_pair(desc, flag));
pcard->is_selected = false; pcard->is_selected = false;
if(flag == EDESC_OPERATION) { if(flag == EDESC_OPERATION) {
pcard->is_conti = true;
pcard->chain_code = code; pcard->chain_code = code;
mainGame->dField.conti_cards.push_back(pcard); mainGame->dField.conti_cards.push_back(pcard);
mainGame->dField.conti_act = true; mainGame->dField.conti_act = true;
conti_exist = true; conti_exist = true;
} else { } else {
pcard->chain_code = code;
pcard->is_selectable = true; pcard->is_selectable = true;
if(flag == EDESC_RESET) if(flag == EDESC_RESET)
pcard->cmdFlag |= COMMAND_RESET; pcard->cmdFlag |= COMMAND_RESET;
...@@ -1426,7 +1424,7 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) { ...@@ -1426,7 +1424,7 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
case MSG_SELECT_COUNTER: { case MSG_SELECT_COUNTER: {
/*int selecting_player = */BufferIO::ReadInt8(pbuf); /*int selecting_player = */BufferIO::ReadInt8(pbuf);
mainGame->dField.select_counter_type = BufferIO::ReadInt16(pbuf); mainGame->dField.select_counter_type = BufferIO::ReadInt16(pbuf);
mainGame->dField.select_counter_count = BufferIO::ReadInt8(pbuf); mainGame->dField.select_counter_count = BufferIO::ReadInt16(pbuf);
int count = BufferIO::ReadInt8(pbuf); int count = BufferIO::ReadInt8(pbuf);
mainGame->dField.selectable_cards.clear(); mainGame->dField.selectable_cards.clear();
int c, l, s, t/*, code*/; int c, l, s, t/*, code*/;
...@@ -1436,7 +1434,7 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) { ...@@ -1436,7 +1434,7 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
c = mainGame->LocalPlayer(BufferIO::ReadInt8(pbuf)); c = mainGame->LocalPlayer(BufferIO::ReadInt8(pbuf));
l = BufferIO::ReadInt8(pbuf); l = BufferIO::ReadInt8(pbuf);
s = BufferIO::ReadInt8(pbuf); s = BufferIO::ReadInt8(pbuf);
t = BufferIO::ReadInt8(pbuf); t = BufferIO::ReadInt16(pbuf);
pcard = mainGame->dField.GetCard(c, l, s); pcard = mainGame->dField.GetCard(c, l, s);
mainGame->dField.selectable_cards.push_back(pcard); mainGame->dField.selectable_cards.push_back(pcard);
pcard->opParam = (t << 16) | t; pcard->opParam = (t << 16) | t;
...@@ -2222,7 +2220,7 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) { ...@@ -2222,7 +2220,7 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
return true; return true;
} }
case MSG_FIELD_DISABLED: { case MSG_FIELD_DISABLED: {
int disabled = BufferIO::ReadInt32(pbuf); unsigned int disabled = BufferIO::ReadInt32(pbuf);
if (!mainGame->dInfo.isFirst) if (!mainGame->dInfo.isFirst)
disabled = (disabled >> 16) | (disabled << 16); disabled = (disabled >> 16) | (disabled << 16);
mainGame->dField.disabled_field = disabled; mainGame->dField.disabled_field = disabled;
......
...@@ -460,7 +460,7 @@ bool ClientField::OnEvent(const irr::SEvent& event) { ...@@ -460,7 +460,7 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
} }
} else { } else {
selectable_cards.clear(); selectable_cards.clear();
bool conti_exist = false; conti_selecting = false;
switch(command_location) { switch(command_location) {
case LOCATION_DECK: { case LOCATION_DECK: {
for(size_t i = 0; i < deck[command_controler].size(); ++i) for(size_t i = 0; i < deck[command_controler].size(); ++i)
...@@ -488,11 +488,11 @@ bool ClientField::OnEvent(const irr::SEvent& event) { ...@@ -488,11 +488,11 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
} }
case POSITION_HINT: { case POSITION_HINT: {
selectable_cards.insert(selectable_cards.end(), conti_cards.begin(), conti_cards.end()); selectable_cards.insert(selectable_cards.end(), conti_cards.begin(), conti_cards.end());
conti_exist = true; conti_selecting = true;
break; break;
} }
} }
if(!conti_exist) { if(!conti_selecting) {
mainGame->wCardSelect->setText(dataManager.GetSysString(566)); mainGame->wCardSelect->setText(dataManager.GetSysString(566));
list_command = COMMAND_ACTIVATE; list_command = COMMAND_ACTIVATE;
} else { } else {
...@@ -910,11 +910,15 @@ bool ClientField::OnEvent(const irr::SEvent& event) { ...@@ -910,11 +910,15 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
for(int i = 0; i < 5; ++i) { for(int i = 0; i < 5; ++i) {
// draw selectable_cards[i + pos] in btnCardSelect[i] // draw selectable_cards[i + pos] in btnCardSelect[i]
mainGame->stCardPos[i]->enableOverrideColor(false); mainGame->stCardPos[i]->enableOverrideColor(false);
// image
if(selectable_cards[i + pos]->code) if(selectable_cards[i + pos]->code)
mainGame->btnCardSelect[i]->setImage(imageManager.GetTexture(selectable_cards[i + pos]->code)); mainGame->btnCardSelect[i]->setImage(imageManager.GetTexture(selectable_cards[i + pos]->code));
else if(conti_selecting)
mainGame->btnCardSelect[i]->setImage(imageManager.GetTexture(selectable_cards[i + pos]->chain_code));
else else
mainGame->btnCardSelect[i]->setImage(imageManager.tCover[0]); mainGame->btnCardSelect[i]->setImage(imageManager.tCover[0]);
mainGame->btnCardSelect[i]->setRelativePosition(rect<s32>(30 + i * 125, 55, 30 + 120 + i * 125, 225)); mainGame->btnCardSelect[i]->setRelativePosition(rect<s32>(30 + i * 125, 55, 30 + 120 + i * 125, 225));
// text
wchar_t formatBuffer[2048]; wchar_t formatBuffer[2048];
if(sort_list.size()) { if(sort_list.size()) {
if(sort_list[pos + i] > 0) if(sort_list[pos + i] > 0)
...@@ -922,7 +926,7 @@ bool ClientField::OnEvent(const irr::SEvent& event) { ...@@ -922,7 +926,7 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
else else
myswprintf(formatBuffer, L""); myswprintf(formatBuffer, L"");
} else { } else {
if(selectable_cards[i + pos]->is_conti && !selectable_cards[i + pos]->code) if(conti_selecting)
myswprintf(formatBuffer, L"%ls", DataManager::unknown_string); myswprintf(formatBuffer, L"%ls", DataManager::unknown_string);
else if(selectable_cards[i + pos]->location == LOCATION_OVERLAY) else if(selectable_cards[i + pos]->location == LOCATION_OVERLAY)
myswprintf(formatBuffer, L"%ls[%d](%d)", myswprintf(formatBuffer, L"%ls[%d](%d)",
...@@ -933,17 +937,19 @@ bool ClientField::OnEvent(const irr::SEvent& event) { ...@@ -933,17 +937,19 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
selectable_cards[i + pos]->sequence + 1); selectable_cards[i + pos]->sequence + 1);
} }
mainGame->stCardPos[i]->setText(formatBuffer); mainGame->stCardPos[i]->setText(formatBuffer);
if(selectable_cards[i + pos]->location == LOCATION_OVERLAY) { // color
if(conti_selecting)
mainGame->stCardPos[i]->setBackgroundColor(0xffffffff);
else if(selectable_cards[i + pos]->location == LOCATION_OVERLAY) {
if(selectable_cards[i + pos]->owner != selectable_cards[i + pos]->overlayTarget->controler) if(selectable_cards[i + pos]->owner != selectable_cards[i + pos]->overlayTarget->controler)
mainGame->stCardPos[i]->setOverrideColor(0xff0000ff); mainGame->stCardPos[i]->setOverrideColor(0xff0000ff);
// BackgroundColor: controller of the xyz monster
if(selectable_cards[i + pos]->is_selected) if(selectable_cards[i + pos]->is_selected)
mainGame->stCardPos[i]->setBackgroundColor(0xffffff00); mainGame->stCardPos[i]->setBackgroundColor(0xffffff00);
else if(selectable_cards[i + pos]->overlayTarget->controler) else if(selectable_cards[i + pos]->overlayTarget->controler)
mainGame->stCardPos[i]->setBackgroundColor(0xffd0d0d0); mainGame->stCardPos[i]->setBackgroundColor(0xffd0d0d0);
else else
mainGame->stCardPos[i]->setBackgroundColor(0xffffffff); mainGame->stCardPos[i]->setBackgroundColor(0xffffffff);
} else if(selectable_cards[i + pos]->location == LOCATION_EXTRA || selectable_cards[i + pos]->location == LOCATION_REMOVED) { } else if(selectable_cards[i + pos]->location == LOCATION_DECK || selectable_cards[i + pos]->location == LOCATION_EXTRA || selectable_cards[i + pos]->location == LOCATION_REMOVED) {
if(selectable_cards[i + pos]->position & POS_FACEDOWN) if(selectable_cards[i + pos]->position & POS_FACEDOWN)
mainGame->stCardPos[i]->setOverrideColor(0xff0000ff); mainGame->stCardPos[i]->setOverrideColor(0xff0000ff);
if(selectable_cards[i + pos]->is_selected) if(selectable_cards[i + pos]->is_selected)
......
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
#include <dirent.h> #include <dirent.h>
#endif #endif
const unsigned short PRO_VERSION = 0x133B; const unsigned short PRO_VERSION = 0x133C;
namespace ygo { namespace ygo {
...@@ -46,6 +46,8 @@ bool Game::Initialize() { ...@@ -46,6 +46,8 @@ bool Game::Initialize() {
is_building = false; is_building = false;
memset(&dInfo, 0, sizeof(DuelInfo)); memset(&dInfo, 0, sizeof(DuelInfo));
memset(chatTiming, 0, sizeof(chatTiming)); memset(chatTiming, 0, sizeof(chatTiming));
for(int i = 0; i < 2048; ++i)
dataManager._sysStrings[i] = 0;
deckManager.LoadLFList(); deckManager.LoadLFList();
driver = device->getVideoDriver(); driver = device->getVideoDriver();
driver->setTextureCreationFlag(irr::video::ETCF_CREATE_MIP_MAPS, false); driver->setTextureCreationFlag(irr::video::ETCF_CREATE_MIP_MAPS, false);
......
...@@ -412,9 +412,9 @@ bool ReplayMode::ReplayAnalyze(char* msg, unsigned int len) { ...@@ -412,9 +412,9 @@ bool ReplayMode::ReplayAnalyze(char* msg, unsigned int len) {
} }
case MSG_SELECT_COUNTER: { case MSG_SELECT_COUNTER: {
player = BufferIO::ReadInt8(pbuf); player = BufferIO::ReadInt8(pbuf);
pbuf += 3; pbuf += 4;
count = BufferIO::ReadInt8(pbuf); count = BufferIO::ReadInt8(pbuf);
pbuf += count * 8; pbuf += count * 9;
return ReadReplayResponse(); return ReadReplayResponse();
} }
case MSG_SELECT_SUM: { case MSG_SELECT_SUM: {
......
...@@ -717,9 +717,9 @@ int SingleDuel::Analyze(char* msgbuffer, unsigned int len) { ...@@ -717,9 +717,9 @@ int SingleDuel::Analyze(char* msgbuffer, unsigned int len) {
} }
case MSG_SELECT_COUNTER: { case MSG_SELECT_COUNTER: {
player = BufferIO::ReadInt8(pbuf); player = BufferIO::ReadInt8(pbuf);
pbuf += 3; pbuf += 4;
count = BufferIO::ReadInt8(pbuf); count = BufferIO::ReadInt8(pbuf);
pbuf += count * 8; pbuf += count * 9;
WaitforResponse(player); WaitforResponse(player);
NetServer::SendBufferToPlayer(players[player], STOC_GAME_MSG, offset, pbuf - offset); NetServer::SendBufferToPlayer(players[player], STOC_GAME_MSG, offset, pbuf - offset);
return 1; return 1;
......
...@@ -243,9 +243,9 @@ bool SingleMode::SinglePlayAnalyze(char* msg, unsigned int len) { ...@@ -243,9 +243,9 @@ bool SingleMode::SinglePlayAnalyze(char* msg, unsigned int len) {
} }
case MSG_SELECT_COUNTER: { case MSG_SELECT_COUNTER: {
player = BufferIO::ReadInt8(pbuf); player = BufferIO::ReadInt8(pbuf);
pbuf += 3; pbuf += 4;
count = BufferIO::ReadInt8(pbuf); count = BufferIO::ReadInt8(pbuf);
pbuf += count * 8; pbuf += count * 9;
if(!DuelClient::ClientAnalyze(offset, pbuf - offset)) { if(!DuelClient::ClientAnalyze(offset, pbuf - offset)) {
mainGame->singleSignal.Reset(); mainGame->singleSignal.Reset();
mainGame->singleSignal.Wait(); mainGame->singleSignal.Wait();
......
...@@ -650,9 +650,9 @@ int TagDuel::Analyze(char* msgbuffer, unsigned int len) { ...@@ -650,9 +650,9 @@ int TagDuel::Analyze(char* msgbuffer, unsigned int len) {
} }
case MSG_SELECT_COUNTER: { case MSG_SELECT_COUNTER: {
player = BufferIO::ReadInt8(pbuf); player = BufferIO::ReadInt8(pbuf);
pbuf += 3; pbuf += 4;
count = BufferIO::ReadInt8(pbuf); count = BufferIO::ReadInt8(pbuf);
pbuf += count * 8; pbuf += count * 9;
WaitforResponse(player); WaitforResponse(player);
NetServer::SendBufferToPlayer(cur_player[player], STOC_GAME_MSG, offset, pbuf - offset); NetServer::SendBufferToPlayer(cur_player[player], STOC_GAME_MSG, offset, pbuf - offset);
return 1; return 1;
......
Subproject commit b2d983470ed5da3989e2b217c3e13b3c4e9352f5 Subproject commit 800ecbbf27bab7de6de02cf610946b678b2ff047
Subproject commit 87fa54eec4036f9cdcbfd8af3dda34e49692c03e Subproject commit 6a0205484e902e578f9b5a8a070e9afada35c038
...@@ -96,6 +96,7 @@ ...@@ -96,6 +96,7 @@
!system 530 请选择对方的卡 !system 530 请选择对方的卡
!system 531 请选择上级召唤用需要解放的怪兽 !system 531 请选择上级召唤用需要解放的怪兽
!system 532 请选择要取除超量素材的怪兽 !system 532 请选择要取除超量素材的怪兽
!system 549 请选择攻击的对象
!system 550 请选择要发动的效果 !system 550 请选择要发动的效果
!system 551 请选择效果的对象 !system 551 请选择效果的对象
!system 552 请选择硬币的正反面 !system 552 请选择硬币的正反面
...@@ -491,7 +492,7 @@ ...@@ -491,7 +492,7 @@
!setname 0xc008 命运英雄 D-HERO !setname 0xc008 命运英雄 D-HERO
!setname 0x9 新宇 ネオス !setname 0x9 新宇 ネオス
!setname 0xa 入魔 ヴェルズ !setname 0xa 入魔 ヴェルズ
!setname 0x100a 侵入魔 インヴェルズ !setname 0x100a 侵入魔 インヴェルズ
!setname 0xb 永火 インフェルニティ !setname 0xb 永火 インフェルニティ
!setname 0xc 外星 エーリアン !setname 0xc 外星 エーリアン
!setname 0xd 剑士 セイバー !setname 0xd 剑士 セイバー
...@@ -711,6 +712,7 @@ ...@@ -711,6 +712,7 @@
!setname 0xb5 灵兽 霊獣 !setname 0xb5 灵兽 霊獣
!setname 0x10b5 灵兽使 霊獣使い !setname 0x10b5 灵兽使 霊獣使い
!setname 0x20b5 精灵兽 精霊獣 !setname 0x20b5 精灵兽 精霊獣
#!setname 0x30b5 精灵兽使 精霊獣使い
!setname 0x40b5 圣灵兽骑 聖霊獣騎 !setname 0x40b5 圣灵兽骑 聖霊獣騎
!setname 0xb6 外神 !setname 0xb6 外神
!setname 0xb7 旧神 !setname 0xb7 旧神
...@@ -778,3 +780,6 @@ ...@@ -778,3 +780,6 @@
!setname 0xee 秘旋谍 SPYRAL !setname 0xee 秘旋谍 SPYRAL
!setname 0x10ee 秘旋谍装备 SPYRAL GEAR !setname 0x10ee 秘旋谍装备 SPYRAL GEAR
!setname 0xef 堕天使 !setname 0xef 堕天使
!setname 0xf0 风魔女 WW(ウィンド・ウィッチ)
!setname 0xf1 十二兽 十二獣
!setname 0xf2 灵摆龙 ペンデュラム・ドラゴン
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