SotM Engine API
Class documentation for the Sentinels of the Multiverse Engine API.
Loading...
Searching...
No Matches
Card Class Reference

Public Member Functions

 Card (CardDefinition definition, TurnTaker owner, int instanceIndex, bool isFoilVersion=false, bool isAdvanced=false, bool isChallenge=false)
 
bool DoKeywordsContain (IEnumerable< string > keywords, bool evenIfUnderCard=false, bool evenIfFaceDown=false)
 
bool DoKeywordsContain (string keyword, bool evenIfUnderCard=false, bool evenIfFaceDown=false)
 
IEnumerable< LocationFindLocationsWhere (Func< Location, bool > where)
 
TokenPool FindTokenPool (string identifier)
 
void GainHP (Card sourceCard, int amount, bool allowExceedMaxHP=false)
 
string GetActivatableAbilityDescription (string abilityKey, int abilityIndex=0)
 
IEnumerable< CardGetAllNextToCards (bool recursive)
 
string GetIncapacitatedAbilityButtonText (int powerIndex)
 
string GetIncapacitatedAbilityDescription (int powerIndex)
 
IEnumerable< string > GetKeywords (bool evenIfUnderCard=false, bool evenIfFaceDown=false)
 
int GetNumberOfActivatableAbilities (string abilityKey=null)
 
string GetPowerDescription (int powerIndex)
 
bool HasActivatableAbility (string abilityKey=null)
 
bool IsAtLocationRecursive (Location location)
 Returns whether or not this card is in the provided location, or is recursively in that location (for example, if it is next to a card at that location).
 
bool IsInLocation (Location location)
 
void RemoveTarget ()
 
void RestoreHPToMaximum ()
 
void SetDefinition (CardDefinition definition)
 
void SetFaceUp (bool faceUp)
 
void SetFlipped (bool flipped)
 
void SetHitPoints (int amount)
 Sets the current HP of this card to the specified amount.
 
void SetIsBlank (bool isBlank)
 
void SetIsPositionKnown (bool isPositionKnown)
 
void SetMaximumHP (int amount, bool alsoSetHP)
 Sets the maximum HP to a specific value. This function is typically used by villain card flips.
 
void SetNemesisIdentifiers (IEnumerable< string > nemesisIdentifiers)
 
void SetNewOwner (TurnTaker tt)
 
void SetOverrideIfReal (bool? overrideIfReal)
 
void TakeDamage (int amount)
 
override string ToString ()
 

Static Public Member Functions

static string GeneratePerTargetKey (string keyPrefix, Card sourceCard, Card targetCard)
 

Properties

Location AboveLocation [get]
 
IEnumerable< string > AllPowers [get]
 
Func< bool > AlternateTitleCriteria [get, set]
 
string AlternateTitleOrTitle [get]
 
string BackgroundColor [get]
 
BattleZone BattleZone [get]
 
Location BelowLocation [get]
 
IEnumerable< string > CurrentPowers [get]
 
CardDefinition Definition [get]
 
bool HasGameText [get]
 
bool HasNemesisIcons [get]
 
bool HasPowers [get]
 
int? HitPoints [get]
 
string Identifier [get]
 
IEnumerable< CardDefinition.IncapacitatedAbilityDefinitionIncapacitatedAbilities [get]
 
int InstanceIndex [get]
 
bool IsActive [get]
 An "Active" card is a character card that is not incapacitated or out of game.
 
bool IsActiveEnneadCharacter [get]
 
bool IsAdept [get]
 
bool IsAdvanced [get]
 
bool IsAeonMan [get]
 
bool IsAgent [get]
 
bool IsAmmo [get]
 
bool IsAnomaly [get]
 
bool IsAntagonist [get]
 
bool IsArrow [get]
 
bool IsAttraction [get]
 
bool IsBattleZoneCard [get]
 
bool IsBeingDestroyed [get]
 
bool IsBiome [get]
 
bool IsBlank [get]
 Whether or not this card is currently Blank (caused by some other card effect)
 
bool IsBounty [get]
 
bool IsBreach [get]
 
bool IsBuilding [get]
 
bool IsBurst [get]
 
bool IsCantrip [get]
 
bool IsCatastrophe [get]
 
bool IsChallenge [get]
 
bool IsCharacter [get]
 
bool IsCitizen [get]
 
bool IsCivilian [get]
 
bool IsClone [get]
 
bool IsClue [get]
 
bool IsCohort [get]
 
bool IsComponent [get]
 
bool IsConcept [get]
 
bool IsCondition [get]
 
bool IsConflict [get]
 
bool IsConstruct [get]
 
bool IsCover [get]
 
bool IsCraterApe [get]
 
bool IsCrew [get]
 
bool IsCultist [get]
 
bool IsDemon [get]
 
bool IsDevice [get]
 
bool IsDistortion [get]
 
bool IsDiversion [get]
 
bool IsDoomsday [get]
 
bool IsDoubleSided [get]
 Used by the view to determine if it should show a deck back image or something specific to the card.
 
bool IsDreadnaught [get]
 
bool IsDrone [get]
 
bool IsDrudge [get]
 
bool IsDrug [get]
 
bool IsElemental [get]
 
bool IsEnneadCharacter [get]
 
bool IsEnvironment [get]
 
bool IsEnvironmentTarget [get]
 
bool IsFaceDownNonCharacter [get]
 Gets a value indicating whether this instance is a card that is face-down in play without a flip side.
 
bool IsFaceUp [get]
 Gets a value indicating whether this instance is face up (in the deck).
 
bool IsFlagship [get]
 
bool IsFleshchild [get]
 
bool IsFlipped [get]
 
bool IsFoilArtSameAsRegular [get]
 
bool IsFoilVersion [get, set]
 
bool IsForbidden [get]
 
bool IsForm [get]
 
bool IsFowl [get]
 
bool IsFragment [get]
 
bool IsFullCardWide [get]
 Used by the view to help determine card layouts.
 
bool IsGeneBoundReject [get]
 
bool IsGladiator [get]
 
bool IsGrue [get]
 
bool IsGun [get]
 
bool IsGunman [get]
 
bool IsHandler [get]
 
bool IsHardware [get]
 
bool IsHarmony [get]
 
bool IsHero [get]
 
bool IsHeroCharacterCard [get]
 
bool IsHeroTarget [get]
 Deprecated - Instead use CardController.IsHeroTarget()
 
bool IsHuge [get]
 
bool IsHunterTech [get]
 
bool IsImprint [get]
 
bool IsIncapacitated [get]
 A helper that returns true if the card is a hero character card or villain team member and is flipped.
 
bool IsIncapacitatedOrOutOfGame [get]
 
bool IsInDeck [get]
 
bool IsInevitableDestructionCard [get]
 
bool IsInGame [get]
 
bool IsInHand [get]
 
bool IsInmate [get]
 
bool IsInPlay [get]
 
bool IsInPlayAndHasGameText [get]
 
bool IsInPlayAndNotUnderCard [get]
 
bool IsInstrument [get]
 
bool IsInTheBox [get]
 Gets a value indicating whether this card is at the InTheBox location.
 
bool IsInTrash [get]
 
bool IsJinx [get]
 
bool IsJinxed [get]
 A hero is "Jinxed" if it has a "Jinx" card next to it.
 
bool IsKeeper [get]
 
bool IsLeavingPlay [get]
 
bool IsLemurian [get]
 
bool IsLevel [get]
 
bool IsLimited [get]
 
bool IsLink [get]
 
bool IsLocation [get]
 
bool IsLucky [get]
 
bool IsMaerynian [get]
 
bool IsMagmarian [get]
 
bool IsManifestation [get]
 
bool IsMaster [get]
 
bool IsMechanicalGolem [get]
 
bool IsMelody [get]
 
bool IsMinion [get]
 
bool IsMissionCard [get]
 
bool IsModContent [get]
 
bool IsMode [get]
 
bool IsModule [get]
 
bool IsMomentum [get]
 
bool IsMorlock [get]
 
bool IsNemesis [get]
 
bool IsNonEnvironmentTarget [get]
 
bool IsNonVillainTarget [get]
 Deprecated - Instead use IsTarget && !CardController.IsVillainTarget()
 
bool IsNormal [get]
 
bool IsObjective [get]
 
bool IsOblivAeonCharacterCard [get]
 
bool IsOffToTheSide [get]
 
bool IsOneShot [get]
 
bool IsOngoing [get]
 
bool IsOutOfGame [get]
 Gets a value indicating whether this card is at an out of game location (OutOfGame/InTheBox).
 
bool IsPlating [get]
 
bool IsPosition [get]
 
bool IsPositionKnown [get]
 Whether or not this card's position is currently known to the players.
 
bool IsPreserverArtifact [get]
 
bool IsPrimevalLimb [get]
 
bool IsPrimordialSeed [get]
 
bool IsPrimordialTree [get]
 
bool IsProjection [get]
 
bool IsProletariat [get]
 
bool IsPromoCard [get]
 
bool IsRat [get]
 
bool IsRealCard [get]
 
bool IsRelic [get]
 
bool IsResearcher [get]
 
bool IsReward [get]
 
bool IsRhythm [get]
 
bool IsRoom [get]
 
bool IsScion [get]
 
bool IsScionCharacter [get]
 
bool IsSecurity [get]
 
bool IsShape [get]
 
bool IsShield [get]
 
bool IsSignature [get]
 
bool IsSnare [get]
 
bool IsSoftware [get]
 
bool IsSoulPact [get]
 
bool IsSpell [get]
 
bool IsSpirit [get]
 
bool IsStructure [get]
 
bool IsStyle [get]
 
bool IsSubject [get]
 
bool IsSurge [get]
 
bool IsTactic [get]
 
bool IsTarget [get]
 
bool IsTheScionReserve [get]
 
bool IsThorathian [get]
 
bool IsThug [get]
 
bool IsTimePortal [get]
 
bool IsTiny [get]
 
bool IsTitle [get]
 
bool IsTool [get]
 
bool IsTorment [get]
 
bool IsTrap [get]
 
bool IsTreasure [get]
 
bool IsTrial [get]
 
bool IsTribunalAI [get]
 
bool IsTunnel [get]
 
bool IsUnderboss [get]
 
bool IsUnderCard [get]
 
bool IsVampire [get]
 
bool IsVat [get]
 
bool IsVictim [get]
 
bool IsVillain [get]
 
bool IsVillainCharacterCard [get]
 
bool IsVillainTarget [get]
 Deprecated - Instead use CardController.IsVillainTarget()
 
bool IsVillainTeam [get]
 
bool IsVillainTeamCharacter [get]
 
bool IsVoidformHusk [get]
 
bool IsVoodooPin [get]
 
bool IsWeatherEffect [get]
 
bool IsZombie [get]
 
DeckDefinition.DeckKind Kind [get]
 
Location Location [get, set]
 
int? MagicNumber [get]
 
int? MaximumHitPoints [get]
 
bool MayRegainHPAboveMaxHP [get, set]
 A property, set by its controller, to indicate if this card is allowed to go above its max hit points or not. This needs to be in the model so that CardCriteria can evaluate it, and should be set in the Controller's constructor.
 
string ModNamespace [get]
 
Location NativeDeck [get]
 
Location NativeTrash [get]
 
IEnumerable< string > NemesisIdentifiers [get]
 
Location NextToLocation [get]
 
int NumberOfPowers [get]
 
TurnTaker Owner [get]
 
DeckDefinition ParentDeck [get]
 
int? PlayIndex [get, set]
 
string PromoIdentifierOrIdentifier [get]
 
string QualifiedIdentifier [get]
 The identifier of the Card including namespace if specified (i.e. for mod decks)
 
string QualifiedPromoIdentifierOrIdentifier [get]
 
Card ResponsibleTarget [get]
 The responsible target is either this card if it is already a target, or the card's owner's character card (if any). This is so far only used for cards like Sucker Punch, in which although Sucker Punch technically destroyed a card, Tachyon's character card is the target responsible for it.
 
string SeriesIdentifier [get]
 
string SharedIdentifier [get]
 
DeckDefinition.? DeckKind TargetKind [get]
 Should only return a value if the target kind is specifically set.
 
string Title [get]
 
TokenPool[] TokenPools [get]
 
Location UnderLocation [get]
 
bool UseScionCharacterCardStyle [get]
 
bool WillBeDestroyed [get]
 

Member Function Documentation

◆ SetHitPoints()

void SetHitPoints ( int amount)
inline

Sets the current HP of this card to the specified amount.

Parameters
amountThe new HP.

◆ SetMaximumHP()

void SetMaximumHP ( int amount,
bool alsoSetHP )
inline

Sets the maximum HP to a specific value. This function is typically used by villain card flips.

Parameters
amountAmount of HP.
alsoSetHPIf true, also sets HitPoints to the same amount.

Property Documentation

◆ IsFaceDownNonCharacter

bool IsFaceDownNonCharacter
get

Gets a value indicating whether this instance is a card that is face-down in play without a flip side.

true if this instance is a non-character card that is face-down in play; otherwise, false.

◆ IsFaceUp

bool IsFaceUp
get

Gets a value indicating whether this instance is face up (in the deck).

true if this instance is face up in the deck (e.g. Ambuscade's trap cards); otherwise, false.

◆ IsInTheBox

bool IsInTheBox
get

Gets a value indicating whether this card is at the InTheBox location.

true if is in the box; otherwise, false.

◆ IsOutOfGame

bool IsOutOfGame
get

Gets a value indicating whether this card is at an out of game location (OutOfGame/InTheBox).

true if is out of game; otherwise, false.