public bool Execute(params object[] Params) { if (Params.Length != 1) { return(false); } Habbo Player = (Habbo)Params[0]; if (Player == null) { return(false); } foreach (Item Item in this.SetItems.Values.ToList()) { if (Item == null || !Instance.GetRoomItemHandler().GetFloor.Contains(Item) || !Item.IsWired) { continue; } IWiredItem WiredItem; if (Instance.GetWired().TryGet(Item.Id, out WiredItem)) { if (WiredItem.Type == WiredBoxType.EffectExecuteWiredStacks) { continue; } else { ICollection <IWiredItem> Effects = Instance.GetWired().GetEffects(WiredItem); if (Effects.Count > 0) { foreach (IWiredItem EffectItem in Effects.ToList()) { if (SetItems.ContainsKey(EffectItem.Item.Id) && EffectItem.Item.Id != Item.Id) { continue; } else if (EffectItem.Type == WiredBoxType.EffectExecuteWiredStacks) { continue; } else { EffectItem.Execute(Player); } } } } } else { continue; } } return(true); }
private void ExecuteWiredStacks(Habbo Player) { foreach (Item Item in this.SetItems.Values.ToList()) { if (Item == null || !Instance.GetRoomItemHandler().GetFloor.Contains(Item) || !Item.IsWired) { continue; } IWiredItem WiredItem; if (Instance.GetWired().TryGet(Item.Id, out WiredItem)) { if (WiredItem.Type == WiredBoxType.EffectExecuteWiredStacks) { continue; } else { ICollection <IWiredItem> Effects = Instance.GetWired().GetEffects(WiredItem); if (Effects.Count > 0) { foreach (IWiredItem EffectItem in Effects.ToList()) { if (SetItems.ContainsKey(EffectItem.Item.Id) && EffectItem.Item.Id != Item.Id) { continue; } else if (EffectItem.Type == WiredBoxType.EffectExecuteWiredStacks) { continue; } else { EffectItem.Execute(Player); } } } } } else { continue; } } }