Example #1
0
        static void Main(string[] args)
        {
            var fireBall = new FireBall();
            var iceBlast = new IceBlast();
            var fireMage = new Mage(fireBall);
            var iceMage  = new Mage(iceBlast);

            fireMage.Cast();
            iceMage.Cast();
        }
        // Token: 0x060009C9 RID: 2505 RVA: 0x0002A9F4 File Offset: 0x00028BF4
        public override bool Combo(TargetManager targetManager, ComboModeMenu comboModeMenu)
        {
            AbilityHelper abilityHelper = new AbilityHelper(targetManager, comboModeMenu, this);
            IceBlast      iceBlast      = this.blast;

            if (iceBlast != null && iceBlast.Release(targetManager, base.ComboSleeper))
            {
                return(true);
            }
            if (abilityHelper.UseAbility(this.hex, true))
            {
                return(true);
            }
            if (abilityHelper.UseAbility(this.coldFeet, true))
            {
                base.ComboSleeper.ExtendSleep(0.3f);
                return(true);
            }
            if (abilityHelper.UseAbility(this.vortex, true))
            {
                return(true);
            }
            Modifier modifier = targetManager.Target.GetModifier("modifier_cold_feet");

            if (modifier != null && modifier.ElapsedTime < (float)1 && abilityHelper.UseAbility(this.eul, true))
            {
                base.ComboSleeper.ExtendSleep(0.5f);
                return(true);
            }
            if (abilityHelper.UseAbility(this.touch, true))
            {
                return(true);
            }
            if (abilityHelper.UseAbility(this.atos, true))
            {
                return(true);
            }
            if (abilityHelper.UseAbility(this.vessel, true))
            {
                return(true);
            }
            if (abilityHelper.UseAbility(this.urn, true))
            {
                return(true);
            }
            abilityHelper.UseAbility(this.blast, true);
            return(true);
        }
Example #3
0
        public AncientApparition(Unit9 owner, MultiSleeper abilitySleeper, Sleeper orbwalkSleeper, ControllableUnitMenu menu)
            : base(owner, abilitySleeper, orbwalkSleeper, menu)
        {
            this.ComboAbilities = new Dictionary <AbilityId, Func <ActiveAbility, UsableAbility> >
            {
                { AbilityId.ancient_apparition_cold_feet, x => this.coldFeet = new DebuffAbility(x) },
                { AbilityId.ancient_apparition_ice_vortex, x => this.vortex = new IceVortex(x) },
                { AbilityId.ancient_apparition_chilling_touch, x => this.touch = new ChillingTouch(x) },
                { AbilityId.ancient_apparition_ice_blast, x => this.blast = new IceBlast(x) },

                { AbilityId.item_cyclone, x => this.eul = new DisableAbility(x) },
                { AbilityId.item_sheepstick, x => this.hex = new DisableAbility(x) },
                { AbilityId.item_rod_of_atos, x => this.atos = new DisableAbility(x) },
                { AbilityId.item_spirit_vessel, x => this.vessel = new DebuffAbility(x) },
                { AbilityId.item_urn_of_shadows, x => this.urn = new DebuffAbility(x) },
                { AbilityId.item_veil_of_discord, x => this.veil = new DebuffAbility(x) },
            };
        }