public TalismanAttribute(TalismanAttribute copy) { if (copy != null) { m_Type = copy.Type; m_Name = copy.Name; m_Amount = copy.Amount; } }
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); }
public virtual void SetKiller(Type type, TextDefinition name, int amount) { m_Killer = new TalismanAttribute(type, name, amount); }
public virtual void SetProtection(Type type, TextDefinition name, int amount) { m_Protection = new TalismanAttribute(type, name, amount); }
public virtual void SetSummoner(Type type, TextDefinition name) { m_Summoner = new TalismanAttribute(type, name); }
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(); } } }