Commit 9c1b4ca5 authored by nanahira's avatar nanahira

fix

parent 4ad32378
Pipeline #4265 canceled with stages
in 53 seconds
......@@ -119,9 +119,9 @@ namespace YGOSharp
bool allow_ocg = hostInfoRule == 0 || hostInfoRule == 2; // OCG can be used in OCG and OT duels
bool allow_tcg = hostInfoRule == 1 || hostInfoRule == 2; // TCG can be used in TCG and OT duels
bool allow_ccg = hostInfoRule == 0 || hostInfoRule == 4 || hostInfoRule == 2; // CCG can be used in OCG, CCG and OT duels
if(!allow_ocg && (cardOt & 0x3 == 0x1))
if(!allow_ocg && ((cardOt & 0x3) == 0x1))
return false;
if(!allow_tcg && (cardOt & 0x3 == 0x2))
if(!allow_tcg && ((cardOt & 0x3) == 0x2))
return false;
if(hostInfoRule == 4 && !(cardOt & 0x8) && (cardOt & 0x3)) { // in CCG duels, cards labeled with ither OCG or TCG, but not CCG, would not be allowed.
return false;
......@@ -129,6 +129,23 @@ namespace YGOSharp
return true;
}
public bool IsCanSearchInRule(int hostInfoRule) {
if(hostInfoRule == -233)
return true;
int cardOt = this.Ot;
if(hostInfoRule == 0 && (cardOt & 0x3) != 0x1) // ocg
return false;
if(hostInfoRule == 1 && (cardOt & 0x3) != 0x2) // tcg
return false;
if(hostInfoRule == 2 && (cardOt & 0x3) != 0x3) // ot
return false;
if(hostInfoRule == 3 && (cardOt & 0x4) != 0x4) // DIY
return false;
if(hostInfoRule == 4 && (cardOt & 0x8) != 0x8) // ccg
return false;
return true;
}
internal Card(IDataRecord reader)
{
this.Str = new string[16];
......
......@@ -156,7 +156,7 @@ namespace YGOSharp
{
if (getBAN == -233 || banlist == null || banlist.GetQuantity(card.Id) == getBAN)
{
if (card.IsCanPlayInRule(getOT))
if (card.IsCanSearchInRule(getOT))
{
if (getPack == "" || card.packFullName == getPack)
{
......
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