Risk of Rain 2
You are viewing a potentially older version of this package. View Latest Version
Install

Details

Date Uploaded
6 years ago
Downloads
12K
Size
35KB
Dependency string
ChaseCraig-Artifact_Modifact-1.4.0

ArtifactModifact

By Mylifefighter (aka CMC-Theories)

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)

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

Installation

  1. Install BepInEx Mod Pack
  2. Install R2API
  3. Download the latest RoROverhaul.dll here
  4. Move the RoROverhaul.dll to your \BepInEx\plugins folder

Configuration

  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 has drop chance, and white/green/red/blue/orange tier drop chance settings.

  • Command artifact has been hooked into and is currently twiddling its thumbs

  • 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: 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: What did you change in the spite artifact?

A: Almost nothing for now, but there is a bug! If you disable the artifact IT DOESN'T DISABLE!!! This was due to a programming bug where a - sign was missed by a + sign.

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).

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: Does this mean I can do an all white/green/red/blue/yellow run?

A: Yes, just remember to set the other values to 0.0, yes 0.0 is a function, a boring one, but a function none-the-less.

Q: Damage cut on swarm?

A: I will need to figure out a way to implement it, otherwise it doesn't exist and that field just doesn't do anything.

Q: Known bugs?

A: Yes, setting the swarm multiplier to 50 will bring my system to 1 FPS; I am pretty sure that my mod does not play nicely with other mods (item stats doesn't know that I am screwing with the spawning of Aurelionite...but I might be able to figure out how to fix that); I am 99.999% sure that you can break the function mod, so please don't, it only runs on the hosts computer from the host; Yes you can get float.infinity, don't do it.

Q: Command artifact seems unchanged yet you hooked into it?

A: Yes! I did that initially but then I realized there was nothing that I wanted to change...so yes, I have a useless hook.

Q: And your code is...

A: Messy, but that is because I am needing to refactor most of the code. Will do that soon :)

Q: This starts at v1.3.3.1?

A: I didn't think I would actually make it this far.

Planned updates

  • Hook into all enemies to give them the options

  • Hook into all allies to give them the options

  • Develope a CutDamage item for Swarm options DONE

  • Make this mod play nicer with other mods

  • Make command artifact have something that I can do with it

  • Modify the bomb artifact/the doppleganger artifact/etc. VENGENCE AND SPITE ADDED!!!

  • Make it so that other bosses can be substituted in instead of Aurelionite for boss allies

  • Make it so that other types of enemies can be substituted in instead of beetle guards

  • Somehow compile the function code to speed up execution time

Known Bugs

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

  • Using NET Core will not work as I need access to the Patch method for Harmony, and so I have to use the 4.6 framework instead.

Changelog

v1.4.0

  • CutDamage added for options!!
  • Added Vengence and Spite artifacts

v1.3.4

  • Silenced even more debugging
  • Added an icon...not a good one...but an icon none-the-less...

v1.3.3.1

  • Added configuration options to a seperate folder since there will be multiple files.
  • Fixed swarm not properly hooking
  • Debug.Silence(SwarmArtifact)
  • Started Git repository
Thunderstore development is made possible with ads. Please consider making an exception to your adblock.