Exemple #1
0
            private void RefreshHotbar()
            {
                using (new PerformanceLogger("RefreshHotbar"))
                {
                    var cPlayer = ZetaDia.CPlayer;

                    LastUpdated = DateTime.UtcNow;

                    PassiveSkills = new HashSet <SNOPower>(cPlayer.PassiveSkills);

                    for (int i = 0; i <= 5; i++)
                    {
                        var diaActiveSkill = cPlayer.GetActiveSkillByIndex(i, ZetaDia.Me.SkillOverrideActive);
                        if (diaActiveSkill == null || diaActiveSkill.Power == SNOPower.None)
                        {
                            continue;
                        }

                        var power     = diaActiveSkill.Power;
                        var runeIndex = diaActiveSkill.RuneIndex;

                        var hotbarskill = new HotbarSkill
                        {
                            Power           = diaActiveSkill.Power,
                            Slot            = (HotbarSlot)i,
                            RuneIndex       = runeIndex,
                            HasRuneEquipped = diaActiveSkill.HasRuneEquipped,
                            Skill           = SkillUtils.ById(power),
                            //Charges = ZetaDia.Me.CommonData.GetAttribute<int>(((int)diaActiveSkill.Power << 12) + ((int)ActorAttributeType.SkillCharges & 0xFFF)),
                        };

                        ActivePowers.Add(power);
                        ActiveSkills.Add(hotbarskill);
                        _skillBySNOPower.Add(power, hotbarskill);
                        _skillBySlot.Add((HotbarSlot)i, hotbarskill);



                        if (!DataDictionary.LastUseAbilityTimeDefaults.ContainsKey(power))
                        {
                            DataDictionary.LastUseAbilityTimeDefaults.Add(power, DateTime.MinValue);
                        }

                        if (!AbilityLastUsed.ContainsKey(power))
                        {
                            AbilityLastUsed.Add(power, DateTime.MinValue);
                        }
                    }

                    Logger.Log(TrinityLogLevel.Debug, LogCategory.CacheManagement,
                               "Refreshed Hotbar: ActiveSkills={0} PassiveSkills={1}",
                               ActiveSkills.Count,
                               PassiveSkills.Count);
                }
            }
Exemple #2
0
 public void EquipSkill(SkillDefinition definition)
 {
     if (!HasSkillActive(definition) && AcquiredSkills.Count < 4 && HasAcquiredSkill(definition))
     {
         ActiveSkills.Add(definition);
         player.PutItemInInventory(mod.ItemType(definition.Item.Name));
     }
     if (HasSkillActive(definition))
     {
         ActiveSkills.Remove(definition);
         foreach (var item in player.inventory)
         {
             if (item == null)
             {
                 continue;
             }
             if (item.type == mod.ItemType(definition.Item.Name))
             {
                 item.TurnToAir();
             }
         }
     }
 }
Exemple #3
0
 public Hydra() : base("Hydra", 80, new damage(7, 14), 15, 12, 7)
 {
     PassiveSkills.Add(new Recharge(true));
     ActiveSkills.Add(new InitiativeBaff());
 }
Exemple #4
0
 public Fury() : base("Fury", 16, new damage(5, 7), 5, 3, 16)
 {
     PassiveSkills.Add(new Recharge(true));
     PassiveSkills.Add(new DisableRecharge());
     ActiveSkills.Add(new AttackBaff());
 }