diff options
author | Thomas Leyh <leyh.thomas@web.de> | 2016-07-24 08:14:18 +0200 |
---|---|---|
committer | Thomas Leyh <leyh.thomas@web.de> | 2016-07-24 08:14:18 +0200 |
commit | ced3d03bdb3ce866d832e03fb212865140905a9a (patch) | |
tree | 2a16c2063a46d3c354ce1585029dda3124f6ad93 /V3/Objects/Zombie.cs | |
parent | 0394dccaf06e1009e591a6ff4d645895574724c1 (diff) | |
download | V3-release.tar.gz V3-release.tar.bz2 |
Diffstat (limited to 'V3/Objects/Zombie.cs')
-rw-r--r-- | V3/Objects/Zombie.cs | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/V3/Objects/Zombie.cs b/V3/Objects/Zombie.cs new file mode 100644 index 0000000..635634c --- /dev/null +++ b/V3/Objects/Zombie.cs @@ -0,0 +1,45 @@ +using System; +using Microsoft.Xna.Framework.Content; +using V3.Data; +using V3.Map; +using V3.Objects.Movement; +using V3.Objects.Sprite; + +namespace V3.Objects +{ + /// <summary> + /// A simple zombie controlled by the necromancer. + /// </summary> + public sealed class Zombie : AbstractCreature + { + public override string Name { get; protected set; } = "Zombie"; + public override int Life { get; protected set; } = 150; + public override int MaxLife { get; protected set; } = 150; + public override int Speed { get; } = 5; + public override int Attack { get; protected set; } = 8; + public override int AttackRadius { get; protected set; } = 48; + public override int SightRadius { get; protected set; } = 150; + public override TimeSpan TotalRecovery { get; } = TimeSpan.FromSeconds(1); + public override TimeSpan Recovery { get; set; } + protected override ISpriteCreature[] Sprite { get; } = {new ZombieSprite()}; + protected override IMovable MovementScheme { get; } = new PlayerMovement(); + protected override CreatureType Type { get; } = CreatureType.Zombie; + public override Faction Faction { get; } = Faction.Undead; + public override ICreature IsAttacking { get; set; } + public override IBuilding IsAttackingBuilding { get; set; } + + public Zombie(ContentManager contentManager, + Pathfinder pathfinder, IOptionsManager optionsManager, AchievementsAndStatistics achievementsAndStatistics) + : base(contentManager, pathfinder, optionsManager,achievementsAndStatistics) + { + } + + public override void LoadData(CreatureData data) + { + base.LoadData(data); + + if (IsUpgraded) + ChangeEquipment(EquipmentType.Body, new ZombieWithClubSprite()); + } + } +} |