Implement acquiring cards. Thunderstorm acquires Lightning Strikes.

This commit is contained in:
henriquenakashima 2020-09-19 17:26:14 -04:00
parent 60afd791dd
commit 1e8d3bb068
12 changed files with 121 additions and 5 deletions

View file

@ -0,0 +1,19 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CardLightningStrike : BaseCard
{
public CardLightningStrike(BattleParticipant owner)
: base(owner, CardId.LightningStrike, "Lightning Strike", 2, CardType.Action,
"Deals 3 damage to target.") {
}
public override IEnumerator Use(IBattleEffectApplier effectApplier, BattlePlayerControls playerControls) {
SingleTargeting singleTargeting = new SingleTargeting(new AnyTargetPolicy());
yield return playerControls.StartCoroutine(playerControls.ChooseTarget(singleTargeting));
BattleParticipant target = singleTargeting.GetTarget();
Debug.Log("Striking " + target + " with lightning.");
target.DealDamage(3);
}
}

View file

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 11d435c247746fa4b91e5808379f51f8
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -6,12 +6,13 @@ public class CardThunderstorm : BaseCard
{
public CardThunderstorm(BattleParticipant owner)
: base(owner, CardId.Thunderstorm, "Thunderstorm", 3, CardType.Enchantment,
"Adds 1 energy.") {
"Add 1 max energy. Acquire 2 Lightning Strike into draw pile.") {
}
public override IEnumerator Use(IBattleEffectApplier effectApplier, BattlePlayerControls playerControls) {
Debug.Log("A storm is brewing.");
effectApplier.Apply(new IncreaseMaxEnergyEffect(1));
effectApplier.Apply(new AcquireCardsEffect(new CardId[] {CardId.LightningStrike, CardId.LightningStrike}, BattleZone.DrawPile, this.owner));
yield break;
}
}