vector count of abilities

remove unused ones
This commit is contained in:
Anthony Calosa
2016-08-01 14:45:57 +08:00
parent 223e2e04b0
commit 969511953a
7 changed files with 15 additions and 23 deletions

View File

@@ -2211,7 +2211,12 @@ public:
assert(modifier < 2);
((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();
}
@@ -2262,7 +2267,7 @@ public:
assert(value < 2);
_target->basicAbilities.set(ability, value > 0);
_target->modifiedbAbi += 1;
return InstantAbility::addToGame();
}
@@ -2275,10 +2280,7 @@ public:
{
MTGCardInstance * _target = (MTGCardInstance *) target;
if (_target)
{
_target->basicAbilities.set(ability, stateBeforeActivation);
_target->modifiedbAbi -= 1;
}
return 1;
}

View File

@@ -57,8 +57,8 @@ public:
uint8_t colors;
typedef std::bitset<Constants::NB_BASIC_ABILITIES> BasicAbilitiesSet;
vector<int> modbasicAbilities;
BasicAbilitiesSet basicAbilities;
BasicAbilitiesSet origbasicAbilities;
BasicAbilitiesSet LKIbasicAbilities;
map<string,string> magicTexts;

View File

@@ -256,7 +256,6 @@ public:
bool bypassTC;
bool discarded;
int copiedID;
int modifiedbAbi;
bool StackIsEmptyandSorcerySpeed();
bool isTargetted();
int cardistargetted;

View File

@@ -3940,8 +3940,6 @@ int AACloner::resolve()
{
spell->source->addType(*it);
}
spell->source->modifiedbAbi = _target->modifiedbAbi;
//spell->source->basicAbilities = _target->origbasicAbilities;
for(int k = 0; k < Constants::NB_BASIC_ABILITIES; 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++)
{
_target->basicAbilities.set(*it);
_target->modifiedbAbi += 1;
}
if(newAbilityFound)
@@ -5801,7 +5798,6 @@ int ATransformer::destroy()
for (it = abilities.begin(); it != abilities.end(); it++)
{
_target->basicAbilities.reset(*it);
_target->modifiedbAbi -= 1;
}
for (it = oldcolors.begin(); it != oldcolors.end(); it++)

View File

@@ -41,7 +41,10 @@ CardPrimitive::CardPrimitive(CardPrimitive * source)
if(!source)
return;
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;
for (size_t i = 0; i < source->types.size(); ++i)
@@ -79,7 +82,7 @@ CardPrimitive::~CardPrimitive()
int CardPrimitive::init()
{
basicAbilities.reset();
origbasicAbilities.reset();
modbasicAbilities.clear();
types.clear();

View File

@@ -954,12 +954,8 @@ void GameObserver::gameStateBasedEffects()
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)
{
t = 0;

View File

@@ -64,7 +64,6 @@ MTGCardInstance::MTGCardInstance(MTGCard * card, MTGPlayerCards * arg_belongs_to
bypassTC = false;
discarded = false;
copiedID = getId();
modifiedbAbi = 0;
LKIpower = power;
LKItoughness = toughness;
cardistargetted = 0;
@@ -100,15 +99,12 @@ void MTGCardInstance::copy(MTGCardInstance * card)
MTGCard * source = card->model;
CardPrimitive * data = source->data;
//basicAbilities = card->origbasicAbilities;
for(int k = 0; k < Constants::NB_BASIC_ABILITIES; k++)
{
if(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++)
{
types.push_back(data->types[i]);