first moved the def of handsize for a game into the rules.txt as discussed with wololo...

this update requires you to update your rules folder files!!!

2nd
added 2 new vanguard game modes.
Stone Hewer Basic - when ever a creature enters play, a random equipment with a converted mana cost less than or equal to that creature is put into play and attached to it.
this mode is unlockable, requirement = win a match where 10 or more equipment were in the battlefeild at the moment you won.

Hermit Druid basic- in this game mode, during each of the players upkeeps, a random land card from their deck is placed into the battlefield, these do not count against your 1 land per turn limit.
to unlock this, win any match with less then 10 lands.
This commit is contained in:
omegablast2002@yahoo.com
2011-05-23 11:46:04 +00:00
parent a863b68a30
commit 0727343ebe
19 changed files with 384 additions and 11 deletions

View File

@@ -185,6 +185,10 @@ public:
{
intValue = target->getToughness();
}
else if (s == "handsize")
{
intValue = target->controller()->handsize;
}
else
{
intValue = atoi(s.c_str());
@@ -2982,6 +2986,21 @@ public:
return a;
}
};
//set a players hand size
class AASetHand: public ActivatedAbilityTP
{
public:
int hand;
AASetHand(int _id, MTGCardInstance * _source, Targetable * _target, int hand, ManaCost * _cost = NULL,
int who = TargetChooser::UNSET);
int resolve();
const char * getMenuText();
AASetHand * clone() const;
};
//lifeset
class AALifeSet: public ActivatedAbilityTP
{

View File

@@ -28,6 +28,8 @@ private:
time_t gameLength;
int isDifficultyUnlocked(DeckStats * stats);
int isMomirUnlocked();
int isStoneHewerUnlocked();
int isHermitUnlocked();
int isEvilTwinUnlocked();
int isRandomDeckUnlocked();
int IsMoreAIDecksUnlocked(DeckStats * stats);

View File

@@ -23,6 +23,7 @@ class Damageable:public Targetable
protected:
public:
int life;
int handsize;
int poisonCount;
int damageCount;
int preventable;

View File

@@ -45,6 +45,9 @@ enum
GAME_TYPE_RANDOM2,
GAME_TYPE_STORY,
GAME_TYPE_DEMO,
GAME_TYPE_STONEHEWER,
GAME_TYPE_HERMIT,
#ifdef NETWORK_SUPPORT
GAME_TYPE_SLAVE,
#endif //NETWORK_SUPPORT

View File

@@ -82,6 +82,8 @@ public:
BEGIN_AWARDS, //Options after this use the GameOptionAward struct, which includes a timestamp.
DIFFICULTY_MODE_UNLOCKED = BEGIN_AWARDS,
MOMIR_MODE_UNLOCKED,
STONEHEWER_MODE_UNLOCKED,
HERMIT_MODE_UNLOCKED,
EVILTWIN_MODE_UNLOCKED,
RANDOMDECK_MODE_UNLOCKED,
AWARD_COLLECTOR,

View File

@@ -342,6 +342,47 @@ public:
virtual MTGMomirRule * clone() const;
};
//stone hewer gaint avatar mode
class MTGStoneHewerRule: public MTGAbility
{
private:
int genRandomEquipId(int convertedCost);
static vector<int> pool[20];
static int initialized;
int textAlpha;
string text;
public:
int alreadyplayed;
MTGAllCards * collection;
MTGCardInstance * genEquip(int id);
int testDestroy();
void Update(float dt);
void Render();
MTGStoneHewerRule(int _id, MTGAllCards * _collection);
int receiveEvent(WEvent * event);
const char * getMenuText()
{
return "Stone Hewer";
}
virtual ostream& toString(ostream& out) const;
virtual MTGStoneHewerRule * clone() const;
};
//Hermit Druid avatar mode
class MTGHermitRule: public MTGAbility
{
public:
int testDestroy();
MTGHermitRule(int _id);
int receiveEvent(WEvent * event);
const char * getMenuText()
{
return "Hermit";
}
virtual MTGHermitRule * clone() const;
};
//
/* LifeLink */
class MTGLifelinkRule: public MTGAbility
{