Updated pronouns to reflect current rules and oracle text

Replaced all instances of "her or she", "him or her", and "his or her", with "they", "them", and "their", or sometimes "that player". Updated verbs where appropriate.
This commit is contained in:
ssouders412 2019-12-06 14:29:36 -05:00
parent 45cccc75c4
commit 2d3247d732
No known key found for this signature in database
GPG key ID: 68371E62DD676CEE
387 changed files with 2422 additions and 2422 deletions

View file

@ -313,12 +313,12 @@ public abstract class AbilityImpl implements Ability {
// each target the spell requires. A spell may require some targets only if an alternative or
// additional cost (such as a buyback or kicker cost), or a particular mode, was chosen for it;
// otherwise, the spell is cast as though it did not require those targets. If the spell has a
// variable number of targets, the player announces how many targets he or she will choose before
// he or she announces those targets. The same target can't be chosen multiple times for any one
// variable number of targets, the player announces how many targets they will choose before
// they announce those targets. The same target can't be chosen multiple times for any one
// instance of the word "target" on the spell. However, if the spell uses the word "target" in
// multiple places, the same object, player, or zone can be chosen once for each instance of the
// word "target" (as long as it fits the targeting criteria). If any effects say that an object
// or player must be chosen as a target, the player chooses targets so that he or she obeys the
// or player must be chosen as a target, the player chooses targets so that they obey the
// maximum possible number of such effects without violating any rules or effects that say that
// an object or player can't be chosen as a target. The chosen players, objects, and/or zones
// each become a target of that spell. (Any abilities that trigger when those players, objects,
@ -541,7 +541,7 @@ public abstract class AbilityImpl implements Ability {
/**
* 601.2b If a cost that will be paid as the spell is being cast includes
* Phyrexian mana symbols, the player announces whether he or she intends to
* Phyrexian mana symbols, the player announces whether they intend to
* pay 2 life or the corresponding colored mana cost for each of those
* symbols.
*/

View file

@ -30,7 +30,7 @@ public class ControllerDivideCombatDamageAbility extends StaticAbility implement
@Override
public String getRule() {
return "You may assign {this}'s combat damage divided as you choose among defending player and/or any number of creatures he or she controls.";
return "You may assign {this}'s combat damage divided as you choose among defending player and/or any number of creatures they control.";
}
@Override

View file

@ -14,7 +14,7 @@ import mage.game.Game;
public interface AlternativeSourceCosts {
/**
* Ask the player if he wants to use the alternative costs
* Ask the player if they want to use the alternative costs
*
* @param ability ability the alternative cost is activated for
* @param game

View file

@ -99,6 +99,6 @@ public class DomainValue implements DynamicValue {
@Override
public String getMessage() {
return "basic land type among lands " + (countTargetPlayer ? "he or she controls" : "you control");
return "basic land type among lands " + (countTargetPlayer ? "they control" : "you control");
}
}

View file

@ -107,7 +107,7 @@ public class ContinuousEffectsList<T extends ContinuousEffect> extends ArrayList
which give that player control of any objects or players end. Then, if that player controlled any objects on the stack
not represented by cards, those objects cease to exist. Then, if there are any objects still controlled by that player,
those objects are exiled. This is not a state-based action. It happens as soon as the player leaves the game.
If the player who left the game had priority at the time he or she left, priority passes to the next player in turn
If the player who left the game had priority at the time they left, priority passes to the next player in turn
order whos still in the game.
*/
// objects removes doing in player.leave() call... effects removes is here

View file

@ -32,7 +32,7 @@ public interface ContinuousRuleModifyingEffect extends ContinuousEffect {
/**
* Defines if the user should get a message about the rule modifying effect
* if he was applied
* if it was applied
*
* @return true if user should be informed
*/
@ -40,13 +40,13 @@ public interface ContinuousRuleModifyingEffect extends ContinuousEffect {
/**
* Defines if the a message should be send to game log about the rule modifying effect
* if he was applied
* if it was applied
*
* @return true if message should go to game log
*/
boolean sendMessageToGameLog();
/**
* Returns a message text that informs the player why he can't do something.
* Returns a message text that informs the player why they can't do something.
*
* @param source the ability of the effect
* @param event

View file

@ -28,13 +28,13 @@ import mage.target.common.TargetOpponent;
* their revealed card on either the top or bottom of their library.
* (Note that the player whose turn it is does this first, not necessarily the
* controller of the clash spell or ability.) When the second player makes this
* decision, he or she will know what the first player chose. Then all cards are
* decision, they will know what the first player chose. Then all cards are
* moved at the same time. 5. The clash is over. If one player in the clash
* revealed a card with a higher converted mana cost than all other cards
* revealed in the clash, that player wins the clash. 6. If any abilities
* trigger when a player clashes, they trigger and wait to be put on the stack.
* 7. The clash spell or ability finishes resolving. That usually involves a
* bonus gained by the controller of the clash spell or ability if he or she won
* bonus gained by the controller of the clash spell or ability if they won
* the clash. 8. Abilities that triggered during the clash are put on the stack.
*
* There are no draws or losses in a clash. Either you win it or you don't. Each

View file

@ -29,7 +29,7 @@ import mage.players.Player;
* you can't cast spells, and At the beginning of each of your upkeeps for the
* rest of the game, copy this spell except for its epic ability. If the spell
* has any targets, you may choose new targets for the copy. See rule 706.10.
* 702.49b A player can't cast spells once a spell with epic he or she controls
* 702.49b A player can't cast spells once a spell with epic they control
* resolves, but effects (such as the epic ability itself) can still put copies
* of spells onto the stack. *
*/

View file

@ -58,7 +58,7 @@ public class ExileReturnBattlefieldOwnerNextEndStepSourceEffect extends OneShotE
int zcc = game.getState().getZoneChangeCounter(permanent.getId());
boolean exiled = controller.moveCardToExileWithInfo(permanent, source.getSourceId(), permanent.getIdName(), source.getSourceId(), game, Zone.BATTLEFIELD, true);
if (exiled || (returnAlways && (zcc == game.getState().getZoneChangeCounter(permanent.getId()) - 1))) {
//create delayed triggered ability and return it from every public zone he was next moved to
//create delayed triggered ability and return it from every public zone it was next moved to
AtTheBeginOfNextEndStepDelayedTriggeredAbility delayedAbility = new AtTheBeginOfNextEndStepDelayedTriggeredAbility(
new ReturnToBattlefieldUnderOwnerControlSourceEffect(returnTapped, zcc + 1));
game.addDelayedTriggeredAbility(delayedAbility, source);

View file

@ -65,7 +65,7 @@ public class ReturnToHandChosenPermanentEffect extends OneShotEffect {
sb.append(CardUtil.numberToText(number, "a"));
}
sb.append(' ').append(filter.getMessage());
sb.append(" he or she controls");
sb.append(" they control");
if (number > 1) {
sb.append(" to their owner's hand");
} else {

View file

@ -171,7 +171,7 @@ public class SacrificeOpponentsUnlessPayEffect extends OneShotEffect {
sb.append(' ');
sb.append(filter.getMessage());
sb.append(" unless he or she pays ");
sb.append(" unless they pay ");
if (cost != null) {
sb.append(cost.getText());

View file

@ -34,7 +34,7 @@ public class CantBlockUnlessPayManaAllEffect extends PayCostToAttackBlockEffectI
+ " can't block "
+ "unless their controller pays "
+ (manaCosts == null ? "" : manaCosts.getText())
+ " for each blocking creature he or she controls";
+ " for each blocking creature they control";
}
public CantBlockUnlessPayManaAllEffect(CantBlockUnlessPayManaAllEffect effect) {

View file

@ -106,7 +106,7 @@ public class SearchLibraryPutInPlayTargetPlayerEffect extends SearchEffect {
if (forceShuffle) {
sb.append(". Then that player shuffles their library");
} else {
sb.append(". If that player does, he or she shuffles their library");
sb.append(". If that player does, they shuffle their library");
}
staticText = sb.toString();
}

View file

@ -93,7 +93,7 @@ public class FatesealEffect extends OneShotEffect {
private void setText() {
StringBuilder sb = new StringBuilder("fateseal ").append(fatesealNumber);
if (fatesealNumber == 1) {
sb.append(". <i>(To fateseal 1, its controller looks at the top card of an opponent's library, then he or she may put that card on the bottom of that library.)</i>");
sb.append(". <i>(To fateseal 1, its controller looks at the top card of an opponent's library, then they may put that card on the bottom of that library.)</i>");
} else {
sb.append(". <i>(To fateseal ");
sb.append(CardUtil.numberToText(fatesealNumber));

View file

@ -22,7 +22,7 @@ import java.io.ObjectStreamException;
* 112.7a. Once activated or triggered, an ability exists on the stack independently of its source. Destruction or removal of the source after that time won't affect the ability. Note that some abilities cause a source to do something (for example, "Prodigal Sorcerer deals 1 damage...
* 608.2b. If the spell or ability specifies targets, it checks whether the targets are still legal. A target that's no longer in the zone it was in when it was targeted is illegal. Other changes to the game state may cause a target to no longer be legal; for example, its...
* 608.2g. If an effect requires information from the game (such as the number of creatures on the battlefield), the answer is determined only once, when the effect is applied. If the effect requires information from a specific object, including the source of the ability itself or a...
* 800.4f. If an effect requires information about a specific player, the effect uses the current information about that player if he or she is still in the game; otherwise, the effect uses the last known information about that player before he or she left the game.
* 800.4f. If an effect requires information about a specific player, the effect uses the current information about that player if they are still in the game; otherwise, the effect uses the last known information about that player before they left the game.
* is used to determine whether it had infect.
*
* 702.87e. The infect rules function no matter what zone an object with infect deals damage from.

View file

@ -36,7 +36,7 @@ import mage.players.Player;
* "Madness [cost]" means "If a player would discard this card, that player
* discards it, but may exile it instead of putting it into their graveyard" and
* "When this card is exiled this way, its owner may cast it by paying [cost]
* rather than paying its mana cost. If that player doesn't, he or she puts this
* rather than paying its mana cost. If that player doesn't, they put this
* card into their graveyard.
*
* 702.33b. Casting a spell using its madness ability follows the rules for
@ -133,7 +133,7 @@ class MadnessReplacementEffect extends ReplacementEffectImpl {
}
/**
* Checks for the MADNESS_CARD_EXILED event to ask the player if he wants to
* Checks for the MADNESS_CARD_EXILED event to ask the player if they want to
* cast the card by it's Madness costs. If not, the card goes to the graveyard.
*/
class MadnessTriggeredAbility extends TriggeredAbilityImpl {

View file

@ -26,9 +26,9 @@ import mage.watchers.common.MiracleWatcher;
* this card this way, you may cast it by paying [cost] rather than its mana
* cost."
*
* 702.92b If a player chooses to reveal a card using its miracle ability, he or
* she plays with that card revealed until that card leaves their hand, that
* ability resolves, or that ability otherwise leaves the stack.
* 702.92b If a player chooses to reveal a card using its miracle ability, they
* play with that card revealed until that card leaves their hand, that ability
* resolves, or that ability otherwise leaves the stack.
*
* You can cast a card for its miracle cost only as the miracle triggered
* ability resolves. If you don't want to cast it at that time (or you can't

View file

@ -25,7 +25,7 @@ public class MyriadAbility extends AttacksTriggeredAbility {
super(new MyriadEffect(), false,
"Myriad <i>(Whenever this creature attacks, for each opponent other than the defending player, "
+ "put a token that's a copy of this creature onto the battlefield tapped and attacking "
+ "that player or a planeswalker he or she controls. Exile those tokens at the end of combat.)</i>",
+ "that player or a planeswalker they control. Exile those tokens at the end of combat.)</i>",
SetTargetPointer.PLAYER
);
}
@ -47,7 +47,7 @@ class MyriadEffect extends OneShotEffect {
super(Outcome.Benefit);
this.staticText = "for each opponent other than the defending player, you may put a token "
+ "that's a copy of this creature onto the battlefield tapped and attacking that "
+ "player or a planeswalker he or she controls. "
+ "player or a planeswalker they control. "
+ "Exile the tokens at the end of combat";
}

View file

@ -92,12 +92,12 @@ import mage.target.targetpointer.FixedTarget;
*
* As the second triggered ability of suspend resolves, if playing the suspended
* card involves an additional cost, the card's owner must pay that cost if
* able. If he or she can't, the card remains removed from the game. If the
* able. If they can't, the card remains removed from the game. If the
* additional cost includes mana, the situation is more complex. If the player
* has enough mana in their mana pool to pay the cost, that player must do so.
* If the player can't possibly pay the cost, the card remains removed from the
* game. However, if the player has the means to produce enough mana to pay the
* cost, then he or she has a choice: The player may play the spell, produce
* cost, then they have a choice: The player may play the spell, produce
* mana, and pay the cost. Or the player may choose to play no mana abilities,
* thus making the card impossible to play because the additional mana can't be
* paid.

View file

@ -54,7 +54,7 @@ public abstract class ActivatedManaAbilityImpl extends ActivatedAbilityImpl impl
&& null == game.getContinuousEffects().asThough(sourceId, AsThoughEffectType.ACTIVATE_AS_INSTANT, this, controllerId, game)) {
return ActivationStatus.getFalse();
}
// check if player is in the process of playing spell costs and he is no longer allowed to use activated mana abilities (e.g. because he started to use improvise)
// check if player is in the process of playing spell costs and they are no longer allowed to use activated mana abilities (e.g. because they started to use improvise)
//20091005 - 605.3a
return new ActivationStatus(costs.canPay(this, sourceId, controllerId, game), null);

View file

@ -2,7 +2,7 @@ package mage.constants;
/**
* The time per player to have activity in a match.
* If time runs out for a player, he looses the currently running game of a match.
* If time runs out for a player, they loose the currently running game of a match.
*
* @author LevelX2
*/

View file

@ -102,9 +102,9 @@ public abstract class GameCommanderImpl extends GameImpl {
//20130711
/*903.8. The Commander variant uses an alternate mulligan rule.
* Each time a player takes a mulligan, rather than shuffling their entire hand of cards into their library, that player exiles any number of cards from their hand face down.
* Then the player draws a number of cards equal to one less than the number of cards he or she exiled this way.
* Then the player draws a number of cards equal to one less than the number of cards they exiled this way.
* That player may look at all cards exiled this way while taking mulligans.
* Once a player keeps an opening hand, that player shuffles all cards he or she exiled this way into their library.
* Once a player keeps an opening hand, that player shuffles all cards they exiled this way into their library.
* */
//TODO implement may look at exile cards
@Override

View file

@ -1034,11 +1034,11 @@ public abstract class GameImpl implements Game, Serializable {
message.append(choosingPlayer.getLogName()).append(" chooses that ");
}
if (choosingPlayer != null && choosingPlayer.getId().equals(startingPlayer.getId())) {
message.append("he or she");
message.append("they");
} else {
message.append(startingPlayer.getLogName());
}
message.append(" takes the first turn");
message.append(" take the first turn");
this.informPlayers(message.toString());
}
@ -1052,7 +1052,7 @@ public abstract class GameImpl implements Game, Serializable {
break;
}
if (!player.hasLost() && !player.hasLeft()) {
logger.debug(player.getName() + " has not lost so he won gameId: " + this.getId());
logger.debug(player.getName() + " has not lost so they won gameId: " + this.getId());
player.won(this);
winnerIdFound = player.getId();
break;
@ -2428,7 +2428,7 @@ public abstract class GameImpl implements Game, Serializable {
* exist. Then, if there are any objects still controlled by that player,
* those objects are exiled. This is not a state-based action. It happens as
* soon as the player leaves the game. If the player who left the game had
* priority at the time he or she left, priority passes to the next player
* priority at the time they left, priority passes to the next player
* in turn order who's still in the game. #
*
* @param playerId

View file

@ -742,7 +742,7 @@ public class Combat implements Serializable, Copyable<Combat> {
}
/**
* 509.1c The defending player checks each creature he or she controls to
* 509.1c The defending player checks each creature they control to
* see whether it's affected by any requirements (effects that say a
* creature must block, or that it must block if some condition is met). If
* the number of requirements that are being obeyed is fewer than the
@ -1063,7 +1063,7 @@ public class Combat implements Serializable, Copyable<Combat> {
}
} else {
blockIsValid = false;
// which attacker is he blocking
// which attacker is the creature blocking
CombatGroups:
for (CombatGroup combatGroup : game.getCombat().getGroups()) {
if (combatGroup.getBlockers().contains(creatureForcedToBlock.getId())) {

View file

@ -34,7 +34,7 @@ public class LetheLakePlane extends Plane {
Ability ability = new BeginningOfUpkeepTriggeredAbility(Zone.COMMAND, new PutLibraryIntoGraveTargetEffect(10).setText("that player puts the top 10 cards of their library into their graveyard"), TargetController.ANY, false, true);
this.getAbilities().add(ability);
// Active player can roll the planar die: Whenever you roll {CHAOS}, target player puts the top ten cards of his or her library into his or her graveyard
// Active player can roll the planar die: Whenever you roll {CHAOS}, target player puts the top ten cards of their library into their graveyard
Effect chaosEffect = new PutTopCardOfLibraryIntoGraveTargetEffect(10);
Target chaosTarget = new TargetPlayer();

View file

@ -259,7 +259,7 @@ public abstract class TournamentImpl implements Tournament {
TournamentPlayer tp2 = pair.getPlayer2();
MatchPlayer mp1 = match.getPlayer(pair.getPlayer1().getPlayer().getId());
MatchPlayer mp2 = match.getPlayer(pair.getPlayer2().getPlayer().getId());
// set player state if he finished the round
// set player state if they finished the round
if (round.getRoundNumber() == rounds.size()) { // for elimination getRoundNumber = 0 so never true here
match.setTournamentRound(round.getRoundNumber());
if (tp1.getState() == TournamentPlayerState.DUELING) {

View file

@ -1823,7 +1823,7 @@ public abstract class PlayerImpl implements Player, Serializable {
}
// while targets left and there is still allowed to untap
while (canRespond() && !leftForUntap.isEmpty() && numberToUntap > 0) {
// player has to select the permanent he wants to untap for this restriction
// player has to select the permanent they want to untap for this restriction
Ability ability = handledEntry.getKey().getValue().iterator().next();
if (ability != null) {
StringBuilder sb = new StringBuilder(message).append(" to untap").append(" (").append(Math.min(leftForUntap.size(),
@ -2489,7 +2489,7 @@ public abstract class PlayerImpl implements Player, Serializable {
@Override
public boolean canLose(Game game) {
return hasLeft() // If a player concedes or has left the match he loses also if effect would say otherwise
return hasLeft() // If a player concedes or has left the match they lose also if effect would say otherwise
|| !game.replaceEvent(new GameEvent(GameEvent.EventType.LOSES, null, null, playerId));
}