Viewing Mod
The 100% legitemate Minecraft speedrunner comes to Isaac!
Created 3 years ago

Dream comes to Binding of Isaac!

He's just really lucky

This mod adds a new playable character to the game - Dream. He's known for his speedruns, manhunts and... controversial history.

Dream starts with a high tear stat, high speed stat, high luck and low damage. He also starts with Gold Ingots - an active item that lets him barter with shopkeepers and beggars.

Upon use, for every shopkeeper or beggar in the room, the Gold Ingot will spawn an item pedestal from their item pool. However, the chance for that item pedestal to spawn are low and depend on your luck, and after enough uses the shopkeeper will explode. Dream however, is just really lucky, and can get away with a 70%~ chance.

However, due to Repentance modding now being a thing, Dream isn't the only character being added in this mod!

Tainted Dream comes to Binding of Isaac!

Out of luck

Tainted Dream starts with low health, a negative, "cursed" luck stat and a bit more damage than regular Dream. He also spawns with the Gold Ingot Bag.

Upon trying to pick up an item pedestal or killing an enemy with a chance, a Gold Ingot pickup will drop. You can then pick it up and store it in your bag. After 3 or more ingots, you can then barter those ingots with a shopkeeper or beggar for an item, the quality of which corresponds to the amount of gold you have stored. You'll keep around 1/4th of your ingots if you have over 25 of them. When Tainted Dream takes damage, however, he will lose most of his ingots, but he's not guaranteed to drop them all back.

Each time you pick up a Gold Ingot, the item rerolls, but additionally, you can only view the item in a shop or near a beggar, and Gold Ingots despawn if you leave the room. They also despawn after 15 seconds, so be sure to pick them up quickly!

This basically makes Tainted Dream a less wiki-browsing oriented Tainted Cain; there's a risk/reward factor involved. You could get a decent item and cash out, or keep hoarding gold, having the potential to lose it when progressing forward, and potentially get a much better item that could save your run.


Look. We both know this is unbalanced as hell, but have fun, OK?
I would be willing to take suggestions on how to balance any of the mechanics, though! Please be sure to let me know if you have an idea you'd like implemented. This mod started out as a joke and only was polished and balanced later; so its natural that something like this would have loads of balance concerns and issues.
This mod also has support for Wofsauge's EID! It may be a tiny bit buggy at times, especially with other mods, but it's good enough.
Both characters also have support for Birthright that slightly improve their abilities.

Technical Details

There's a lot more that goes into this than you think

The formula for deciding the chance of getting an item with Gold Ingots (the active item) is exponential:

0.7 ^ (max(0.75 * x, 0) + 1), where x is the player's luck stat.
- 0 luck = 30% chance
- 1 luck = 46.4% chance
- 2 luck = 59% chance
- 3 luck = 68.6% chance
- etc...

The amount items a shopkeeper or beggar can give out before exploding is different for shopkeepers and beggars. For beggars you get from 7 to 9 items max, and for shopkeepers it's 4 to 6 items. If you use Gold Ingots with Birthright outside of shops and beggars, it simply removes 2 from your Luck stat.

The way the Gold Ingot Bag selects an item is based on the quality stat provided by Repentance. (Because of this, workshop items will very often show up when you try to craft a low quality item).
Basically, at any given amount of ingots, it has a formula to decide what the lowest and highest quality can be: (quality ranges from 0 to 4)

x = player's ingot count
4 - (1.1 ^ (-0.4 * x)) * 4 for the lower boundary
4 - (1.1 ^ (-1.2 * x)) * 4 for the higher boundary
The formula was updated, so the below descriptions are not 100% accurate

Using the highest and lowest quality possible, it then assigns weights to each quality with some clever interpolation.
In short, what this means is, there is almost never a guaranteed chance to get an item of some quality.
Do note that nuggets do not affect the item quality
There's lots more going on behind the scenes, but that's the basics of it. Read up more on the source code if you want to know the full details.

The chance for an enemy to drop a Gold Ingot depends on the max health. The enemy spawns an ingot if the square root of the enemy's max HP is bigger than a random number from 0 to (n + 2 * x), where x is the stage ID and n is usually 14, 12 with Tainted Dream, 10 with Birthright Tainted Dream and multiplied by two if doing the Ascent sequence. There's some extra math that goes into deciding nuggets and blocks, but it's not worth mentioning here. I've stolen this code from Retribution, but don't tell anyone!

Known Issues

- Full Co-op compatibility (ingots are currently shared, and probably don't render properly)
- Normal pills
- Just testing, really


x 13

- Various fixes

- Mod Config Menu no longer needed

- Should no longer crash on continues

- Render adjustments

- Resprites! Dream and TDream's sprites have recieved an overhaul, all the items have been resprited and the pickups have also been changed.

- Any character can now pick up Gold Ingot Bag pickups, regardless of which one has the bag

- This applies to co-op, Jacob & Esau, strawmen, etc.

- Creating an active item will no longer remove the bag when used with a non-TDream character

- Gold Ingot Bag's overlay will now display correctly with TIsaac, TBlue Baby and J&E

- Add Mod Config Menu support for HUD Offset detection

- Sprites now render on top of the game UI, hopefully fixing some oddities with how stuff renders

- Slightly lowered TDream's speed

darn it for a sec i thought this was for rebirth
this mod is amazing! i'm having a proble, though, where tainted dream hard crashes the game when trying to resume a run. aside from that though, this mod is great, and incredibly well made!
"totally legitimate speedrunner" haha
April 10, 2022 - 2 years ago
Hey! We have a new Discord server. You can find more information in the announcements channel there. See you there!