Commit eda5e7d5 authored by argon.sun's avatar argon.sun

new ver.

parent 30f57cac
...@@ -522,6 +522,68 @@ void Game::DrawSpec() { ...@@ -522,6 +522,68 @@ void Game::DrawSpec() {
showcard = 0; showcard = 0;
break; break;
} }
case 101: {
const wchar_t* lstr;
switch(showcardcode) {
case 1:
lstr = L"You Win!";
break;
case 2:
lstr = L"You Lose!";
break;
case 3:
lstr = L"Draw Game";
break;
case 4:
lstr = L"Draw Phase";
break;
case 5:
lstr = L"Standby Phase";
break;
case 6:
lstr = L"Main Phase 1";
break;
case 7:
lstr = L"Battle Phase";
break;
case 8:
lstr = L"Main Phase 2";
break;
case 9:
lstr = L"End Phase";
break;
case 10:
lstr = L"Next Players Turn";
break;
case 11:
lstr = L"Duel Start";
break;
case 12:
lstr = L"Duel1 Start";
break;
case 13:
lstr = L"Duel2 Start";
break;
case 14:
lstr = L"Duel3 Start";
break;
}
auto pos = lpcFont->getDimension(lstr);
if(showcardp < 10) {
int alpha = (showcardp * 25) << 24;
lpcFont->draw(lstr, recti(671 - pos.Width / 2 - (9 - showcardp) * 40, 271, 970, 350), alpha);
lpcFont->draw(lstr, recti(670 - pos.Width / 2 - (9 - showcardp) * 40, 270, 970, 350), alpha | 0xffffff);
} else if(showcardp < showcarddif) {
lpcFont->draw(lstr, recti(671 - pos.Width / 2, 271, 970, 350), 0xff000000);
lpcFont->draw(lstr, recti(670 - pos.Width / 2, 270, 970, 350), 0xffffffff);
} else if(showcardp < showcarddif + 10) {
int alpha = ((showcarddif + 10 - showcardp) * 25) << 24;
lpcFont->draw(lstr, recti(671 - pos.Width / 2 + (showcardp - showcarddif) * 40, 271, 970, 350), alpha);
lpcFont->draw(lstr, recti(670 - pos.Width / 2 + (showcardp - showcarddif) * 40, 270, 970, 350), alpha | 0xffffff);
}
showcardp++;
break;
}
} }
} }
if(is_attacking) { if(is_attacking) {
......
This diff is collapsed.
...@@ -265,7 +265,7 @@ bool ClientField::OnEvent(const irr::SEvent& event) { ...@@ -265,7 +265,7 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
break; break;
} }
} }
mainGame->wCardSelect->setText(L"请选择要发动效果的卡:"); mainGame->wCardSelect->setText(dataManager.GetSysString(566));
list_command = COMMAND_ACTIVATE; list_command = COMMAND_ACTIVATE;
ShowSelectCard(); ShowSelectCard();
} }
...@@ -321,7 +321,7 @@ bool ClientField::OnEvent(const irr::SEvent& event) { ...@@ -321,7 +321,7 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
} }
} }
list_command = COMMAND_SPSUMMON; list_command = COMMAND_SPSUMMON;
mainGame->wCardSelect->setText(L"请选择要特殊召唤的怪兽:"); mainGame->wCardSelect->setText(dataManager.GetSysString(509));
ShowSelectCard(); ShowSelectCard();
} }
break; break;
...@@ -386,28 +386,28 @@ bool ClientField::OnEvent(const irr::SEvent& event) { ...@@ -386,28 +386,28 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
ClientCard* pcard = mzone[command_controler][command_sequence]; ClientCard* pcard = mzone[command_controler][command_sequence];
for(int i = 0; i < pcard->overlayed.size(); ++i) for(int i = 0; i < pcard->overlayed.size(); ++i)
selectable_cards.push_back(pcard->overlayed[i]); selectable_cards.push_back(pcard->overlayed[i]);
myswprintf(formatBuffer, L"查看叠放卡:(%d)", pcard->overlayed.size()); myswprintf(formatBuffer, L"%ls(%d)", dataManager.GetSysString(1007), pcard->overlayed.size());
mainGame->wCardSelect->setText(formatBuffer); mainGame->wCardSelect->setText(formatBuffer);
break; break;
} }
case LOCATION_GRAVE: { case LOCATION_GRAVE: {
for(int i = grave[command_controler].size() - 1; i >= 0 ; --i) for(int i = grave[command_controler].size() - 1; i >= 0 ; --i)
selectable_cards.push_back(grave[command_controler][i]); selectable_cards.push_back(grave[command_controler][i]);
myswprintf(formatBuffer, L"查看墓地:(%d)", grave[command_controler].size()); myswprintf(formatBuffer, L"%ls(%d)", dataManager.GetSysString(1004), grave[command_controler].size());
mainGame->wCardSelect->setText(formatBuffer); mainGame->wCardSelect->setText(formatBuffer);
break; break;
} }
case LOCATION_REMOVED: { case LOCATION_REMOVED: {
for(int i = remove[command_controler].size() - 1; i >= 0 ; --i) for(int i = remove[command_controler].size() - 1; i >= 0 ; --i)
selectable_cards.push_back(remove[command_controler][i]); selectable_cards.push_back(remove[command_controler][i]);
myswprintf(formatBuffer, L"查看除外:(%d)", remove[command_controler].size()); myswprintf(formatBuffer, L"%ls(%d)", dataManager.GetSysString(1005), remove[command_controler].size());
mainGame->wCardSelect->setText(formatBuffer); mainGame->wCardSelect->setText(formatBuffer);
break; break;
} }
case LOCATION_EXTRA: { case LOCATION_EXTRA: {
for(int i = extra[command_controler].size() - 1; i >= 0 ; --i) for(int i = extra[command_controler].size() - 1; i >= 0 ; --i)
selectable_cards.push_back(extra[command_controler][i]); selectable_cards.push_back(extra[command_controler][i]);
myswprintf(formatBuffer, L"查看额外:(%d)", extra[command_controler].size()); myswprintf(formatBuffer, L"%ls(%d)", dataManager.GetSysString(1006), extra[command_controler].size());
mainGame->wCardSelect->setText(formatBuffer); mainGame->wCardSelect->setText(formatBuffer);
break; break;
} }
...@@ -966,7 +966,11 @@ bool ClientField::OnEvent(const irr::SEvent& event) { ...@@ -966,7 +966,11 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
} else { } else {
select_ready = true; select_ready = true;
if(mainGame->dInfo.curMsg == MSG_SELECT_TRIBUTE) { if(mainGame->dInfo.curMsg == MSG_SELECT_TRIBUTE) {
mainGame->stQMessage->setText(L"当前所选的卡已满足选择条件\n是否要继续选择?"); wchar_t wbuf[256], *pwbuf = wbuf;
BufferIO::CopyWStrRef(dataManager.GetSysString(209), pwbuf, 256);
*pwbuf++ = L'\n';
BufferIO::CopyWStrRef(dataManager.GetSysString(210), pwbuf, 256);
mainGame->stQMessage->setText(wbuf);
mainGame->PopupElement(mainGame->wQuery); mainGame->PopupElement(mainGame->wQuery);
} }
} }
...@@ -990,7 +994,7 @@ bool ClientField::OnEvent(const irr::SEvent& event) { ...@@ -990,7 +994,7 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
DuelClient::SetResponseB(respbuf, selectable_cards.size()); DuelClient::SetResponseB(respbuf, selectable_cards.size());
mainGame->localAction.Set(); mainGame->localAction.Set();
} else { } else {
myswprintf(formatBuffer, L"请移除%d个[%ls]:", select_counter_count, dataManager.GetCounterName(select_counter_type)); myswprintf(formatBuffer, dataManager.GetSysString(204), select_counter_count, dataManager.GetCounterName(select_counter_type));
mainGame->stHintMsg->setText(formatBuffer); mainGame->stHintMsg->setText(formatBuffer);
} }
break; break;
...@@ -1015,7 +1019,11 @@ bool ClientField::OnEvent(const irr::SEvent& event) { ...@@ -1015,7 +1019,11 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
mainGame->localAction.Set(); mainGame->localAction.Set();
} else { } else {
select_ready = true; select_ready = true;
mainGame->stQMessage->setText(L"当前所选的卡已选择条件\n是否要继续选择?"); wchar_t wbuf[256], *pwbuf = wbuf;
BufferIO::CopyWStrRef(dataManager.GetSysString(209), pwbuf, 256);
*pwbuf++ = L'\n';
BufferIO::CopyWStrRef(dataManager.GetSysString(210), pwbuf, 256);
mainGame->stQMessage->setText(wbuf);
mainGame->PopupElement(mainGame->wQuery); mainGame->PopupElement(mainGame->wQuery);
} }
} else } else
...@@ -1206,7 +1214,7 @@ bool ClientField::OnEvent(const irr::SEvent& event) { ...@@ -1206,7 +1214,7 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
} }
} }
if(mcard->turnCounter && (mcard->location & LOCATION_ONFIELD)) { if(mcard->turnCounter && (mcard->location & LOCATION_ONFIELD)) {
myswprintf(formatBuffer, L"\n回合计数:%d", mcard->turnCounter); myswprintf(formatBuffer, L"\n%ls%d", dataManager.GetSysString(211), mcard->turnCounter);
str.append(formatBuffer); str.append(formatBuffer);
} }
} else { } else {
...@@ -1223,7 +1231,7 @@ bool ClientField::OnEvent(const irr::SEvent& event) { ...@@ -1223,7 +1231,7 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
} }
} }
if(mcard->turnCounter && (mcard->location & LOCATION_ONFIELD)) { if(mcard->turnCounter && (mcard->location & LOCATION_ONFIELD)) {
myswprintf(formatBuffer, L"\n回合计数:%d", mcard->turnCounter); myswprintf(formatBuffer, L"\n%ls%d", dataManager.GetSysString(211), mcard->turnCounter);
str.append(formatBuffer); str.append(formatBuffer);
} }
} }
......
...@@ -108,7 +108,7 @@ bool Game::Initialize() { ...@@ -108,7 +108,7 @@ bool Game::Initialize() {
env->addStaticText(dataManager.GetSysString(1227), rect<s32>(20, 90, 220, 110), false, false, wCreateHost); env->addStaticText(dataManager.GetSysString(1227), rect<s32>(20, 90, 220, 110), false, false, wCreateHost);
cbMatchMode = env->addComboBox(rect<s32>(140, 85, 300, 110), wCreateHost); cbMatchMode = env->addComboBox(rect<s32>(140, 85, 300, 110), wCreateHost);
cbMatchMode->addItem(dataManager.GetSysString(1244)); cbMatchMode->addItem(dataManager.GetSysString(1244));
cbMatchMode->addItem(dataManager.GetSysString(1245)); //cbMatchMode->addItem(dataManager.GetSysString(1245));
chkEnablePriority = env->addCheckBox(false, rect<s32>(20, 150, 360, 170), wCreateHost, -1, dataManager.GetSysString(1236)); chkEnablePriority = env->addCheckBox(false, rect<s32>(20, 150, 360, 170), wCreateHost, -1, dataManager.GetSysString(1236));
env->addStaticText(dataManager.GetSysString(1228), rect<s32>(20, 120, 320, 140), false, false, wCreateHost); env->addStaticText(dataManager.GetSysString(1228), rect<s32>(20, 120, 320, 140), false, false, wCreateHost);
chkNoCheckDeck = env->addCheckBox(false, rect<s32>(20, 180, 170, 200), wCreateHost, -1, dataManager.GetSysString(1229)); chkNoCheckDeck = env->addCheckBox(false, rect<s32>(20, 180, 170, 200), wCreateHost, -1, dataManager.GetSysString(1229));
......
...@@ -130,6 +130,7 @@ bool MenuHandler::OnEvent(const irr::SEvent& event) { ...@@ -130,6 +130,7 @@ bool MenuHandler::OnEvent(const irr::SEvent& event) {
mainGame->btnReplayStart->setVisible(false); mainGame->btnReplayStart->setVisible(false);
mainGame->btnReplayPause->setVisible(true); mainGame->btnReplayPause->setVisible(true);
mainGame->btnReplayStep->setVisible(false); mainGame->btnReplayStep->setVisible(false);
mainGame->wPhase->setVisible(true);
mainGame->dField.panel = 0; mainGame->dField.panel = 0;
mainGame->dField.hovered_card = 0; mainGame->dField.hovered_card = 0;
mainGame->dField.clicked_card = 0; mainGame->dField.clicked_card = 0;
......
...@@ -2571,6 +2571,7 @@ int32 field::process_battle_command(uint16 step) { ...@@ -2571,6 +2571,7 @@ int32 field::process_battle_command(uint16 step) {
core.attacker->set_status(STATUS_ATTACK_CANCELED, TRUE); core.attacker->set_status(STATUS_ATTACK_CANCELED, TRUE);
} }
if(is_player_affected_by_effect(infos.turn_player, EFFECT_SKIP_BP)) { if(is_player_affected_by_effect(infos.turn_player, EFFECT_SKIP_BP)) {
reset_phase(PHASE_DAMAGE);
if(core.attacker->fieldid == afid) { if(core.attacker->fieldid == afid) {
if(!atk_disabled) { if(!atk_disabled) {
if(core.attack_target) if(core.attack_target)
......
...@@ -41,11 +41,14 @@ ...@@ -41,11 +41,14 @@
!system 201 此时没有可以发动的效果 !system 201 此时没有可以发动的效果
!system 202 是否要确认场上的情况? !system 202 是否要确认场上的情况?
!system 203 是否要进行连锁? !system 203 是否要进行连锁?
!system 204 请移除%d个[%ls]: !system 204 请移除%d个[%ls]
!system 205 请选择排列顺序 !system 205 请选择排列顺序
!system 206 请选择连锁顺序 !system 206 请选择连锁顺序
!system 207 翻开卡组上方%d张卡: !system 207 翻开卡组上方%d张卡:
!system 208 确认%d张卡: !system 208 确认%d张卡:
!system 209 当前所选的卡已满足选择条件
!system 210 是否要继续选择?
!system 211 回合计数:
!system 500 请选择要解放的卡 !system 500 请选择要解放的卡
!system 501 请选择要丢弃的手牌 !system 501 请选择要丢弃的手牌
!system 502 请选择要破坏的卡 !system 502 请选择要破坏的卡
...@@ -90,6 +93,7 @@ ...@@ -90,6 +93,7 @@
!system 563 请选择要宣言的种族 !system 563 请选择要宣言的种族
!system 564 请宣言一个卡名 !system 564 请宣言一个卡名
!system 565 请选择一个数字 !system 565 请选择一个数字
!system 566 请选择要发动效果的卡
!system 1000 卡组 !system 1000 卡组
!system 1001 手牌 !system 1001 手牌
!system 1002 怪兽区 !system 1002 怪兽区
...@@ -301,6 +305,31 @@ ...@@ -301,6 +305,31 @@
!system 1510 对方选择了:[%ls] !system 1510 对方选择了:[%ls]
!system 1511 对方宣言了:[%ls] !system 1511 对方宣言了:[%ls]
!system 1512 对方选择了:[%d] !system 1512 对方选择了:[%d]
!system 1600 卡片改变了表示形式
!system 1601 放置了卡片
!system 1602 卡的控制权改变了
!system 1603 [%ls]召唤中...
!system 1604 怪兽召唤成功
!system 1605 [%ls]特殊召唤中...
!system 1606 怪兽特殊召唤成功
!system 1607 [%ls]反转召唤中...
!system 1608 怪兽反转召唤成功
!system 1609 [%ls]的效果发动
!system 1610 [%ls](%ls,%d)成为对象
!system 1611 我方抽了%d张卡
!system 1612 对手抽了%d张卡
!system 1613 我方受到%d伤害
!system 1614 对方受到%d伤害
!system 1615 我方回复%dLP
!system 1616 对方回复%dLP
!system 1617 [%ls]放置了%d个[%ls]
!system 1618 [%ls]移除了%d个[%ls]
!system 1619 [%ls]攻击[%ls]
!system 1620 [%ls]直接攻击
!system 1621 攻击被无效
!system 1622 [%ls]错过时点
!system 1623 投掷硬币结果:
!system 1624 投掷骰子结果:
#vistory reason #vistory reason
!victory 0x1 LP变成0 !victory 0x1 LP变成0
!victory 0x2 没有卡可抽 !victory 0x2 没有卡可抽
......
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