public override bool OnDragDrop(Mobile from, Item dropped) { if (Activated) { from.SendLocalizedMessage(1075213); // The master of this realm has already been summoned and is engaged in combat. Your opportunity will come after he has squashed the current batch of intruders! return(false); } if (!IsKey(dropped)) { from.SendLocalizedMessage(1072682); // This is not the proper key. return(false); } if (Items.Count + 1 == Keys.Length) { from.SendLocalizedMessage(1072680); // You have been given the key to the boss. for (int i = 0; i < KeyCount; i++) { MasterKey key = MasterKey; if (key != null) { key.Altar = this; if (!from.AddToBackpack(key)) { key.MoveToWorld(from.Location, from.Map); } m_MasterKeys.Add(key); } } dropped.Delete(); ClearContainer(); StopTimer(); } else { StartTimer(from); } return(base.OnDragDrop(from, dropped)); }
public void GiveKeys( Mobile from ) { if ( m_Peerless != PeerlessList.None ) { for ( int i = 0; i < m_key.Length; i++ ) { if ( m_Peerless == PeerlessList.DreadHorn ) m_key[i] = new DreadHornActivation(); else if ( m_Peerless == PeerlessList.ParoxysmusFelucca ) m_key[i] = new SlimyOintmentFelucca(); else if ( m_Peerless == PeerlessList.ParoxysmusTrammel ) m_key[i] = new SlimyOintmentTrammel(); else if ( m_Peerless == PeerlessList.MelisandeTrammel ) m_key[i] = new MelisandeActivationTrammel(); else if ( m_Peerless == PeerlessList.MelisandeFelucca ) m_key[i] = new MelisandeActivationFelucca(); else if ( m_Peerless == PeerlessList.Travesty ) m_key[i] = new BlackOrderKey(); else if ( m_Peerless == PeerlessList.InterredGrizzle ) m_key[i] = new MasterKey(); else if ( m_Peerless == PeerlessList.ShimmeringEffusionTrammel ) m_key[i] = new ShimmeringEffusionActivationTrammel(); else if ( m_Peerless == PeerlessList.ShimmeringEffusionFelucca ) m_key[i] = new ShimmeringEffusionActivationFelucca(); from.AddToBackpack( m_key[i] ); from.SendLocalizedMessage( 1072680 ); // You have been given the key to the boss. } } }
public override bool OnDragDrop(Mobile from, Item dropped) { if (IsKey(dropped)) { if (Owner != null) { if (Peerless != null && Peerless.CheckAlive()) { from.SendLocalizedMessage(1075213); // The master of this realm has already been summoned and is engaged in combat. Your opportunity will come after he has squashed the current batch of intruders! } else { from.SendLocalizedMessage(1072683, Owner.Name); // ~1_NAME~ has already activated the Prism, please wait... } return(false); } for (int i = 0; i < Keys.Length; i++) { if (i == 0) { Owner = from; KeyStartTimer(from); from.SendLocalizedMessage(1074575); // You have activated this object! } if (Keys.Length == (i + 1)) { KeyStopTimer(); from.SendLocalizedMessage(1072678); // You have awakened the master of this realm. You need to hurry to defeat it in time! for (int k = 0; k < KeyCount; k++) { from.SendLocalizedMessage(1072680); // You have been given the key to the boss. MasterKey key = MasterKey; if (key != null) { key.Altar = this; key._Map = Map; if (!from.AddToBackpack(key)) { key.MoveToWorld(from.Location, from.Map); } MasterKeys.Add(key); } } dropped.Delete(); ClearContainer(); } } } else { from.SendLocalizedMessage(1072682); // This is not the proper key. return(false); } return(base.OnDragDrop(from, dropped)); }
public override bool OnDragDrop(Mobile from, Item dropped) { if (Owner != null && Owner != from) { if (Peerless != null && Peerless.CheckAlive()) { from.SendLocalizedMessage(1075213); // The master of this realm has already been summoned and is engaged in combat. Your opportunity will come after he has squashed the current batch of intruders! } else { from.SendLocalizedMessage(1072683, Owner.Name); // ~1_NAME~ has already activated the Prism, please wait... } return(false); } if (IsKey(dropped) && MasterKeys.Count() == 0) { if (KeyValidation == null) { KeyValidation = new List <PeerlessKeyArray>(); Keys.ToList().ForEach(x => KeyValidation.Add(new PeerlessKeyArray { Key = x, Active = false })); } if (KeyValidation.Any(x => x.Active == true)) { if (KeyValidation.Any(x => x.Key == dropped.GetType() && x.Active == false)) { KeyValidation.Find(s => s.Key == dropped.GetType()).Active = true; } else { from.SendLocalizedMessage(1072682); // This is not the proper key. return(false); } } else { Owner = from; KeyStartTimer(from); from.SendLocalizedMessage(1074575); // You have activated this object! KeyValidation.Find(s => s.Key == dropped.GetType()).Active = true; } if (KeyValidation.Where(x => x.Active == true).Count() == Keys.Count()) { KeyStopTimer(); from.SendLocalizedMessage(1072678); // You have awakened the master of this realm. You need to hurry to defeat it in time! BeginSequence(from); for (int k = 0; k < KeyCount; k++) { from.SendLocalizedMessage(1072680); // You have been given the key to the boss. MasterKey key = MasterKey; if (key != null) { key.Altar = this; key._Map = Map; if (!from.AddToBackpack(key)) { key.MoveToWorld(from.Location, from.Map); } MasterKeys.Add(key); } } Timer.DelayCall(TimeSpan.FromSeconds(1), () => ClearContainer()); KeyValidation = null; } } else { from.SendLocalizedMessage(1072682); // This is not the proper key. return(false); } return(base.OnDragDrop(from, dropped)); }
public ConfirmPartyGump( MasterKey key ) : base() { m_Key = key; }