
Artifact Modifact
Modifies bits of the game so that way you can have a lot of control how it functions!ArtifactModifact
By Mylifefighter aka CMC-Theories aka ChaseCraig
Now with 100% more soldier's syringes!
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.
Installation
- Install BepInEx Mod Pack
- Install R2API
- Download the latest RoROverhaul.dll here
- Move the RoROverhaul.dll to your \BepInEx\plugins folder
Configuration
- Launch the game once with the mod installed then close it down to generate the configuration files.
- 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 (DAMAGE MODIFIER IS LIVE!!!!!!).
-
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!!
Custom function guide
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.
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)
-
+, -, *, /, ^
FAQ
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 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-origized.
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.
-
Aurelionite will occasionally spawn in a pair of 2...but I think it was solved?
-
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.
-
Debug hell. I need to look into printing debugs to a separate log to prevent spam/lag.
-
Debug hell 2. Literally mylife, stop it with the debugging in releases.
-
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.).
Fun "Gamemodes"
Basically I have come up with some fun runs that you can do with this mod (Note some use AI Blacklister):
-
Hell: Sacrifice+Evolution+AI Blacklister. Evolution amount per level = 10, Tier order = BB, blacklist: SprintWisp, Knurl, NovaOnLowHealth. Everything is now a horrible mess with each enemy spawning 10 beetle guards, with each level only making it worse.
-
Scavenger's gift: objectSpawnForced. Set the number of scavenger bags forcibly spawned to "n", this will make it so each level you get that many scavenger bags for free (note killing a scavenger will follow original logic, ignoring force spawned bags).
-
CHALLENGE OF THE MOUNTAIN: objectSpawnForced. Set the number of ShrineOfMountain to 30. Enjoy.
-
Red and Blue: Sacrifice+Command. Sacrifice should have Tier1 and 2 chance set to 0.0, tier3 = 0.05, lunar = 0.95, boss = 0. Increase drop chance to be 2bLOG(SV+1)(2).
Changelog
v1.6.0
-
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. v1.5.7
-
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.
v1.5.6
- 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!
v1.5.5
- 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 :)