Exemple #1
0
        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;
                }
            }
        }