예제 #1
0
 protected override void LoadSpecialSkills()
 {
     ManaBoost = new DurationCooldownIndicator(_dispatcher);
     SkillsDatabase.TryGetSkill(340200, Class.Sorcerer, out Skill mb);
     ManaBoost.Cooldown = new FixedSkillCooldown(mb, CooldownType.Skill, _dispatcher, true);
     ManaBoost.Buff     = new FixedSkillCooldown(mb, CooldownType.Skill, _dispatcher, false);
 }
        public PriestLayoutVM()
        {
            //Energy Stars
            Game.DB !.SkillsDatabase.TryGetSkill(350410, Class.Priest, out var es);
            EnergyStars = new SkillWithEffect(Dispatcher, es);

            // Grace
            Game.DB.SkillsDatabase.TryGetSkill(390100, Class.Priest, out var gr);
            Grace = new SkillWithEffect(Dispatcher, gr);

            Grace.Effect.Started += OnGraceBuffStarted;
            Grace.Effect.Ended   += OnGraceBuffEnded;

            // Edict Of Judgment
            Game.DB.SkillsDatabase.TryGetSkill(430100, Class.Priest, out var ed);
            EdictOfJudgment = new SkillWithEffect(Dispatcher, ed);
            EdictOfJudgment.Effect.Started += OnEdictBuffStarted;
            EdictOfJudgment.Effect.Ended   += OnEdictBuffEnded;

            // Divine Charge
            Game.DB.SkillsDatabase.TryGetSkill(280200, Class.Priest, out var dc);
            DivineCharge = new SkillWithEffect(Dispatcher, dc);

            // Tripple Nenesis
            Game.DB.SkillsDatabase.TryGetSkill(290100, Class.Priest, out var tn);
            TripleNemesis = new SkillWithEffect(Dispatcher, tn);

            AbnormalityTracker.MarkingExpired   += OnTripleNemesisExpired;
            AbnormalityTracker.MarkingRefreshed += OnTripleNemesisRefreshed;
        }
        public GunnerLayoutVM()
        {
            Game.DB !.SkillsDatabase.TryGetSkill(51000, Class.Gunner, out var bfire);
            Game.DB.SkillsDatabase.TryGetSkill(130200, Class.Gunner, out var balder);
            Game.DB.SkillsDatabase.TryGetSkill(20600, Class.Gunner, out var bombard);
            Game.DB.SkillsDatabase.TryGetSkill(410100, Class.Gunner, out var modSys);


            BurstFire   = new Cooldown(bfire, false);
            Bombardment = new Cooldown(bombard, true)
            {
                CanFlash = true
            };
            Balder = new Cooldown(balder, true)
            {
                CanFlash = true
            };

            ModularSystem = new SkillWithEffect(Dispatcher, modSys);
            // ????
            //Balder.FlashOnAvailable = true;
            //Bombardment.FlashOnAvailable = true;
            //ModularSystem.Cooldown.FlashOnAvailable = true;

            //StaminaTracker.PropertyChanged += FlashBfIfFullWp;
        }
 protected override void LoadSpecialSkills()
 {
     ShadowReaping = new DurationCooldownIndicator(_dispatcher);
     SkillsDatabase.TryGetSkill(160100, Class.Soulless, out Skill sr);
     ShadowReaping.Cooldown = new FixedSkillCooldown(sr, CooldownType.Skill, _dispatcher, true);
     ShadowReaping.Buff     = new FixedSkillCooldown(sr, CooldownType.Skill, _dispatcher, true);
 }
 protected override void LoadSpecialSkills()
 {
     SkillsDatabase.TryGetSkill(150700, Class.Assassin, out Skill bh);
     SkillsDatabase.TryGetSkill(80200, Class.Assassin, out Skill fa);
     BurningHeart  = new FixedSkillCooldown(bh, CooldownType.Skill, _dispatcher, false);
     FireAvalanche = new FixedSkillCooldown(fa, CooldownType.Skill, _dispatcher, false);
 }
        public ReaperLayoutVM()
        {
            Game.DB !.SkillsDatabase.TryGetSkill(160100, Class.Reaper, out var sr);
            ShadowReaping = new SkillWithEffect(Dispatcher, sr);

            Game.DB.SkillsDatabase.TryGetSkill(180100, Class.Reaper, out var se);
            ShroudedEscape = new SkillWithEffect(Dispatcher, se);
        }
 protected override void LoadSpecialSkills()
 {
     //Deadly gamble
     DeadlyGamble = new DurationCooldownIndicator(_dispatcher);
     SkillsDatabase.TryGetSkill(200200, Class.Warrior, out Skill dg);
     DeadlyGamble.Buff     = new FixedSkillCooldown(dg, CooldownType.Skill, _dispatcher, false);
     DeadlyGamble.Cooldown = new FixedSkillCooldown(dg, CooldownType.Skill, _dispatcher, true);
 }
예제 #8
0
        public ReaperAbnormalityTracker()
        {
            Game.DB !.SkillsDatabase.TryGetSkillByIconName("icon_skills.chainbrandish_tex", Game.Me.Class, out var ds);
            Game.DB !.SkillsDatabase.TryGetSkillByIconName("icon_skills.instantleap_tex", Game.Me.Class, out var ss);

            _deathSpiral = ds ?? throw new NullReferenceException("Skill not found!");
            _shadowStep  = ss ?? throw new NullReferenceException("Skill not found!");
        }
예제 #9
0
 protected override void LoadSpecialSkills()
 {
     //Ragnarok
     Ragnarok = new DurationCooldownIndicator(_dispatcher);
     SkillsDatabase.TryGetSkill(120100, Class.Glaiver, out Skill rag);
     Ragnarok.Cooldown = new FixedSkillCooldown(rag, CooldownType.Skill, _dispatcher, true);
     Ragnarok.Buff     = new FixedSkillCooldown(rag, CooldownType.Skill, _dispatcher, false);
 }
예제 #10
0
 protected override void LoadSpecialSkills()
 {
     SkillsDatabase.TryGetSkill(410100, Class.Elementalist, out Skill cont);
     SkillsDatabase.TryGetSkill(120100, Class.Elementalist, out Skill vow);
     Contagion    = new FixedSkillCooldown(cont, CooldownType.Skill, _dispatcher, true);
     Vow          = new DurationCooldownIndicator(_dispatcher);
     Vow.Buff     = new FixedSkillCooldown(vow, CooldownType.Skill, _dispatcher, false);
     Vow.Cooldown = new FixedSkillCooldown(vow, CooldownType.Skill, _dispatcher, false);
 }
예제 #11
0
        public SlayerLayoutVM()
        {
            // In Cold Blood
            Game.DB !.SkillsDatabase.TryGetSkill(200200, Class.Slayer, out var icb);
            InColdBlood = new SkillWithEffect(Dispatcher, icb);

            // Overhand Strike
            Game.DB.SkillsDatabase.TryGetSkill(80900, Class.Slayer, out var ohs);
            OverhandStrike = new Cooldown(ohs, false);
        }
예제 #12
0
    void Start () {
        skillsDatabase = GetComponent<SkillsDatabase>();

        //skills.Add(new Skills (0, 0, "none", "none", Skills.RequiredStat.Agility, 0, Skills.RequiredWeapon.None, Skills.TriggerPhase.OnCast, Skills.AnimationType.Ability, 0, 0, false, 0, 0, 0, 0, 0));
        skills.Add(new Skills(0, 0, "Eldritch Blast", "Eldritch Blast", Skills.RequiredStat.Intelligence, 10, Skills.RequiredWeapon.None, Skills.TriggerPhase.OnCast, Skills.AnimationType.Ability, "Foreground", true, 10, 5, true, 0, 1f, 1.25f, 0f, 0, 0f, 0, 0f, 0f, 0f, 0f, 0f, 0f, 0f, 0f, 0f, 0f, 0f, 0f, 15));
        skills.Add(new Skills(1, 1, "Strength Buff", "Strength Buff", Skills.RequiredStat.Strength, 10, Skills.RequiredWeapon.None, Skills.TriggerPhase.OnCast, Skills.AnimationType.Buff, "Background", false, 5, 30, true, 15, 1f, 1f, 0f, 0, 0f, 0, 0f, 2f, 0f, 0f, 0f, 0f, 0f, 0f, 0f, 0f, 0f, 0f, 0));
        skills.Add(new Skills(2, 2, "Heal", "Heal", Skills.RequiredStat.Defense, 10, Skills.RequiredWeapon.None, Skills.TriggerPhase.OnCast, Skills.AnimationType.Buff, "Foreground", false, 10, 30, false, 0, 1f, 1f, 0f, 0, 0f, 0, 0f, 0f, 0f, 0f, 0f, 0f, 0.25f, 0f, 0f, 0f, 0f, 0f, 0));
        skills.Add(new Skills(3, 3, "Dash", "Dash", Skills.RequiredStat.Agility, 10, Skills.RequiredWeapon.None, Skills.TriggerPhase.OnCast, Skills.AnimationType.MovementAbility, "Background", false, 5, 15, true, 0, 1f, 1f, 0f, 0, 0f, 0, 0f, 0f, 0f, 0f, 0f, 0f, 0f, 0f, 0f, 0f, 0f, 0f, 150));
        skills.Add(new Skills(4, 4, "Shield", "Shield", Skills.RequiredStat.Defense, 10, Skills.RequiredWeapon.None, Skills.TriggerPhase.OnCast, Skills.AnimationType.Buff, "Background", false, 5, 30, true, 15, 1f, 1f, 0f, 0, 0f, 0, 0f, 0f, 0.15f, 0f, 0f, 0f, 0f, 0f, 0f, 0f, 0f, 0f, 0));
    }
        public ValkyrieLayoutVM()
        {
            RunemarksCounter = new Counter(7, false);

            Game.DB !.SkillsDatabase.TryGetSkill(120100, Class.Valkyrie, out var rag);
            Ragnarok = new SkillWithEffect(Dispatcher, rag);

            Game.DB.SkillsDatabase.TryGetSkill(250100, Class.Valkyrie, out var gf);
            Godsfall = new SkillWithEffect(Dispatcher, gf);

            Ragnarok.Effect.SecondsUpdated += OnEffectSecondsUpdated;
        }
예제 #14
0
 public static void CheckHurricane(S_ABNORMALITY_BEGIN msg)
 {
     if (msg.AbnormalityId == HurricaneId)
     {
         Debug.WriteLine("Checking hurricane; id={0} caster={1} player={2}", msg.AbnormalityId, msg.CasterId, SessionManager.CurrentPlayer.EntityId);
     }
     if (msg.AbnormalityId == HurricaneId && msg.CasterId == SessionManager.CurrentPlayer.EntityId)
     {
         SkillsDatabase.TryGetSkill(HurricaneId, Class.Common, out Skill hurricane);
         SkillManager.AddSkillDirectly(hurricane, HurricaneDuration);
     }
 }
 void Start() {
     skillsController = GetComponent<SkillsController>();
     skillsDatabase = GetComponent<SkillsDatabase>();
     cooldownList = new Dictionary<int, float>();
     talliedSkills = new Dictionary<int, bool>();
     healthModifier = 1;
     manaModifier = 1;
     strengthModifier = 1;
     speedModifier = 1;
     intelligenceModifier = 1;
     defenseModifier = 1;
     switchingClasses = false;
 }
예제 #16
0
        protected override void LoadSpecialSkills()
        {
            //Energy Stars
            EnergyStars = new DurationCooldownIndicator(_dispatcher);
            SkillsDatabase.TryGetSkill(350410, Class.Priest, out Skill es);
            EnergyStars.Cooldown = new FixedSkillCooldown(es, CooldownType.Skill, _dispatcher, true);
            EnergyStars.Buff     = new FixedSkillCooldown(es, CooldownType.Skill, _dispatcher, false);

            Grace = new DurationCooldownIndicator(_dispatcher);
            SkillsDatabase.TryGetSkill(390100, Class.Priest, out Skill gr);
            Grace.Cooldown = new FixedSkillCooldown(gr, CooldownType.Skill, _dispatcher, false);
            Grace.Buff     = new FixedSkillCooldown(gr, CooldownType.Skill, _dispatcher, false);
        }
예제 #17
0
 protected override void LoadSpecialSkills()
 {
     SkillsDatabase.TryGetSkill(80600, Class.Berserker, out Skill fr);
     SkillsDatabase.TryGetSkill(210200, Class.Berserker, out Skill bl);
     FieryRage = new DurationCooldownIndicator(_dispatcher)
     {
         Cooldown = new FixedSkillCooldown(fr, CooldownType.Skill, _dispatcher, true),
         Buff     = new FixedSkillCooldown(fr, CooldownType.Skill, _dispatcher, true)
     };
     Bloodlust = new DurationCooldownIndicator(_dispatcher)
     {
         Cooldown = new FixedSkillCooldown(bl, CooldownType.Skill, _dispatcher, true),
         Buff     = new FixedSkillCooldown(bl, CooldownType.Skill, _dispatcher, true)
     };
 }
        protected override void LoadSpecialSkills()
        {
            SkillsDatabase.TryGetSkill(200200, Class.Slayer, out Skill icb);
            SkillsDatabase.TryGetSkill(80900, Class.Slayer, out Skill ohs);

            InColdBlood =
                new DurationCooldownIndicator(_dispatcher)
            {
                Buff     = new FixedSkillCooldown(icb, CooldownType.Skill, _dispatcher, false),
                Cooldown = new FixedSkillCooldown(icb, CooldownType.Skill, _dispatcher, true)
            };

            OverhandStrike =
                new FixedSkillCooldown(ohs, CooldownType.Skill, _dispatcher, false);
        }
예제 #19
0
        protected override void LoadSpecialSkills()
        {
            SkillsDatabase.TryGetSkill(70300, Class.Lancer, out Skill gshout);
            SkillsDatabase.TryGetSkill(170200, Class.Lancer, out Skill arush);
            SkillsDatabase.TryGetSkill(120100, Class.Lancer, out Skill infu);

            GuardianShout  = new DurationCooldownIndicator(_dispatcher);
            AdrenalineRush = new DurationCooldownIndicator(_dispatcher);
            Infuriate      = new DurationCooldownIndicator(_dispatcher);

            GuardianShout.Cooldown  = new FixedSkillCooldown(gshout, CooldownType.Skill, _dispatcher, true);
            GuardianShout.Buff      = new FixedSkillCooldown(gshout, CooldownType.Skill, _dispatcher, false);
            AdrenalineRush.Cooldown = new FixedSkillCooldown(arush, CooldownType.Skill, _dispatcher, true);
            AdrenalineRush.Buff     = new FixedSkillCooldown(arush, CooldownType.Skill, _dispatcher, false);
            Infuriate.Cooldown      = new FixedSkillCooldown(infu, CooldownType.Skill, _dispatcher, true);
        }
        public LancerLayoutVM()
        {
            LH             = new LancerLineHeldTracker();
            Game.Me.Death += OnDeath;
            Game.DB !.SkillsDatabase.TryGetSkill(70300, Class.Lancer, out var gshout);
            GuardianShout = new SkillWithEffect(Dispatcher, gshout);

            Game.DB.SkillsDatabase.TryGetSkill(170200, Class.Lancer, out var arush);
            AdrenalineRush = new SkillWithEffect(Dispatcher, arush);

            Game.DB.SkillsDatabase.TryGetSkill(120100, Class.Lancer, out var infu);
            Infuriate = new Cooldown(infu, true)
            {
                CanFlash = true
            };
        }
        protected override void LoadSpecialSkills()
        {
            SkillsDatabase.TryGetSkill(51000, Class.Engineer, out Skill bfire);
            SkillsDatabase.TryGetSkill(130200, Class.Engineer, out Skill balder);
            SkillsDatabase.TryGetSkill(20700, Class.Engineer, out Skill bombard);

            BurstFire   = new DurationCooldownIndicator(_dispatcher);
            Balder      = new DurationCooldownIndicator(_dispatcher);
            Bombardment = new DurationCooldownIndicator(_dispatcher);

            BurstFire.Buff       = new FixedSkillCooldown(bfire, CooldownType.Skill, _dispatcher, false);
            Balder.Buff          = new FixedSkillCooldown(balder, CooldownType.Skill, _dispatcher, false);
            Bombardment.Buff     = new FixedSkillCooldown(bombard, CooldownType.Skill, _dispatcher, false);
            BurstFire.Cooldown   = new FixedSkillCooldown(bfire, CooldownType.Skill, _dispatcher, true);
            Balder.Cooldown      = new FixedSkillCooldown(balder, CooldownType.Skill, _dispatcher, false);
            Bombardment.Cooldown = new FixedSkillCooldown(bombard, CooldownType.Skill, _dispatcher, false);
        }
        public SorcererLayoutVM()
        {
            SorcererAbnormalityTracker.BoostChanged += OnBoostChanged;

            Game.DB !.SkillsDatabase.TryGetSkill(340200, Class.Sorcerer, out var mb);
            Game.DB.SkillsDatabase.TryGetSkill(360100, Class.Sorcerer, out var fusion);
            Game.DB.SkillsDatabase.TryGetSkill(360600, Class.Sorcerer, out var fusionBoost);
            Game.DB.SkillsDatabase.TryGetSkill(360200, Class.Sorcerer, out var primeFlame);
            Game.DB.SkillsDatabase.TryGetSkill(360400, Class.Sorcerer, out var iceberg);
            Game.DB.SkillsDatabase.TryGetSkill(360300, Class.Sorcerer, out var arcaneStorm);

            PrimeFlame       = primeFlame;  //fire ice
            Iceberg          = iceberg;     //ice arcane
            ArcaneStorm      = arcaneStorm; //fire arcane
            FusionSkill      = fusion;
            FusionSkillBoost = fusionBoost;

            ManaBoost = new SkillWithEffect(Dispatcher, mb);
            Fusion    = new Cooldown(fusion, false);

            _sw = new Stopwatch();
        }
예제 #23
0
 protected override void LoadSpecialSkills()
 {
     SkillsDatabase.TryGetSkill(290100, Class.Archer, out Skill tb);
     Thunderbolt = new FixedSkillCooldown(tb, CooldownType.Skill, _dispatcher, true);
 }
예제 #24
0
        public WarriorAbnormalityTracker()
        {
            Game.DB !.SkillsDatabase.TryGetSkillByIconName("icon_skills.doublesworddance_tex", Game.Me.Class, out var bw);

            _bladeWaltz = bw ?? throw new NullReferenceException("Skill not found!");
        }