Merge branch 'master' into cmake
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -45,19 +45,29 @@ class CardDescriptor: public MTGCardInstance
|
||||
int convertedManacost; // might fit better into MTGCardInstance?
|
||||
int zposComparisonMode;
|
||||
int zposition;
|
||||
int numofColorsComparisonMode;
|
||||
int numofColors;
|
||||
int hasKickerCost;
|
||||
int hasConvokeCost;
|
||||
int hasFlashbackCost;
|
||||
int hasBackSide;
|
||||
int modified;
|
||||
int toxicity;
|
||||
int hasPartner;
|
||||
int isPermanent;
|
||||
int hasXCost;
|
||||
int anyCounter;
|
||||
int init();
|
||||
CardDescriptor();
|
||||
void unsecureSetKicked(int i);
|
||||
void unsecureSetHasKickerCost(int i);
|
||||
void unsecureSetHasFlashbackCost(int i);
|
||||
void unsecureSetHasBackSide(int i);
|
||||
void unsecureSetHasPartner(int i);
|
||||
void unsecureSetKicked(int k);
|
||||
void unsecureSetHasKickerCost(int k);
|
||||
void unsecureSetHasConvokeCost(int k);
|
||||
void unsecureSetHasFlashbackCost(int k);
|
||||
void unsecureSetHasBackSide(int k);
|
||||
void unsecureSetModified(int k);
|
||||
void unsecureSetHasToxic(int k);
|
||||
void unsecureSetHasPartner(int k);
|
||||
void unsecureSetIsPermanent(int k);
|
||||
void unsecureSetTapped(int i);
|
||||
void unsecuresetfresh(int k);
|
||||
void unsecuresetrecent(int j);
|
||||
|
||||
@@ -33,7 +33,7 @@ public:
|
||||
DamageableType type_as_damageable;
|
||||
Damageable(GameObserver* observer, int _life)
|
||||
: Targetable(observer), life(_life), handsize(0),
|
||||
poisonCount(0), damageCount(0), preventable(0), thatmuch(0),
|
||||
poisonCount(0), damageCount(0), preventable(0), thatmuch(0), exceededDamage(0),
|
||||
lifeLostThisTurn(0), lifeGainedThisTurn(0), type_as_damageable(DAMAGEABLE_MTGCARDINSTANCE)
|
||||
{}
|
||||
int getLife(){return life;}
|
||||
|
||||
@@ -94,6 +94,7 @@ public:
|
||||
COMMANDER_MODE_UNLOCKED,
|
||||
LAST_NAMED, //Any option after this does not look up in optionNames.
|
||||
SET_UNLOCKS = LAST_NAMED + 1, //For sets.
|
||||
EXIT,
|
||||
};
|
||||
|
||||
static int optionSet(int setID);
|
||||
|
||||
@@ -78,7 +78,7 @@ private:
|
||||
DeckViewerStages mStage;
|
||||
JMusic * bgMusic;
|
||||
|
||||
InteractiveButton *toggleDeckButton, *sb_cmd_dng_Button, *sellCardButton, *statsPrevButton, *filterButton, *toggleViewButton, *toggleUpButton, *toggleDownButton, *toggleLeftButton, *toggleRightButton;
|
||||
InteractiveButton *toggleDeckButton, *sb_cmd_dng_Button, *sellCardButton, *statsPrevButton, *filterButton, *menuButton, *toggleViewButton, *toggleUpButton, *toggleDownButton, *toggleLeftButton, *toggleRightButton;
|
||||
|
||||
WGuiFilters * filterMenu;
|
||||
WSrcDeckViewer * source;
|
||||
|
||||
@@ -72,7 +72,7 @@ private:
|
||||
vector<MTGCardInstance*> subBooster;
|
||||
MTGDeck * booster;
|
||||
bool bListCards;
|
||||
InteractiveButton *cycleCardsButton, *showCardListButton;
|
||||
InteractiveButton *cycleCardsButton, *showCardListButton, *shopMenuButton;
|
||||
bool disablePurchase, clearInput;
|
||||
|
||||
void beginFilters();
|
||||
|
||||
@@ -97,6 +97,9 @@ public:
|
||||
bool turningOver;
|
||||
bool isMorphed;
|
||||
int isFlipped;
|
||||
int isCommander;
|
||||
int isRingBearer;
|
||||
bool isDefeated;
|
||||
string MeldedFrom;
|
||||
bool isPhased;
|
||||
bool isCascaded;
|
||||
@@ -149,8 +152,10 @@ public:
|
||||
int summoningSickness;
|
||||
ManaCost reducedCost;
|
||||
ManaCost increasedCost;
|
||||
ManaCost producedMana;
|
||||
ManaCost * getReducedManaCost();
|
||||
ManaCost * getIncreasedManaCost();
|
||||
ManaCost * getProducedMana();
|
||||
bool matchesCastFilter(int castMethod);
|
||||
bool hasTotemArmor();
|
||||
|
||||
@@ -207,6 +212,7 @@ public:
|
||||
int stepPower(CombatStep step);
|
||||
int afterDamage();
|
||||
int has(int ability);
|
||||
int getToxicity();
|
||||
int cleanup();
|
||||
|
||||
MTGCard * model;
|
||||
|
||||
@@ -129,7 +129,7 @@ public:
|
||||
void prefetchCardNameCache();
|
||||
#endif
|
||||
|
||||
MTGCard * getCardByName(string name);
|
||||
MTGCard * getCardByName(string name, int forcedSetId = -1);
|
||||
void loadFolder(const string& folder, const string& filename="" );
|
||||
|
||||
int load(const string& config_file);
|
||||
|
||||
@@ -17,6 +17,8 @@ typedef enum
|
||||
GAME_TYPE_RANDOM2,
|
||||
GAME_TYPE_RANDOM3,
|
||||
GAME_TYPE_RANDOM5,
|
||||
GAME_TYPE_RANDOMCOMMANDER,
|
||||
GAME_TYPE_RANDOMCOMMANDERFROMFILE,
|
||||
GAME_TYPE_HORDE,
|
||||
GAME_TYPE_SET_LIMITED,
|
||||
GAME_TYPE_STORY,
|
||||
@@ -165,7 +167,7 @@ class Constants
|
||||
MUSTATTACK = 38,
|
||||
CANTBLOCK = 39,
|
||||
DOESNOTUNTAP = 40,
|
||||
OPPONENTSHROUD = 41,
|
||||
HEXPROOF = 41,
|
||||
INDESTRUCTIBLE = 42,
|
||||
INTIMIDATE = 43,
|
||||
DEATHTOUCH = 44,
|
||||
@@ -224,7 +226,7 @@ class Constants
|
||||
NOMANA = 97,
|
||||
ONLYMANA = 98,
|
||||
POISONDAMAGER = 99,
|
||||
soulbond = 100,
|
||||
SOULBOND = 100,
|
||||
LURE = 101,
|
||||
NOLEGEND = 102,
|
||||
CANPLAYFROMGRAVEYARD = 103,
|
||||
@@ -290,7 +292,7 @@ class Constants
|
||||
HASOTHERKICKER = 163,
|
||||
PARTNER = 164,
|
||||
CANBECOMMANDER = 165,
|
||||
ISCOMMANDER = 166,
|
||||
POISONFOURTOXIC = 166,
|
||||
THREEBLOCKERS = 167,
|
||||
HANDDEATH = 168,
|
||||
INPLAYDEATH = 169,
|
||||
@@ -318,7 +320,7 @@ class Constants
|
||||
PERPETUALDEATHTOUCH = 191,
|
||||
NONCOMBATVIGOR = 192,
|
||||
NOMOVETRIGGER = 193,
|
||||
WASCOMMANDER = 194,
|
||||
CANLOYALTYTWICE = 194,
|
||||
SHOWOPPONENTHAND = 195,
|
||||
SHOWCONTROLLERHAND = 196,
|
||||
HASREPLICATE = 197,
|
||||
@@ -338,7 +340,32 @@ class Constants
|
||||
COUNTERSHROUD = 211,
|
||||
NONIGHT = 212,
|
||||
NODAMAGEREMOVED = 213,
|
||||
NB_BASIC_ABILITIES = 214,
|
||||
BACKGROUNDPARTNER = 214,
|
||||
BOTTOMLIBRARYDEATH = 215,
|
||||
NOLOYALTYDAMAGE = 216,
|
||||
NODEFENSEDAMAGE = 217,
|
||||
AFFINITYALLCREATURES = 218,
|
||||
AFFINITYCONTROLLERCREATURES = 219,
|
||||
AFFINITYOPPONENTCREATURES = 220,
|
||||
AFFINITYALLDEADCREATURES = 221,
|
||||
AFFINITYPARTY = 222,
|
||||
AFFINITYENCHANTMENTS = 223,
|
||||
AFFINITYBASICLANDTYPES = 224,
|
||||
AFFINITYTWOBASICLANDTYPES = 225,
|
||||
AFFINITYGRAVECREATURES = 226,
|
||||
AFFINITYATTACKINGCREATURES = 227,
|
||||
AFFINITYGRAVEINSTSORC = 228,
|
||||
POISONFIVETOXIC = 229,
|
||||
POISONSIXTOXIC = 230,
|
||||
POISONSEVENTOXIC = 231,
|
||||
POISONEIGHTTOXIC = 232,
|
||||
POISONNINETOXIC = 233,
|
||||
POISONTENTOXIC = 234,
|
||||
EQPASINST = 235,
|
||||
CANLOYALTYASINST = 236,
|
||||
CANPLAYENCHANTMENTTOPLIBRARY = 237,//enchantment
|
||||
AFFINITYTWOALLDEADCREATURES = 238,
|
||||
NB_BASIC_ABILITIES = 239,
|
||||
|
||||
RARITY_S = 'S', //Special Rarity
|
||||
RARITY_M = 'M', //Mythics
|
||||
|
||||
@@ -45,9 +45,11 @@ public:
|
||||
int energyCount;
|
||||
int experienceCount;
|
||||
int yidaroCount;
|
||||
int ringTemptations;
|
||||
int dungeonCompleted;
|
||||
int numOfCommandCast;
|
||||
int monarch;
|
||||
int initiative;
|
||||
int surveilOffset;
|
||||
int devotionOffset;
|
||||
int lastShuffleTurn;
|
||||
@@ -66,7 +68,6 @@ public:
|
||||
int snowManaC;
|
||||
string lastChosenName;
|
||||
vector<string> prowledTypes;
|
||||
vector<MTGCardInstance*>curses;
|
||||
Player(GameObserver *observer, string deckFile, string deckFileSmall, MTGDeck * deck = NULL);
|
||||
virtual ~Player();
|
||||
virtual void setObserver(GameObserver*g);
|
||||
|
||||
@@ -44,6 +44,8 @@ protected:
|
||||
Player * loadPlayerRandom(GameObserver* observer, int isAI, int mode);
|
||||
Player * loadPlayerRandomThree(GameObserver* observer, int isAI);
|
||||
Player * loadPlayerRandomFive(GameObserver* observer, int isAI);
|
||||
Player * loadPlayerRandomCommander(GameObserver* observer, int isAI);
|
||||
Player * loadPlayerRandomCommanderFromFile(GameObserver* observer, int isAI);
|
||||
Player * loadPlayerHorde(GameObserver* observer, int isAI);
|
||||
Player * loadRandomSetLimited(GameObserver* observer, int isAI);
|
||||
Player * initPlayer(GameObserver *observer, int playerId);
|
||||
|
||||
@@ -33,7 +33,9 @@ public:
|
||||
TYPE_DUNGEON = 18,
|
||||
TYPE_EMBLEM = 19,
|
||||
TYPE_CONSPIRACY = 20,
|
||||
LAST_TYPE = TYPE_CONSPIRACY,
|
||||
TYPE_BACKGROUND = 21,
|
||||
TYPE_BATTLE = 22,
|
||||
LAST_TYPE = TYPE_BATTLE,
|
||||
};
|
||||
|
||||
protected:
|
||||
|
||||
@@ -69,6 +69,22 @@ struct WEventCounters : public WEvent {
|
||||
virtual Targetable * getTarget(int target);
|
||||
};
|
||||
|
||||
struct WEventTotalCounters : public WEvent {
|
||||
MTGCardInstance * targetCard;
|
||||
Counters * counter;
|
||||
string name;
|
||||
int power;
|
||||
int toughness;
|
||||
bool added;
|
||||
bool removed;
|
||||
int totalamount;
|
||||
bool iscost;
|
||||
MTGCardInstance * source;
|
||||
WEventTotalCounters(Counters *counter,string name,int power, int toughness,bool added = false, bool removed = false, int totalamount = 0, bool iscost = false, MTGCardInstance * source = NULL);
|
||||
using WEvent::getTarget;
|
||||
virtual Targetable * getTarget(int target);
|
||||
};
|
||||
|
||||
struct WEventLife : public WEvent {
|
||||
Player * player;
|
||||
int amount;
|
||||
@@ -146,6 +162,10 @@ struct WEventCardTappedForMana : public WEventCardUpdate {
|
||||
virtual Targetable * getTarget(int target);
|
||||
};
|
||||
|
||||
struct WEventCardManaProduced : public WEventCardUpdate {
|
||||
WEventCardManaProduced(MTGCardInstance * card);
|
||||
virtual Targetable * getTarget(int target);
|
||||
};
|
||||
|
||||
//Event when a card's "attacker" status changes
|
||||
//before:Player/Planeswalker that card was attacking previously
|
||||
@@ -385,6 +405,31 @@ struct WEventplayerMonarch : public WEvent {
|
||||
virtual Targetable * getTarget(Player * player);
|
||||
};
|
||||
|
||||
//ring tempts event
|
||||
struct WEventplayerTempted : public WEvent {
|
||||
WEventplayerTempted(Player * player);
|
||||
Player * player;
|
||||
using WEvent::getTarget;
|
||||
virtual Targetable * getTarget(Player * player);
|
||||
};
|
||||
|
||||
//proliferate event
|
||||
struct WEventplayerProliferated : public WEvent {
|
||||
WEventplayerProliferated(Player * player);
|
||||
Player * player;
|
||||
MTGCardInstance * source;
|
||||
using WEvent::getTarget;
|
||||
virtual Targetable * getTarget(Player * player);
|
||||
};
|
||||
|
||||
//initiative event
|
||||
struct WEventplayerInitiative : public WEvent {
|
||||
WEventplayerInitiative(Player * player);
|
||||
Player * player;
|
||||
using WEvent::getTarget;
|
||||
virtual Targetable * getTarget(Player * player);
|
||||
};
|
||||
|
||||
//shuffle event
|
||||
struct WEventplayerShuffled : public WEvent {
|
||||
WEventplayerShuffled(Player * player);
|
||||
@@ -399,6 +444,12 @@ struct WEventCardBoasted : public WEventCardUpdate {
|
||||
virtual Targetable * getTarget(int target);
|
||||
};
|
||||
|
||||
//defeated event
|
||||
struct WEventCardDefeated : public WEventCardUpdate {
|
||||
WEventCardDefeated(MTGCardInstance * card);
|
||||
virtual Targetable * getTarget(int target);
|
||||
};
|
||||
|
||||
//surveil event
|
||||
struct WEventCardSurveiled : public WEventCardUpdate {
|
||||
WEventCardSurveiled(MTGCardInstance * card);
|
||||
@@ -423,12 +474,25 @@ struct WEventCardScryed : public WEventCardUpdate {
|
||||
virtual Targetable * getTarget(int target);
|
||||
};
|
||||
|
||||
//ninjutsu event
|
||||
struct WEventCardNinja : public WEventCardUpdate {
|
||||
WEventCardNinja(MTGCardInstance * card);
|
||||
virtual Targetable * getTarget(int target);
|
||||
};
|
||||
|
||||
//explores event
|
||||
struct WEventCardExplored : public WEventCardUpdate {
|
||||
WEventCardExplored(MTGCardInstance * card);
|
||||
virtual Targetable * getTarget(int target);
|
||||
};
|
||||
|
||||
//ring bearer event
|
||||
struct WEventCardBearerChosen : public WEventCardUpdate {
|
||||
bool bearerChanged;
|
||||
WEventCardBearerChosen(MTGCardInstance * card);
|
||||
virtual Targetable * getTarget(int target);
|
||||
};
|
||||
|
||||
//dungeon completed event
|
||||
struct WEventCardDungeonCompleted : public WEventCardUpdate {
|
||||
int totaldng;
|
||||
|
||||
@@ -13,8 +13,8 @@ Mod by: Vitty85
|
||||
|
||||
/* Wagic versions */
|
||||
#define WAGIC_VERSION_MAJOR 0
|
||||
#define WAGIC_VERSION_MEDIUM 23
|
||||
#define WAGIC_VERSION_MINOR 1
|
||||
#define WAGIC_VERSION_MEDIUM 25
|
||||
#define WAGIC_VERSION_MINOR 3
|
||||
|
||||
#define VERSION_DOT(a, b, c) a ##.## b ##.## c
|
||||
#define VERSION_WITHOUT_DOT(a, b, c) a ## b ## c
|
||||
|
||||
Reference in New Issue
Block a user