ThinkInvis-TILER2 icon

TILER2

ThinkInvisible's Library of Extras for RoR2.

Last updated 2 days ago
Total downloads 514826
Total rating 35 
Categories Mods Libraries
Dependency string ThinkInvis-TILER2-7.2.0
Dependants 159 other mods depend on this mod

This mod requires the following mods to function

bbepis-BepInExPack-5.4.1902 icon
bbepis-BepInExPack

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

Preferred version: 5.4.1902
tristanmcpherson-R2API-4.4.1 icon
tristanmcpherson-R2API

A modding API for Risk of Rain 2

Preferred version: 4.4.1

README

TILER2

SUPPORT DISCLAIMER

Use of a mod manager is STRONGLY RECOMMENDED.

Seriously, use a mod manager.

If the versions of TILER2 (or possibly any other mods) are different between your game and other players' in multiplayer, things WILL break. If TILER2 is causing kicks for "unspecified reason", it's likely due to a mod version mismatch. Ensure that all players in a server, including the host and/or dedicated server, are using the same mod versions before reporting a bug.

While reporting a bug, make sure to post a console log (path/to/RoR2/BepInEx/LogOutput.log) from a run of the game where the bug happened; this often provides important information about why the bug is happening. If the bug is multiplayer-only, please try to include logs from both server and client.

Description

TILER2 is a library mod. It won't do much on its own, but it may be required for some other mods.

User-Facing Features

TILER2 mostly contains features that are useful for mod developers, but it also adds some things that normal users can take advantage of.

DebugUtil

The DebugUtil module adds several console commands:

  • evo_setitem itemIndexOrName count: Sets the count of the target item in the Artifact of Evolution item pool. Marked as a cheat command.
  • goto_itemrender: Travels to the ingame item rendering scene. Can only be used from the main menu. Best paired with a runtime inspector mod.
  • ir_sim itemIndexOrName: Spawns an item model while in the ingame item rendering scene.
  • ir_sqm itemIndexOrName: Spawns an equipment model while in the ingame item rendering scene.

NetConfig

The NetConfig module automatically syncs important config settings from the server to any connecting clients, and kicks clients with critical config mismatches which can't be resolved (i.e. settings that can't be changed while the game is running, or client has different mods than server).

NetConfig also adds the console commands ncfg_get, ncfg_set, ncfg_settemp, and ncfg; and the convar ncfg_allowclientset.

  • ncfg_get "path1" "optional path2" "optional path3": Attempts to find a config entry. Path matches, in order: mod name, config section, config key. If you weren't specific enough, it will print all matching paths to console; otherwise, it will print detailed information about one specific config entry.
  • ncfg_set "path1" "optional path2" "optional path3" value: Attempts to permanently set a config entry (writes to config file AND changes the ingame value), following the same search rules as ncfg_get. Not usable by non-host players; will route to ncfg_settemp instead.
  • ncfg_settemp "path1" "optional path2" "optional path3" value: Attempts to temporarily set a config entry until the end of the current run, following the same search rules as ncfg_get. Can be blocked from use by non-host players via ncfg_allowclientset.
  • ncfg "cmd" ...: Routes to ncfg_get, ncfg_set, or ncfg_settemp (for when you forget the underscore).
  • ncfg_allowclientset (bool): If 1, any player on a server can use ncfg_settemp. If 0, only the host can use ncfg_settemp.

Issues/TODO

  • Items which players have but were disabled mid-run need a UI indicator for such.
  • If a client gets kicked by R2API mod mismatch, NetConfig will attempt to kick them again (to no effect) due to timeout.
  • See the GitHub repo for more!

Changelog

The 5 latest updates are listed below. For a full changelog, see: https://github.com/ThinkInvis/RoR2-TILER2/blob/master/changelog.md

7.2.0

  • Added barebones config preset support to the AutoConfig module.
    • See AutoConfigPresetAttribute, AutoConfigContainer.ApplyPreset().
  • Added support for Risk of Options buttons.
    • No attribute, must use Compat_RiskOfOptions.AddOption_Button() manually.
  • Publicized AutoConfigContainer.FindConfig().
  • Removed remaining unused BetterUI references.
  • Updated lang version to C#9 and implemented its features for some minor project cleanup.
  • Updated dependencies.

7.1.0

  • Fixed a typo in MiscUtil.Remap that caused incorrect behavior (was adding maxTo to result as final step, should have been minTo).
  • Added method MiscUtil.ModifyVanillaPrefab(string addressablePath, string newName, bool shouldNetwork, Func<GameObject, GameObject>) for concise modification of vanilla prefabs using R2API.PrefabAPI.
  • Added new ConCmds to DebugUtil module for rendering items:
    • goto_itemrender: opens the internal item rendering scene. Cannot be used while a run is active.
    • ir_sim: with the item rendering scene open, spawns an item's pickup model in the proper place and hides existing models. Accepts numeric index or display name (NOT name token).
    • ir_sqm: with the item rendering scene open, spawns an equipment's pickup model in the proper place and hides existing models. Accepts numeric index or display name (NOT name token).
  • Updated R2API dependency to 4.3.21.

7.0.1

  • Temporarily switched Item : CatalogBoilerplate to use ItemDef.deprecatedTier.

7.0.0

  • BREAKING CHANGES:
    • Removed obsolete ItemStats and BetterUI support code.
    • Equipment : CatalogBoilerplate now adds restart-required config entries for isEnigmaCompatible and canBeRandomlyTriggered. Added setters to these properties, which were previously getter-only; may require a recompile.
  • Added RiskOfOptions integration to AutoConfig as a new category of attributes. Apply with e.g. [AutoConfigRoOCheckbox()].
    • Implemented by default on T2Module.enabled, Item.itemIsAIBlacklisted, Equipment.isEnigmaCompatible, Equipment.canBeRandomlyTriggered, and Equipment.cooldown.
  • CatalogBoilerplate implementations now expose a substage for modifying the ItemDef/EquipmentDef/ArtifactDef before registration with R2API (public virtual void SetupModify[x]Def()).
  • CatalogBoilerplate now exposes a substage for firing an event when the catalog is ready (public virtual void SetupCatalogReady()).
  • Lots of behind-the-scenes VS warning/message cleanup.
  • Updated for latest RoR2 version.

6.3.0

  • FakeInventory.ignoreFakes is now exposed to public API, and is now an int instead of a bool.
    • Increment FakeInventory.ignoreFakes whenever you enter a method where you don't want fake items to be considered as part of item count (e.g. while removing or upgrading items). Decrement it before leaving the method.
  • Added more sources of IgnoreFakes. FakeInventory should now have better interaction with Egocentrism, Benthic Bloom, Bulwark's Ambry (if player has fake artifact keys somehow), and ItemStealController.

Available versions

Please note that the install buttons only work if you have compatible client software installed, such as the Thunderstore Mod Manager. Otherwise use the zip download links instead.

Upload date Version number Downloads Download link  
2022-7-4 7.2.0 2353 Version 7.2.0 Install
2022-5-6 7.1.0 31501 Version 7.1.0 Install
2022-4-20 7.0.1 15073 Version 7.0.1 Install
2022-4-20 7.0.0 264 Version 7.0.0 Install
2022-4-5 6.3.0 16398 Version 6.3.0 Install
2022-4-4 6.2.0 1505 Version 6.2.0 Install
2022-3-24 6.1.3 11961 Version 6.1.3 Install
2022-3-24 6.1.2 356 Version 6.1.2 Install
2022-3-23 6.1.1 1460 Version 6.1.1 Install
2022-3-23 6.1.0 409 Version 6.1.0 Install
2022-3-18 6.0.2 7195 Version 6.0.2 Install
2022-3-15 6.0.1 3686 Version 6.0.1 Install
2022-3-13 6.0.0 2796 Version 6.0.0 Install
2022-3-9 5.0.3 5796 Version 5.0.3 Install
2022-3-8 5.0.2 1412 Version 5.0.2 Install
2021-6-14 5.0.1 125869 Version 5.0.1 Install
2021-6-12 5.0.0 5457 Version 5.0.0 Install
2021-5-21 4.0.7 25805 Version 4.0.7 Install
2021-5-3 4.0.6 19917 Version 4.0.6 Install
2021-5-3 4.0.5 430 Version 4.0.5 Install
2021-5-3 4.0.4 2143 Version 4.0.4 Install
2021-5-3 4.0.3 873 Version 4.0.3 Install
2021-4-8 4.0.2 14997 Version 4.0.2 Install
2021-4-5 4.0.1 7513 Version 4.0.1 Install
2021-4-5 4.0.0 934 Version 4.0.0 Install
2020-10-19 3.0.4 96224 Version 3.0.4 Install
2020-10-18 3.0.3 2428 Version 3.0.3 Install
2020-10-18 3.0.2 219 Version 3.0.2 Install
2020-10-18 3.0.1 301 Version 3.0.1 Install
2020-10-18 3.0.0 344 Version 3.0.0 Install
2020-10-9 2.2.3 8878 Version 2.2.3 Install
2020-9-24 2.2.2 15439 Version 2.2.2 Install
2020-9-24 2.2.1 459 Version 2.2.1 Install
2020-9-22 2.2.0 12739 Version 2.2.0 Install
2020-9-11 2.1.3 16135 Version 2.1.3 Install
2020-9-2 2.1.2 13398 Version 2.1.2 Install
2020-9-1 2.1.1 3501 Version 2.1.1 Install
2020-8-28 2.1.0 9018 Version 2.1.0 Install
2020-8-26 2.0.0 4328 Version 2.0.0 Install
2020-8-16 1.5.0 10753 Version 1.5.0 Install
2020-6-5 1.4.0 7257 Version 1.4.0 Install
2020-5-23 1.3.0 2493 Version 1.3.0 Install
2020-5-20 1.2.1 1100 Version 1.2.1 Install
2020-5-20 1.2.0 392 Version 1.2.0 Install
2020-5-14 1.1.1 1857 Version 1.1.1 Install
2020-5-13 1.1.0 466 Version 1.1.0 Install
2020-5-11 1.0.1 592 Version 1.0.1 Install
2020-5-11 1.0.0 402 Version 1.0.0 Install