Implement BlindFury

This commit is contained in:
henriquenakashima 2020-09-24 01:01:21 -04:00
parent 626f465ca0
commit 281ad2dbc5
13 changed files with 82 additions and 21 deletions

View file

@ -0,0 +1,19 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class BlindFuryHCard : HeroCard
{
public BlindFuryHCard(BattleParticipant owner)
: base(owner, HCardId.BlindFury, "Blind Fury", 2, CardType.Attack,
"Deals 5 damage to target. -1 insight.") {
}
public override IEnumerator Use(IBattleEffectApplier effectApplier,
MonsterViewpoint viewpoint, BattlePlayerControls playerControls) {
BattleParticipant target = AIUtils.GetNearestMonster(viewpoint, this.owner);
effectApplier.Apply(new DealDamageEffect(target, 5));
effectApplier.Apply(new ModifyInsightEffect(-1));
yield break;
}
}

View file

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

View file

@ -10,7 +10,8 @@ public class CoverHCard : HeroCard
}
public override IEnumerator Use(IBattleEffectApplier effectApplier, BattlePlayerControls playerControls) {
public override IEnumerator Use(IBattleEffectApplier effectApplier,
MonsterViewpoint viewpoint, BattlePlayerControls playerControls) {
SingleTargeting singleTargeting = new SingleTargeting(new OtherHeroTargetPolicy(this.owner));
yield return playerControls.StartCoroutine(playerControls.ChooseTarget(singleTargeting));
BattleParticipant target = singleTargeting.GetTarget();

View file

@ -9,7 +9,8 @@ public class CrashingPunchHCard : HeroCard
"Deals 3 damage to target.") {
}
public override IEnumerator Use(IBattleEffectApplier effectApplier, BattlePlayerControls playerControls) {
public override IEnumerator Use(IBattleEffectApplier effectApplier,
MonsterViewpoint viewpoint, BattlePlayerControls playerControls) {
SingleTargeting singleTargeting = new SingleTargeting(new AnyTargetPolicy());
yield return playerControls.StartCoroutine(playerControls.ChooseTarget(singleTargeting));
BattleParticipant target = singleTargeting.GetTarget();

View file

@ -10,7 +10,8 @@ public class IronskinDraughtHCard : HeroCard
}
public override IEnumerator Use(IBattleEffectApplier effectApplier, BattlePlayerControls playerControls) {
public override IEnumerator Use(IBattleEffectApplier effectApplier,
MonsterViewpoint viewpoint, BattlePlayerControls playerControls) {
SingleTargeting singleTargeting = new SingleTargeting(new AnyHeroTargetPolicy());
yield return playerControls.StartCoroutine(playerControls.ChooseTarget(singleTargeting));
BattleParticipant target = singleTargeting.GetTarget();

View file

@ -9,7 +9,8 @@ public class LightningStrikeHCard : HeroCard
"Deals 3 damage to target.") {
}
public override IEnumerator Use(IBattleEffectApplier effectApplier, BattlePlayerControls playerControls) {
public override IEnumerator Use(IBattleEffectApplier effectApplier,
MonsterViewpoint viewpoint, BattlePlayerControls playerControls) {
SingleTargeting singleTargeting = new SingleTargeting(new AnyTargetPolicy());
yield return playerControls.StartCoroutine(playerControls.ChooseTarget(singleTargeting));
BattleParticipant target = singleTargeting.GetTarget();

View file

@ -8,8 +8,8 @@ public class MeditateHCard : HeroCard
: base(owner, HCardId.Meditate, "Meditate", 2, CardType.Skill, "+1 insight. Draw a card.") {
}
public override IEnumerator Use(
IBattleEffectApplier effectApplier, BattlePlayerControls playerControls) {
public override IEnumerator Use(IBattleEffectApplier effectApplier,
MonsterViewpoint viewpoint, BattlePlayerControls playerControls) {
effectApplier.Apply(new ModifyInsightEffect(+1));
yield return new WaitForSeconds(1f);
effectApplier.Apply(new DrawCardsEffect(1, TeamChoice.Heroes));

View file

@ -9,7 +9,8 @@ public class ScarringHCard : HeroCard
"Block 4 damage. The next time damage is taken until next turn, gain 1 Max HP.") {
}
public override IEnumerator Use(IBattleEffectApplier effectApplier, BattlePlayerControls playerControls) {
public override IEnumerator Use(IBattleEffectApplier effectApplier,
MonsterViewpoint viewpoint, BattlePlayerControls playerControls) {
effectApplier.Apply(new BlockEffect(this.owner, 4));
DamageTrigger trigger = new DamageTrigger(
new List<BattleParticipant>() {this.owner},

View file

@ -9,9 +9,12 @@ public class ThunderstormHCard : HeroCard
"Add 1 max energy. Acquire 2 Lightning Strike into draw pile.") {
}
public override IEnumerator Use(IBattleEffectApplier effectApplier, BattlePlayerControls playerControls) {
public override IEnumerator Use(IBattleEffectApplier effectApplier,
MonsterViewpoint viewpoint, BattlePlayerControls playerControls) {
effectApplier.Apply(new IncreaseMaxEnergyEffect(1));
effectApplier.Apply(new AcquireCardsEffect(new HCardId[] {HCardId.LightningStrike, HCardId.LightningStrike}, BattleZone.DrawPile, this.owner));
effectApplier.Apply(new AcquireCardsEffect(
new HCardId[] {HCardId.LightningStrike, HCardId.LightningStrike},
BattleZone.DrawPile, this.owner));
yield break;
}
}