public override bool RemoveFromWorld() { // remove teleporters foreach (GameNPC tp in m_teleporters) { GameNPC teleporter = tp; teleporter.RemoveFromWorld(); } m_teleporters.Clear(); // remove pad m_worldObject.RemoveFromWorld(); // Stop Timer ! m_teleportTimer.Stop(); m_teleportTimer = null; return(base.RemoveFromWorld()); }
/// <summary> /// We are interacting with an object, check to see if this quest and step needs to respond /// </summary> /// <param name="player"></param> /// <param name="staticItem"></param> protected void InteractWithObject(GamePlayer player, GameStaticItem staticItem) { if (_interactions.Count > 0) { if (_interactions.ContainsKey(Step)) { QuestStepInteraction info = _interactions[Step]; if (staticItem.Name == info.ObjectName) { if (GiveItem(player, info.ItemResult, false)) { player.Out.SendMessage(info.InteractText, eChatType.CT_System, eChatLoc.CL_SystemWindow); staticItem.RemoveFromWorld(InteractItemRespawnSeconds); OnObjectInteract(info); } } } } }
/// <summary> /// We are interacting with an object, check to see if this quest and step needs to respond /// </summary> /// <param name="player"></param> /// <param name="staticItem"></param> protected void InteractWithObject(GamePlayer player, GameStaticItem staticItem) { if (m_interactions.Count > 0) { if (m_interactions.ContainsKey(Step)) { QuestStepInteraction info = m_interactions[Step]; if (staticItem.Name == info.objectName) { if (GiveItem(player, info.itemResult, false)) { player.Out.SendMessage(info.interactText, eChatType.CT_System, eChatLoc.CL_SystemWindow); staticItem.RemoveFromWorld(INTERACT_ITEM_RESPAWN_SECONDS); OnObjectInteract(info); } } } } }