IHarbHD-DebugToolkit icon

DebugToolkit

Adds console command for debugging mods.

Last updated 3 weeks ago
Total downloads 136550
Total rating 18 
Categories Mods Tools
Dependency string IHarbHD-DebugToolkit-3.14.0
Dependants 43 other packages depend on this package

This mod requires the following mods to function

bbepis-BepInExPack-5.4.2113 icon
bbepis-BepInExPack

Unified BepInEx all-in-one modding pack - plugin framework, detour library

Preferred version: 5.4.2113
RiskofThunder-R2API_Core-5.0.11 icon
RiskofThunder-R2API_Core

Core R2API module

Preferred version: 5.0.11
RiskofThunder-R2API_ContentManagement-1.0.4 icon
RiskofThunder-R2API_ContentManagement

API for adding content to the game

Preferred version: 1.0.4
RiskofThunder-R2API_Networking-1.0.2 icon
RiskofThunder-R2API_Networking

Networking API around the Unity UNet Low Level API (LLAPI)

Preferred version: 1.0.2
RiskofThunder-R2API_Prefab-1.0.3 icon
RiskofThunder-R2API_Prefab

API for Prefab creation, networking and duplication

Preferred version: 1.0.3

README

DebugToolkit

This mod adds various debugging commands to the console. See below for all commands plus explanation.

Harb, iDeathHD and 's reimplementation of Morris1927's RoR2Cheats. Derived with permission.

Also adds autocompletion for arguments and networked commands giving their information to the right people to the console. Read here to see how you can use the autocompletion feature for your own mod.

Track update progress, get support and suggest new features over at the DebugToolkit discord.

Some vanilla console functions you might not know:

  • The console can be opened with ctrl+alt+~.
  • help {command} may be used to get help for a specific command
  • find {term} can be used to find commands with that term.
  • max_messages {nr} changes how much scroll back the console has. We auto change this to 100 for you if it's on default.

Mods recommended for combined use:

  • KeyBindForConsole for easier enabling of the console. Especially useful for non-US keyboard layouts.
  • R2DSE for running DT on dedicated servers.
  • MidRunArtifacts for enabling and disabling artifacts during a run.

You may contact us at any time through issues on GitHub, the dedicated discord server or through the Risk of Rain 2 modding Discord found at the top of the Thunderstore website.


Additional Contributors


COMMANDS

Verbiage:

  • The brackets encapsulating arguments mean {needed}, (choose one), and [optional].
  • If an optional argument has a default value, it will be indicated with :. Any preceeding optional arguments from the one entered become necessary, but empty double quotes can be used as a placeholder for the default value. If an optional argument is required from a dedicated server, it will be preceeded by *.
  • Player, body, AI, item, equipment, team, elite, interactable, and director card values can be declared by either their ID, or their string name. The latter can be written in freeform and it will be matched to the first result that contains the string. See the related list_ commands for options and which result would take precedence if there are multiple matches.

Commands:

  • next_stage - Advance to the next stage. next_stage [specific_stage]. If no stage is entered, the next stage in progression is selected.
  • force_family_event - Forces a Family Event to happen in the next stage, takes no arguments. force_family_event
  • next_boss - Sets the next teleporter/simulacrum boss to the specified boss. Get a list of potential boss with list_directorcards. next_boss {director_card} [count:1] [elite:None]
  • fixed_time - Sets the time that has progressed in the run. Affects difficulty. fixed_time [time]. If no time is supplied, prints the current time to console.
  • next_wave - Advance to the next Simulacrum wave. next_wave
  • force_wave - Set the next wave prefab. force_wave [wave_prefab]. If no input is supplied, prints all available options and clears any previous selection.
  • run_set_waves_cleared - Set the Simulacrum waves cleared. Must be positive. set_run_waves_cleared {wave}
  • add_portal - Add a portal to the current Teleporter on completion. add_portal {portal ('blue'|'celestial'|'gold'|'void'|'all')}.
  • charge_zone - Set the charge of all active holdout zones. charge_zone {charge}. The value is a float between 0 and 100.
  • seed - Set the seed for all next runs this session. seed [new_seed]. Use 0 to specify the game should generate its own seed. If used without argument, it's equivalent to the vanilla run_get_seed.
  • set_artifact - Enable/disable an Artifact. set_artifact {artifact (artifact|'all')} {enable (0|1)}
  • kill_all - Kills all members of a specified team. kill_all [team:Monster].
  • true_kill - Truly kill a player, ignoring revival effects. true_kill *[player:<self>]
  • respawn - Respawn a player at the map spawnpoint. respawn *[player:<self>]
  • teleport_on_cursor - Teleport you to where your cursor is currently aiming at. teleport_on_cursor
  • time_scale - Sets the timescale of the game. 0.5 would mean everything happens at half speed. time_scale [time_scale]. If no argument is supplied, gives the current timescale.
  • post_sound_event - Post a sound event to the AkSoundEngine (WWise) by its event name: post_sound_event {event_name}

List Commands:

  • All the list_ commands support filtering. A number for the unique index or any string for partial matching.
  • list_player - List all Players and their ID.
  • list_body - List all Bodies and their language invariants.
  • list_ai - List all Masters and their language invariants.
  • list_elite - List all Elites and their language invariants.
  • list_team - List all Teams and their language invariants.
  • list_artifact - List all Artifacts and their language invariants.
  • list_buff - List all Buffs and if they are stackable.
  • list_dot - List all DoT effects.
  • list_itemtier - List all Item Tiers.
  • list_item - List all Items, their language invariants, and if they are in the current drop pool.
  • list_equip - List all Equipment, their language invariants, and if they are in the current drop pool.
  • list_interactables/list_interactibles List all Interactables.
  • list_directorcards List all Director Cards. Mainly used for the next_boss command.
  • list_skins List all Body Skins and the language invariant of the current one in use.

Dump Commands:

  • dump_buffs - List the buffs/debuffs of all spawned bodies.
  • dump_inventories - List the inventory items and equipment of all spawned bodies.
  • dump_state - List the current stats, entity state, and skill cooldown of a specified body. dump_state *[target (player|'pinged'):<self>]
  • dump_stats - List the base stats of a specific body.

Buff Commands:

  • give_buff - Gives a buff to a character. Duration of 0 means permanent: give_buff {buff} [count:1] [duration:0] *[target (player|'pinged'):<self>]
  • give_dot - Gives a DoT stack to a character: give_dot {dot} [count:1] *[target (player|'pinged'):<self>] *[attacker (player|'pinged'):<self>]
  • remove_buff - Removes a buff from a character. Timed buffs prioritise the longest expiration stack: remove_buff {buff} [count:1] [timed (0|1):0/false] *[target (player|'pinged'):<self>]
  • remove_buff_stacks - Resets a buff for a character: remove_buff_stacks {buff} [timed (0|1):0/false] *[target (player|'pinged'):<self>]
  • remove_all_buffs - Resets all buffs for a character: remove_all_buffs [timed (0|1):0/false] *[target (player|'pinged'):<self>]
  • remove_dot - Removes a DoT stack with the longest expiration from a character: remove_dot {dot} [count:1] *[target (player|'pinged'):<self>]
  • remove_dot_stacks - Removes all stacks of a DoT effect from a character: remove_dot_stacks {dot} *[target (player|'pinged'):<self>]
  • remove_all_dots - Removes all DoT effects from a character: remove_all_dot *[target (player|'pinged'):<self>]

Note: The game does not protect against negative buff stacks, which can lead to unintended behaviors. Gaining a timed buff gives a permanent stack which is taken away upon expiration. give_buff bleed 5 10; remove_buff_stacks bleed will lead to -5 bleed stacks when the timed buff expires. Having a DoT active is also similar to a timed buff.

Item Commands:

  • give_item - Give an item directly to a target's inventory. A negative amount is an alias for remove_item: give_item {item} [count:1] *[target (player|'pinged'|'evolution'|'simulacrum'|'voidfields'):<self>]
  • random_items - Generate random items from the available item tiers. random_items {count} [droptable (droptable|'all'):'all'] *[target (player|'pinged'|'evolution'|'simulacrum'|'voidfields'):<self>]
  • give_equip - Give an equipment directly to a target's inventory: give_equip {(equip|'random')} *[target (player|'pinged'|'evolution'|'simulacrum'|'voidfields'):<self>]
  • give_money - Gives the desired player/team money. A negative amount can remove that many without underflowing. give_money {amount} [target ('all'|player):'all']
  • give_lunar - Gives the specified amount of lunar coins to the issuing player. A negative count may be specified to remove that many. give_lunar [amount:1]
  • remove_item - Removes an item from a target's inventory. A negative amount is an alias for give_item: remove_item {item} [count:1] *[target (player|'pinged'|'evolution'|'simulacrum'|'voidfields'):<self>]
  • remove_item_stacks - Removes all item stacks from a target's inventory. remove_item_stacks {item} *[target (player|'pinged'|'evolution'|'simulacrum'|'voidfields'):<self>]
  • remove_all_items - Removes all items from a target's inventory. remove_all_items *[target (player|'pinged'|'evolution'|'simulacrum'|'voidfields'):<self>]
  • remove_equip - Sets the equipment of a target to 'None'. remove_equip *[target (player|'pinged'|'evolution'|'simulacrum'|'voidfields'):<self>]
  • restock_equip - Restock charges for the current equipment. restock_equip [count:1] *[target (player|'pinged'|'evolution'|'simulacrum'|'voidfields'):<self>]
  • create_pickup - Creates a pickup in front of a player. Pickups are items, equipment, or coins. When the pickup is an item or equipment, the search argument 'item' or 'equip' may be specified to only search that list. create_pickup {object (item|equip|'lunarcoin'|'voidcoin')} [search ('item'|'equip'|'both'):'both'] *[player:<self>]
  • create_potential - Creates a potential in front of a player. The first item tier defined in the droptable decides the color of the droplet and what items will be available with the Artifact of Command. create_potential [droptable (droptable|'all'):'all'] [count:3] *[player:<self>]

Note: Some commands support a weighted item selection, referred to as droptable. The syntax for it is <itemtier:weight tokens separated by comma>. The weight should be a positive float and is an optional argument with a default value of 1.0. If a comma or decimal point is used, the whole argument must be surrounded in double quotes. The keyword all uses all available item tiers with a default weight. For example, any of the following are valid inputs: tier1, "tier1:5,tier2,tier3:0.4", all.

Spawn Commands:

  • spawn_interactable/spawn_interactible - Spawns an interactible in front of the player. (spawn_interactable|spawn_interactible) {interactable}
  • spawn_portal - Spawns a portal in front of the player. spawn_portal {portal ('artifact'|'blue'|'celestial'|'deepvoid'|'gold'|'null'|'void')}.
  • spawn_ai - Spawn an AI. spawn_ai {ai} [count:1] [elite:None] [braindead (0|1):0/false] [team:Monster].
  • spawn_as - Spawn as a new character. spawn_as {body} *[player:<self>]
  • spawn_body - Spawns a CharacterBody with no AI, inventory, or team alliance: spawn_body {body}
  • change_team - Change a player's team. change_team {team} *[player:<self>].

Profile Commands:

  • prevent_profile_writing - Prevent saving the user profile to avoid bogus data. Enable before doing something and keep it until the end of the session. prevent_profile_writing [flag (0|1)]. If no argument is supplied, prints the current state. Disabled by default.

Cheat Commands:

  • no_enemies - Toggles enemy spawns.
  • god - Toggles HealthComponent.TakeDamage for all players. AKA: you can't take damage.
  • buddha / budha / buda / budda - Turns damage taken NonLethal for all players. AKA: you can't die.
  • lock_exp - Prevents EXP gain for the player team.
  • noclip - Toggles noclip. Allow you to fly and going through objects. Sprinting will double the speed.

Bind Commands:

  • dt_bind - Bind a key to execute specific commands. dt_bind {key} {<consolecommands seperated by ;>}
  • dt_bind_delete Remove a custom bind. dt_bind_delete {key}
  • dt_bind_reload Reload the macro system from file. dt_bind_reload

Server Related Commands:

  • kick - Kicks the specified Player Name/ID from the game.

  • ban - Session bans the specified Player Name/ID from the game.

  • perm_enable - Enable or disable the permission system.

  • perm_mod - Change the permission level of the specified PlayerID/Username with the specified Permission Level.

Reload Commands:

  • perm_reload - Reload the permission system, updates user and commands permissions.
  • reload_all_config - Reload all default config files from all loaded BepinEx plugins.

Unlocked Vanilla Commands

  • sv_time_transmit_interval - How long it takes for the server to issue a time update to clients. sv_time_transmit_interval [time]
  • run_scene_override - Overrides the first scene to enter in a run. run_scene_override [scene]
  • stage1_pod - Whether or not to use the pod when spawning on the first stage. stage1_pod [(0|1)]
  • run_set_stages_cleared - Sets the amount of stages cleared. This does not change the current stage. run_set_stages_cleared {stage_count}. This obsoletes stage_clear_count from previous RoR2Cheats versions.
  • team_set_level - Sets the specified team to the specified level: team_set_level {team} {level}. This obsoletes give_exp from previous RoR2Cheats versions.
  • loadout_set_skill_variant - Sets the skill variant for the sender's user profile: loadout_set_skill_variant {body_name} {skill_slot_index} {skill_variant_index}. Note that this does not use the loose bodymatching from custom commands.
  • set_scene - Removed the cheat check on this. Functions similar but not really to our next_stage, doesn't have our cool autocomplete features, and doesn't advance the stage count, but can advance menus. set_scene {scene}

Additional Macros

  • midgame - This is the preset HopooGames uses for midgame testing. Gives all users random items, and drops you off in the bazaar. midgame
  • lategame - This is the preset HopooGames uses for endgame testing. Gives all users random items, and drops you off in the bazaar. lategame
  • dtzoom - Gives you 20 hooves and 200 feathers to get around the map quickly. Based on a command in the initial release of Risk of Rain 2.