Implemented Commander mode and rules, added Command Zone to game, added/fixed primitives, increased the major release version.

This commit is contained in:
valfieri
2020-12-06 20:11:51 +01:00
parent 6ef9ecc147
commit ced2c85076
33 changed files with 588 additions and 78 deletions
+6 -2
View File
@@ -429,8 +429,8 @@ private:
for (int i = 0; i < 2; i++)
{
Player * p = card->getObserver()->players[i];
MTGGameZone * zones[] = { p->game->inPlay, p->game->graveyard, p->game->hand, p->game->library, p->game->exile, p->game->sideboard };//wish cards use sideboard
for (int k = 0; k < 6; k++)
MTGGameZone * zones[] = { p->game->inPlay, p->game->graveyard, p->game->hand, p->game->library, p->game->exile, p->game->sideboard, p->game->commandzone };//wish cards use sideboard
for (int k = 0; k < 7; k++)
{
MTGGameZone * zone = zones[k];
if (tc->targetsZone(zone, card))
@@ -606,6 +606,10 @@ private:
{
intValue = card->controller()->game->stack->seenThisTurn("*[-creature]", Constants::CAST_ALL);
}
else if(s == "pnumofcommandcast" || s == "onumofcommandcast")
{
intValue = (s == "pnumofcommandcast")?card->controller()->numOfCommandCast:card->controller()->opponent()->numOfCommandCast;
}
else if (s == "evictg")
{
intValue = card->imprintG;
+2
View File
@@ -8,6 +8,7 @@ class GuiGraveyard;
class GuiLibrary;
class GuiOpponentHand;
class GuiExile;
class GuiCommandZone;
class GuiAvatars: public GuiLayer
{
protected:
@@ -16,6 +17,7 @@ protected:
GuiLibrary* selfLibrary, *opponentLibrary;
GuiOpponentHand *opponentHand;
GuiExile* selfExile, *opponentExile;
GuiCommandZone* selfCommandZone, *opponentCommandZone;
GuiAvatar* active;
public:
+10
View File
@@ -98,4 +98,14 @@ public:
virtual ostream& toString(ostream& out) const;
};
class GuiCommandZone: public GuiGameZone
{
public:
Player * player;
GuiCommandZone(float _x, float _y, bool hasFocus, Player * player, GuiAvatars* parent);
int receiveEventPlus(WEvent*);
int receiveEventMinus(WEvent*);
virtual ostream& toString(ostream& out) const;
};
#endif // _GUISTATIC_H_
+2
View File
@@ -63,6 +63,8 @@ public:
int sunburst;
int equipment;
int mutation;
int damageInflictedAsCommander;
int numofcastfromcommandzone;
int auras;
bool wasDealtDamage;
bool combatdamageToOpponent;
+1
View File
@@ -215,6 +215,7 @@ public:
string meta_name;
vector<string> meta_AIHints;
vector<string> Sideboard;
vector<string> CommandZone;
string meta_unlockRequirements;
int meta_id;
+3 -1
View File
@@ -288,7 +288,9 @@ class Constants
NOFIZZLEALTERNATIVE = 162,
HASOTHERKICKER = 163,
PARTNER = 164,
NB_BASIC_ABILITIES = 165,
CANBECOMMANDER = 165,
ISCOMMANDER = 166,
NB_BASIC_ABILITIES = 167,
RARITY_S = 'S', //Special Rarity
RARITY_M = 'M', //Mythics
+9
View File
@@ -87,6 +87,14 @@ class MTGGameZone {
SIDEBOARD = 85,
OWNER_SIDEBOARD = 86,
TARGETED_PLAYER_SIDEBOARD = 87,
MY_COMMANDZONE = 88,
OPPONENT_COMMANDZONE = 89,
TARGET_OWNER_COMMANDZONE = 90,
TARGET_CONTROLLER_COMMANDZONE = 91,
COMMANDZONE = 92,
OWNER_COMMANDZONE = 93,
TARGETED_PLAYER_COMMANDZONE = 94,
};
Player * owner;
@@ -214,6 +222,7 @@ public:
MTGGameZone * garbageLastTurn;
MTGGameZone * reveal;
MTGGameZone * sideboard;
MTGGameZone * commandzone;
MTGGameZone * temp;
MTGPlayerCards();
+1
View File
@@ -11,6 +11,7 @@
#define GUI_LIBRARY 4
#define GUI_OPPONENTHAND 5
#define GUI_EXILE 6
#define GUI_COMMANDZONE 7
#include <JGui.h>
#include "WEvent.h"
+1
View File
@@ -44,6 +44,7 @@ public:
int drawCounter;
int energyCount;
int yidaroCount;
int numOfCommandCast;
int monarch;
int surveilOffset;
int epic;
+2 -2
View File
@@ -13,8 +13,8 @@ Mod by: Vitty85
/* Wagic versions */
#define WAGIC_VERSION_MAJOR 0
#define WAGIC_VERSION_MEDIUM 22
#define WAGIC_VERSION_MINOR 3
#define WAGIC_VERSION_MEDIUM 23
#define WAGIC_VERSION_MINOR 1
#define VERSION_DOT(a, b, c) a ##.## b ##.## c
#define VERSION_WITHOUT_DOT(a, b, c) a ## b ## c