public override void OnSpeech(SpeechEventArgs e) { Mobile m = e.Mobile; if ((Parent == m) && (m.FindItemOnLayer(Layer.TwoHanded) == this)) { if (e.Speech.ToLower() == "an ex del") { if (m_CanUseFreeze) { m.PlaySound(0xF6); m_StaffEffect = StaffEffect.Freeze; } } if (e.Speech.ToLower() == "in corp del") { if (m_CanUseIceStrike) { m.PlaySound(0xF7); m_StaffEffect = StaffEffect.IceStrike; } } if (e.Speech.ToLower() == "des corp del") { if (m_CanUseIceBall) { m.PlaySound(0xF8); m_StaffEffect = StaffEffect.IceBall; } } } }
public IceStaff() : base(0xDF1) { int firsteffect = Utility.Random ( 1, 3 ); int secondeffect = Utility.Random ( 1, 3 ); while ( firsteffect == secondeffect ) secondeffect = Utility.Random ( 1, 3 ); switch ( firsteffect ) { case 1: m_CanUseIceStrike = true; break; case 2: m_CanUseFreeze = true; break; case 3: m_CanUseIceBall = true; break; } switch ( secondeffect ) { case 1: m_CanUseIceStrike = true; break; case 2: m_CanUseFreeze = true; break; case 3: m_CanUseIceBall = true; break; } switch ( firsteffect ) { case 1: m_StaffEffect = StaffEffect.IceStrike; break; case 2: m_StaffEffect = StaffEffect.Freeze; break; case 3: m_StaffEffect = StaffEffect.IceBall; break; } this.m_Charges = Utility.Random( 12, 25 ); Hue = 0x480; Weight = 3.0; // this.M = 1017413; }
public override void OnDoubleClick(Mobile from) { if (from.FindItemOnLayer(Layer.TwoHanded) == this) { if (DateTime.Now >= PreviousUse + TimeSpan.FromSeconds(5)) { PreviousUse = DateTime.Now; if (m_Charges == 0) { from.SendLocalizedMessage(1019073); // This item is out of charges. return; } else { Charges--; if (Charges > 0) { --m_Charges; } switch (m_StaffEffect) { case StaffEffect.Freeze: new FreezeSpell(from, null).Cast(); break; case StaffEffect.IceStrike: new IceStrikeSpell(from, null).Cast(); break; case StaffEffect.IceBall: new IceBallSpell(from, null).Cast(); break; } if (m_CanUseFreeze) { Name = "Glacial Staff of Chilly Cacophony (charges: " + Charges.ToString() + ")"; m_StaffEffect = StaffEffect.Freeze; } else if (m_CanUseIceStrike) { Name = "Glacial Staff of Icy Isolation (charges: " + Charges.ToString() + ")"; m_StaffEffect = StaffEffect.IceStrike; } else if (m_CanUseIceBall) { Name = "Glacial Staff of Tundra Tenacity (charges: " + Charges.ToString() + ")"; m_StaffEffect = StaffEffect.IceBall; } else { Name = "Glacial Staff of Nothing"; } } } else { from.SendLocalizedMessage(1062012); } } else { from.SendLocalizedMessage(502641); // You must equip this item to use it. } }
public GlacialStaff() : base(16175) { int firsteffect = Utility.Random(1, 3); int secondeffect = Utility.Random(1, 3); while (firsteffect == secondeffect) { secondeffect = Utility.Random(1, 3); } switch (firsteffect) { case 1: m_CanUseIceStrike = true; break; case 2: m_CanUseFreeze = true; break; case 3: m_CanUseIceBall = true; break; } switch (secondeffect) { case 1: m_CanUseIceStrike = true; break; case 2: m_CanUseFreeze = true; break; case 3: m_CanUseIceBall = true; break; } switch (firsteffect) { case 1: m_StaffEffect = StaffEffect.IceStrike; break; case 2: m_StaffEffect = StaffEffect.Freeze; break; case 3: m_StaffEffect = StaffEffect.IceBall; break; } this.Name = "a mysterious blue staff"; this.Charges = 51; this.Weight = 5.0; this.Identified = true; this.Hue = 0x480; this.Layer = Layer.TwoHanded; this.Attributes.SpellChanneling = 1; switch (Utility.Random(3)) { case 0: WeaponAttributes.HitHarm = 5; break; case 1: WeaponAttributes.HitHarm = 10; break; case 2: WeaponAttributes.HitHarm = 15; break; } switch (Utility.Random(3)) { case 0: Attributes.WeaponDamage = 15; break; case 1: Attributes.WeaponDamage = 25; break; case 2: Attributes.WeaponDamage = 35; break; } }
public void Charge( Mobile from, SpellScroll scroll ) { if ( m_Effect != StaffEffect.None ) from.SendLocalizedMessage( 1010379 ); // This staff has already been charged - you may not recharge it! else { m_Effect = (StaffEffect)scroll.SpellID; Charges = MaxCharges; scroll.Consume(); from.SendLocalizedMessage( 1010380 ); // The staff is now charged } }
public void Charge(Mobile from, SpellScroll scroll) { if (m_Effect != StaffEffect.None) { from.SendLocalizedMessage(1010379); // This staff has already been charged - you may not recharge it! } else { m_Effect = (StaffEffect)scroll.SpellID; Charges = MaxCharges; scroll.Consume(); from.SendLocalizedMessage(1010380); // The staff is now charged } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); if (version == 1) { m_CanUseIceStrike = reader.ReadBool(); m_CanUseFreeze = reader.ReadBool(); m_CanUseIceBall = reader.ReadBool(); } m_StaffEffect = (StaffEffect)reader.ReadInt(); m_Charges = (int)reader.ReadInt(); }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { case 1: { m_Effect = (StaffEffect)reader.ReadInt(); m_Charges = (int)reader.ReadInt(); break; } } }
public IceStaff() : base(0xDF1) { int firsteffect = Utility.Random(1, 3); int secondeffect = Utility.Random(1, 3); while (firsteffect == secondeffect) { secondeffect = Utility.Random(1, 3); } switch (firsteffect) { case 1: m_CanUseIceStrike = true; break; case 2: m_CanUseFreeze = true; break; case 3: m_CanUseIceBall = true; break; } switch (secondeffect) { case 1: m_CanUseIceStrike = true; break; case 2: m_CanUseFreeze = true; break; case 3: m_CanUseIceBall = true; break; } switch (firsteffect) { case 1: m_StaffEffect = StaffEffect.IceStrike; break; case 2: m_StaffEffect = StaffEffect.Freeze; break; case 3: m_StaffEffect = StaffEffect.IceBall; break; } this.m_Charges = Utility.Random(12, 25); Hue = 0x480; Weight = 3.0; // this.M = 1017413; }
public override void OnSpeech( SpeechEventArgs e ) { Mobile m = e.Mobile; if ((Parent == m ) && (m.FindItemOnLayer( Layer.TwoHanded ) == this )) { if (e.Speech.ToLower() == "an ex del") { if ( m_CanUseFreeze ) { m.PlaySound( 0xF6 ); m_StaffEffect = StaffEffect.Freeze; } } if (e.Speech.ToLower() == "in corp del") { if ( m_CanUseIceStrike ) { m.PlaySound( 0xF7 ); m_StaffEffect = StaffEffect.IceStrike; } } if (e.Speech.ToLower() == "des corp del") { if ( m_CanUseIceBall ) { m.PlaySound( 0xF8 ); m_StaffEffect = StaffEffect.IceBall; } } } }
public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); if ( version == 1 ) { m_CanUseIceStrike = reader.ReadBool(); m_CanUseFreeze = reader.ReadBool(); m_CanUseIceBall = reader.ReadBool(); } m_StaffEffect = (StaffEffect)reader.ReadInt(); m_Charges = (int)reader.ReadInt(); }
public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); switch ( version ) { case 1: { m_Effect = (StaffEffect)reader.ReadInt(); m_Charges = (int)reader.ReadInt(); break; } } }