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); }
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); } }
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; }
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); } }
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}."); } }
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}."); } }
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)); }