private static void ShowHurtboxes(ConCommandArgs args)
        {
            int?enabledArg = args.TryGetArgInt(0);

            if (args.Count > 0 && !enabledArg.HasValue)
            {
                Debug.LogError("ya dun f****d up. Pass in 1 to enable Hurtboxes, 0 to disable, or pass in nothing to toggle");
                return;
            }

            bool enabled;

            if (args.Count > 0)
            {
                enabled = enabledArg == 1;
            }
            else
            {
                enabled = !HitboxRevealer.showingHurtBoxes;
            }

            HitboxRevealer.showingHurtBoxes = enabled;
            PlayerPrefs.SetInt("showHurtbox", enabled ? 1: 0);

            Utils.Log($"showing hurtboxes option set to {enabledArg == 1}", true, true);

            HitboxViewerMod.instance.showAllHurtboxes();
        }
        private static void DropItemCommand(ConCommandArgs args)
        {
            var itemName  = args.GetArgString(0);
            var itemIndex = ItemNameToIndex(itemName);

            if (itemIndex == ItemIndex.None)
            {
                Console.print("Can't find item specified");
                return;
            }

            var count = args.TryGetArgInt(1) ?? 1;

            KookehsDropItemMod.Logger.LogDebug("Item index: " + itemIndex);

            var master = args.GetSenderMaster();

            var inventory     = master.inventory;
            var charTransform = master.GetBody().GetFieldValue <Transform>("transform");

            for (int i = 0; i < count; i++)
            {
                DropItemHandler.DropItem(charTransform, inventory, PickupCatalog.FindPickupIndex(itemIndex));
            }
        }
        private static void ShowHitboxes(ConCommandArgs args)
        {
            int?enabledArg = args.TryGetArgInt(0);

            Debug.LogWarning(args.Count);
            if (args.Count > 0 && !enabledArg.HasValue)
            {
                Debug.LogError("ya dun goofed it. Pass in 1 to enable Hitboxes, 0 to disable, or pass in nothing to toggle");
                return;
            }

            bool enabled;

            if (args.Count > 0)
            {
                enabled = enabledArg == 1;
            }
            else
            {
                enabled = !HitboxRevealer.showingHitBoxes;
            }

            HitboxRevealer.showingHitBoxes = enabled;
            PlayerPrefs.SetInt("showHitbox", enabled ? 1 : 0);

            Utils.Log($"showing hitboxes option set to {enabledArg == 1}", true, true);
        }
Exemplo n.º 4
0
 private static void CCRTFOV(ConCommandArgs args) {
     try {
         args.CheckArgumentCount(1);
         int? value = args.TryGetArgInt(0);
         if (value.HasValue) {
             if (value >= 1 && value <= 180) {
                 CustomFOV.Value = (int)value;
                 Debug.Log($"{nameof(CustomFOV)}={value}");
             }
         }
     } catch (Exception ex) { Debug.LogError(ex); }
 }
Exemplo n.º 5
0
        private static void CcEquipmentBlacklist(ConCommandArgs args)
        {
            if (args.Count == 0)
            {
                Debug.Log(EquipmentBlacklist.Value);
                return;
            }

            var list = string.Join(",",
                                   from i in Enumerable.Range(0, args.Count)
                                   select args.TryGetArgInt(i) into num
                                   where num != null
                                   select num.Value);

            ItemBlacklist.Value = list;
        }
Exemplo n.º 6
0
        private static void CCRandom_items(ConCommandArgs args)
        {
            if (args.Count < 2 && args.sender == null)
            {
                Log.Message(Lang.DS_REQUIREFULLQUALIFY, LogLevel.Error);
                Log.Message(Lang.RANDOM_ITEM_ARGS, LogLevel.Message);
                return;
            }

            if (args.Count < 1)
            {
                Log.MessageNetworked(Lang.RANDOM_ITEM_ARGS, args);
                return;
            }

            NetworkUser player    = args.sender;
            Inventory   inventory = player?.master.inventory;

            if (args.Count >= 2)
            {
                player = Util.GetNetUserFromString(args.userArgs, 1);
                if (player == null)
                {
                    Log.MessageNetworked(Lang.PLAYER_NOTFOUND, args, LogLevel.MessageClientOnly);
                    if (args.sender == null)
                    {
                        return;
                    }
                }

                inventory = player == null ? inventory : player.master.inventory;
            }

            var a = args.TryGetArgInt(0);

            if (a.HasValue && a.Value > 0)
            {
                inventory.GiveRandomItems(a.Value);
                Log.MessageNetworked($"Generated {a.Value} items!", args);
            }
            else
            {
                Log.MessageNetworked(Lang.RANDOM_ITEM_ARGS, args, LogLevel.MessageClientOnly);
            }
        }
Exemplo n.º 7
0
        private static void CcBossLootCredit(ConCommandArgs args)
        {
            if (args.Count == 0)
            {
                Debug.Log(BossLootCredit.Value);
                return;
            }
            var valid = args.TryGetArgInt(0);

            if (!valid.HasValue)
            {
                Debug.Log("Couldn't parse to an integer number.");
            }
            else
            {
                BossLootCredit.Value = valid.Value;
                Debug.Log($"Boss loot credit set to {BossLootCredit.Value}.");
            }
        }
Exemplo n.º 8
0
        private static void CcInteractablesOffset(ConCommandArgs args)
        {
            if (args.Count == 0)
            {
                Debug.Log(InteractablesOffset.Value);
                return;
            }

            var valid = args.TryGetArgInt(0);

            if (!valid.HasValue)
            {
                Debug.Log("Couldn't parse to a number.");
            }
            else
            {
                InteractablesOffset.Value = valid.Value;
                Debug.Log($"Interactible offset set to {InteractablesOffset.Value}.");
            }
        }
Exemplo n.º 9
0
        private static void CCEvoSetItem(ConCommandArgs args)
        {
            if (args.Count < 1)
            {
                TILER2Plugin._logger.LogError("evo_setitem: missing argument 1 (item ID)!");
                return;
            }
            int icnt;

            if (args.Count > 1)
            {
                int?icntArg = args.TryGetArgInt(1);
                if (!icntArg.HasValue || icntArg < 0)
                {
                    TILER2Plugin._logger.LogError("evo_setitem: argument 2 (item count) must be a positive integer!");
                    return;
                }
                icnt = (int)icntArg;
            }
            else
            {
                icnt = 1;
            }

            ItemIndex item;
            string    itemSearch = args.TryGetArgString(0);

            if (itemSearch == null)
            {
                TILER2Plugin._logger.LogError("evo_setitem: could not read argument 1 (item ID)!");
                return;
            }
            else if (int.TryParse(itemSearch, out int itemInd))
            {
                item = (ItemIndex)itemInd;
                if (!ItemCatalog.IsIndexValid(item))
                {
                    TILER2Plugin._logger.LogError("evo_setitem: argument 1 (item ID as integer ItemIndex) is out of range; no item with that ID exists!");
                    return;
                }
            }
            else
            {
                var results = ItemCatalog.allItems.Where((ind) => {
                    var iNameToken = ItemCatalog.GetItemDef(ind).nameToken;
                    var iName      = Language.GetString(iNameToken);
                    return(iName.ToUpper().Contains(itemSearch.ToUpper()));
                });
                if (results.Count() < 1)
                {
                    TILER2Plugin._logger.LogError("evo_setitem: argument 1 (item ID as string ItemName) not found in ItemCatalog; no item with a name containing that string exists!");
                    return;
                }
                else
                {
                    if (results.Count() > 1)
                    {
                        TILER2Plugin._logger.LogWarning("evo_setitem: argument 1 (item ID as string ItemName) matched multiple items; using first.");
                    }
                    item = results.First();
                }
            }

            Inventory inv = MonsterTeamGainsItemsArtifactManager.monsterTeamInventory;

            if (inv == null)
            {
                TILER2Plugin._logger.LogError("evo_setitem: Artifact of Evolution must be enabled!");
                return;
            }

            int diffCount = icnt - inv.GetItemCount(item);

            inv.GiveItem(item, diffCount);
            TILER2Plugin._logger.LogMessage("evo_setitem: " + (diffCount > 0 ? "added " : "removed ") + Mathf.Abs(diffCount) + "x " + Language.GetString(ItemCatalog.GetItemDef(item).nameToken));
        }