Enum Zones
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Comparable<Zones>
,java.lang.constant.Constable
public enum Zones extends java.lang.Enum<Zones>
In a standard game, the local player can see their HAND
, their SECRET
zone, and both player's
BATTLEFIELD
zones. They know the count of the number of entities in the opponent's HAND
, opponent's
DECK
, opponent's SECRET
zone and their own DECK
. While neither player can browse through
the GRAVEYARD
the information inside of it is not considered secret.
Many effects interact with zones in special ways. For example, a GameLogic.summon(int, Minion, Entity, int,
boolean)
performs the consequences of playing a Card
; the card is moved to the GRAVEYARD
and a new
Minion
is created by Card.minion()
and placed into the BATTLEFIELD
.
-
Nested Class Summary
-
Enum Constant Summary
Enum Constants Enum Constant Description BATTLEFIELD
AMinion
is typically summoned into this zone.DECK
This zone is a player's deck.DISCOVER
The discover zone has any cards that are being currently chosen by the player as part of aDiscoverAction
.ENCHANTMENT
The enchantment zone corresponds to the player's list ofEnchantment
entities in theGameContext.getTriggers()
list.GRAVEYARD
The graveyard is where aCard
has been played withGameLogic.playCard(int, EntityReference, EntityReference)
goes; and where anActor
that has been destroyed withGameLogic.destroy(Actor...)
goes.HAND
This zone is a player's hand.HERO
The hero zone stores theHero
actor that represents a player's targetable avatar in the game.HERO_POWER
The hero power zone stores the hero power for a correspondingHero
.NONE
This zone specifies the entity belongs to no zone or the zone is not yet assigned.PLAYER
QUEST
This zone is whereQuest
entities go, which behave like secrets that are visible to the opponent and do not go away the first time they are triggered.REMOVED_FROM_PLAY
AnEntity
in this zone is "deleted" in the sense that it will never appear in anyEntityFilter
filters or targeting lists.SECRET
This zone is where aSecret
entity goes.SET_ASIDE_ZONE
The set aside zone holds anEntity
existing in any intermediate or "not really on the board" state, like the original minion after Recycle puts a new copy in the deck, the prior state of transformed minions and Lord Jaraxxus the minion after his Battlecry occurs.WEAPON
-
Field Summary
Fields Modifier and Type Field Description static java.util.Set<Zones>
PRIVATE
These zones are private: only the player that owns the entity in the zone ought to see notifications originating from that zone.static java.util.Set<Zones>
PUBLIC
These zones are public for notification purposes: both players ought to see their contents. -
Method Summary
Modifier and Type Method Description java.lang.String
getSerialized()
static Zones[]
validZones()
static Zones
valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name.static Zones[]
values()
Returns an array containing the constants of this enum type, in the order they are declared.
-
Enum Constant Details
-
NONE
This zone specifies the entity belongs to no zone or the zone is not yet assigned. -
HAND
This zone is a player's hand. OnlyCard
entities can be in this zone. -
DECK
This zone is a player's deck. OnlyCard
entities can be in this zone. -
GRAVEYARD
The graveyard is where aCard
has been played withGameLogic.playCard(int, EntityReference, EntityReference)
goes; and where anActor
that has been destroyed withGameLogic.destroy(Actor...)
goes. ASecret
and other entities subclassingEnchantment
go toREMOVED_FROM_PLAY
. -
BATTLEFIELD
AMinion
is typically summoned into this zone. Anything in this zone is targetable by physical attacks. -
SECRET
This zone is where aSecret
entity goes. Its contents are not visible to the opponent.- See Also:
for more about secrets.
-
QUEST
This zone is whereQuest
entities go, which behave like secrets that are visible to the opponent and do not go away the first time they are triggered.- See Also:
for more about quests.
-
HERO_POWER
The hero power zone stores the hero power for a correspondingHero
. Only one such card can be in the zone at a time.- See Also:
for more about the hero power zone.
-
HERO
The hero zone stores theHero
actor that represents a player's targetable avatar in the game.- See Also:
for more about heroes.
-
WEAPON
- See Also:
for more about weapons.
-
DISCOVER
The discover zone has any cards that are being currently chosen by the player as part of aDiscoverAction
.The opposing player can see the count, but not the contents, of cards the player is choosing between.
-
REMOVED_FROM_PLAY
AnEntity
in this zone is "deleted" in the sense that it will never appear in anyEntityFilter
filters or targeting lists. -
SET_ASIDE_ZONE
The set aside zone holds anEntity
existing in any intermediate or "not really on the board" state, like the original minion after Recycle puts a new copy in the deck, the prior state of transformed minions and Lord Jaraxxus the minion after his Battlecry occurs.Unlike the official game rules, the three cards presented to a player by Tracking go into the
DISCOVER
zone. -
PLAYER
Metastone originally used the same object for what is now thePlayer
andHero
entity. Since thePlayer
is still targetable (primarily by special buffing spells), it needs aZones
zone to belong to. This zone is the zone aPlayer
entity belongs to.- See Also:
for more about player entities.
-
ENCHANTMENT
The enchantment zone corresponds to the player's list ofEnchantment
entities in theGameContext.getTriggers()
list.
-
-
Field Details
-
Method Details
-
values
Returns an array containing the constants of this enum type, in the order they are declared.- Returns:
- an array containing the constants of this enum type, in the order they are declared
-
valueOf
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
name
- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
java.lang.IllegalArgumentException
- if this enum type has no constant with the specified namejava.lang.NullPointerException
- if the argument is null
-
getSerialized
public java.lang.String getSerialized() -
validZones
-