public override BlockReturn Run(BlockReturn param)
        {
            if (reward == null)
            {
                DiaQuest quest = target.RunAndGetSystemObject() as DiaQuest;
                if (target == null)
                {
                    Log(LogType.Error, "The quest is not valid.");
                    return BlockReturn.Error;
                }

                int c = idx.RunAndGetInt();
                if (c < 0 || c >= quest.rewards.Count)
                {
                    Log(LogType.Error, "Index is invalid. It must be >= 0 and < quest reward count");
                    return BlockReturn.Error;
                }

                reward = quest.rewards[c];
            }

            value = reward;
            if (!cacheTarget) reward = null;
            return BlockReturn.OK;
        }
 public override BlockReturn Run(BlockReturn param)
 {
     item.item.currentStackSize = (uint)amount.value;
     value = collection.CanAddItem(item.item);
     item.item.currentStackSize = 1; // Reset
     return value ? BlockReturn.True : BlockReturn.False;
 }
Пример #3
0
        public override BlockReturn Run(BlockReturn param)
        {
            var player = PlayerManager.instance.currentPlayer.inventoryPlayer;
            var stat   = player.stats.Get(categoryName.value, statName.value);

            if (stat == null)
            {
                Log(LogType.Warning, "Stat in category " + categoryName.value + " with name " + statName.value + " does not exist.");
                return(BlockReturn.Error);
            }

            switch (changeType)
            {
            case ChangeType.MaxValue:
                stat.ChangeMaxValueRaw(changeByValue.value, increaseCurrentWhenIncreasingMax);
                break;

            case ChangeType.MaxFactor:
                stat.ChangeFactorMax(changeByValue.value, increaseCurrentWhenIncreasingMax);
                break;

            case ChangeType.Factor:
                stat.ChangeFactor(changeByValue.value);
                break;

            case ChangeType.CurrentValue:
                stat.ChangeCurrentValueRaw(changeByValue.value);
                break;

            default:
                break;
            }

            return(BlockReturn.OK);
        }
Пример #4
0
 public override BlockReturn Run(BlockReturn param)
 {
     item.item.currentStackSize = (uint)amount.value;
     value = collection.CanAddItem(item.item);
     item.item.currentStackSize = 1; // Reset
     return(value ? BlockReturn.True : BlockReturn.False);
 }
        public override BlockReturn Run(BlockReturn param)
        {
            var msg = new InventoryNoticeMessage(title.value, message.value, duration, color);
            msg.Show();

            return BlockReturn.OK;
        }
        public override BlockReturn Run(BlockReturn param)
        {
            var stat = PlayerManager.instance.currentPlayer.inventoryPlayer.stats.Get(categoryName.value, statName.value);

            value = stat.currentValue;

            return(BlockReturn.OK);
        }
        public override BlockReturn Run(BlockReturn param)
        {
            var msg = new InventoryNoticeMessage(title.value, message.value, duration, color);

            msg.Show();

            return(BlockReturn.OK);
        }
        public override BlockReturn Run(BlockReturn param)
        {
            if (wrapper.item != null)
            {
                InventoryManager.AddItemAndRemove(wrapper.item);
            }

            return BlockReturn.OK;
        }
        public override BlockReturn Run(BlockReturn param)
        {
            if (slot.item != null)
            {
                InventoryManager.AddItemAndRemove(slot.item);
            }

            return(BlockReturn.OK);
        }
        public override BlockReturn Run(BlockReturn param)
        {
            if (action.value)
                window.Show();
            else
                window.Hide();

            return BlockReturn.OK;
        }
        public override BlockReturn Run(BlockReturn param)
        {
            if (action.value)
                chest.triggerer.Use();
            else
                chest.triggerer.UnUse();

            return BlockReturn.OK;
        }
        public override BlockReturn Run(BlockReturn param)
        {
            bool removeSource;
            if (action.value)
                chest.triggerer.Use(out removeSource);
            else
                chest.triggerer.UnUse();

            return BlockReturn.OK;
        }
        public override BlockReturn Run(BlockReturn param)
        {
            var i = UnityEngine.Object.Instantiate<InventoryItemBase>(item.item); // Make copy
            i.currentStackSize = (uint)amount.value;

            bool added = InventoryManager.AddItem(i);
            if (added)
                return BlockReturn.OK;

            return BlockReturn.Continue;
        }
Пример #14
0
        public override BlockReturn Run(BlockReturn param)
        {
            var allCollections = UnityEngine.Object.FindObjectsOfType <CollectionSaverLoaderBase>();

            foreach (var col in allCollections)
            {
                col.Save();
            }

            return(BlockReturn.OK);
        }
        public override BlockReturn Run(BlockReturn param)
        {
            var d = item.Drop(InventorySettingsManager.instance.playerObject.position);
            if (d != null)
            {
                item.itemCollection[item.index].Repaint();
                return BlockReturn.OK;
            }

            return BlockReturn.Error; // Item not dropped??
        }
Пример #16
0
        public override BlockReturn Run(BlockReturn param)
        {
            var d = item.Drop(InventoryPlayerManager.instance.currentPlayer.transform.position);
            if (d != null)
            {
                item.itemCollection[item.index].Repaint();
                return BlockReturn.OK;
            }

            return BlockReturn.Error; // Item not dropped??
        }
        public override BlockReturn Run(BlockReturn param)
        {
            DiaQuest quest = target.RunAndGetSystemObject() as DiaQuest;
            if (target == null)
            {
                Log(LogType.Error, "The quest is not valid.");
                return BlockReturn.Error;
            }

            value = quest.conditions.Count;
            return BlockReturn.OK;
        }
        public override BlockReturn Run(BlockReturn param)
        {
            var i = item.RunAndGetSystemObject() as InventoryItemBase;
            if (i != null)
            {
                value = (int)i.category.ID;
                return BlockReturn.OK;
            }

            Log(LogType.Error, "Object is not an Inventory Pro item.");
            return BlockReturn.Error;
        }
 public override BlockReturn Run(BlockReturn param)
 {
     DiaQNode_Dlg n = DiaQEngine.Instance.graphManager.NodeWaitingForData() as DiaQNode_Dlg;
     if (n != null)
     {
         //value = n.dialogueText;
         //DiaQuest q = n.LinkedQuest();
         //if (q != null) value += q.text;
         value = n.ParsedDialogueText(true);
     }
     return BlockReturn.OK;
 }
Пример #20
0
        public override BlockReturn Run(BlockReturn param)
        {
            var i = item.value as InventoryItemBase;

            if (i == null)
            {
                return(BlockReturn.Error);
            }

            value = (int)i.category.ID;
            return(BlockReturn.OK);
        }
        public override BlockReturn Run(BlockReturn param)
        {
            var d = item.Drop(InventorySettingsManager.instance.playerObject.position);

            if (d != null)
            {
                item.itemCollection[item.index].Repaint();
                return(BlockReturn.OK);
            }

            return(BlockReturn.Error); // Item not dropped??
        }
Пример #22
0
        public override BlockReturn Run(BlockReturn param)
        {
            var d = item.Drop();

            if (d != null)
            {
                item.itemCollection[item.index].Repaint();
                return(BlockReturn.OK);
            }

            return(BlockReturn.Error); // Item not dropped??
        }
        public override BlockReturn Run(BlockReturn param)
        {
            var i = item.RunAndGetSystemObject() as InventoryItemBase;

            if (i != null)
            {
                value = i.GetType().Name;
                return(BlockReturn.OK);
            }

            Log(LogType.Error, "Object is not an Inventory Pro item.");
            return(BlockReturn.Error);
        }
        public override BlockReturn Run(BlockReturn param)
        {
            if (action.value)
            {
                chest.triggerer.Use();
            }
            else
            {
                chest.triggerer.UnUse();
            }

            return(BlockReturn.OK);
        }
        public override BlockReturn Run(BlockReturn param)
        {
            if (action.value)
            {
                window.Show();
            }
            else
            {
                window.Hide();
            }

            return(BlockReturn.OK);
        }
        public override BlockReturn Run(BlockReturn param)
        {
            DiaQuest quest = q.RunAndGetSystemObject() as DiaQuest;
            if (quest == null)
            {
                Log(LogType.Error, "A valid quest was not specified.");
                return BlockReturn.Error;
            }

            quest.rewarded = true;
            quest.RunRewardGivers();

            return BlockReturn.OK;
        }
Пример #27
0
        public override BlockReturn Run(BlockReturn param)
        {
            generator = new BasicItemGenerator();

#if UNITY_EDITOR
            var m = Editor.FindObjectOfType <ItemManager>();
            generator.SetItems(m.items);
#else
            generator.SetItems(ItemManager.instance.items);
#endif
            this.items = generator.Generate(minAmount.value, maxAmount.value);


            return(BlockReturn.OK);
        }
Пример #28
0
        public override BlockReturn Run(BlockReturn param)
        {
            var i = UnityEngine.Object.Instantiate <InventoryItemBase>(item); // Make copy

            i.currentStackSize = (uint)amount.value;

            bool added = InventoryManager.AddItem(i);

            if (added)
            {
                return(BlockReturn.OK);
            }

            return(BlockReturn.Continue);
        }
 public override BlockReturn Run(BlockReturn param)
 {
     DiaQNode_Dlg n = DiaQEngine.Instance.graphManager.NodeWaitingForData() as DiaQNode_Dlg;
     if (n != null)
     {
         int i = idx.RunAndGetInt();
         if (i < 0 || i >= n.responses.Length)
         {
             Log(LogType.Error, "The given response index is not valid for this dialogue node: " + i);
             return BlockReturn.Error;
         }
         //value = n.responses[i];
         value = n.ParsedResponseText(i);
     }
     return BlockReturn.OK;
 }
        public override BlockReturn Run(BlockReturn param)
        {
            foreach (var cat in ItemManager.instance.craftingCategories)
            {
                foreach (var b in cat.blueprints)
                {
                    if (b.ID == (uint)blueprintID.value)
                    {
                        b.playerLearnedBlueprint = learned.value;

                        return BlockReturn.OK;
                    }
                }
            }

            Debug.LogWarning("Error, can't set blueprint with ID " + blueprintID.value);
            return BlockReturn.Error;
        }
        public override BlockReturn Run(BlockReturn param)
        {
            DiaQuest quest = q.RunAndGetSystemObject() as DiaQuest;
            if (quest == null)
            {
                Log(LogType.Error, "A valid quest was not specified.");
                return BlockReturn.Error;
            }

            switch (st)
            {
                case State.Available: quest.ResetQuest(); break;
                case State.Accepted: quest.ResetQuestToAccepted(); break;
                case State.Completed: quest.completed = true; break;
                case State.Rewarded: quest.rewarded = true; break;
            }

            return BlockReturn.OK;
        }
        public override BlockReturn Run(BlockReturn param)
        {
            foreach (var cat in ItemManager.database.craftingCategories)
            {
                foreach (var b in cat.blueprints)
                {
                    if (b.ID == (uint)blueprintID.value)
                    {
                        b.playerLearnedBlueprint = learned.value;

                        return(BlockReturn.OK);
                    }
                }
            }


            Debug.LogWarning("Error, can't set blueprint with ID " + blueprintID.value);
            return(BlockReturn.Error);
        }
        public override BlockReturn Run(BlockReturn param)
        {
            if (graph == null)
            {
                if (graphString != null)
                {
                    string s = graphString.RunAndGetString();
                    if (string.IsNullOrEmpty(s))
                    {
                        Log(LogType.Error, "Graph name/ ident is not set.");
                        return BlockReturn.Error;
                    }

                    if (identType == DiaQIdentType.CutomIdent) graph = DiaQEngine.Instance.graphManager.GetGraphByIdent(s);
                    else graph = DiaQEngine.Instance.graphManager.GetGraphByName(s);

                    if (graph == null)
                    {
                        Log(LogType.Error, string.Format("Graph with {0} = {1} could not be found.", identType, s));
                        return BlockReturn.Error;
                    }
                }
                else
                {
                    if (id == null) id = new UniqueID(graphId.id);
                    graph = DiaQEngine.Instance.graphManager.GetGraph(id);
                    if (graph == null)
                    {
                        Log(LogType.Error, "Could not find the specified Graph. You might have removed it without updating the Block.");
                        return BlockReturn.Error;
                    }
                }
            }

            DiaQEngine.Instance.graphManager.BeginGraph(graph);

            if (!cacheTarget) graph = null;
            return BlockReturn.OK;
        }
 public override BlockReturn Run(BlockReturn param)
 {
     Debug.Log("Looking for : " + int.Parse(itemID.value));
     value = ItemManager.database.items[int.Parse(itemID.value)].category.name;
     return(BlockReturn.OK);
 }
 public override BlockReturn Run(BlockReturn param)
 {
     treasure.items = items.ToArray();
     return BlockReturn.OK;
 }
Пример #36
0
 public override BlockReturn Run(BlockReturn param)
 {
     item.itemCollection[item.index].TriggerDrop();
     return BlockReturn.OK;
 }
 public override BlockReturn Run(BlockReturn param)
 {
     value = (int)collection.GetItemCount(item.item.ID);
     return(BlockReturn.OK);
 }
Пример #38
0
 public override BlockReturn Run(BlockReturn param)
 {
     item.itemCollection[item.index].TriggerDrop();
     return(BlockReturn.OK);
 }
Пример #39
0
        public override BlockReturn Run(BlockReturn param)
        {
            window.Toggle();

            return(BlockReturn.OK);
        }
Пример #40
0
 public override BlockReturn Run(BlockReturn param)
 {
     value = (int)item.item.category.ID;
     return(BlockReturn.OK);
 }
 public override BlockReturn Run(BlockReturn param)
 {
     collection.RemoveItem(item.item.ID, (uint)amount.value);
     return(BlockReturn.OK);
 }
 public override BlockReturn Run(BlockReturn param)
 {
     triggerer.Toggle();
     return BlockReturn.OK;
 }
Пример #43
0
 public override BlockReturn Run(BlockReturn param)
 {
     item.PickupItem();
     return BlockReturn.OK;
 }
 public override BlockReturn Run(BlockReturn param)
 {
     collection.RemoveItem(item.item.ID, (uint)amount.value);
     return BlockReturn.OK;
 }
Пример #45
0
 public override BlockReturn Run(BlockReturn param)
 {
     item.PickupItem();
     return(BlockReturn.OK);
 }
 public override BlockReturn Run(BlockReturn param)
 {
     item.Use();
     return(BlockReturn.OK);
 }
Пример #47
0
 public override BlockReturn Run(BlockReturn param)
 {
     value = item.item.GetType().ToString();
     return(BlockReturn.OK);
 }
 public override BlockReturn Run(BlockReturn param)
 {
     treasure.items = items.ToArray();
     return(BlockReturn.OK);
 }
 public override BlockReturn Run(BlockReturn param)
 {
     return item.itemCollection != null ? BlockReturn.True : BlockReturn.False;
 }
 public override BlockReturn Run(BlockReturn param)
 {
     DiaQEngine.Instance.questManager.ConditionPerformed(key.RunAndGetString());
     return BlockReturn.OK;
 }
Пример #51
0
 public override BlockReturn Run(BlockReturn param)
 {
     item.Use();
     return BlockReturn.OK;
 }
 public override BlockReturn Run(BlockReturn param)
 {
     value = (int)collection.GetItemCount(item.item.ID);
     return BlockReturn.OK;
 }
Пример #53
0
        public override BlockReturn Run(BlockReturn param)
        {
            value = slot.item;

            return(BlockReturn.OK);
        }
 public override BlockReturn Run(BlockReturn param)
 {
     DiaQEngine.Instance.graphManager.UpdateGraph();
     return BlockReturn.OK;
 }
Пример #55
0
 public override BlockReturn Run(BlockReturn param)
 {
     collection.SetItems(items.ToArray(), true);
     return(BlockReturn.OK);
 }
 public override BlockReturn Run(BlockReturn param)
 {
     return(item.itemCollection != null ? BlockReturn.True : BlockReturn.False);
 }
Пример #57
0
 public override BlockReturn Run(BlockReturn param)
 {
     value = item.item.category.name;
     return(BlockReturn.OK);
 }
Пример #58
0
 public override BlockReturn Run(BlockReturn param)
 {
     value = (int)InventoryManager.GetItemCount(item.item.ID, checkBank.value);
     return(BlockReturn.OK);
 }
 public override BlockReturn Run(BlockReturn param)
 {
     value = (int)item.item._category;
     return BlockReturn.OK;
 }
Пример #60
0
 public override BlockReturn Run(BlockReturn param)
 {
     value = item.item.GetType().ToString();
     return BlockReturn.OK;
 }