Esempio n. 1
0
        public Storm(Unit9 owner, MultiSleeper abilitySleeper, Sleeper orbwalkSleeper, ControllableUnitMenu menu)
            : base(owner, abilitySleeper, orbwalkSleeper, menu)
        {
            this.ComboAbilities = new Dictionary <AbilityId, Func <ActiveAbility, UsableAbility> >
            {
                { AbilityId.brewmaster_storm_cyclone, x => this.cyclone = new Cyclone(x) },
                { AbilityId.brewmaster_storm_dispel_magic, x => this.dispel = new Dispel(x) },
                { AbilityId.brewmaster_storm_wind_walk, x => this.windWalk = new WindWalk(x) },
                { AbilityId.brewmaster_cinder_brew, x => this.cender = new DebuffAbility(x) },
            };

            this.MoveComboAbilities.Add(AbilityId.brewmaster_storm_wind_walk, _ => this.windWalk);
        }
        private static void CheckGaleSteps(S_ABNORMALITY_END p)
        {
            if (!WindWalkIds.Contains(p.AbnormalityId))
            {
                return;
            }
            if (!IsViewModelAvailable <ArcherLayoutVM>(out var vm))
            {
                return;
            }

            vm !.WindWalk.Stop();
            vm !.WindWalkProc = false;
        }
        private static void CheckGaleSteps(S_ABNORMALITY_BEGIN p)
        {
            if (!WindWalkIds.Contains(p.AbnormalityId))
            {
                return;
            }
            if (!IsViewModelAvailable <ArcherLayoutVM>(out var vm))
            {
                return;
            }

            vm !.WindWalk.Start(p.Duration);
            vm !.WindWalkProc = true;
        }
        private static void CheckWindWalk(S_ABNORMALITY_REFRESH p)
        {
            if (!WindWalkIds.Contains(p.AbnormalityId))
            {
                return;
            }
            if (!IsViewModelAvailable <ArcherLayoutVM>(out var vm))
            {
                return;
            }

            vm !.WindWalk.Refresh(p.Duration, CooldownMode.Normal);
            vm !.WindWalkProc = true;
        }