diff --git a/Assets/Battle/BattleController.cs b/Assets/Battle/BattleController.cs index cd395b3..5489264 100644 --- a/Assets/Battle/BattleController.cs +++ b/Assets/Battle/BattleController.cs @@ -41,24 +41,43 @@ public class BattleController : MonoBehaviour, IBattleEffectApplier, IBattleEffe void Awake() { HeroId[] heroIds = new HeroId[3] { - HeroId.Brute, HeroId.Alchemist, - HeroId.Shaman, + HeroId.NPCGuard, + HeroId.NPCGuard, }; HCardId[] cardIds = new HCardId[10] { - HCardId.CrashingPunch, - HCardId.LightningHatchet, - HCardId.BlindFury, - HCardId.Cover, - HCardId.Cover, - HCardId.Thunderstorm, - HCardId.Scarring, - HCardId.Scarring, - HCardId.Meditate, HCardId.IronskinDraught, + HCardId.LeadShot, + HCardId.LeadShot, + HCardId.SmokeBomb, + HCardId.SwordSlash, + HCardId.SwordSlash, + HCardId.SwordSlash, + HCardId.ShieldBlock, + HCardId.SwordSlash, + HCardId.ShieldBlock, }; + // HeroId[] heroIds = new HeroId[3] { + // HeroId.Brute, + // HeroId.Alchemist, + // HeroId.Shaman, + // }; + + // HCardId[] cardIds = new HCardId[10] { + // HCardId.CrashingPunch, + // HCardId.LightningHatchet, + // HCardId.BlindFury, + // HCardId.Cover, + // HCardId.Cover, + // HCardId.Thunderstorm, + // HCardId.Scarring, + // HCardId.Scarring, + // HCardId.Meditate, + // HCardId.IronskinDraught, + // }; + MonsterId[] monsterIds = new MonsterId[3] { MonsterId.Golem, MonsterId.Bat, @@ -309,8 +328,8 @@ public class BattleController : MonoBehaviour, IBattleEffectApplier, IBattleEffe public IEnumerator UseHeroCard(HeroCard card) { this.heroEnergy.PayForCard(card); - yield return card.Use(this, this, battlePlayerControls); this.heroDeck.RemoveCardFromHand(card); + yield return card.Use(this, this, battlePlayerControls); if (card.IsPermanent()) { this.playArea.AddPlayedHeroPermanent(card); } else { @@ -324,8 +343,8 @@ public class BattleController : MonoBehaviour, IBattleEffectApplier, IBattleEffe public IEnumerator UseMonsterCard(MonsterCard card) { this.monsterEnergy.PayForCard(card); - yield return card.Use(this, this); this.monsterDeck.RemoveCardFromHand(card); + yield return card.Use(this, this); if (card.IsPermanent()) { this.playArea.AddPlayedMonsterPermanent(card); } else { @@ -510,6 +529,13 @@ public class BattleController : MonoBehaviour, IBattleEffectApplier, IBattleEffe effect.Target.AddBlock(effect.Amount); } + public void AddMassBlock(MassBlockEffect effect) { + BattleParticipant[] affectedTeam = GetTeam(effect.Team); + foreach (BattleParticipant bp in affectedTeam) { + bp.AddBlock(effect.Amount); + } + } + public void AddStatus(StatusEffect effect) { if (effect.Target == null) return; effect.Target.AddStatus(effect.Status, effect.Amount); diff --git a/Assets/Battle/BattleHero.cs b/Assets/Battle/BattleHero.cs index a987362..d8dc860 100644 --- a/Assets/Battle/BattleHero.cs +++ b/Assets/Battle/BattleHero.cs @@ -22,6 +22,10 @@ public class BattleHero: BattleParticipant this.displayName = "Slug"; this.maxHP = 10; break; + case HeroId.NPCGuard: + this.displayName = "Guard"; + this.maxHP = 8; + break; default: throw new System.ArgumentException("HeroId unknown", "id"); } diff --git a/Assets/Battle/CardsHeroes/LeadShotHCard.cs b/Assets/Battle/CardsHeroes/LeadShotHCard.cs new file mode 100644 index 0000000..2c437e4 --- /dev/null +++ b/Assets/Battle/CardsHeroes/LeadShotHCard.cs @@ -0,0 +1,21 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class LeadShotHCard : HeroCard +{ + public LeadShotHCard(BattleParticipant owner) + : base(owner, HCardId.LeadShot, "Lead Shot", 1, CardType.Attack, + "Deals 2 damage to another target.") { + } + + public override IEnumerator Use(IBattleEffectApplier effectApplier, + MonsterViewpoint viewpoint, BattlePlayerControls playerControls) { + SingleTargeting singleTargeting = new SingleTargeting(new OtherTargetPolicy(this.owner)); + yield return playerControls.StartCoroutine(playerControls.ChooseTarget(singleTargeting)); + yield return new WaitForSeconds(0.8f); + BattleParticipant target = singleTargeting.GetTarget(); + effectApplier.Apply(new DealDamageEffect(target, 2)); + yield return new WaitForSeconds(0.8f); + } +} diff --git a/Assets/Battle/CardsHeroes/LeadShotHCard.cs.meta b/Assets/Battle/CardsHeroes/LeadShotHCard.cs.meta new file mode 100644 index 0000000..a129a7c --- /dev/null +++ b/Assets/Battle/CardsHeroes/LeadShotHCard.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: db51b7fb04f794544b0cacc7555e0cce +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Battle/CardsHeroes/ShieldBlockHCard.cs b/Assets/Battle/CardsHeroes/ShieldBlockHCard.cs new file mode 100644 index 0000000..96a7855 --- /dev/null +++ b/Assets/Battle/CardsHeroes/ShieldBlockHCard.cs @@ -0,0 +1,22 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class ShieldBlockHCard : HeroCard +{ + public ShieldBlockHCard(BattleParticipant owner) + : base(owner, HCardId.ShieldBlock, "Shield Block", 1, CardType.Skill, + "Block 2 damage on target ally.") { + + } + + public override IEnumerator Use(IBattleEffectApplier effectApplier, + MonsterViewpoint viewpoint, BattlePlayerControls playerControls) { + SingleTargeting singleTargeting = new SingleTargeting(new AnyHeroTargetPolicy()); + yield return playerControls.StartCoroutine(playerControls.ChooseTarget(singleTargeting)); + yield return new WaitForSeconds(0.8f); + BattleParticipant target = singleTargeting.GetTarget(); + effectApplier.Apply(new BlockEffect(target, 2)); + yield return new WaitForSeconds(0.8f); + } +} diff --git a/Assets/Battle/CardsHeroes/ShieldBlockHCard.cs.meta b/Assets/Battle/CardsHeroes/ShieldBlockHCard.cs.meta new file mode 100644 index 0000000..f9f1c62 --- /dev/null +++ b/Assets/Battle/CardsHeroes/ShieldBlockHCard.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 79bfe10b9f0ac8d43b7c18cdc2896890 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Battle/CardsHeroes/SmokeBombHCard.cs b/Assets/Battle/CardsHeroes/SmokeBombHCard.cs new file mode 100644 index 0000000..b184cf7 --- /dev/null +++ b/Assets/Battle/CardsHeroes/SmokeBombHCard.cs @@ -0,0 +1,19 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class SmokeBombHCard : HeroCard +{ + public SmokeBombHCard(BattleParticipant owner) + : base(owner, HCardId.SmokeBomb, "Smoke Bomb", 2, CardType.Skill, + "Blocks 2 damage on all allies.") { + + } + + public override IEnumerator Use(IBattleEffectApplier effectApplier, + MonsterViewpoint viewpoint, BattlePlayerControls playerControls) { + yield return new WaitForSeconds(0.8f); + effectApplier.Apply(new MassBlockEffect(TeamChoice.Heroes, 2)); + yield return new WaitForSeconds(0.8f); + } +} diff --git a/Assets/Battle/CardsHeroes/SmokeBombHCard.cs.meta b/Assets/Battle/CardsHeroes/SmokeBombHCard.cs.meta new file mode 100644 index 0000000..1ad889c --- /dev/null +++ b/Assets/Battle/CardsHeroes/SmokeBombHCard.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 3bc5acd796238f146b9f9b0dc483fb85 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Battle/CardsHeroes/SwordSlashHCard.cs b/Assets/Battle/CardsHeroes/SwordSlashHCard.cs new file mode 100644 index 0000000..daa9031 --- /dev/null +++ b/Assets/Battle/CardsHeroes/SwordSlashHCard.cs @@ -0,0 +1,21 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class SwordSlashHCard : HeroCard +{ + public SwordSlashHCard(BattleParticipant owner) + : base(owner, HCardId.SwordSlash, "Sword Slash", 1, CardType.Attack, + "Deals 1 damage to target.") { + } + + public override IEnumerator Use(IBattleEffectApplier effectApplier, + MonsterViewpoint viewpoint, BattlePlayerControls playerControls) { + SingleTargeting singleTargeting = new SingleTargeting(new AnyTargetPolicy()); + yield return playerControls.StartCoroutine(playerControls.ChooseTarget(singleTargeting)); + yield return new WaitForSeconds(0.8f); + BattleParticipant target = singleTargeting.GetTarget(); + effectApplier.Apply(new DealDamageEffect(target, 1)); + yield return new WaitForSeconds(0.8f); + } +} diff --git a/Assets/Battle/CardsHeroes/SwordSlashHCard.cs.meta b/Assets/Battle/CardsHeroes/SwordSlashHCard.cs.meta new file mode 100644 index 0000000..26c1366 --- /dev/null +++ b/Assets/Battle/CardsHeroes/SwordSlashHCard.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 463c0326672540c4082132cd46e9a6c3 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Battle/Effects/MassBlockEffect.cs b/Assets/Battle/Effects/MassBlockEffect.cs new file mode 100644 index 0000000..0e57ffc --- /dev/null +++ b/Assets/Battle/Effects/MassBlockEffect.cs @@ -0,0 +1,21 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class MassBlockEffect : IBattleEffect +{ + private TeamChoice team; + private int amount; + + public MassBlockEffect(TeamChoice team, int amount) { + this.team = team; + this.amount = amount; + } + + public void Apply(IBattleEffectResolver resolver) { + resolver.AddMassBlock(this); + } + + public TeamChoice Team {get => this.team;} + public int Amount {get => this.amount;} +} diff --git a/Assets/Battle/Effects/MassBlockEffect.cs.meta b/Assets/Battle/Effects/MassBlockEffect.cs.meta new file mode 100644 index 0000000..753ef40 --- /dev/null +++ b/Assets/Battle/Effects/MassBlockEffect.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a0c3290b12974bc4682c5abbcd529884 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Battle/HeroCardDatabase.cs b/Assets/Battle/HeroCardDatabase.cs index 3ee8331..0c31a3d 100644 --- a/Assets/Battle/HeroCardDatabase.cs +++ b/Assets/Battle/HeroCardDatabase.cs @@ -19,6 +19,10 @@ public enum HCardId { Fracking, CanisterBomb, IronskinDraught, + SwordSlash, + ShieldBlock, + LeadShot, + SmokeBomb, } public class HeroCardDatabase : CardDatabase @@ -33,6 +37,10 @@ public class HeroCardDatabase : CardDatabase {HCardId.Meditate, HeroId.Shaman}, {HCardId.LightningHatchet, HeroId.Shaman}, {HCardId.IronskinDraught, HeroId.Alchemist}, + {HCardId.SwordSlash, HeroId.NPCGuard}, + {HCardId.ShieldBlock, HeroId.NPCGuard}, + {HCardId.LeadShot, HeroId.Alchemist}, + {HCardId.SmokeBomb, HeroId.Alchemist}, }; public override HeroCard CreateCard(int id, BattleParticipant owner) { @@ -57,6 +65,14 @@ public class HeroCardDatabase : CardDatabase return new LightningHatchetHCard(owner); case HCardId.IronskinDraught: return new IronskinDraughtHCard(owner); + case HCardId.SwordSlash: + return new SwordSlashHCard(owner); + case HCardId.ShieldBlock: + return new ShieldBlockHCard(owner); + case HCardId.LeadShot: + return new LeadShotHCard(owner); + case HCardId.SmokeBomb: + return new SmokeBombHCard(owner); default: throw new System.ArgumentException("HCardId unknown", "id"); } diff --git a/Assets/Battle/HeroDatabase.cs b/Assets/Battle/HeroDatabase.cs index dcf1e2b..0f032a5 100644 --- a/Assets/Battle/HeroDatabase.cs +++ b/Assets/Battle/HeroDatabase.cs @@ -6,18 +6,14 @@ public enum HeroId { Alchemist, Brute, Shaman, + NPCGuard, } public class HeroDatabase { - private static Dictionary SPRITE_NAMES = new Dictionary { - {HeroId.Alchemist, "AlchemistSprite"}, - {HeroId.Brute, "BruteSprite"}, - {HeroId.Shaman, "ShamanSprite"}, - }; - public static GameObject createHeroSprite(HeroId id) { - GameObject spritePrefab = (GameObject) Resources.Load("HeroImages/" + SPRITE_NAMES[id]); + GameObject spritePrefab = (GameObject) Resources.Load( + "HeroImages/" + id.ToString() + "Sprite"); if (spritePrefab == null) { throw new System.ArgumentException("No sprite for HeroId", "id"); } diff --git a/Assets/Battle/IBattleEffectResolver.cs b/Assets/Battle/IBattleEffectResolver.cs index 09c25b0..3a5b7fb 100644 --- a/Assets/Battle/IBattleEffectResolver.cs +++ b/Assets/Battle/IBattleEffectResolver.cs @@ -7,6 +7,7 @@ public interface IBattleEffectResolver { int DealMassDamage(MassDamageEffect effect); int Heal(HealEffect effect); void AddBlock(BlockEffect effect); + void AddMassBlock(MassBlockEffect effect); void AddStatus(StatusEffect effect); void IncreaseHeroMaxEnergy(IncreaseMaxEnergyEffect delta); void IncreaseMaxHP(IncreaseMaxHPEffect effect); diff --git a/Assets/Battle/Targeting/OtherTargetPolicy.cs b/Assets/Battle/Targeting/OtherTargetPolicy.cs new file mode 100644 index 0000000..b2a931f --- /dev/null +++ b/Assets/Battle/Targeting/OtherTargetPolicy.cs @@ -0,0 +1,16 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class OtherTargetPolicy: TargetingPolicy +{ + private BattleParticipant owner; + + public OtherTargetPolicy(BattleParticipant owner) { + this.owner = owner; + } + + public override bool CanTarget(BattleParticipant participant) { + return participant != this.owner; + } +} diff --git a/Assets/Battle/Targeting/OtherTargetPolicy.cs.meta b/Assets/Battle/Targeting/OtherTargetPolicy.cs.meta new file mode 100644 index 0000000..85096ef --- /dev/null +++ b/Assets/Battle/Targeting/OtherTargetPolicy.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0c10bedfc510bfd4e8c787ae72424144 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/CardArt/HeroLeadShot.jpg b/Assets/Resources/CardArt/HeroLeadShot.jpg new file mode 100644 index 0000000..ea93d6b Binary files /dev/null and b/Assets/Resources/CardArt/HeroLeadShot.jpg differ diff --git a/Assets/Resources/CardArt/HeroLeadShot.jpg.meta b/Assets/Resources/CardArt/HeroLeadShot.jpg.meta new file mode 100644 index 0000000..4aafbe8 --- /dev/null +++ b/Assets/Resources/CardArt/HeroLeadShot.jpg.meta @@ -0,0 +1,92 @@ +fileFormatVersion: 2 +guid: d623c7641a8f40d4b9c34d825ed8cd64 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/CardArt/HeroShieldBlock.jpg b/Assets/Resources/CardArt/HeroShieldBlock.jpg new file mode 100644 index 0000000..41bfa6c Binary files /dev/null and b/Assets/Resources/CardArt/HeroShieldBlock.jpg differ diff --git a/Assets/Resources/CardArt/HeroShieldBlock.jpg.meta b/Assets/Resources/CardArt/HeroShieldBlock.jpg.meta new file mode 100644 index 0000000..e091e98 --- /dev/null +++ b/Assets/Resources/CardArt/HeroShieldBlock.jpg.meta @@ -0,0 +1,92 @@ +fileFormatVersion: 2 +guid: 6356ba65c26230f4597c251e7b67f1da +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/CardArt/HeroSmokeBomb.jpg b/Assets/Resources/CardArt/HeroSmokeBomb.jpg new file mode 100644 index 0000000..5f7038f Binary files /dev/null and b/Assets/Resources/CardArt/HeroSmokeBomb.jpg differ diff --git a/Assets/Resources/CardArt/HeroSmokeBomb.jpg.meta b/Assets/Resources/CardArt/HeroSmokeBomb.jpg.meta new file mode 100644 index 0000000..6bbf36b --- /dev/null +++ b/Assets/Resources/CardArt/HeroSmokeBomb.jpg.meta @@ -0,0 +1,92 @@ +fileFormatVersion: 2 +guid: 76aa2f0b10c79e7449bd41231e1e0b14 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/CardArt/HeroSwordSlash.jpg b/Assets/Resources/CardArt/HeroSwordSlash.jpg new file mode 100644 index 0000000..5b93053 Binary files /dev/null and b/Assets/Resources/CardArt/HeroSwordSlash.jpg differ diff --git a/Assets/Resources/CardArt/HeroSwordSlash.jpg.meta b/Assets/Resources/CardArt/HeroSwordSlash.jpg.meta new file mode 100644 index 0000000..bc80ef5 --- /dev/null +++ b/Assets/Resources/CardArt/HeroSwordSlash.jpg.meta @@ -0,0 +1,92 @@ +fileFormatVersion: 2 +guid: 4d6758a121e27bb4ea1c39c440193229 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/HeroImages/AlchemistSprite.prefab b/Assets/Resources/HeroImages/AlchemistSprite.prefab index b189ff9..4b51613 100644 --- a/Assets/Resources/HeroImages/AlchemistSprite.prefab +++ b/Assets/Resources/HeroImages/AlchemistSprite.prefab @@ -26,7 +26,7 @@ Transform: m_GameObject: {fileID: 6222592291780832423} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 0.11, y: 0.11, z: 1} + m_LocalScale: {x: 0.12, y: 0.12, z: 1} m_Children: [] m_Father: {fileID: 0} m_RootOrder: 0 @@ -71,7 +71,7 @@ SpriteRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_Sprite: {fileID: 21300000, guid: d3a33a2fc41587b4bb7e1d6a6218cb6b, type: 3} - m_Color: {r: 0.6666667, g: 0.6666667, b: 0.6666667, a: 1} + m_Color: {r: 1, g: 1, b: 1, a: 1} m_FlipX: 0 m_FlipY: 0 m_DrawMode: 0 diff --git a/Assets/Resources/HeroImages/BruteSprite.prefab b/Assets/Resources/HeroImages/BruteSprite.prefab index c32d41a..7b4e208 100644 --- a/Assets/Resources/HeroImages/BruteSprite.prefab +++ b/Assets/Resources/HeroImages/BruteSprite.prefab @@ -71,7 +71,7 @@ SpriteRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_Sprite: {fileID: 21300000, guid: 0db4860a348ace4418e775be386e2cbd, type: 3} - m_Color: {r: 0.6666667, g: 0.6666667, b: 0.6666667, a: 1} + m_Color: {r: 1, g: 1, b: 1, a: 1} m_FlipX: 0 m_FlipY: 0 m_DrawMode: 0 diff --git a/Assets/Resources/HeroImages/NPCGuard.png b/Assets/Resources/HeroImages/NPCGuard.png new file mode 100644 index 0000000..f5504da Binary files /dev/null and b/Assets/Resources/HeroImages/NPCGuard.png differ diff --git a/Assets/Resources/HeroImages/NPCGuard.png.meta b/Assets/Resources/HeroImages/NPCGuard.png.meta new file mode 100644 index 0000000..3239e5b --- /dev/null +++ b/Assets/Resources/HeroImages/NPCGuard.png.meta @@ -0,0 +1,92 @@ +fileFormatVersion: 2 +guid: 76819d5504a2bce4f844d8feee2ad4d9 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/HeroImages/NPCGuardSprite.prefab b/Assets/Resources/HeroImages/NPCGuardSprite.prefab new file mode 100644 index 0000000..9abd6ab --- /dev/null +++ b/Assets/Resources/HeroImages/NPCGuardSprite.prefab @@ -0,0 +1,83 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &6222592291780832423 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6222592291780832421} + - component: {fileID: 6222592291780832420} + m_Layer: 0 + m_Name: NPCGuardSprite + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6222592291780832421 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6222592291780832423} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.19, y: 0.19, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &6222592291780832420 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6222592291780832423} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 21300000, guid: 76819d5504a2bce4f844d8feee2ad4d9, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 7.08, y: 9} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 diff --git a/Assets/Resources/HeroImages/NPCGuardSprite.prefab.meta b/Assets/Resources/HeroImages/NPCGuardSprite.prefab.meta new file mode 100644 index 0000000..01ac13f --- /dev/null +++ b/Assets/Resources/HeroImages/NPCGuardSprite.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 2b9771e5478c08740971101091404ca3 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/HeroImages/ShamanSprite.prefab b/Assets/Resources/HeroImages/ShamanSprite.prefab index dbe8d2a..0df030c 100644 --- a/Assets/Resources/HeroImages/ShamanSprite.prefab +++ b/Assets/Resources/HeroImages/ShamanSprite.prefab @@ -71,7 +71,7 @@ SpriteRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_Sprite: {fileID: 21300000, guid: fff60ca0f889c6b4bb3fa3b13d8a846b, type: 3} - m_Color: {r: 0.6666667, g: 0.6666667, b: 0.6666667, a: 1} + m_Color: {r: 1, g: 1, b: 1, a: 1} m_FlipX: 0 m_FlipY: 0 m_DrawMode: 0