ChaseCraig-Artifact_Modifact icon

Artifact Modifact

Modifies bits of the game so that way you can have a lot of control how it functions!

Last updated 3 weeks ago
Total downloads 3471
Total rating 3 
Dependency string ChaseCraig-Artifact_Modifact-1.7.0
Dependants 0 other mods depend on this mod

This mod requires the following mods to function

tristanmcpherson-R2API-2.4.10 icon

A modding API for Risk of Rain 2

Preferred version: 2.4.10
bbepis-BepInExPack-3.2.0 icon

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

Preferred version: 3.2.0


By Mylifefighter aka CMC-Theories aka ChaseCraig

New update. Who this?

A mod that allows for customizing your risk of rain experience.

  • Did you want to change what could drop from an enemy when using the Sacrifice Artifact? Well now you can change the drop rates of the various tiers of items.

  • Did you want to change how often things drop from enemies when using the Sacrifice Artifact? Well now you can!

  • Did you not want to have a boring old function for a drop rate? Well now you can spice it up with your very own custom drop function! (Limited to the processing capability of your system)

  • Did you ever feel that only having 1 Aurelionite was just too boring? Well now you can change how many spawn on the teleporter event!

  • Did you ever feel that the queen guard and the aurelionite are boring without items? Well now you can have it add random items to them to spice things up! (Planned: copy items, copy some items)

  • Did you ever... (I'm kidding, this hurts you and me, see below for "full" details, even I forgot what I added into this overhaul (config-haul?) modpack )

Please contact Mylifefighter#8823 on Discord if you find any issues besides known bugs.


  1. Install BepInEx Mod Pack
  2. Install R2API
  3. Download the latest RoROverhaul.dll here (Or, you know, use the direct download button on the Thunderstore...)
  4. Move the RoROverhaul.dll to your \BepInEx\plugins folder


  1. Launch the game once with the mod installed then close it down to generate the configuration files.
  2. Go to \BepInEx\config\RoROverhaul and open mylifefighter.sacrificeart.xxxx.cfg, where xxxx is the part of the mod you wish to edit.

Available Customization

  • Aurelionite and Beetle Guard Allies can spawn with x random items, y hp boosts and z damage boosts.

  • Sacrifice artifact now has an option to allow/disallow normal enemies from dropping orange tiers.

  • Sacrifice artifact has drop chance, and white/green/red/blue/orange tier drop chance settings.

  • Command artifact now has an armor parameter. So when you are in the menu you get some temporary armor.

  • Swarm artifact can influence how many enemies spawn for every 1 original spawn, what is the exp/gold/hp cut/multiplier and damage multipler.

  • Vengence artifact (Doppelganger!!! :O ) can now be modified to control anything from % of items to percentage randomized to damage,hp,exp,gold cuts (Oh and you can control how many, it is fun to see 20 of them coming at you with like 6 hp :P)

  • Spite artifact (BOMBS) can now be modified to control blast range, amount, etc.

  • New helper file to store all the information about using the custom functions!!

Planned updates (when I get my life together)

  • Make allies respect black list (seems like it is working...?)

  • Add items to turrets/multispawn turrets

  • Revamp spawning to make the game hell (I mean, customizable!)

  • Hook into "AllItemsAreX" mod so I can have everything following it. However, this seems to be on the backburner due to not having an instance hook...

Custom function guide (For those who want even more flavor)

This mod features usage of my custom function generator, this allows for you to take various parameters and combine them to a single float value. It is effectively like typing in an equation into a calculator.

A typical function looks like this: 0 - 5 * x / LOG((10.5 + t) / cd)(2)

The only unique things are as follows: You must be explicit when writing negative numbers (so -x is written as 0 - x), and comma's don't exist, so to do multi-parameter functions you use 2 parenthesis statements, oh and be explicit with multiplication.

Available functions are:

  • Round(x), Floor(x), Ceil(x), Log(x)(base), Abs(x), Min(x)(y), Max(x)(y), Rand(low)(high), Neg(x)

  • +, -, *, /, ^


Q: So 1.6.x broke...

A: Ya I was finishing up on my education and also managing the stress of the whole 2020 thing. Anyways here is 1.7.0 that didn't seem to be broken...

Q: What happened with 1.6.0?

A: Somehow I didn't ship out the required DLLs in the mod. Yes, MiniRPCLib and MicrosoftCSharp are ESSENTIAL, and somehow didn't get zipped up last time.

Q: Items start going weird when I have unmodded clients join?

A: This mod does add in custom item IDs and those do show up (somehow) in the middle of all the other items. All I can say is get everyone to have the same mods. I'm sorry to those who can't.

Q: Can beetle guards get beetle guards?

A: No. This was the main reason why this patch took forever is that there wasn't a way of checking it correctly for a while (turns out it was an improper hook that wasn't firing exactly). If you were to enable this feature, you would hit the 40 enemy limit ASAP and it ain't fun.

Q: Does this mod play nice with AI Blacklist?

A: Yes! I was told that I wasn't playing nice in the previous update, however (unintentionally) I made it play nice in this update! I tested it out, it works fine. (See fun "gamemodes" below)

Q: How do I change the drop chance on the sacrifice artifact?

A: NOW AN EASY ONE STEP PROCESS! Go to the sacrifice config file, open it up and look for the field "DropChance", then enter the function that you want! If you want a constant chance (say a 20 on a d20), put in 5%, if you want something fancy like starts at a low percent but then ramps up as time goes on, use something like 20 + 80*(1.0 - exp(0.0 - (t / 1200))).

Q: Help, 0,0 (or 0.0) does not register correctly with your mod!

A: If your globalization settings for your machine does not match what you put in, the script will freak out. Using the "invariant culture" representation of numbers should also work (like 0.0).

Q: How does DmgBoost differ from DmgCut?

A: Sadly I am hooking into the recalculation of stats at the end of the computation, so I don't see everything else. So it is calculated on the total damage output for the cut.

Q: Everything is on fire and nothing is working/My friend is crashing/...?

A: Firstly, make sure that my mod (and R2API and BepInEx) are the only mod(s) installed. Then see if you can replicate the issue. Like I said my mod won't probably play well with other mods. If it still occurs please let me know (with the appropriate log file).

Q: Why can I crash my game by using a 200x spawn ratio for the swarm artifact/Spawn 100 Aurelionite/queens guards?

A: Yes!

Q: What items are in the pool of random items to give to the allies?

A: Whatever is available to spawn in the game, including lunar and boss items (yes...a beetle guard with a gland will spawn an allied beetle guard, however THAT beetle guard won't spawn a beetle guard...). If you install an AI Blacklist mod and remove items from the list, it will also remove the items from the pools to select from, UNLESS you disable that feature in the configs.

Q: What do the values mean for the tier chances in the sacrifice file?

A: The system works like a lottery, basically everything throws in a positive number of tickets into a pot, then every time it needs an item it draws from the pot and determines what you get. So if tier1 is 9 times more than tier2, then theoretically out of every 10 drops, 9 of them should be tier1 and the remaining should be tier2 (excluding the other tiers).

Q: And your code is...

A: Mess-organized.

Q: This starts at v1.5.5?

A: It used to start in v1.3.3, and the reason why it started there was because this was a "local" thing between me and my friends while we waited for the artifacts update.

Known Bugs

  • I use HarmonyAPI, I use prefix, and I do return false.

  • One of the boss types (the ghost or the annoying green thing?) won't tint the screen according to some users, I haven't seen this myself but I will be testing it and seeing if it is indeed the case.

  • If you blacklist everything in a tier, it will error out if it tries to give something. In fact, I made it burn cycles forever just to spite you for trying such a thing (jk the escape function works. It looks at you sternly with red text/errors.).


  • AllItemsAreX will not properly work with other entities besides you (so if every item is speed, your NPC allies will still get items from the normal item pool).



  • Patched to version of RoR2 (the one prior to the 1.0 release!)


  • Required Libs now included.
  • Learned that no, my mod does not play well with other non-modded clients.


  • Thanos snap: Changelog cleaned up. All versions before 1.5 are probably not worth playing.
  • Made the evolution artifact respect AI blacklist flag (except for when you tell it to ignore it)
  • Evolution artifact now reallly customizable.


  • Bug fix: Items weren't initialized, so they were referring to item index 0 (including command which removes a special item that increases the user's defences according to the config), but this means it would remove it from the players inventory ASAP, item index 0 == soldier syringe. This is patched.


  • Fixed the evolution artifact, sorta. Apparently I had the config file using the variable "n", however this was not set in the code to reflect the current stage number (minus 1). This is fixed and the evolution artifact is a go!
  • Added a config line for whether or not you want boss items to drop from non-boss enemies!


  • Fixed evolution artifact no longer working at all (hence why some people just didn't see stuff). To be fair, I programmed this part when I hadn't unlocked the artifact, so I was doing it blind. But now it is fixed.
  • Rearranged my workspace so now files about different things are now seperate! This will make sure I don't accidently turn off both monster spawning and world spawning.
  • Working on a new monster spawner class...but it is disabled for now :)

Available versions

Please note that the install buttons only work if you have compatible client software installed. Otherwise use the zip download links instead.

Upload date Version number Downloads Download link  
2020-7-23 1.7.0 395 Install
2020-5-13 1.6.1 656 Install
2020-4-30 1.6.0 380 Install
2020-4-14 1.5.7 483 Install
2020-4-14 1.5.6 105 Install
2020-4-13 1.5.5 101 Install
2020-4-13 1.5.4 144 Install
2020-4-13 1.5.3 54 Install
2020-4-10 1.5.2 325 Install
2020-4-10 1.5.1 124 Install
2020-4-10 1.5.0 55 Install
2020-4-8 1.4.1 208 Install
2020-4-8 1.4.0 121 Install
2020-4-6 1.3.4 320 Install