Commit 8a3718e1 authored by argon.sun's avatar argon.sun

fix

parent 363c2ee4
...@@ -25,8 +25,8 @@ void Draw2DImageRotation(video::IVideoDriver* driver, video::ITexture* image, co ...@@ -25,8 +25,8 @@ void Draw2DImageRotation(video::IVideoDriver* driver, video::ITexture* image, co
uvCorner[2] = irr::core::vector2df(sourceRect.UpperLeftCorner.X, sourceRect.LowerRightCorner.Y); uvCorner[2] = irr::core::vector2df(sourceRect.UpperLeftCorner.X, sourceRect.LowerRightCorner.Y);
uvCorner[3] = irr::core::vector2df(sourceRect.LowerRightCorner.X, sourceRect.LowerRightCorner.Y); uvCorner[3] = irr::core::vector2df(sourceRect.LowerRightCorner.X, sourceRect.LowerRightCorner.Y);
for (int x = 0; x < 4; x++) { for (int x = 0; x < 4; x++) {
float uvX = uvCorner[x].X / (float)image->getSize().Width; float uvX = uvCorner[x].X / (float)image->getOriginalSize().Width;
float uvY = uvCorner[x].Y / (float)image->getSize().Height; float uvY = uvCorner[x].Y / (float)image->getOriginalSize().Height;
uvCorner[x] = irr::core::vector2df(uvX, uvY); uvCorner[x] = irr::core::vector2df(uvX, uvY);
} }
irr::video::S3DVertex vertices[4]; irr::video::S3DVertex vertices[4];
......
...@@ -31,7 +31,7 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) { ...@@ -31,7 +31,7 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) {
} }
case BUTTON_SAVE_DECK: { case BUTTON_SAVE_DECK: {
deckManager.SaveDeck(deckManager.current_deck, mainGame->cbDBDecks->getItem(mainGame->cbDBDecks->getSelected())); deckManager.SaveDeck(deckManager.current_deck, mainGame->cbDBDecks->getItem(mainGame->cbDBDecks->getSelected()));
mainGame->stACMessage->setText(L"保存成功"); mainGame->stACMessage->setText(dataManager.GetSysString(1335));
mainGame->PopupElement(mainGame->wACMessage, 20); mainGame->PopupElement(mainGame->wACMessage, 20);
break; break;
} }
...@@ -53,8 +53,7 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) { ...@@ -53,8 +53,7 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) {
mainGame->cbDBDecks->setSelected(mainGame->cbDBDecks->getItemCount() - 1); mainGame->cbDBDecks->setSelected(mainGame->cbDBDecks->getItemCount() - 1);
} }
deckManager.SaveDeck(deckManager.current_deck, dname); deckManager.SaveDeck(deckManager.current_deck, dname);
mainGame->ebDeckname->setText(L""); mainGame->stACMessage->setText(dataManager.GetSysString(1335));
mainGame->stACMessage->setText(L"保存成功");
mainGame->PopupElement(mainGame->wACMessage, 20); mainGame->PopupElement(mainGame->wACMessage, 20);
break; break;
} }
...@@ -348,19 +347,19 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) { ...@@ -348,19 +347,19 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) {
mainGame->ebDefence->setEnabled(true); mainGame->ebDefence->setEnabled(true);
mainGame->ebStar->setEnabled(true); mainGame->ebStar->setEnabled(true);
mainGame->cbCardType2->clear(); mainGame->cbCardType2->clear();
mainGame->cbCardType2->addItem(L"(无)", 0); mainGame->cbCardType2->addItem(dataManager.GetSysString(1080), 0);
mainGame->cbCardType2->addItem(L"通常", TYPE_MONSTER + TYPE_NORMAL); mainGame->cbCardType2->addItem(dataManager.GetSysString(1054), TYPE_MONSTER + TYPE_NORMAL);
mainGame->cbCardType2->addItem(L"效果", TYPE_MONSTER + TYPE_EFFECT); mainGame->cbCardType2->addItem(dataManager.GetSysString(1055), TYPE_MONSTER + TYPE_EFFECT);
mainGame->cbCardType2->addItem(L"融合", TYPE_MONSTER + TYPE_FUSION); mainGame->cbCardType2->addItem(dataManager.GetSysString(1056), TYPE_MONSTER + TYPE_FUSION);
mainGame->cbCardType2->addItem(L"仪式", TYPE_MONSTER + TYPE_RITUAL); mainGame->cbCardType2->addItem(dataManager.GetSysString(1057), TYPE_MONSTER + TYPE_RITUAL);
mainGame->cbCardType2->addItem(L"同调", TYPE_MONSTER + TYPE_SYNCHRO); mainGame->cbCardType2->addItem(dataManager.GetSysString(1063), TYPE_MONSTER + TYPE_SYNCHRO);
mainGame->cbCardType2->addItem(L"超量", TYPE_MONSTER + TYPE_XYZ); mainGame->cbCardType2->addItem(dataManager.GetSysString(1073), TYPE_MONSTER + TYPE_XYZ);
mainGame->cbCardType2->addItem(L"调整", TYPE_MONSTER + TYPE_TUNER); mainGame->cbCardType2->addItem(dataManager.GetSysString(1062), TYPE_MONSTER + TYPE_TUNER);
mainGame->cbCardType2->addItem(L"二重", TYPE_MONSTER + TYPE_DUAL); mainGame->cbCardType2->addItem(dataManager.GetSysString(1061), TYPE_MONSTER + TYPE_DUAL);
mainGame->cbCardType2->addItem(L"同盟", TYPE_MONSTER + TYPE_UNION); mainGame->cbCardType2->addItem(dataManager.GetSysString(1060), TYPE_MONSTER + TYPE_UNION);
mainGame->cbCardType2->addItem(L"灵魂", TYPE_MONSTER + TYPE_SPIRIT); mainGame->cbCardType2->addItem(dataManager.GetSysString(1059), TYPE_MONSTER + TYPE_SPIRIT);
mainGame->cbCardType2->addItem(L"反转", TYPE_MONSTER + TYPE_FLIP); mainGame->cbCardType2->addItem(dataManager.GetSysString(1071), TYPE_MONSTER + TYPE_FLIP);
mainGame->cbCardType2->addItem(L"卡通", TYPE_MONSTER + TYPE_TOON); mainGame->cbCardType2->addItem(dataManager.GetSysString(1072), TYPE_MONSTER + TYPE_TOON);
break; break;
} }
case 2: { case 2: {
...@@ -371,13 +370,13 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) { ...@@ -371,13 +370,13 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) {
mainGame->ebDefence->setEnabled(false); mainGame->ebDefence->setEnabled(false);
mainGame->ebStar->setEnabled(false); mainGame->ebStar->setEnabled(false);
mainGame->cbCardType2->clear(); mainGame->cbCardType2->clear();
mainGame->cbCardType2->addItem(L"(无)", 0); mainGame->cbCardType2->addItem(dataManager.GetSysString(1080), 0);
mainGame->cbCardType2->addItem(L"通常", TYPE_SPELL); mainGame->cbCardType2->addItem(dataManager.GetSysString(1054), TYPE_SPELL);
mainGame->cbCardType2->addItem(L"速攻", TYPE_SPELL + TYPE_QUICKPLAY); mainGame->cbCardType2->addItem(dataManager.GetSysString(1066), TYPE_SPELL + TYPE_QUICKPLAY);
mainGame->cbCardType2->addItem(L"永续", TYPE_SPELL + TYPE_CONTINUOUS); mainGame->cbCardType2->addItem(dataManager.GetSysString(1067), TYPE_SPELL + TYPE_CONTINUOUS);
mainGame->cbCardType2->addItem(L"仪式", TYPE_SPELL + TYPE_RITUAL); mainGame->cbCardType2->addItem(dataManager.GetSysString(1057), TYPE_SPELL + TYPE_RITUAL);
mainGame->cbCardType2->addItem(L"装备", TYPE_SPELL + TYPE_EQUIP); mainGame->cbCardType2->addItem(dataManager.GetSysString(1068), TYPE_SPELL + TYPE_EQUIP);
mainGame->cbCardType2->addItem(L"场地", TYPE_SPELL + TYPE_FIELD); mainGame->cbCardType2->addItem(dataManager.GetSysString(1069), TYPE_SPELL + TYPE_FIELD);
break; break;
} }
case 3: { case 3: {
...@@ -388,10 +387,10 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) { ...@@ -388,10 +387,10 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) {
mainGame->ebDefence->setEnabled(false); mainGame->ebDefence->setEnabled(false);
mainGame->ebStar->setEnabled(false); mainGame->ebStar->setEnabled(false);
mainGame->cbCardType2->clear(); mainGame->cbCardType2->clear();
mainGame->cbCardType2->addItem(L"(无)", 0); mainGame->cbCardType2->addItem(dataManager.GetSysString(1080), 0);
mainGame->cbCardType2->addItem(L"通常", TYPE_TRAP); mainGame->cbCardType2->addItem(dataManager.GetSysString(1054), TYPE_TRAP);
mainGame->cbCardType2->addItem(L"永续", TYPE_TRAP + TYPE_CONTINUOUS); mainGame->cbCardType2->addItem(dataManager.GetSysString(1067), TYPE_TRAP + TYPE_CONTINUOUS);
mainGame->cbCardType2->addItem(L"反击", TYPE_TRAP + TYPE_COUNTER); mainGame->cbCardType2->addItem(dataManager.GetSysString(1070), TYPE_TRAP + TYPE_COUNTER);
break; break;
} }
} }
......
...@@ -600,8 +600,8 @@ void Game::DrawSpec() { ...@@ -600,8 +600,8 @@ void Game::DrawSpec() {
} }
} }
void Game::ShowElement(irr::gui::IGUIElement * win, int autoframe) { void Game::ShowElement(irr::gui::IGUIElement * win, int autoframe) {
if(fadingFrame || win->isVisible()) if(fadingFrame)
return; guiFading->setVisible(false);
fadingSize = win->getRelativePosition(); fadingSize = win->getRelativePosition();
irr::core::position2di center = fadingSize.getCenter(); irr::core::position2di center = fadingSize.getCenter();
fadingDiff.X = fadingSize.getWidth() / 10; fadingDiff.X = fadingSize.getWidth() / 10;
...@@ -628,8 +628,8 @@ void Game::ShowElement(irr::gui::IGUIElement * win, int autoframe) { ...@@ -628,8 +628,8 @@ void Game::ShowElement(irr::gui::IGUIElement * win, int autoframe) {
win->setVisible(true); win->setVisible(true);
} }
void Game::HideElement(irr::gui::IGUIElement * win, bool set_action, irr::gui::IGUIElement* next) { void Game::HideElement(irr::gui::IGUIElement * win, bool set_action, irr::gui::IGUIElement* next) {
if(fadingFrame || !win->isVisible()) if(fadingFrame)
return; guiFading->setVisible(false);
fadingSize = win->getRelativePosition(); fadingSize = win->getRelativePosition();
fadingDiff.X = fadingSize.getWidth() / 10; fadingDiff.X = fadingSize.getWidth() / 10;
fadingDiff.Y = (fadingSize.getHeight() - 4) / 10; fadingDiff.Y = (fadingSize.getHeight() - 4) / 10;
......
...@@ -466,7 +466,7 @@ void Game::MainLoop() { ...@@ -466,7 +466,7 @@ void Game::MainLoop() {
atkdy = (float)sin(atkframe); atkdy = (float)sin(atkframe);
driver->beginScene(true, true, SColor(0, 0, 0, 0)); driver->beginScene(true, true, SColor(0, 0, 0, 0));
if(imageManager.tBackGround) if(imageManager.tBackGround)
driver->draw2DImage(imageManager.tBackGround, recti(0, 0, 1024, 640), recti(0, 0, imageManager.tBackGround->getSize().Width, imageManager.tBackGround->getSize().Height)); driver->draw2DImage(imageManager.tBackGround, recti(0, 0, 1024, 640), recti(0, 0, imageManager.tBackGround->getOriginalSize().Width, imageManager.tBackGround->getOriginalSize().Height));
gMutex.Lock(); gMutex.Lock();
if(dInfo.isStarted) { if(dInfo.isStarted) {
DrawBackGround(); DrawBackGround();
......
...@@ -213,14 +213,14 @@ void NetServer::HandleCTOSPacket(DuelPlayer* dp, char* data, unsigned int len) { ...@@ -213,14 +213,14 @@ void NetServer::HandleCTOSPacket(DuelPlayer* dp, char* data, unsigned int len) {
pkt->info.rule = 0; pkt->info.rule = 0;
if(pkt->info.mode > 1) if(pkt->info.mode > 1)
pkt->info.mode = 0; pkt->info.mode = 0;
unsigned int hash = 0; unsigned int hash = 1;
for(auto lfit = deckManager._lfList.begin(); lfit != deckManager._lfList.end(); ++lfit) { for(auto lfit = deckManager._lfList.begin(); lfit != deckManager._lfList.end(); ++lfit) {
if(pkt->info.lflist == lfit->hash) { if(pkt->info.lflist == lfit->hash) {
hash = pkt->info.lflist; hash = pkt->info.lflist;
break; break;
} }
} }
if(!hash) if(hash == 1)
pkt->info.lflist = deckManager._lfList[0].hash; pkt->info.lflist = deckManager._lfList[0].hash;
duel_mode->host_info = pkt->info; duel_mode->host_info = pkt->info;
BufferIO::CopyWStr(pkt->name, duel_mode->name, 20); BufferIO::CopyWStr(pkt->name, duel_mode->name, 20);
......
...@@ -124,6 +124,7 @@ void SingleDuel::LeaveGame(DuelPlayer* dp) { ...@@ -124,6 +124,7 @@ void SingleDuel::LeaveGame(DuelPlayer* dp) {
} else { } else {
STOC_HS_PlayerChange scpc; STOC_HS_PlayerChange scpc;
players[dp->type] = 0; players[dp->type] = 0;
ready[dp->type] = false;
scpc.status = (dp->type << 4) | PLAYERCHANGE_LEAVE; scpc.status = (dp->type << 4) | PLAYERCHANGE_LEAVE;
if(players[0] && dp->type != 0) if(players[0] && dp->type != 0)
NetServer::SendPacketToPlayer(players[0], STOC_HS_PLAYER_CHANGE, scpc); NetServer::SendPacketToPlayer(players[0], STOC_HS_PLAYER_CHANGE, scpc);
...@@ -134,7 +135,6 @@ void SingleDuel::LeaveGame(DuelPlayer* dp) { ...@@ -134,7 +135,6 @@ void SingleDuel::LeaveGame(DuelPlayer* dp) {
if(pduel) if(pduel)
NetServer::StopServer(); NetServer::StopServer();
else { else {
ready[dp->type] = false;
NetServer::DisconnectPlayer(dp); NetServer::DisconnectPlayer(dp);
} }
} }
......
...@@ -80,7 +80,7 @@ end ...@@ -80,7 +80,7 @@ end
function c29071332.spop(e,tp,eg,ep,ev,re,r,rp) function c29071332.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsRelateToEffect(e) then if c:IsRelateToEffect(e) then
Duel.SpecialSummon(c,0,tp,tp,true,false,POS_FACEUP) Duel.SpecialSummon(c,0,tp,tp,true,false,POS_FACEUP_ATTACK)
end end
end end
function c29071332.damcon(e,tp,eg,ep,ev,re,r,rp) function c29071332.damcon(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -31,7 +31,7 @@ function c39987164.eqcost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -31,7 +31,7 @@ function c39987164.eqcost(e,tp,eg,ep,ev,re,r,rp,chk)
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST) e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST)
end end
function c39987164.filter(c) function c39987164.filter(c)
return c:IsFaceup() and c:IsAttack() and c:IsAbleToChangeControler() return c:IsFaceup() and c:IsAttack() and c:IsType(TYPE_EFFECT) and c:IsAbleToChangeControler()
end end
function c39987164.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c39987164.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(1-tp) and c39987164.filter(chkc) end if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(1-tp) and c39987164.filter(chkc) end
......
...@@ -23,7 +23,7 @@ function c43513897.atkop(e,tp,eg,ep,ev,re,r,rp) ...@@ -23,7 +23,7 @@ function c43513897.atkop(e,tp,eg,ep,ev,re,r,rp)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK) e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+RESET_END) e1:SetReset(RESET_EVENT+0x1fe0000)
e1:SetValue(500) e1:SetValue(500)
tc:RegisterEffect(e1) tc:RegisterEffect(e1)
tc=g:GetNext() tc=g:GetNext()
......
...@@ -31,7 +31,7 @@ function c90727556.initial_effect(c) ...@@ -31,7 +31,7 @@ function c90727556.initial_effect(c)
c:RegisterEffect(e4) c:RegisterEffect(e4)
end end
function c90727556.condition(e,tp,eg,ep,ev,re,r,rp) function c90727556.condition(e,tp,eg,ep,ev,re,r,rp)
return not Duel.CheckPhaseActivity() and e:GetHandler():IsSetCard(0x100a) return Duel.GetCurrentPhase()==PHASE_MAIN1 and not Duel.CheckPhaseActivity() and e:GetHandler():IsSetCard(0x100a)
and not Duel.IsExistingMatchingCard(Card.IsType,tp,LOCATION_ONFIELD,0,1,nil,TYPE_SPELL+TYPE_TRAP) and not Duel.IsExistingMatchingCard(Card.IsType,tp,LOCATION_ONFIELD,0,1,nil,TYPE_SPELL+TYPE_TRAP)
end end
function c90727556.cost(e,tp,eg,ep,ev,re,r,rp,chk) function c90727556.cost(e,tp,eg,ep,ev,re,r,rp,chk)
......
...@@ -157,6 +157,7 @@ ...@@ -157,6 +157,7 @@
!system 1071 反转 !system 1071 反转
!system 1072 卡通 !system 1072 卡通
!system 1073 超量 !system 1073 超量
!system 1080 (N/A)
#GUI #GUI
!system 1100 魔陷破坏 !system 1100 魔陷破坏
!system 1101 怪兽破坏 !system 1101 怪兽破坏
...@@ -283,6 +284,7 @@ ...@@ -283,6 +284,7 @@
!system 1332 副卡组: !system 1332 副卡组:
!system 1333 搜索结果: !system 1333 搜索结果:
!system 1334 副卡组更换完成 !system 1334 副卡组更换完成
!system 1335 保存成功
!system 1340 是否保存录像? !system 1340 是否保存录像?
!system 1341 保存 !system 1341 保存
!system 1342 录像文件: !system 1342 录像文件:
......
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