Implement OilOfSharpness

This commit is contained in:
henriquenakashima 2020-10-09 01:43:37 -04:00
parent 2190070fee
commit 31cb8fe4c0
45 changed files with 604 additions and 21 deletions

View file

@ -12,7 +12,7 @@ public class BlindFuryHCard : HeroCard
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 DealDamageEffect(Owner, target, 5));
effectApplier.Apply(new ModifyInsightEffect(-1));
yield break;
}

View file

@ -14,6 +14,6 @@ public class CrashingPunchHCard : HeroCard
SingleTargeting singleTargeting = new SingleTargeting(new AnyTargetPolicy());
yield return playerControls.StartCoroutine(playerControls.ChooseTarget(singleTargeting));
BattleParticipant target = singleTargeting.GetTarget();
effectApplier.Apply(new DealDamageEffect(target, 3));
effectApplier.Apply(new DealDamageEffect(Owner, target, 3));
}
}

View file

@ -15,7 +15,7 @@ public class LeadShotHCard : HeroCard
yield return playerControls.StartCoroutine(playerControls.ChooseTarget(singleTargeting));
yield return new WaitForSeconds(0.4f);
BattleParticipant target = singleTargeting.GetTarget();
effectApplier.Apply(new DealDamageEffect(target, 2));
effectApplier.Apply(new DealDamageEffect(Owner, target, 2));
yield return new WaitForSeconds(0.8f);
}
}

View file

@ -14,6 +14,6 @@ public class LightningHatchetHCard : HeroCard
SingleTargeting singleTargeting = new SingleTargeting(new AnyMonsterTargetPolicy());
yield return playerControls.StartCoroutine(playerControls.ChooseTarget(singleTargeting));
BattleParticipant target = singleTargeting.GetTarget();
effectApplier.Apply(new DealDamageEffect(target, 2));
effectApplier.Apply(new DealDamageEffect(Owner, target, 2));
}
}

View file

@ -14,6 +14,6 @@ public class LightningStrikeHCard : HeroCard
SingleTargeting singleTargeting = new SingleTargeting(new AnyTargetPolicy());
yield return playerControls.StartCoroutine(playerControls.ChooseTarget(singleTargeting));
BattleParticipant target = singleTargeting.GetTarget();
effectApplier.Apply(new DealDamageEffect(target, 3));
effectApplier.Apply(new DealDamageEffect(Owner, target, 3));
}
}

View file

@ -0,0 +1,26 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class OilOfSharpnessHCard : DefaultHeroCard
{
public OilOfSharpnessHCard(BattleParticipant owner)
: base(owner, HCardId.OilOfSharpness, "Oil of Sharpness", 1, CardType.Default,
"Target hero gets +1 power until end of next turn.") {
}
public override IEnumerator Use(IBattleEffectApplier effectApplier,
MonsterViewpoint viewpoint, BattlePlayerControls playerControls) {
effectApplier.Apply(new DefaultEffect(this));
yield break;
}
public override IEnumerator UseDefault(IBattleEffectApplier effectApplier,
MonsterViewpoint viewpoint, BattlePlayerControls playerControls) {
SingleTargeting targeting = new SingleTargeting(new AnyHeroTargetPolicy());
yield return playerControls.ChooseTarget(targeting);
BattleParticipant target = targeting.GetTarget();
effectApplier.Apply(new BuffParticipantEffect(target, BuffType.Power, 1, BuffDuration.UntilEndOfNextHeroTurn));
yield break;
}
}

View file

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

View file

@ -15,7 +15,7 @@ public class SwordSlashHCard : HeroCard
yield return playerControls.StartCoroutine(playerControls.ChooseTarget(singleTargeting));
yield return new WaitForSeconds(0.4f);
BattleParticipant target = singleTargeting.GetTarget();
effectApplier.Apply(new DealDamageEffect(target, 1));
effectApplier.Apply(new DealDamageEffect(Owner, target, 1));
yield return new WaitForSeconds(0.8f);
}
}