// Passives

        /// <summary>
        /// please use this when adding any type of passive
        /// </summary>
        /// <param name="passive"></param>
        public override void AddPassive(Passive passive)
        {
            if (initalized)
            {
                InitPassive(passive);
            }
            else
            {
                passive.PartialInit(this);
            }
            bool add = true;

            if (passive is Buff)
            {
                add = AddBuff((Buff)passive);
            }
            if (passive is TalentTrigger)
            {
                TalentTriggers.Add((TalentTrigger)passive);
            }
            if (passive is Talent)
            {
                Talents.Add((Talent)passive);
            }
            if (add)
            {
                passives.Add(passive);
            }
        }