BOT: "new" mechanics (#1679)

* CardFactoryUtil.addStaticAbility support "Living metal" keyword

* GameActionUtil.getAlternativeCosts() add "More Than Meets the Eye"

* Keyword.LIVING_METAL and Keyword.MORE_THAN_MEETS_THE_EYE

* TypeLists add Robot

* AlternativeCost.MTMtE

* ultra_magnus_tactician_ultra_magnus_armored_carrier.txt

* CardSplitType.Convert

* CardStateName.Converted

* GameState.addCard Converted check

* DevModeCheats for Converted

* Card.changeCardState() add Convert mode

* Card.isConvertable()

* PaperCard.hasBackFace add Convert

* Card implement convertedTimestamp

* Card.keywordsToText add Living metal to list

* DamageDealEffect.internalDamageDeal move "ExcessSVar" for more flexibility

* ComputerUtil.choosePermanentsToSacrifice improve AI for Megatron

* megatron_tyrant_megatron_destructive_force.txt

* optimus_prime_hero_optimus_prime_autobot_leader.txt

* ChangeZoneEffect.changeKnownOriginResolve support "Converted"

* Card.changeCardState() fixup
This commit is contained in:
Northmoc
2022-10-17 12:04:06 -04:00
committed by GitHub
parent 16b52a3645
commit e00387f0fa
17 changed files with 175 additions and 11 deletions

View File

@@ -5,6 +5,7 @@ import forge.card.CardFace.FaceSelectionMethod;
public enum CardSplitType
{
None(FaceSelectionMethod.USE_PRIMARY_FACE, null),
Convert(FaceSelectionMethod.USE_ACTIVE_FACE, CardStateName.Converted),
Transform(FaceSelectionMethod.USE_ACTIVE_FACE, CardStateName.Transformed),
Meld(FaceSelectionMethod.USE_ACTIVE_FACE, CardStateName.Meld),
Split(FaceSelectionMethod.COMBINE, CardStateName.RightSplit),

View File

@@ -5,6 +5,7 @@ public enum CardStateName {
Original,
FaceDown,
Flipped,
Converted,
Transformed,
Meld,
LeftSplit,

View File

@@ -399,7 +399,8 @@ public class PaperCard implements Comparable<IPaperCard>, InventoryItemFromSet,
@Override
public boolean hasBackFace(){
CardSplitType cst = this.rules.getSplitType();
return cst == CardSplitType.Transform || cst == CardSplitType.Flip || cst == CardSplitType.Meld || cst == CardSplitType.Modal;
return cst == CardSplitType.Transform || cst == CardSplitType.Flip || cst == CardSplitType.Meld
|| cst == CardSplitType.Modal || cst == CardSplitType.Convert;
}
// Return true if card is one of the five basic lands that can be added for free