Migrated Site cards in set 5 to hjson

This commit is contained in:
MarcinSc
2024-04-22 13:00:36 +07:00
parent 2082cc5b2d
commit 4b6ebc8a68
5 changed files with 46 additions and 172 deletions

View File

@@ -1,48 +0,0 @@
package com.gempukku.lotro.cards.set5.site;
import com.gempukku.lotro.common.CardType;
import com.gempukku.lotro.common.Phase;
import com.gempukku.lotro.common.SitesBlock;
import com.gempukku.lotro.filters.Filters;
import com.gempukku.lotro.game.PhysicalCard;
import com.gempukku.lotro.game.state.LotroGame;
import com.gempukku.lotro.logic.actions.ActivateCardAction;
import com.gempukku.lotro.logic.cardtype.AbstractSite;
import com.gempukku.lotro.logic.effects.AddUntilEndOfPhaseModifierEffect;
import com.gempukku.lotro.logic.effects.RemoveTwilightEffect;
import com.gempukku.lotro.logic.modifiers.ModifierFlag;
import com.gempukku.lotro.logic.modifiers.SpecialFlagModifier;
import com.gempukku.lotro.logic.timing.PlayConditions;
import java.util.Collections;
import java.util.List;
/**
* Set: Battle of Helm's Deep
* Twilight Cost: 6
* Type: Site
* Site: 7T
* Game Text: Regroup: Spot your minion and remove (9) to make the fellowship move again this turn (if the move
* limit allows).
*/
public class Card5_118 extends AbstractSite {
public Card5_118() {
super("Hornburg Wall", SitesBlock.TWO_TOWERS, 7, 6, Direction.RIGHT);
}
@Override
public List<? extends ActivateCardAction> getPhaseActionsInPlay(String playerId, LotroGame game, PhysicalCard self) {
if (PlayConditions.canUseSiteDuringPhase(game, Phase.REGROUP, self)
&& PlayConditions.canSpot(game, CardType.MINION, Filters.owner(playerId))
&& game.getGameState().getTwilightPool() >= 9) {
ActivateCardAction action = new ActivateCardAction(self);
action.appendCost(
new RemoveTwilightEffect(9));
action.appendEffect(
new AddUntilEndOfPhaseModifierEffect(
new SpecialFlagModifier(self, ModifierFlag.HAS_TO_MOVE_IF_POSSIBLE)));
return Collections.singletonList(action);
}
return null;
}
}

View File

@@ -1,57 +0,0 @@
package com.gempukku.lotro.cards.set5.site;
import com.gempukku.lotro.common.CardType;
import com.gempukku.lotro.common.Keyword;
import com.gempukku.lotro.common.SitesBlock;
import com.gempukku.lotro.filters.Filters;
import com.gempukku.lotro.game.PhysicalCard;
import com.gempukku.lotro.game.state.LotroGame;
import com.gempukku.lotro.logic.actions.ActivateCardAction;
import com.gempukku.lotro.logic.cardtype.AbstractSite;
import com.gempukku.lotro.logic.effects.ChooseActiveCardEffect;
import com.gempukku.lotro.logic.effects.PreventCardEffect;
import com.gempukku.lotro.logic.effects.RemoveTwilightEffect;
import com.gempukku.lotro.logic.effects.WoundCharactersEffect;
import com.gempukku.lotro.logic.timing.Effect;
import com.gempukku.lotro.logic.timing.TriggerConditions;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
/**
* Set: Battle of Helm's Deep
* Twilight Cost: 8
* Type: Site
* Site: 8T
* Game Text: Plains. Response: If your mounted minion is about to take a wound, remove (2) to prevent that wound.
*/
public class Card5_119 extends AbstractSite {
public Card5_119() {
super("Nan Curunír", SitesBlock.TWO_TOWERS, 8, 8, Direction.RIGHT);
addKeyword(Keyword.PLAINS);
}
@Override
public List<? extends ActivateCardAction> getOptionalInPlayBeforeActions(String playerId, LotroGame game, Effect effect, PhysicalCard self) {
if (TriggerConditions.isGettingWounded(effect, game, CardType.MINION, Filters.owner(playerId), Filters.mounted)
&& game.getGameState().getTwilightPool() >= 2) {
final WoundCharactersEffect woundEffect = (WoundCharactersEffect) effect;
final Collection<PhysicalCard> cardsToBeWounded = woundEffect.getAffectedCardsMinusPrevented(game);
final ActivateCardAction action = new ActivateCardAction(self);
action.appendCost(
new RemoveTwilightEffect(2));
action.appendEffect(
new ChooseActiveCardEffect(self, playerId, "Choose minion", CardType.MINION, Filters.owner(playerId), Filters.mounted, Filters.in(cardsToBeWounded)) {
@Override
protected void cardSelected(LotroGame game, PhysicalCard minion) {
action.appendEffect(
new PreventCardEffect(woundEffect, minion));
}
});
return Collections.singletonList(action);
}
return null;
}
}

View File

@@ -1,34 +0,0 @@
package com.gempukku.lotro.cards.set5.site;
import com.gempukku.lotro.common.Keyword;
import com.gempukku.lotro.common.SitesBlock;
import com.gempukku.lotro.game.PhysicalCard;
import com.gempukku.lotro.game.state.LotroGame;
import com.gempukku.lotro.logic.cardtype.AbstractSite;
import com.gempukku.lotro.logic.modifiers.Modifier;
import com.gempukku.lotro.logic.modifiers.ModifierFlag;
import com.gempukku.lotro.logic.modifiers.SpecialFlagModifier;
import java.util.Collections;
import java.util.List;
/**
* Set: Battle of Helm's Deep
* Twilight Cost: 9
* Type: Site
* Site: 9T
* Game Text: Underground. The Free Peoples player wins the game only if the Ring-bearer survives until Shadow players
* reconcile.
*/
public class Card5_120 extends AbstractSite {
public Card5_120() {
super("Caverns of Isengard", SitesBlock.TWO_TOWERS, 9, 9, Direction.LEFT);
addKeyword(Keyword.UNDERGROUND);
}
@Override
public List<? extends Modifier> getInPlayModifiers(LotroGame game, PhysicalCard self) {
return Collections.singletonList(
new SpecialFlagModifier(self, ModifierFlag.WIN_CHECK_AFTER_SHADOW_RECONCILE));
}
}

View File

@@ -19,20 +19,29 @@
unique: false
twilight: 6
type: Site
site: 7T
site: 7
block: Towers
direction: Right
/*requires: {
}
effects: [
{
}
{
}
]*/
{
type: activated
phase: regroup
requires: {
type: canSpot
filter: your,minion
}
cost: {
type: removeTwilight
amount: 9
}
effect: {
type: addModifier
modifier: {
type: hasToMoveIfAble
}
}
}
]
gametext: <b>Regroup:</b> Spot your minion and remove (9) to make the fellowship move again this turn (if the move limit allows).
lore: ""
promotext: ""
@@ -63,21 +72,27 @@
unique: false
twilight: 8
type: Site
site: 8T
site: 8
block: Towers
direction: Left
keywords: Plains
/*requires: {
}
effects: [
{
}
{
}
]*/
{
type: activatedTrigger
trigger: {
type: aboutToTakeWound
filter: your,mounted,minion
}
cost: {
type: removeTwilight
amount: 2
}
effect: {
type: preventWound
filter: choose(your,mounted,minion)
}
}
]
gametext: <b>Plains</b>. <b>Response:</b> If your mounted minion is about to take a wound, remove (2) to prevent that wound.
lore: ""
promotext: ""
@@ -108,21 +123,18 @@
unique: false
twilight: 9
type: Site
site: 9T
site: 9
block: Towers
direction: Right
keywords: Underground
/*requires: {
}
effects: [
{
}
{
}
]*/
{
type: modifier
modifier: {
type: winsAfterReconcile
}
}
]
gametext: <b>Underground</b>. The Free Peoples player wins the game only if the Ring-bearer survives until Shadow players reconcile.
lore: ""
promotext: ""

View File

@@ -81,6 +81,7 @@ public class ModifierSourceFactory {
modifierProducers.put("shadowusesvitinsteadofstr", new ShadowUsesVitInsteadOfStr());
modifierProducers.put("skipphase", new SkipPhase());
modifierProducers.put("unhastycompanioncanparticipateinskirmishes", new UnhastyCompanionCanParticipateInSkirmishes());
modifierProducers.put("winsafterreconcile", new AddModifierFlag(ModifierFlag.WIN_CHECK_AFTER_SHADOW_RECONCILE));
}
public ModifierSource getModifier(JSONObject object, CardGenerationEnvironment environment) throws InvalidCardDefinitionException {