Commit 11a3201c authored by salix5's avatar salix5

announce card

Now the players cannot announce cards with TYPE_TOKEN+TYPE_MONSTER.
Cards with TYPE_TOKEN only is preserved for special use.
parent d72be12c
...@@ -760,7 +760,9 @@ bool ClientField::OnEvent(const irr::SEvent& event) { ...@@ -760,7 +760,9 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
const wchar_t* pname = mainGame->ebANCard->getText(); const wchar_t* pname = mainGame->ebANCard->getText();
int trycode = BufferIO::GetVal(pname); int trycode = BufferIO::GetVal(pname);
CardString cstr; CardString cstr;
if(dataManager.GetString(trycode, &cstr)) { CardData cd;
if(dataManager.GetString(trycode, &cstr) && dataManager.GetData(trycode, &cd)
&& !cd.alias && !((cd.type & (TYPE_MONSTER + TYPE_TOKEN)) == (TYPE_MONSTER + TYPE_TOKEN))) {
mainGame->lstANCard->clear(); mainGame->lstANCard->clear();
ancard.clear(); ancard.clear();
mainGame->lstANCard->addItem(cstr.name); mainGame->lstANCard->addItem(cstr.name);
...@@ -774,7 +776,7 @@ bool ClientField::OnEvent(const irr::SEvent& event) { ...@@ -774,7 +776,7 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
for(auto cit = dataManager._strings.begin(); cit != dataManager._strings.end(); ++cit) { for(auto cit = dataManager._strings.begin(); cit != dataManager._strings.end(); ++cit) {
if(wcsstr(cit->second.name, pname) != 0) { if(wcsstr(cit->second.name, pname) != 0) {
auto cp = dataManager.GetCodePointer(cit->first); auto cp = dataManager.GetCodePointer(cit->first);
if(!cp->second.alias) { if(!cp->second.alias && !((cp->second.type & (TYPE_MONSTER + TYPE_TOKEN)) == (TYPE_MONSTER + TYPE_TOKEN))) {
mainGame->lstANCard->addItem(cit->second.name); mainGame->lstANCard->addItem(cit->second.name);
ancard.push_back(cit->first); ancard.push_back(cit->first);
} }
...@@ -791,7 +793,9 @@ bool ClientField::OnEvent(const irr::SEvent& event) { ...@@ -791,7 +793,9 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
const wchar_t* pname = mainGame->ebANCard->getText(); const wchar_t* pname = mainGame->ebANCard->getText();
int trycode = BufferIO::GetVal(pname); int trycode = BufferIO::GetVal(pname);
CardString cstr; CardString cstr;
if(dataManager.GetString(trycode, &cstr)) { CardData cd;
if(dataManager.GetString(trycode, &cstr) && dataManager.GetData(trycode, &cd)
&& !cd.alias && !((cd.type & (TYPE_MONSTER + TYPE_TOKEN)) == (TYPE_MONSTER + TYPE_TOKEN))) {
mainGame->lstANCard->clear(); mainGame->lstANCard->clear();
ancard.clear(); ancard.clear();
mainGame->lstANCard->addItem(cstr.name); mainGame->lstANCard->addItem(cstr.name);
...@@ -804,10 +808,13 @@ bool ClientField::OnEvent(const irr::SEvent& event) { ...@@ -804,10 +808,13 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
ancard.clear(); ancard.clear();
for(auto cit = dataManager._strings.begin(); cit != dataManager._strings.end(); ++cit) { for(auto cit = dataManager._strings.begin(); cit != dataManager._strings.end(); ++cit) {
if(wcsstr(cit->second.name, pname) != 0) { if(wcsstr(cit->second.name, pname) != 0) {
auto cp = dataManager.GetCodePointer(cit->first);
if(!cp->second.alias && !((cp->second.type & (TYPE_MONSTER + TYPE_TOKEN)) == (TYPE_MONSTER + TYPE_TOKEN))) {
mainGame->lstANCard->addItem(cit->second.name); mainGame->lstANCard->addItem(cit->second.name);
ancard.push_back(cit->first); ancard.push_back(cit->first);
} }
} }
}
break; break;
} }
case EDITBOX_CHAT: { case EDITBOX_CHAT: {
......
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