public TalismanAttribute( TalismanAttribute copy ) { if ( copy != null ) { m_Type = copy.Type; m_Name = copy.Name; m_Amount = copy.Amount; } }
public TalismanAttribute(TalismanAttribute copy) { if (copy != null) { m_Type = copy.Type; m_Name = copy.Name; m_Amount = copy.Amount; } }
public GrammarOfOrchishTalisman() : base(0x2F59) { Blessed = GetRandomBlessed(); Protection = GetRandomProtection(); Summoner = new TalismanAttribute(typeof(SummonedOrcBrute), 0, 1072414); SkillBonuses.SetValues(0, SkillName.MagicResist, 5.0); SkillBonuses.SetValues(1, SkillName.Anatomy, 7.0); MaxChargeTime = 1800; }
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 BaseTalisman(int itemID) : base(itemID) { this.Layer = Layer.Talisman; this.Weight = 1.0; this.m_HitPoints = this.m_MaxHitPoints = Utility.RandomMinMax(this.InitMinHits, this.InitMaxHits); this.m_Protection = new TalismanAttribute(); this.m_Killer = new TalismanAttribute(); this.m_Summoner = new TalismanAttribute(); this.m_AosAttributes = new AosAttributes(this); this.m_AosSkillBonuses = new AosSkillBonuses(this); }
public BaseJewel(int itemID, Layer layer) : base(itemID) { m_AosAttributes = new AosAttributes(this); m_AosResistances = new AosElementAttributes(this); m_AosSkillBonuses = new AosSkillBonuses(this); m_Resource = CraftResource.Iron; m_GemType = GemType.None; Layer = layer; m_HitPoints = m_MaxHitPoints = Utility.RandomMinMax(InitMinHits, InitMaxHits); m_SetAttributes = new AosAttributes(this); m_SetSkillBonuses = new AosSkillBonuses(this); m_SAAbsorptionAttributes = new SAAbsorptionAttributes(this); m_NegativeAttributes = new NegativeAttributes(this); m_TalismanProtection = new TalismanAttribute(); }
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 12: case 11: { m_SetPhysicalBonus = reader.ReadInt(); m_SetFireBonus = reader.ReadInt(); m_SetColdBonus = reader.ReadInt(); m_SetPoisonBonus = reader.ReadInt(); m_SetEnergyBonus = reader.ReadInt(); goto case 10; } case 10: { m_PlayerConstructed = reader.ReadBool(); goto case 9; } case 9: { m_TalismanProtection = new TalismanAttribute(reader); goto case 8; } case 8: { if (version == 11) { reader.ReadBool(); } _Owner = reader.ReadMobile(); _OwnerName = reader.ReadString(); goto case 7; } case 7: { m_IsImbued = reader.ReadBool(); goto case 6; } case 6: { m_NegativeAttributes = new NegativeAttributes(this, reader); goto case 5; } case 5: { #region Runic Reforging m_ReforgedPrefix = (ReforgedPrefix)reader.ReadInt(); m_ReforgedSuffix = (ReforgedSuffix)reader.ReadInt(); m_ItemPower = (ItemPower)reader.ReadInt(); if (version == 11 && reader.ReadBool()) { m_NegativeAttributes.NoRepair = 1; } #endregion #region Stygian Abyss m_GorgonLenseCharges = reader.ReadInt(); m_GorgonLenseType = (LenseType)reader.ReadInt(); goto case 4; } case 4: { m_TimesImbued = reader.ReadEncodedInt(); m_SAAbsorptionAttributes = new SAAbsorptionAttributes(this, reader); #endregion m_BlessedBy = reader.ReadMobile(); m_LastEquipped = reader.ReadBool(); m_SetEquipped = reader.ReadBool(); m_SetHue = reader.ReadEncodedInt(); m_SetAttributes = new AosAttributes(this, reader); m_SetSkillBonuses = new AosSkillBonuses(this, reader); m_Crafter = reader.ReadMobile(); m_Quality = (ItemQuality)reader.ReadInt(); goto case 3; } case 3: { m_MaxHitPoints = reader.ReadEncodedInt(); m_HitPoints = reader.ReadEncodedInt(); goto case 2; } case 2: { m_Resource = (CraftResource)reader.ReadEncodedInt(); m_GemType = (GemType)reader.ReadEncodedInt(); goto case 1; } case 1: { m_AosAttributes = new AosAttributes(this, reader); m_AosResistances = new AosElementAttributes(this, reader); m_AosSkillBonuses = new AosSkillBonuses(this, reader); if (Core.AOS && Parent is Mobile) { m_AosSkillBonuses.AddTo((Mobile)Parent); } int strBonus = m_AosAttributes.BonusStr; int dexBonus = m_AosAttributes.BonusDex; int intBonus = m_AosAttributes.BonusInt; if (Parent is Mobile && (strBonus != 0 || dexBonus != 0 || intBonus != 0)) { Mobile m = (Mobile)Parent; string modName = Serial.ToString(); if (strBonus != 0) { m.AddStatMod(new StatMod(StatType.Str, modName + "Str", strBonus, TimeSpan.Zero)); } if (dexBonus != 0) { m.AddStatMod(new StatMod(StatType.Dex, modName + "Dex", dexBonus, TimeSpan.Zero)); } if (intBonus != 0) { m.AddStatMod(new StatMod(StatType.Int, modName + "Int", intBonus, TimeSpan.Zero)); } } if (Parent is Mobile) { ((Mobile)Parent).CheckStatTimers(); } break; } case 0: { m_AosAttributes = new AosAttributes(this); m_AosResistances = new AosElementAttributes(this); m_AosSkillBonuses = new AosSkillBonuses(this); break; } } if (m_NegativeAttributes == null) { m_NegativeAttributes = new NegativeAttributes(this); } if (m_TalismanProtection == null) { m_TalismanProtection = new TalismanAttribute(); } #region Mondain's Legacy Sets if (m_SetAttributes == null) { m_SetAttributes = new AosAttributes(this); } if (m_SetSkillBonuses == null) { m_SetSkillBonuses = new AosSkillBonuses(this); } #endregion if (version < 2) { m_Resource = CraftResource.Iron; m_GemType = GemType.None; } }
public virtual void SetProtection( Type type, object name, int amount ) { m_Protection = new TalismanAttribute( type, amount, name ); }
public virtual void SetKiller( Type type, object name, int amount ) { m_Killer = new TalismanAttribute( type, amount, name ); }
public virtual void SetProtection(Type type, TextDefinition name, int amount) { m_Protection = new TalismanAttribute(type, name, amount); }
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); } if (GetSaveFlag(flags, SaveFlag.Owner)) { m_Owner = reader.ReadMobile(); } m_Protection = new TalismanAttribute(); if (GetSaveFlag(flags, SaveFlag.Protection)) { m_Protection.Deserialize(reader); } else { m_Protection = null; } m_Killer = new TalismanAttribute(); if (GetSaveFlag(flags, SaveFlag.Killer)) { m_Killer.Deserialize(reader); } else { m_Killer = null; } m_Summoner = new TalismanAttribute(); if (GetSaveFlag(flags, SaveFlag.Summoner)) { m_Summoner.Deserialize(reader); } else { m_Summoner = null; } if (GetSaveFlag(flags, SaveFlag.Removal)) { m_Removal = (TalismanRemoval)reader.ReadEncodedInt(); } if (GetSaveFlag(flags, SaveFlag.KarmaLoss)) { m_KarmaLoss = 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 && ChargeTime > 0) { StartTimer(); } if (m_AosSkillBonuses == null) { m_AosSkillBonuses = new AosSkillBonuses(this); } if (Core.AOS && Parent is Mobile) { m_AosSkillBonuses.AddTo((Mobile)Parent); } int strBonus = m_AosAttributes.BonusStr; int dexBonus = m_AosAttributes.BonusDex; int intBonus = m_AosAttributes.BonusInt; if (Parent is Mobile && (strBonus != 0 || dexBonus != 0 || intBonus != 0)) { Mobile m = (Mobile)Parent; string modName = Serial.ToString(); if (strBonus != 0) { m.AddStatMod(new StatMod(StatType.Str, modName + "Str", strBonus, TimeSpan.Zero)); } if (dexBonus != 0) { m.AddStatMod(new StatMod(StatType.Dex, modName + "Dex", dexBonus, TimeSpan.Zero)); } if (intBonus != 0) { m.AddStatMod(new StatMod(StatType.Int, modName + "Int", intBonus, TimeSpan.Zero)); } } if (Parent is Mobile) { ((Mobile)Parent).CheckStatTimers(); } }
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(); } }
public virtual void SetProtection(Type type, TextDefinition name, int amount) { m_TalismanProtection = new TalismanAttribute(type, name, amount); }
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.KarmaLoss)) { m_KarmaLoss = 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(); } } }
public virtual void SetProtection(Type type, object name, int amount) { m_Protection = new TalismanAttribute(type, amount, name); }
public virtual void SetKiller(Type type, object name, int amount) { m_Killer = new TalismanAttribute(type, amount, name); }
public virtual void SetKiller(Type type, TextDefinition name, int amount) { m_Killer = new TalismanAttribute(type, name, amount); }
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 ); if ( GetSaveFlag( flags, SaveFlag.Owner ) ) m_Owner = reader.ReadMobile(); m_Protection = new TalismanAttribute(); if ( GetSaveFlag( flags, SaveFlag.Protection ) ) m_Protection.Deserialize( reader ); else m_Protection = null; m_Killer = new TalismanAttribute(); if ( GetSaveFlag( flags, SaveFlag.Killer ) ) m_Killer.Deserialize( reader ); else m_Killer = null; m_Summoner = new TalismanAttribute(); if ( GetSaveFlag( flags, SaveFlag.Summoner ) ) m_Summoner.Deserialize( reader ); else m_Summoner = null; if ( GetSaveFlag( flags, SaveFlag.Removal ) ) m_Removal = (TalismanRemoval) reader.ReadEncodedInt(); if ( GetSaveFlag( flags, SaveFlag.KarmaLoss ) ) m_KarmaLoss = 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 && ChargeTime > 0 ) StartTimer(); if ( m_AosSkillBonuses == null ) m_AosSkillBonuses = new AosSkillBonuses( this ); if ( Core.AOS && Parent is Mobile ) m_AosSkillBonuses.AddTo( (Mobile)Parent ); int strBonus = m_AosAttributes.BonusStr; int dexBonus = m_AosAttributes.BonusDex; int intBonus = m_AosAttributes.BonusInt; if ( Parent is Mobile && (strBonus != 0 || dexBonus != 0 || intBonus != 0) ) { Mobile m = (Mobile)Parent; string modName = Serial.ToString(); if ( strBonus != 0 ) m.AddStatMod( new StatMod( StatType.Str, modName + "Str", strBonus, TimeSpan.Zero ) ); if ( dexBonus != 0 ) m.AddStatMod( new StatMod( StatType.Dex, modName + "Dex", dexBonus, TimeSpan.Zero ) ); if ( intBonus != 0 ) m.AddStatMod( new StatMod( StatType.Int, modName + "Int", intBonus, TimeSpan.Zero ) ); } if ( Parent is Mobile ) ((Mobile)Parent).CheckStatTimers(); }
public GrammarOfOrchishTalisman() : base( 0x2F59 ) { Blessed = GetRandomBlessed(); Protection = GetRandomProtection(); Summoner = new TalismanAttribute( typeof( SummonedOrcBrute ), 0, 1072414 ); SkillBonuses.SetValues( 0, SkillName.MagicResist, 5.0 ); SkillBonuses.SetValues( 1, SkillName.Anatomy, 7.0 ); MaxChargeTime = 1800; }