Ejemplo n.º 1
0
        // Token: 0x06000A94 RID: 2708 RVA: 0x000242A4 File Offset: 0x000224A4
        public override Damage GetRawDamage(Unit9 unit, float?remainingHealth = null)
        {
            Damage     damage     = new Damage();
            DamageType damageType = this.DamageType;

            damage[damageType] = this.DamageData.GetValue(this.Level);
            Damage damage2            = damage;
            float  damageSearchRadius = this.searchRadius.GetValue(this.Level);
            float  radius             = this.Radius;
            int    num = (from x in EntityManager9.Units
                          where x.IsUnit && !x.Equals(unit) && x.IsAlive && x.IsVisible && !x.IsInvulnerable && x.IsEnemy(this.Owner) && x.Distance(unit) < damageSearchRadius && x.Distance(this.Owner) < radius
                          select x).Sum(delegate(Unit9 x)
            {
                if (!x.IsHero || x.IsIllusion)
                {
                    return(1);
                }
                return(2);
            });
            Damage damage3 = damage2;

            damageType           = this.DamageType;
            damage3[damageType] += this.echoDamageData.GetValue(this.Level) * (float)num;
            Aftershock aftershock = this.aftershock;

            if (aftershock != null && aftershock.CanBeCasted(true) && base.Owner.Distance(unit) < this.aftershock.Radius)
            {
                damage2 += this.aftershock.GetRawDamage(unit, null);
            }
            return(damage2);
        }
Ejemplo n.º 2
0
        // Token: 0x06000AA4 RID: 2724 RVA: 0x0002452C File Offset: 0x0002272C
        public override Damage GetRawDamage(Unit9 unit, float?remainingHealth = null)
        {
            Aftershock aftershock = this.aftershock;

            if (aftershock != null && aftershock.CanBeCasted(true) && base.Owner.Distance(unit) < this.aftershock.Radius)
            {
                return(this.aftershock.GetRawDamage(unit, null));
            }
            return(new Damage());
        }
Ejemplo n.º 3
0
        internal override void SetOwner(Unit9 owner)
        {
            base.SetOwner(owner);

            var ability = EntityManager9.BaseAbilities.FirstOrDefault(
                x => x.Id == AbilityId.earthshaker_aftershock && x.Owner?.Handle == owner.Handle);

            if (ability == null)
            {
                return;
            }

            this.aftershock = (Aftershock)EntityManager9.AddAbility(ability);
        }