Esempio n. 1
0
 public TalismanAttribute(TalismanAttribute copy)
 {
     if (copy != null)
     {
         m_Type   = copy.Type;
         m_Name   = copy.Name;
         m_Amount = copy.Amount;
     }
 }
Esempio n. 2
0
        public BaseTalisman(int itemID)
            : base(itemID)
        {
            Layer  = Layer.Talisman;
            Weight = 1.0;

            m_Protection      = new TalismanAttribute();
            m_Killer          = new TalismanAttribute();
            m_Summoner        = new TalismanAttribute();
            m_AosAttributes   = new AosAttributes(this);
            m_AosSkillBonuses = new AosSkillBonuses(this);
        }
Esempio n. 3
0
 public virtual void SetKiller(Type type, TextDefinition name, int amount)
 {
     m_Killer = new TalismanAttribute(type, name, amount);
 }
Esempio n. 4
0
 public virtual void SetProtection(Type type, TextDefinition name, int amount)
 {
     m_Protection = new TalismanAttribute(type, name, amount);
 }
Esempio n. 5
0
 public virtual void SetSummoner(Type type, TextDefinition name)
 {
     m_Summoner = new TalismanAttribute(type, name);
 }
Esempio n. 6
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch (version)
            {
            case 0:
            {
                SaveFlag flags = (SaveFlag)reader.ReadEncodedInt();

                if (GetSaveFlag(flags, SaveFlag.Attributes))
                {
                    m_AosAttributes = new AosAttributes(this, reader);
                }
                else
                {
                    m_AosAttributes = new AosAttributes(this);
                }

                if (GetSaveFlag(flags, SaveFlag.SkillBonuses))
                {
                    m_AosSkillBonuses = new AosSkillBonuses(this, reader);
                }
                else
                {
                    m_AosSkillBonuses = new AosSkillBonuses(this);
                }

                // Backward compatibility
                if (GetSaveFlag(flags, SaveFlag.Owner))
                {
                    BlessedFor = reader.ReadMobile();
                }

                if (GetSaveFlag(flags, SaveFlag.Protection))
                {
                    m_Protection = new TalismanAttribute(reader);
                }
                else
                {
                    m_Protection = new TalismanAttribute();
                }

                if (GetSaveFlag(flags, SaveFlag.Killer))
                {
                    m_Killer = new TalismanAttribute(reader);
                }
                else
                {
                    m_Killer = new TalismanAttribute();
                }

                if (GetSaveFlag(flags, SaveFlag.Summoner))
                {
                    m_Summoner = new TalismanAttribute(reader);
                }
                else
                {
                    m_Summoner = new TalismanAttribute();
                }

                if (GetSaveFlag(flags, SaveFlag.Removal))
                {
                    m_Removal = (TalismanRemoval)reader.ReadEncodedInt();
                }

                if (GetSaveFlag(flags, SaveFlag.OldKarmaLoss))
                {
                    m_AosAttributes.IncreasedKarmaLoss = reader.ReadEncodedInt();
                }

                if (GetSaveFlag(flags, SaveFlag.Skill))
                {
                    m_Skill = (SkillName)reader.ReadEncodedInt();
                }

                if (GetSaveFlag(flags, SaveFlag.SuccessBonus))
                {
                    m_SuccessBonus = reader.ReadEncodedInt();
                }

                if (GetSaveFlag(flags, SaveFlag.ExceptionalBonus))
                {
                    m_ExceptionalBonus = reader.ReadEncodedInt();
                }

                if (GetSaveFlag(flags, SaveFlag.MaxCharges))
                {
                    m_MaxCharges = reader.ReadEncodedInt();
                }

                if (GetSaveFlag(flags, SaveFlag.Charges))
                {
                    m_Charges = reader.ReadEncodedInt();
                }

                if (GetSaveFlag(flags, SaveFlag.MaxChargeTime))
                {
                    m_MaxChargeTime = reader.ReadEncodedInt();
                }

                if (GetSaveFlag(flags, SaveFlag.ChargeTime))
                {
                    m_ChargeTime = reader.ReadEncodedInt();
                }

                if (GetSaveFlag(flags, SaveFlag.Slayer))
                {
                    m_Slayer = (TalismanSlayerName)reader.ReadEncodedInt();
                }

                m_Blessed = GetSaveFlag(flags, SaveFlag.Blessed);

                break;
            }
            }

            if (Parent is Mobile)
            {
                Mobile m = (Mobile)Parent;

                m_AosAttributes.AddStatBonuses(m);
                m_AosSkillBonuses.AddTo(m);

                if (m_ChargeTime > 0)
                {
                    StartTimer();
                }
            }
        }