public override void AddEffect(BaseCreature pet) { base.AddEffect(pet); AttributeMod dmgMod = new AttributeMod(MagicalAttribute.WeaponDamage, 10); pet.AddAttributeMod(dmgMod); Timer.DelayCall(Duration, new TimerCallback(delegate { pet.RemoveAttributeMod(dmgMod); })); }
public override void OnDoubleClick(Mobile from) { PlayerMobile pm = from as PlayerMobile; if (pm == null) { return; } if (m_Bonuses.Contains(pm)) { // You're still feeling lucky from the last time you touched the sculpture. pm.SendLocalizedMessage(1079534); } else if (pm.NextTenthAnniversarySculptureUse > DateTime.Now) { TimeSpan delta = pm.NextTenthAnniversarySculptureUse - DateTime.Now; if (delta < TimeSpan.FromHours(1.0)) { // You can improve your fortunes in about ~1_TIME~ minutes. pm.SendLocalizedMessage(1079548, ((int)delta.TotalMinutes).ToString()); } else { // You can improve your fortunes again in about ~1_TIME~ hours. pm.SendLocalizedMessage(1079550, ((int)delta.TotalHours).ToString()); } } else { int luckBonus = ComputeLuckBonus(pm); AttributeMod luckMod = new AttributeMod(MagicalAttribute.Luck, luckBonus); pm.AddAttributeMod(luckMod); m_Bonuses.Add(pm); pm.NextTenthAnniversarySculptureUse = DateTime.Now + TimeSpan.FromDays(1.0); pm.SendLocalizedMessage(1079551); // Your luck just improved! Timer.DelayCall(TimeSpan.FromHours(1.0), delegate { pm.RemoveAttributeMod(luckMod); m_Bonuses.Remove(pm); pm.SendLocalizedMessage(1079552); // Your luck just ran out. }); } }