Example #1
0
 public Unit()
 {
     Abilities = new Ability[] { };
 }
Example #2
0
        public override void AssignValues(Resource c, Map.Map map)
        {
            base.AssignValues(c, map);
            var u = c as Unit;
            Invulnerable = u.Invulnerable;
            Leveling = u.Leveling;
            ExperienceGiven = u.ExperienceGiven;
            GoldGiven = u.GoldGiven;
            Icon = u.Icon;

            if (u.HeroClasses != null)
            {
                HeroClasses = new HeroClass[u.HeroClasses.Length];
                for (int i = 0; i < u.HeroClasses.Length; i++)
                    if (u.HeroClasses[i] != null)
                        map.HeroClasses.TryGetValue(u.HeroClasses[i].Name, out HeroClasses[i]);
                    else
                        HeroClasses[i] = null;
            }

            Abilities = new Ability[u.Abilities.Length];
            for (int i = 0; i < u.Abilities.Length; i++)
                if (u.Abilities[i] != null)
                    map.AbilityClasses.TryGetValue(u.Abilities[i].Name, out Abilities[i]);
                else
                    Abilities[i] = null;

            IsBuilding = u.IsBuilding;

            MaxHitPoints = u.MaxHitPoints;
            MaxMana = u.MaxMana;
            HitPointsRegen = u.HitPointsRegen;
            ManaRegen = u.ManaRegen;
            Armor = u.Armor;
            ArmorType = u.ArmorType;
            MovementSpeed = u.MovementSpeed;

            AttackSpeed = u.AttackSpeed;
            AttackDamage = u.AttackDamage;
            Evade = u.Evade;
            Hit = u.Hit;
            Crit = u.Crit;

            Strength = u.Strength;
            Stamina = u.Stamina;
            Agility = u.Agility;
            Intelligence = u.Intelligence;

            StrengthGrowth = u.StrengthGrowth;
            StaminaGrowth = u.StaminaGrowth;
            AgilityGrowth = u.AgilityGrowth;
            IntelligenceGrowth = u.IntelligenceGrowth;

            PlayEffectWhenDying = u.PlayEffectWhenDying;
            RunAnimationSpeed = u.RunAnimationSpeed;
            ModelAttachmentsHeight = u.ModelAttachmentsHeight;
            Scale = u.Scale;
        }
Example #3
0
 public override object Clone(Map.Map map)
 {
     Ability a = new Ability(this.AbilityMethod);
     a.AssignValues(this, map);
     return a;
 }