vector count of abilities
remove unused ones
This commit is contained in:
@@ -2211,7 +2211,12 @@ public:
|
|||||||
|
|
||||||
assert(modifier < 2);
|
assert(modifier < 2);
|
||||||
((MTGCardInstance *) target)->basicAbilities.set(ability, modifier > 0);
|
((MTGCardInstance *) target)->basicAbilities.set(ability, modifier > 0);
|
||||||
|
//---add or subtract so we can keep track - for future use
|
||||||
|
((MTGCardInstance *) target)->modbasicAbilities[ability] += modifier;
|
||||||
|
//---make sure no negative values
|
||||||
|
if(((MTGCardInstance *) target)->modbasicAbilities[ability] < 0)
|
||||||
|
((MTGCardInstance *) target)->modbasicAbilities[ability] = 0;
|
||||||
|
//---end add or subtract abilities
|
||||||
return MTGAbility::addToGame();
|
return MTGAbility::addToGame();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2262,7 +2267,7 @@ public:
|
|||||||
|
|
||||||
assert(value < 2);
|
assert(value < 2);
|
||||||
_target->basicAbilities.set(ability, value > 0);
|
_target->basicAbilities.set(ability, value > 0);
|
||||||
_target->modifiedbAbi += 1;
|
|
||||||
return InstantAbility::addToGame();
|
return InstantAbility::addToGame();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2275,10 +2280,7 @@ public:
|
|||||||
{
|
{
|
||||||
MTGCardInstance * _target = (MTGCardInstance *) target;
|
MTGCardInstance * _target = (MTGCardInstance *) target;
|
||||||
if (_target)
|
if (_target)
|
||||||
{
|
|
||||||
_target->basicAbilities.set(ability, stateBeforeActivation);
|
_target->basicAbilities.set(ability, stateBeforeActivation);
|
||||||
_target->modifiedbAbi -= 1;
|
|
||||||
}
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -57,8 +57,8 @@ public:
|
|||||||
|
|
||||||
uint8_t colors;
|
uint8_t colors;
|
||||||
typedef std::bitset<Constants::NB_BASIC_ABILITIES> BasicAbilitiesSet;
|
typedef std::bitset<Constants::NB_BASIC_ABILITIES> BasicAbilitiesSet;
|
||||||
|
vector<int> modbasicAbilities;
|
||||||
BasicAbilitiesSet basicAbilities;
|
BasicAbilitiesSet basicAbilities;
|
||||||
BasicAbilitiesSet origbasicAbilities;
|
|
||||||
BasicAbilitiesSet LKIbasicAbilities;
|
BasicAbilitiesSet LKIbasicAbilities;
|
||||||
|
|
||||||
map<string,string> magicTexts;
|
map<string,string> magicTexts;
|
||||||
|
|||||||
@@ -256,7 +256,6 @@ public:
|
|||||||
bool bypassTC;
|
bool bypassTC;
|
||||||
bool discarded;
|
bool discarded;
|
||||||
int copiedID;
|
int copiedID;
|
||||||
int modifiedbAbi;
|
|
||||||
bool StackIsEmptyandSorcerySpeed();
|
bool StackIsEmptyandSorcerySpeed();
|
||||||
bool isTargetted();
|
bool isTargetted();
|
||||||
int cardistargetted;
|
int cardistargetted;
|
||||||
|
|||||||
@@ -3940,8 +3940,6 @@ int AACloner::resolve()
|
|||||||
{
|
{
|
||||||
spell->source->addType(*it);
|
spell->source->addType(*it);
|
||||||
}
|
}
|
||||||
spell->source->modifiedbAbi = _target->modifiedbAbi;
|
|
||||||
//spell->source->basicAbilities = _target->origbasicAbilities;
|
|
||||||
for(int k = 0; k < Constants::NB_BASIC_ABILITIES; k++)
|
for(int k = 0; k < Constants::NB_BASIC_ABILITIES; k++)
|
||||||
{
|
{
|
||||||
if(_target->model->data->basicAbilities[k])
|
if(_target->model->data->basicAbilities[k])
|
||||||
@@ -5652,7 +5650,6 @@ for (it = types.begin(); it != types.end(); it++)
|
|||||||
for (it = abilities.begin(); it != abilities.end(); it++)
|
for (it = abilities.begin(); it != abilities.end(); it++)
|
||||||
{
|
{
|
||||||
_target->basicAbilities.set(*it);
|
_target->basicAbilities.set(*it);
|
||||||
_target->modifiedbAbi += 1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(newAbilityFound)
|
if(newAbilityFound)
|
||||||
@@ -5801,7 +5798,6 @@ int ATransformer::destroy()
|
|||||||
for (it = abilities.begin(); it != abilities.end(); it++)
|
for (it = abilities.begin(); it != abilities.end(); it++)
|
||||||
{
|
{
|
||||||
_target->basicAbilities.reset(*it);
|
_target->basicAbilities.reset(*it);
|
||||||
_target->modifiedbAbi -= 1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
for (it = oldcolors.begin(); it != oldcolors.end(); it++)
|
for (it = oldcolors.begin(); it != oldcolors.end(); it++)
|
||||||
|
|||||||
@@ -41,7 +41,10 @@ CardPrimitive::CardPrimitive(CardPrimitive * source)
|
|||||||
if(!source)
|
if(!source)
|
||||||
return;
|
return;
|
||||||
basicAbilities = source->basicAbilities;
|
basicAbilities = source->basicAbilities;
|
||||||
origbasicAbilities = source->basicAbilities;
|
for(int k=0; k < Constants::NB_BASIC_ABILITIES; k++)
|
||||||
|
{
|
||||||
|
modbasicAbilities.push_back(source->basicAbilities[k]);
|
||||||
|
}
|
||||||
LKIbasicAbilities = source->basicAbilities;
|
LKIbasicAbilities = source->basicAbilities;
|
||||||
|
|
||||||
for (size_t i = 0; i < source->types.size(); ++i)
|
for (size_t i = 0; i < source->types.size(); ++i)
|
||||||
@@ -79,7 +82,7 @@ CardPrimitive::~CardPrimitive()
|
|||||||
int CardPrimitive::init()
|
int CardPrimitive::init()
|
||||||
{
|
{
|
||||||
basicAbilities.reset();
|
basicAbilities.reset();
|
||||||
origbasicAbilities.reset();
|
modbasicAbilities.clear();
|
||||||
|
|
||||||
types.clear();
|
types.clear();
|
||||||
|
|
||||||
|
|||||||
@@ -954,12 +954,8 @@ void GameObserver::gameStateBasedEffects()
|
|||||||
p->game->putInExile(c);
|
p->game->putInExile(c);
|
||||||
|
|
||||||
}
|
}
|
||||||
}/*
|
}
|
||||||
if(c->modifiedbAbi > 0)
|
|
||||||
{
|
|
||||||
c->modifiedbAbi = 0;
|
|
||||||
c->basicAbilities = c->origbasicAbilities;
|
|
||||||
}*///disabled this failed logic I introduce... when copying/cloning a card copy orig basic abilities...
|
|
||||||
if(nbcards > z->nb_cards)
|
if(nbcards > z->nb_cards)
|
||||||
{
|
{
|
||||||
t = 0;
|
t = 0;
|
||||||
|
|||||||
@@ -64,7 +64,6 @@ MTGCardInstance::MTGCardInstance(MTGCard * card, MTGPlayerCards * arg_belongs_to
|
|||||||
bypassTC = false;
|
bypassTC = false;
|
||||||
discarded = false;
|
discarded = false;
|
||||||
copiedID = getId();
|
copiedID = getId();
|
||||||
modifiedbAbi = 0;
|
|
||||||
LKIpower = power;
|
LKIpower = power;
|
||||||
LKItoughness = toughness;
|
LKItoughness = toughness;
|
||||||
cardistargetted = 0;
|
cardistargetted = 0;
|
||||||
@@ -100,15 +99,12 @@ void MTGCardInstance::copy(MTGCardInstance * card)
|
|||||||
MTGCard * source = card->model;
|
MTGCard * source = card->model;
|
||||||
CardPrimitive * data = source->data;
|
CardPrimitive * data = source->data;
|
||||||
|
|
||||||
//basicAbilities = card->origbasicAbilities;
|
|
||||||
for(int k = 0; k < Constants::NB_BASIC_ABILITIES; k++)
|
for(int k = 0; k < Constants::NB_BASIC_ABILITIES; k++)
|
||||||
{
|
{
|
||||||
if(card->model->data->basicAbilities[k])
|
if(card->model->data->basicAbilities[k])
|
||||||
basicAbilities[k] = card->model->data->basicAbilities[k];
|
basicAbilities[k] = card->model->data->basicAbilities[k];
|
||||||
}
|
}
|
||||||
|
|
||||||
origbasicAbilities = card->origbasicAbilities;
|
|
||||||
modifiedbAbi = card->modifiedbAbi;
|
|
||||||
for (size_t i = 0; i < data->types.size(); i++)
|
for (size_t i = 0; i < data->types.size(); i++)
|
||||||
{
|
{
|
||||||
types.push_back(data->types[i]);
|
types.push_back(data->types[i]);
|
||||||
|
|||||||
Reference in New Issue
Block a user