this is the first draft of a simple ai combo system,
format is as follows
HINT#combo hold(blah|myhand)^until(blah|mygraveyard)^until(blah|opponentshand)^restriction{type(creature|mybattlefield)~morethan~2}^cast(blah) targeting(blah|mygraveyard)^totalmananneeded({g}{g}{r}{u}{2})
the ai can be told to hold more then one card, until as many condiations as you want are met, until( is a TC and can basically be used in a fasion of saying "hold arbor elf until you have a lord of atlantas in play and a gaint growth in you hand"
once the condiations are met you can later tell it to cast(gaint growth) targeting(arbor elf[fresh]|mybattlefield)...
I also included the whole of the games restrictions system...
so you can get really really creative with this so far.
the next thing I will do is ability targeting and card favoring.
This commit is contained in:
@@ -3490,7 +3490,7 @@ void AbilityFactory::addAbilities(int _id, Spell * spell)
|
||||
case 1103: //Crystal Rod
|
||||
{
|
||||
|
||||
std::vector<int8_t> cost;
|
||||
std::vector<int16_t> cost;
|
||||
cost.push_back(Constants::MTG_COLOR_ARTIFACT);
|
||||
cost.push_back(1);
|
||||
ASpellCastLife* ability = NEW ASpellCastLife(observer, _id, card, Constants::MTG_COLOR_BLUE, NEW ManaCost(cost, 1), 1);
|
||||
@@ -3525,7 +3525,7 @@ void AbilityFactory::addAbilities(int _id, Spell * spell)
|
||||
case 1113: //Iron Star
|
||||
{
|
||||
|
||||
std::vector<int8_t> cost;
|
||||
std::vector<int16_t> cost;
|
||||
cost.push_back(Constants::MTG_COLOR_ARTIFACT);
|
||||
cost.push_back(1);
|
||||
ASpellCastLife* ability = NEW ASpellCastLife(observer, _id, card, Constants::MTG_COLOR_RED, NEW ManaCost(cost, 1), 1);
|
||||
@@ -3539,7 +3539,7 @@ void AbilityFactory::addAbilities(int _id, Spell * spell)
|
||||
}
|
||||
case 1114: //Ivory cup
|
||||
{
|
||||
std::vector<int8_t> cost;
|
||||
std::vector<int16_t> cost;
|
||||
cost.push_back(Constants::MTG_COLOR_ARTIFACT);
|
||||
cost.push_back(1);
|
||||
ASpellCastLife* ability = NEW ASpellCastLife(observer, _id, card, Constants::MTG_COLOR_WHITE, NEW ManaCost(cost, 1), 1);
|
||||
@@ -3614,7 +3614,7 @@ void AbilityFactory::addAbilities(int _id, Spell * spell)
|
||||
|
||||
case 1140: //Throne of Bone
|
||||
{
|
||||
std::vector<int8_t> cost;
|
||||
std::vector<int16_t> cost;
|
||||
cost.push_back(Constants::MTG_COLOR_ARTIFACT);
|
||||
cost.push_back(1);
|
||||
ASpellCastLife* ability = NEW ASpellCastLife(observer, _id, card, Constants::MTG_COLOR_BLACK, NEW ManaCost(cost, 1), 1);
|
||||
@@ -3624,7 +3624,7 @@ void AbilityFactory::addAbilities(int _id, Spell * spell)
|
||||
|
||||
case 1142: //Wooden Sphere
|
||||
{
|
||||
std::vector<int8_t> cost;
|
||||
std::vector<int16_t> cost;
|
||||
cost.push_back(Constants::MTG_COLOR_ARTIFACT);
|
||||
cost.push_back(1);
|
||||
ASpellCastLife* ability = NEW ASpellCastLife(observer, _id, card, Constants::MTG_COLOR_GREEN, NEW ManaCost(cost, 1), 1);
|
||||
|
||||
Reference in New Issue
Block a user