private static bool HandleSwitch(Session Session, Item Item, RoomInstance Instance, ItemEventType Event, int RequestData, uint Opcode) { if (Event != ItemEventType.Interact) { return(true); } RoomActor actor = Instance.GetActor(Session.CharacterId); if (actor == null) { return(true); } foreach (Item item in Instance.GetFloorItems()) { if (item.Definition.Behavior != ItemBehavior.WiredTrigger || WiredTypesUtil.TriggerFromInt(item.Definition.BehaviorData) != WiredTriggerTypes.state_changed) { continue; } String[] Selected = item.WiredData.Data1.Split('|'); if (Selected.Contains(Item.Id.ToString())) { Instance.WiredManager.ExecuteActions(item, actor); } } return(true); }