DebugToolkit
Adds console command for debugging mods.
Date uploaded | 2 weeks ago |
Version | 3.18.1 |
Download link | IHarbHD-DebugToolkit-3.18.1.zip |
Downloads | 2649 |
Dependency string | IHarbHD-DebugToolkit-3.18.1 |
This mod requires the following mods to function
bbepis-BepInExPack
Unified BepInEx all-in-one modding pack - plugin framework, detour library
Preferred version: 5.4.2117RiskofThunder-R2API_Networking
Networking API around the Unity UNet Low Level API (LLAPI)
Preferred version: 1.0.2RiskofThunder-R2API_Prefab
API for Prefab creation, networking and duplication
Preferred version: 1.0.4README
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 commandfind {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
Command Parsing:
- Multiple commands can be combined with
;
. - Only alphanumeric characters and the symbols
._-:
are allowed. Any other character requires being surrounded by quotes in order to be parsed literally. Both"
and'
work, while\"
and\'
also work when nesting quotes.
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'|'green'|'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]
. Use0
to specify the game should generate its own seed. If used without argument, it's equivalent to the vanillarun_get_seed
. - set_artifact - Enable/disable an Artifact.
set_artifact {artifact (artifact|'all')} [enable (0|1)]
. If enable isn't supplied, it will toggle the artifact's current state. However, it is required when using "all". - 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) either by its event name or event ID.
post_sound_event {sound_event (event_name|event_id)}
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_scene List all Scenes, their language invariants, and if are they an offline scene.
- 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>]
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'|'devotion'):<self>]
- random_items - Generate random items from the available item tiers.
random_items {count} [droptable (droptable|'all'):'all'] *[target (player|'pinged'|'evolution'|'simulacrum'|'voidfields'|'devotion'):<self>]
- give_equip - Give an equipment directly to a target's inventory:
give_equip {(equip|'random')} *[target (player|'pinged'|'evolution'|'simulacrum'|'voidfields'|'devotion'):<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'|'devotion'):<self>]
- remove_item_stacks - Removes all item stacks from a target's inventory.
remove_item_stacks {item} *[target (player|'pinged'|'evolution'|'simulacrum'|'voidfields'|'devotion'):<self>]
- remove_all_items - Removes all items from a target's inventory.
remove_all_items *[target (player|'pinged'|'evolution'|'simulacrum'|'voidfields'|'devotion'):<self>]
- remove_equip - Sets the equipment of a target to 'None'.
remove_equip *[target (player|'pinged'|'evolution'|'simulacrum'|'voidfields'|'devotion'):<self>]
- restock_equip - Restock charges for the current equipment.
restock_equip [count:1] *[target (player|'pinged'|'evolution'|'simulacrum'|'voidfields'|'devotion'):<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'|'green'|'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 ;>]
. See here for a list of possible key names. Alt, Ctrl, and Shift can also be used for key combinations, e.g."left shift+left ctrl+x"
. If no commands are provided, it prints information about the key. - 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 obsoletesstage_clear_count
from previous RoR2Cheats versions. - team_set_level - Sets the specified team to the specified level:
team_set_level {team} {level}
. This obsoletesgive_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.
CHANGELOG
Changelog
3.18
-
3.18.2
- Fixed explicit simulacrum waves from crashing when
next_boss
is not set.
- Fixed explicit simulacrum waves from crashing when
-
3.18.1
- Updated
noclip
: Apply its hooks once per session to prevent stutter when toggling the command. - Updated
next_boss
: Also apply its hooks once per session. Futhermore, the next boss state does not persist between runs anymore if it is not consumed in the current run. - Items, equipment, and survivors are blocked internally by ror2 if the relevant expansion is currently disabled. A message is shown in such cases. Affects
give_item
,remove_item_stacks
,give_equip
, andspawn_as
. - Updated
set_artifact
: Also ignores expansion-locked artifacts. - Fixed
dump_stats
: Report correct attack speed base value while also removing level stat values that are most likely pointless, e.g., levelCrit. - Various fixes for
dt_bind
:- Binds with overlapping sets of keys are not triggered at the same time, e.g., "x" and "x+y". Key binds can now be a combination of only a set of specific modifiers ("left shift", "left ctrl", "left alt", and their "right" equivalent ones) and a single other key.
- Key combos are now treated as invariants; "x+y" and "y+x" are not unique combinations anymore.
- Fixes the command sometimes overwriting an existing macro if another macro had been previously deleted.
- The orange command hint now appears above the command when typing it. This also applies to
dt_bind_delete
.
- Added a section in the README for when to use quotes in command arguments. Read about it at "Command Parsing".
- Updated
-
3.18.0
- Updated
spawn_interactable
: Interactables with collision do not clip the player into the ground or spawn under their feet. - Updated
respawn
: Now places the player at the closest ground node instead of back at the spawn point. - Updated
remove_buff
: Correctly reports how many stacks are removed since negative stacks are not possible anymore. A related note in the README has also been removed. - Updated
dt_bind
: Key names with a space are parsed correctly, e.g. "page down". Key combinations are now also possible, e.g. "left shift+x". - Various updates to the permission system:
perm_enable
can parse integers as bool.- The functionality for
perm_mod
has been implemented. - Permission registration is more robust to errors and now only considers server commands. The
say
command from vanilla has been whitelisted so users can still use the chat.
- Updated
3.17
- 3.17.0
- Updated
add_portal
andspawn_portal
: Adds the green portal. - Updated
set_artifact
: The enable argument is now optional for individual artifacts and will toggle their state if not supplied. It is still required for "all" artifacts. - Updated
dump_stats
: Fixes stat values rounding down to integers. - Updated
dump_state
: Fixes the command executing outside of a run and the equipment cooldown not scaling with cooldown-related items. - Fixed cheat ConVars not getting unlocked.
- Fixed autocompletion not working when pressing tab during a run.
- Fixed
help
andfind
from vanilla not printing any output. Let us know if there are more such commands you frequently rely on. - Fixed
no_enemies
not preventing enemies from spawning from Halcyon Shrines and the event trigger on Prime Meridian. - Fixed an NRE on stages that have no interactable categories or when they contain a non-interactable spawn card.
- Fixed an NRE for item giving commands when the target argument is invalid.
- Fixed the wording in the object not found message.
- Updated
3.16
-
3.16.2
- Updated to work with Seekers of the Storm update.
- Fixed a bug with autocompletion where if the parameter were a number, e.g. "01", the dropdown would match that with the language text instead of its catalog index.
-
3.16.1
- Fixes macros not working in Photomode
-
3.16.0
- Added
list_scene
- Updated
next_stage
: Adds partial and case-insensitive name matching and also supports the stage language names. Filters out offline scenes from the autocompletion as they are invalid inputs. - Fixed throwing an error when an expansion-locked stage was used for
next_stage
andset_scene
. A friendly message is printed instead.
- Added
3.15
- 3.15.0
- Updated project for the Devotion Update. Fixes
create_potential
that was broken because of it. - Added the keyword
devotion
for the target of item commands to modify the player's devotion inventory. - Updated
noclip
: Allows toggling the setting while dead and it does not disable itself when changing scenes. - Updated
set_artifact
: Fixes disabling all artifacts not removing the Kin display. - Updated
post_sound_event
: Now works client-side and also accepts either an event name or event ID. - The console now prints a message if a server command is used offline, e.g., on the main menu.
- Enabled/disabled toggling messages are now color-coded green/red.
- Updated project for the Devotion Update. Fixes
3.14
- 3.14.0
- This update is carried by SChinchi, thanks!
- Added
set_artifact
: Enable/disable any Artifact. - Added
list_artifact
- Added
charge_zone
: Set the charge of all active holdout zones between 0 and 100. - Updated
kill_all
: Fixes a crash when a killed entity instantly spawns a new one, e.g., Mending Elites. - Updated
spawn_as
: Now internally uses CharacterMaster.TransformBody for simplicity. This has no effect in functionality. - Updated
teleport_on_cursor
: Fixes a crash when used with survivors that lack a KinematicCharacterMotor component. - Updated package references.
- Fixed the NetWeaver not working. Now a fork can build a networked version with the workflow already in place.
- Fixed the ping functionality to refer to the correct entity for commands that are submitted by a client to the server.
- Updated the command autocompletion functionality. Now features autocompletion for all arguments past the first one, match highlighting, and match aliases for each option. A reminder of the command's signature also appears above the input field while typing. This functionality is open to other mods to make use of. More info here.
3.13
- 3.13.0
- This update is carried by SChinchi, thanks!
- Add config for allowing keybinds with a runtime inspector.
- Added
spawn_portal
: Spawns any portal in front of the player. - Updated
add_portal
: Now strictly for the teleporter related portals. Improved the void portal logic. - The infinite portal has been excluded from all of this because there is nothing special about it; it has no special destination and uses the run's next scene.
- Updated
next_boss
: Fix the command spawning the max allowed count for 0 credit spawn cards.
3.12
- 3.12.0
- This update is carried by SChinchi, thanks!
- Breaking change
set_run_waves_cleared
->run_set_waves_cleared
: To be consistent with the stage command counterpart. - Updated
create_pickup
andcreate_potential
: Can now specify direction. Giving control of the spawning direction also allows one to spawn lunar coins on pressure plates more easily. Slightly adjusted the forward magnitude so that the objects don't go too far when aiming at 45 degrees. - Updated
spawn_as
: Fixes the command rolling a random body instead of the specified one when Metamorphosis is enabled. - Updated
next_boss
: Fixes the command rerolling the selection in some rare cases. - Updated
god
: The command now works similarly to bothbuddha
andno_enemies
, which persist between runs. And like the latter, there is no reason to have the value toggleable only within a run. - Updated arguments partial matching for commands. Details in PR #164
- Updated
noclip
: Fix the command not working for flying entities. Fix noclip not behaving correctly after quitting a run with it on. Fix noclip restoring gravity even inside anti-gravity zones.
3.11
- 3.11.0
- This update is carried by SChinchi, thanks!
- Updated
give_money
: Support negative amounts. This change was actually done in 3.10 but forgor to put it into the changelog. - Added
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. - Some commands support a weighted item selection, referred to as droptable. More info in the README.
- Updated
random_items
,midgame
, andlategame
. The last two now restore their behavior to the originalInventory.GiveRandomItems
functionality. - Added
restock_equip
: Restock charges for the current equipment.
3.10
- 3.10.0
- This update is carried by SChinchi, thanks!
- Updated
give_item
,give_equip
,random_items
,remove_item
,remove_item_stacks
,remove_all_items
,remove_equip
: Add the keywords "evolution", "simulacrum", and "voidfields" for item-related commands. - Updated
spawn_ai
: null spawn_card, player clipping, flyers flung away. - Updated
buff
commands: Work for masterless bodies. - Ignore keybinds when an inspector window is open.
- Updated
force_family_event
: Fix some edge cases. Details here - Updated
give_money
: Support negative amounts. - Add
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.
3.9
- 3.9.0
- This update is basically carried by SChinchi and RandomlyAwesome, thanks!
- Added
buddha
(aliases:budha
,buddha
,buda
,budda
): Become immortal. Instead of refusing damage you just refuse to take lethal damage. It works by giving all damage a player takesDamageType.NonLethal
. - Added
dump_buffs
,dump_inventories
,dump_stats
anddump_state
: Image showcasing the new commands. The buff/inventory ones are useful for keeping track of who has what. The latter is also helpful to verify which characters get any NoTier items. The stats one is mostly for wiki work, while the state one to get current stats during gameplay and/or skill cooldowns, entity state and AI values. - Added various simulacrum commands:
next_wave
,set_run_waves_cleared
,force_wave
anddump_state
:next_wave
(similar tonext_stage
for a classic run).set_run_waves_cleared
{wave} (similar toset_run_stages_cleared
).force_wave
[wave_prefab] (similar toforce_family
). They add control to fast-track progression to certain wave numbers, e.g., transition waves, and force certain wave augments. - Updated
create_pickup
: Add autocomplete support, fix equipment not found without the 'equip' search. Add void coin support; useful for the Released From The Void mod. Explicit arg strings should be prioritised before partial search terms to avoid ambiguity. - Updated
give_equip
: Explicit arg strings should be prioritised before partial search terms to avoid ambiguity. - Updated
spawn_interactable
: Fix floating interactables when on ground. - Updated
midgame
andlategame
: The previous update changed the command signature forrandom_items
to include tiers. They now correctly include tier 1 to 3. - Updated
spawn_ai
: Fix spawns not properly getting UseAmbientLevel item, Evolution items, and artifact effects such as Swarms.
3.8
-
3.8.2
- Updated
give_item
andremove_item
: A negative amount is an alias for the other command and vice versa. Also simplified the code internally. Thanks SChinchi - Some changelog entries were missing for the
3.8.0
update, they have been retroactively added.
- Updated
-
3.8.1
- Updated
random_items
: Can now specify which tiers of items you want to include. By default, all tiers are included. - Added:
list_itemtier
- Updated
next_boss
: Should work correctly for any master. Work consistently in simulacrum. - Fix commands (
spawn_ai
next_boss
) that had an elite type arg. Specifying-1
/None
now works correctly. - Fix networked commands like
noclip
ortime_scale
not working in all custom gamemodes.
- Updated
-
3.8.0
- This update is basically carried by SChinchi, thank you!
- Added:
give_buff
- Added:
give_dot
- Added:
remove_buff
- Added:
remove_buff_stacks
- Added:
remove_all_buffs
- Added:
remove_dot
- Added:
remove_dot_stacks
- Added:
remove_all_dot
- Added:
list_buff
- Added:
list_dot
- Details of how to use these commands are listed in the README file.
- Many commands have a much better description of how they work and the errors printed in the console in case of misuse should also be clearer.
- Ping functionality has been added for some commands, refer to the README for a complete list and look for the
pinged
arg. - Updated
remove_item
: Split intoremove_item_stacks
andremove_all_items
. - Fixed
next_boss
: It just works. - Fixed
list_interactable
: Should now show all possible entries. - Fixed
list_directorcards
: Should now show all possible entries. - Fixed
force_family_event
: Wasn't working since SOTV DCCS pool changes.
3.7
- "Survivors of the Void"
- General
- Updated to work with the new game update.
- 3.7.1
- Fixed:
scene_list
was not prodiving all scenes. Thank you DestroyedClone! - Fixed:
spawn_as
made people softlock. - Added: Support for void portals. Thank you DestroyedClone!
- Fixed:
set_scene
was broken. - Added:
set_scene
now also allows numbers fromscene_list
to be passed. - 'Fixed':
set_scene
andnext_stage
allowed players to visit DLC scenes when the DLC was not enabled.
- Fixed:
- 3.7.2
- 3.7.3
- Added filtering to listing commands (list_item, etc). Thank you DestroyedClone
3.6
- "DebugToolkit"
- General
- Microsoft.CSharp.dll dependency is gone.
- Additions
spawn_interactable
Now support custom interactables.spawn_interactible
Does the same asspawn_interactable
.lock_exp
toggles EXP gain, note that this applies to all players. Thank you DestroyedClone!
- Fixes
- Description of
add_portal
now mention the null portal, also you can now spawn it in teleporter-less stages.
- Description of
3.5
- "Anniversary Update"
- Fixes
- Updated for anniversary update.
- 3.5.1 Updated for the update to the anniversary update.
3.4
- "Full Release"
- General
- 3.4.1 Made some internal classes public.
- 3.4.1 Now supports custom stages too.
- 3.4.1 Now has keybinds and macros.
- 3.4.1 We are considering moving the permissions module to it's own seperate mod. Please give your feedback.
- 3.4.2 Harb was a dumb dumb and didn't put the Microsoft assembly in the zip.
- Updated for game version
1.0
. We are considering adding macros and keybinds to the base mod. We would like your input on this.
- Additions
- 3.4.1
dt_bind
You can now bind keys to macros. list_item
When we removed this command, we forgot that people can forget. As the game now counts over 100 items, there's value in adding these lists back. They have been improved for more user readability.list_equip
(see list_item)
- 3.4.1
- Fixes
- 3.4.1 Fixed an issue introduced in Gameversion 1.0.1 where
list_item
andlist_equip
wouldn't work. - 3.4.2 Fixed needing to have a config file so a config file could be generated.
- 3.4.2 Fixed not having the Microsoft assembly in the zip.
- 3.4.1 Fixed an issue introduced in Gameversion 1.0.1 where
3.3
- "Artifacts"
- General
- 3.3.2 Improved networking
- 3.3.1 Removed minirpclib as a dependency. Learn how for your own mod here
- Updated for artifacts.
give_money
is now compatible with ShareSuite's money sharing.- We did a lot of cleanup behind the scenes. You won't notice this (hopefully), but it makes everything easier to maintain.
- We've added some predefined macros for testing. We still recommend the macro plugins linked in our description if you want to define your own macros.
- Additions
- 3.3.2 Permission System can now be enabled on the RoR2 Assembly Console Commands.
random_items
generates an inventory of items for you.give_equip random
now gives you a random equipment from your available drop pool.midgame
andlategame
allow you to test your mod in a typical mid/endgame scenario. The presets come from HopooGames.dtzoom
gives you some items to make you move around the map faster. This is a macro that was present in the original release of RoR2.
- Fixes
- 3.3.2 Fix noclip failing to work in any subsequent run after it was activated.
- 3.3.1 Fix incorrect parsing on some arguments in commands. Thank you Violet for reporting these!
- 3.3.1 Removed double embbeded dependency. This shaves off about half the file size!
- Fix a faulty ILHook in CCSetScene
- Fix
spawn_as
.
3.2
- "Dedicated Servers"
- General
- Commands are now safe to run with a dedicated server as the sender. Want to know how you can issue commands during runtime as a server? R2DSE
- Some commands have not yet been implemented this way and merely do nothing, expect fixes for that in
3.2.X
updates. - When a player is needed for a command, dedicated servers will have to fully qualify their command.
- Some commands have not yet been implemented this way and merely do nothing, expect fixes for that in
- Commands are now safe to run with a dedicated server as the sender. Want to know how you can issue commands during runtime as a server? R2DSE
- Additions
- 3.2.1 reworked
spawn_ai
so that it can now spawn multiple enemies. As a result the command arguments have been shuffled around a bit. - Added the null portal to
add_portal
reload_all_config
makes a best effort to reload all plugins' configurations.- Permission system:
- There's a config for the permission system located in your
bepinex/config/
folder after running the new version once. - The permission system is by default DISABLED.
- There's a config for the permission system located in your
- 3.2.1 reworked
- Fixes
- 3.2.2 Fix seeveral premature game ends with noclip enabled crashing outside stuff.
- 3.2.2 DT now correctly handles nonpostive enums. this fixes an annoying persistent issue in
spawn_ai
. - 3.2.1
spawn_ai
now parses braindead if it's an integer. - 3.2.1 Fix
spawn_as
crashing dedicated servers. - 3.2.1 fixed_time now actually sets/displays the ingame time. Thank you @Rayss.
Noclip
now disables the out of bounds teleport. Go take a look at that collossus head!add_portal
now gives a nicer error message with all available portals- Reenabled
next_boss
. Behaviour might still be weird.
- Known Bugs
- Some commands work improperly when connected to a dedicated server with this enabled. Due to the amount of testing required basically doubling because of dedicated servers, we ask you to report these issues as you spot them.
- Other things:
- Want to get bleeding edge builds? Check out our Discord!
3.1
- "DebugToolkit"
- General
- 3.1.2: Disabled
next_boss
so that everyone can use it to update their mods. - 3.1.1: Now known as DebugToolkit on Thunderstore.
- 3.1.1: Removed obsoleted commands.
- Paddywan has left the modding community. We thank them for their contributions to this project and wish them the best of luck in future endavours.
- iDeathHD has joined the team behind RoR2Cheats/DebugToolkit, their expertise has been of amazing use and we're excited to have a joint venture in this.
- You may have noticed MiniRPCLib is a new dependency. This is to network cheats better over the network. Functionally nothing has changed.
- A secret new convar is added:
debugtoolkit_debug
. Only available for those people who read the changelog. ❤️ - Various commands have had their ingame descriptions updated to better inform what args are expected.
- added the "all" overload to
add_portal
. - Modders stuff: Hooks that do not permanently need to exists have been been made to only exist for as long as they are needed.
- Modders stuff: All hooks, temporary or not, have been added to the readme to help resolve mod conflicts.
- 3.1.2: Disabled
- New Commands
- 3.1.1:
post_sound_event
Sounds be hard. This should help. next_boss
We've worked hard on this. We hope you find use for it. (And with 'we', Harb means the other contributor who isn't Harb nor iDeathHD.)give_lunar
Editing your save is an unnessecary task. This command is restricted to the issuing player to prevent grieving.remove_item
While this functionality could already be achieved with give_item and a negative amount, this was not obvious.remove_equip
While this functionality could already be achieved with `give_equip None, this was not obvious.create_pickup
A lot of custom item mods also need to test their descriptions. Maybe you have an on pickup hook.force_family_event
We initially tried it being able to do any family, but this proved to be hard. So instead we force an event to happen next stage.noclip
Fly freely through the map.kick
Not much to say there are better ways to resolve your issues with players.ban
You can talk it out.spawn_interactible
Implemented with full range of interactles, not limited to types. Accepts InteractableSpawnCard partial as parameter.
- 3.1.1:
- Fixes
Spawn_as
now temporarily disables arriving in the pod to prevent not being able to get out of a pod.- Clients now see the output of commands with the ExecuteOnServer flag. This change only applies to commands created by this mod.
- Host now sees the input of commands with the ExecuteOnServer flag. This change applies to all commands, even that of other mods.
set_team
is now smarter in detecting which team you want.add_portal
now sets better values to get the vanilla orb messages to appear in chat.- Several issues with argument matching are now resolved better.
- Special characters are now handled better (or rather, are ignored completely) when matching arguments.
set_scene
is now no longer denying access to you because you don't have cheats enabled. (you do, after all.)
3.0
- "Initial Release"
- General
- Reworked almost every command to be more maintainable. This should have no impact on current users.
- FOV is now outside the scope of this project and has thus been removed
- New Features
- Object & Character names can now be queried using partial language invariants. For example:
give_item uku
will give one ukulele under "en". - Several vanilla cheats have now been unlocked.
- Object & Character names can now be queried using partial language invariants. For example:
- Fixes
- No longer forcefully changes FOV settings.
- No longer hooks stuff for disabling enemies, improving mod inter compatibility.
seed
is now networked.- Elites now spawn with correct stats, and should be update-proofed.
< 3.0
See the old package
Hooks
This mod always hooks the following methods:
On.RoR2.Console.InitConVar
- We do this to 'free' the vanilla convars and change some vanilla descriptions.On.RoR2.Console.RunCmd
- We do this to log clients sending a command to the Host.IL.RoR2.Console.Awake
- We do this to 'free'run_set_stages_cleared
.IL.RoR2.Networking.GameNetworkManager.CCSetScene
- We do this to 'free'set_scene
.
This mod hooks the following methods when prompted:
On.RoR2.PreGameController.Awake
- We use this to change the seed if needed.On.RoR2.CombatDirector.SetNextSpawnAsBoss
- We use this forset_boss
.On.RoR2.ExperienceManager.AwardExperience
- We use this forlock_exp
.On.RoR2.Stage.Start
- We hook this to remove the IL hook on ClassicStageInfo.IL.RoR2.ClassicStageInfo.Awake
- We hook this to set a family event.- NoClip requires 3 hooks:
On.RoR2.Networking.GameNetworkManager.Disconnect
- These two trampoline hooks are initialized, but are only applied on prompt:
- UnityEngine.NetworkManager.DisableOnServerSceneChange
- UnityEngine.NetworkManager.DisableOnClientSceneChange