From 0b48bda665416ad817dc5fee5bab249c7a6be4bf Mon Sep 17 00:00:00 2001 From: "marcins78@gmail.com" Date: Wed, 21 Sep 2011 10:44:54 +0000 Subject: [PATCH] Fixing how Vitality is calculated. Wounds on a character affect the vitality of that character (lowering it), rather than being treated like damage in Magic. --- .../src/main/java/com/gempukku/lotro/cards/PlayConditions.java | 2 +- .../java/com/gempukku/lotro/cards/set1/shire/Card1_302.java | 2 +- .../src/main/java/com/gempukku/lotro/filters/Filters.java | 2 +- .../java/com/gempukku/lotro/logic/modifiers/ModifiersLogic.java | 2 +- .../gempukku/lotro/logic/timing/rules/CharacterDeathRule.java | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/PlayConditions.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/PlayConditions.java index 29e0db6d8..0fb67082c 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/PlayConditions.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/PlayConditions.java @@ -94,7 +94,7 @@ public class PlayConditions { } public static boolean canExert(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard card) { - return (gameState.getWounds(card) < modifiersQuerying.getVitality(gameState, card) - 1); + return (modifiersQuerying.getVitality(gameState, card) > 1); } public static boolean winsSkirmish(EffectResult effectResult, PhysicalCard character) { diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/shire/Card1_302.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/shire/Card1_302.java index b37118331..1359c59ee 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/shire/Card1_302.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/shire/Card1_302.java @@ -38,7 +38,7 @@ public class Card1_302 extends AbstractCompanion { @Override protected List getExtraInPlayPhaseActions(String playerId, final LotroGame game, final PhysicalCard self) { if (PlayConditions.canUseFPCardDuringPhase(game.getGameState(), Phase.SKIRMISH, self) - && game.getModifiersQuerying().getVitality(game.getGameState(), self) > 2 + game.getGameState().getWounds(self) + && game.getModifiersQuerying().getVitality(game.getGameState(), self) > 2 && !isAssigned(game, self)) { final DefaultCostToEffectAction action = new DefaultCostToEffectAction(self, Keyword.SKIRMISH, "Exert Merry twice to add his strength to another companion."); action.addCost( diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/filters/Filters.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/filters/Filters.java index c45a9dbc6..3c4a1d877 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/filters/Filters.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/filters/Filters.java @@ -167,7 +167,7 @@ public class Filters { return new Filter() { @Override public boolean accepts(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard physicalCard) { - return (gameState.getWounds(physicalCard) < modifiersQuerying.getVitality(gameState, physicalCard) - 1); + return (modifiersQuerying.getVitality(gameState, physicalCard) > 1); } }; } diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/ModifiersLogic.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/ModifiersLogic.java index a5ec73793..3819afc86 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/ModifiersLogic.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/ModifiersLogic.java @@ -236,7 +236,7 @@ public class ModifiersLogic implements ModifiersEnvironment, ModifiersQuerying { @Override public int getVitality(GameState gameState, PhysicalCard physicalCard) { - int result = physicalCard.getBlueprint().getVitality(); + int result = physicalCard.getBlueprint().getVitality() - gameState.getWounds(physicalCard); for (Modifier modifier : getModifiers(ModifierEffect.VITALITY_MODIFIER)) { if (affectsCardWithSkipSet(gameState, physicalCard, modifier)) result = modifier.getVitality(gameState, this, physicalCard, result); diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/rules/CharacterDeathRule.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/rules/CharacterDeathRule.java index 0232d2e0b..691614ccf 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/rules/CharacterDeathRule.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/rules/CharacterDeathRule.java @@ -35,7 +35,7 @@ public class CharacterDeathRule { List characters = Filters.filterActive(gameState, game.getModifiersQuerying(), Filters.or(Filters.type(CardType.ALLY), Filters.type(CardType.COMPANION), Filters.type(CardType.MINION))); for (PhysicalCard character : characters) - if (gameState.getWounds(character) >= game.getModifiersQuerying().getVitality(gameState, character)) + if (game.getModifiersQuerying().getVitality(gameState, character) <= 0) deadCharacters.add(character); if (deadCharacters.size() > 0) {