fix copier token image
This commit is contained in:
@@ -906,7 +906,7 @@ type=Instant
|
|||||||
[card]
|
[card]
|
||||||
name=Adventuring Gear
|
name=Adventuring Gear
|
||||||
auto={1}:equip
|
auto={1}:equip
|
||||||
auto=teach(creature) transforms((,newability[@movedTo(land|myBattlefield):2/2]))
|
auto=teach(creature) transforms((,newability[@movedTo(land|myBattlefield):2/2 ueot]))
|
||||||
text=Landfall - Whenever a land enters the battlefield under your control, equipped creature gets +2/+2 until end of turn. -- Equip {1} ({1}: Attach to target creature you control. Equip only as a sorcery.)
|
text=Landfall - Whenever a land enters the battlefield under your control, equipped creature gets +2/+2 until end of turn. -- Equip {1} ({1}: Attach to target creature you control. Equip only as a sorcery.)
|
||||||
mana={1}
|
mana={1}
|
||||||
type=Artifact
|
type=Artifact
|
||||||
@@ -63590,7 +63590,7 @@ subtype=Swamp
|
|||||||
[card]
|
[card]
|
||||||
name=Leering Emblem
|
name=Leering Emblem
|
||||||
auto={2}:equip
|
auto={2}:equip
|
||||||
auto=teach(creature) transforms((,newability[@movedTo(*|mystack):2/2]))
|
auto=teach(creature) transforms((,newability[@movedTo(*|mystack):2/2 ueot]))
|
||||||
text=Whenever you cast a spell, equipped creature gets +2/+2 until end of turn. -- Equip {2}
|
text=Whenever you cast a spell, equipped creature gets +2/+2 until end of turn. -- Equip {2}
|
||||||
mana={2}
|
mana={2}
|
||||||
type=Artifact
|
type=Artifact
|
||||||
|
|||||||
@@ -64,6 +64,7 @@ public:
|
|||||||
int equipment;
|
int equipment;
|
||||||
int auras;
|
int auras;
|
||||||
bool wasDealtDamage;
|
bool wasDealtDamage;
|
||||||
|
bool combatdamageToOpponent;
|
||||||
bool damageToOpponent;
|
bool damageToOpponent;
|
||||||
bool damageToController;
|
bool damageToController;
|
||||||
bool damageToCreature;
|
bool damageToCreature;
|
||||||
|
|||||||
@@ -80,6 +80,7 @@ public:
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
virtual JQuadPtr RetrieveCard(MTGCard * card, int style = RETRIEVE_NORMAL,int submode = CACHE_NORMAL) = 0;
|
virtual JQuadPtr RetrieveCard(MTGCard * card, int style = RETRIEVE_NORMAL,int submode = CACHE_NORMAL) = 0;
|
||||||
|
virtual JQuadPtr RetrieveCardToken(MTGCard * card, int style = RETRIEVE_NORMAL,int submode = CACHE_NORMAL, int tId = 0) = 0;
|
||||||
virtual JSample * RetrieveSample(const string& filename, int style = RETRIEVE_NORMAL, int submode = CACHE_NORMAL) = 0;
|
virtual JSample * RetrieveSample(const string& filename, int style = RETRIEVE_NORMAL, int submode = CACHE_NORMAL) = 0;
|
||||||
virtual JTexture * RetrieveTexture(const string& filename, int style = RETRIEVE_NORMAL, int submode = CACHE_NORMAL) = 0;
|
virtual JTexture * RetrieveTexture(const string& filename, int style = RETRIEVE_NORMAL, int submode = CACHE_NORMAL) = 0;
|
||||||
virtual JQuadPtr RetrieveQuad(const string& filename, float offX=0.0f, float offY=0.0f, float width=0.0f, float height=0.0f, string resname="", int style = RETRIEVE_NORMAL, int submode = CACHE_NORMAL, int id = 0) = 0;
|
virtual JQuadPtr RetrieveQuad(const string& filename, float offX=0.0f, float offY=0.0f, float width=0.0f, float height=0.0f, string resname="", int style = RETRIEVE_NORMAL, int submode = CACHE_NORMAL, int id = 0) = 0;
|
||||||
|
|||||||
@@ -141,6 +141,7 @@ public:
|
|||||||
bool IsThreaded();
|
bool IsThreaded();
|
||||||
|
|
||||||
JQuadPtr RetrieveCard(MTGCard * card, int style = RETRIEVE_NORMAL,int submode = CACHE_NORMAL);
|
JQuadPtr RetrieveCard(MTGCard * card, int style = RETRIEVE_NORMAL,int submode = CACHE_NORMAL);
|
||||||
|
JQuadPtr RetrieveCardToken(MTGCard * card, int style = RETRIEVE_NORMAL,int submode = CACHE_NORMAL, int tId = 0);
|
||||||
JSample * RetrieveSample(const string& filename, int style = RETRIEVE_NORMAL, int submode = CACHE_NORMAL);
|
JSample * RetrieveSample(const string& filename, int style = RETRIEVE_NORMAL, int submode = CACHE_NORMAL);
|
||||||
JTexture * RetrieveTexture(const string& filename, int style = RETRIEVE_NORMAL, int submode = CACHE_NORMAL);
|
JTexture * RetrieveTexture(const string& filename, int style = RETRIEVE_NORMAL, int submode = CACHE_NORMAL);
|
||||||
JQuadPtr RetrieveQuad(const string& filename, float offX=0.0f, float offY=0.0f, float width=0.0f, float height=0.0f, string resname="", int style = RETRIEVE_LOCK, int submode = CACHE_NORMAL, int id = 0);
|
JQuadPtr RetrieveQuad(const string& filename, float offX=0.0f, float offY=0.0f, float width=0.0f, float height=0.0f, string resname="", int style = RETRIEVE_LOCK, int submode = CACHE_NORMAL, int id = 0);
|
||||||
|
|||||||
@@ -148,6 +148,11 @@ void CardGui::Render()
|
|||||||
MTGCard * fcard = MTGCollection()->getCardByName(card->name);
|
MTGCard * fcard = MTGCollection()->getCardByName(card->name);
|
||||||
quad = game->getResourceManager()->RetrieveCard(fcard, CACHE_THUMB);
|
quad = game->getResourceManager()->RetrieveCard(fcard, CACHE_THUMB);
|
||||||
}
|
}
|
||||||
|
if (game && card->hasCopiedToken && !quad.get())
|
||||||
|
{
|
||||||
|
MTGCard * tcard = MTGCollection()->getCardById(abs(card->copiedID));
|
||||||
|
quad = game->getResourceManager()->RetrieveCardToken(tcard, CACHE_THUMB, 1, abs(card->copiedID));
|
||||||
|
}
|
||||||
if (quad.get())
|
if (quad.get())
|
||||||
alternate = false;
|
alternate = false;
|
||||||
else
|
else
|
||||||
@@ -1144,6 +1149,12 @@ void CardGui::RenderBig(MTGCard* card, const Pos& pos, bool thumb, bool noborder
|
|||||||
MTGCard * fcard = MTGCollection()->getCardByName(kcard->name);
|
MTGCard * fcard = MTGCollection()->getCardByName(kcard->name);
|
||||||
quad = WResourceManager::Instance()->RetrieveCard(fcard);
|
quad = WResourceManager::Instance()->RetrieveCard(fcard);
|
||||||
}
|
}
|
||||||
|
if (kcard->getObserver() && kcard->hasCopiedToken && !quad.get())
|
||||||
|
{
|
||||||
|
MTGCard * tcard = MTGCollection()->getCardById(abs(kcard->copiedID));
|
||||||
|
quad = thumb ? WResourceManager::Instance()->RetrieveCardToken(tcard, RETRIEVE_THUMB, 1, abs(kcard->copiedID))
|
||||||
|
: WResourceManager::Instance()->RetrieveCardToken(tcard, RETRIEVE_NORMAL, 1, abs(kcard->copiedID));
|
||||||
|
}
|
||||||
if (quad.get())
|
if (quad.get())
|
||||||
{
|
{
|
||||||
if (quad->mHeight < quad->mWidth)
|
if (quad->mHeight < quad->mWidth)
|
||||||
|
|||||||
@@ -261,6 +261,7 @@ int Damage::resolve()
|
|||||||
if ( typeOfDamage == 1 && target == source->controller()->opponent() )//add vector prowledtypes.
|
if ( typeOfDamage == 1 && target == source->controller()->opponent() )//add vector prowledtypes.
|
||||||
{
|
{
|
||||||
source->controller()->dealsdamagebycombat = 1; // for restriction check
|
source->controller()->dealsdamagebycombat = 1; // for restriction check
|
||||||
|
((MTGCardInstance*)source)->combatdamageToOpponent = true; //check
|
||||||
vector<string> values = MTGAllCards::getCreatureValuesById();//getting a weird crash here. rarely.
|
vector<string> values = MTGAllCards::getCreatureValuesById();//getting a weird crash here. rarely.
|
||||||
for (size_t i = 0; i < values.size(); ++i)
|
for (size_t i = 0; i < values.size(); ++i)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -968,6 +968,7 @@ void GameObserver::gameStateBasedEffects()
|
|||||||
c->wasDealtDamage = false;
|
c->wasDealtDamage = false;
|
||||||
c->damageToController = false;
|
c->damageToController = false;
|
||||||
c->damageToOpponent = false;
|
c->damageToOpponent = false;
|
||||||
|
c->combatdamageToOpponent = false;
|
||||||
c->damageToCreature = false;
|
c->damageToCreature = false;
|
||||||
c->isAttacking = NULL;
|
c->isAttacking = NULL;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -577,6 +577,13 @@ int AbilityFactory::parseCastRestrictions(MTGCardInstance * card, Player * playe
|
|||||||
if(card->didattacked)
|
if(card->didattacked)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
check = restriction[i].find("didcombatdamagetofoe");
|
||||||
|
if(check != string::npos)
|
||||||
|
{
|
||||||
|
if(!card->combatdamageToOpponent)
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
check = restriction[i].find("ownerscontrol");
|
check = restriction[i].find("ownerscontrol");
|
||||||
if(check != string::npos)
|
if(check != string::npos)
|
||||||
|
|||||||
@@ -218,6 +218,7 @@ void MTGCardInstance::initMTGCI()
|
|||||||
sunburst = 0;
|
sunburst = 0;
|
||||||
equipment = 0;
|
equipment = 0;
|
||||||
auras = 0;
|
auras = 0;
|
||||||
|
combatdamageToOpponent = false;
|
||||||
damageToOpponent = false;
|
damageToOpponent = false;
|
||||||
damageToController = false;
|
damageToController = false;
|
||||||
damageToCreature = false;
|
damageToCreature = false;
|
||||||
|
|||||||
@@ -263,6 +263,46 @@ JQuadPtr ResourceManagerImpl::RetrieveCard(MTGCard * card, int style, int submod
|
|||||||
return JQuadPtr();
|
return JQuadPtr();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
JQuadPtr ResourceManagerImpl::RetrieveCardToken(MTGCard * card, int style, int submode, int tId)
|
||||||
|
{
|
||||||
|
//Cards are never, ever resource managed, so just check cache.
|
||||||
|
if (!card || options[Options::DISABLECARDS].number) return JQuadPtr();
|
||||||
|
|
||||||
|
submode = submode | TEXTURE_SUB_CARD;
|
||||||
|
|
||||||
|
//static std::ostringstream filename;
|
||||||
|
//filename.str("");
|
||||||
|
string filename;
|
||||||
|
filename.reserve(4096);
|
||||||
|
//filename << setlist[card->setId] << "/" << card->getImageName();
|
||||||
|
filename.append(setlist[card->setId]);
|
||||||
|
filename.append("/");
|
||||||
|
int id = -card->getMTGId();
|
||||||
|
if(tId)
|
||||||
|
id = -tId;
|
||||||
|
ostringstream imagename;
|
||||||
|
imagename << "-" << id << "t.jpg";
|
||||||
|
filename.append(imagename.str());
|
||||||
|
|
||||||
|
//Aliases.
|
||||||
|
if (style == RETRIEVE_THUMB)
|
||||||
|
{
|
||||||
|
submode = submode | TEXTURE_SUB_THUMB;
|
||||||
|
style = RETRIEVE_NORMAL;
|
||||||
|
}
|
||||||
|
|
||||||
|
JQuadPtr jq = RetrieveQuad(filename, 0, 0, 0, 0, "", style, submode | TEXTURE_SUB_5551, id);
|
||||||
|
|
||||||
|
lastError = textureWCache.mError;
|
||||||
|
if (jq)
|
||||||
|
{
|
||||||
|
jq->SetHotSpot(static_cast<float> (jq->mTex->mWidth / 2), static_cast<float> (jq->mTex->mHeight / 2));
|
||||||
|
return jq;
|
||||||
|
}
|
||||||
|
|
||||||
|
return JQuadPtr();
|
||||||
|
}
|
||||||
|
|
||||||
int ResourceManagerImpl::AddQuadToManaged(const WManagedQuad& inQuad)
|
int ResourceManagerImpl::AddQuadToManaged(const WManagedQuad& inQuad)
|
||||||
{
|
{
|
||||||
int id = mIDLookupMap.size();
|
int id = mIDLookupMap.size();
|
||||||
|
|||||||
Reference in New Issue
Block a user