Implement IronskinDraught
This commit is contained in:
parent
b5c900aa24
commit
626f465ca0
9 changed files with 79 additions and 2 deletions
|
|
@ -46,11 +46,11 @@ public class BattleController : MonoBehaviour, IBattleEffectApplier, IBattleEffe
|
|||
HCardId.CrashingPunch,
|
||||
HCardId.Cover,
|
||||
HCardId.Cover,
|
||||
HCardId.Cover,
|
||||
HCardId.Thunderstorm,
|
||||
HCardId.Scarring,
|
||||
HCardId.Scarring,
|
||||
HCardId.Meditate,
|
||||
HCardId.IronskinDraught,
|
||||
};
|
||||
|
||||
MonsterId[] monsterIds = new MonsterId[3] {
|
||||
|
|
|
|||
19
Assets/Battle/CardsHeroes/IronskinDraughtHCard.cs
Normal file
19
Assets/Battle/CardsHeroes/IronskinDraughtHCard.cs
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class IronskinDraughtHCard : HeroCard
|
||||
{
|
||||
public IronskinDraughtHCard(BattleParticipant owner)
|
||||
: base(owner, HCardId.Cover, "Ironskin Draught", 3, CardType.Skill,
|
||||
"Block 6 damage on target ally.") {
|
||||
|
||||
}
|
||||
|
||||
public override IEnumerator Use(IBattleEffectApplier effectApplier, BattlePlayerControls playerControls) {
|
||||
SingleTargeting singleTargeting = new SingleTargeting(new AnyHeroTargetPolicy());
|
||||
yield return playerControls.StartCoroutine(playerControls.ChooseTarget(singleTargeting));
|
||||
BattleParticipant target = singleTargeting.GetTarget();
|
||||
effectApplier.Apply(new BlockEffect(target, 6));
|
||||
}
|
||||
}
|
||||
11
Assets/Battle/CardsHeroes/IronskinDraughtHCard.cs.meta
Normal file
11
Assets/Battle/CardsHeroes/IronskinDraughtHCard.cs.meta
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 9e499b0e7a7b8664e997c58b42008245
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -12,8 +12,10 @@ public class WhirlwindMCard : MonsterCard
|
|||
public override IEnumerator Use(IBattleEffectApplier effectApplier, MonsterViewpoint monsterViewpoint) {
|
||||
RotateEffect rotateEffect = new RotateEffect(TeamChoice.Heroes, +1);
|
||||
effectApplier.Apply(rotateEffect);
|
||||
|
||||
yield return new WaitForSeconds(1f);
|
||||
|
||||
MassDamageEffect damageEffect = new MassDamageEffect(TeamChoice.Heroes, 3);
|
||||
effectApplier.Apply(damageEffect);
|
||||
yield break;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@ public class HeroCardDatabase : CardDatabase<HeroCard>
|
|||
{HCardId.Scarring, HeroId.Brute},
|
||||
{HCardId.Thunderstorm, HeroId.Shaman},
|
||||
{HCardId.Meditate, HeroId.Shaman},
|
||||
{HCardId.IronskinDraught, HeroId.Alchemist},
|
||||
};
|
||||
|
||||
public override HeroCard CreateCard(int id, BattleParticipant owner) {
|
||||
|
|
@ -48,6 +49,8 @@ public class HeroCardDatabase : CardDatabase<HeroCard>
|
|||
return new ThunderstormHCard(owner);
|
||||
case HCardId.Meditate:
|
||||
return new MeditateHCard(owner);
|
||||
case HCardId.IronskinDraught:
|
||||
return new IronskinDraughtHCard(owner);
|
||||
default:
|
||||
throw new System.ArgumentException("HCardId unknown", "id");
|
||||
}
|
||||
|
|
|
|||
10
Assets/Battle/Targeting/AnyHeroTargetPolicy.cs
Normal file
10
Assets/Battle/Targeting/AnyHeroTargetPolicy.cs
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class AnyHeroTargetPolicy: TargetingPolicy
|
||||
{
|
||||
public override bool CanTarget(BattleParticipant participant) {
|
||||
return participant.Team == TeamChoice.Heroes;
|
||||
}
|
||||
}
|
||||
11
Assets/Battle/Targeting/AnyHeroTargetPolicy.cs.meta
Normal file
11
Assets/Battle/Targeting/AnyHeroTargetPolicy.cs.meta
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 3183378edadfc1642861386c91083b32
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
10
Assets/Battle/Targeting/AnyMonsterTargetPolicy.cs
Normal file
10
Assets/Battle/Targeting/AnyMonsterTargetPolicy.cs
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class AnyMonsterTargetPolicy: TargetingPolicy
|
||||
{
|
||||
public override bool CanTarget(BattleParticipant participant) {
|
||||
return participant.Team == TeamChoice.Monsters;
|
||||
}
|
||||
}
|
||||
11
Assets/Battle/Targeting/AnyMonsterTargetPolicy.cs.meta
Normal file
11
Assets/Battle/Targeting/AnyMonsterTargetPolicy.cs.meta
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 98c44fa59c2b9084694443a866df9a94
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Loading…
Add table
Add a link
Reference in a new issue