Monster Train 2
Install with App

Details

Latest version
0.1.1
Last Updated
First Uploaded
Downloads
16
Likes
0
Size
402KB
Dependants

DivineTemples

A Monster Train 2 mod that brings back the Divine Temple map node from Monster Train 1's The Last Divinity. A temple sits in the centre of the ring, between the two routes, so it is reachable whichever way you go. Inside, you can fuse one unit's essence into another, or lay a spell on an altar for a Pact upgrade.

The temple hosts More Events Reloaded's Divine Altar event, with essences from EssenceData. This mod adds only the map node, with the MT1 temple icon.

Where temples appear

On the rings listed in the config (2, 5 and 6 by default), in the centre spot when nothing is there already — rings where the game already puts a node in the middle, and single-track rings, are left alone. Placement is fixed at run start, so it survives a save and reload, and each temple can be visited once.

More Events Reloaded may still offer the event in a Concealed Caverns as well.

What a temple charges

Nothing at a temple is free. Each choice asks for either gold or pyre health, shown beside it the way a merchant shows a price:

  • Fusing two units costs 100 gold, a pact — every choice that upgrades a spell — costs 50.
  • A choice that asks for pyre health wants a tenth of that in health: 10 for a fusion, 5 for a pact.

Currency decides which of the two the temples charge in. Left on Random, each choice gets one or the other from the run's seed, so it is the same every time you open that temple, and the same in a replay of that run. A choice you cannot pay for is greyed out, and pyre health can never be paid down to zero. Leaving the temple costs nothing, and so does backing out of a reward once you have seen it: the price is taken only when you actually take the reward.

The Divine Altar as a Concealed Caverns offers it stays free — that event is More Events Reloaded's, not this mod's.

Configuration

BepInEx/config/DivineTemples.cfg, created on first launch:

Key Default Meaning
General.Rings 2,5,6 Ring numbers that may get a temple. Ring 1 is the stretch before the first battle.
General.VerticalOffsetRing<N> 170 ring 2, -105 ring 5, -85 elsewhere How far that ring's temple sits from the middle of its ring, in map units. A ring is 750 tall and an icon 120 across, so -85 drops it by about two thirds of an icon. Negative moves it down the ring. The defaults are measured per region, since how much of the middle the scenery takes up varies.
Costs.ChargeForChoices true Whether temples charge at all. Off leaves the Divine Altar free, as More Events Reloaded serves it.
Costs.Currency Random What a temple charges in: Gold, PyreHealth or Random, which gives each choice one of the two from the run's seed.
Costs.UnitInfusionPrice 100 Gold price of fusing one unit's soul into another.
Costs.SpellUpgradePrice 50 Gold price of a spell upgrade, which is every pact the altar offers.
Costs.PyreHealthPer100Gold 10 How much pyre health stands in for 100 gold.

There is one VerticalOffsetRing<N> per ring in Rings, since how much of the middle a region's scenery takes up varies. Adding a ring takes two launches: the first creates its offset entry, the second reads it.

Offsets apply live — save the file with the map open and the temples move. Rings is settled when a run starts.

Install

Install SpecialCircumstances-DivineTemples with a mod manager (Gale, r2modman, Thunderstore Mod Manager); dependencies come with it. Manual install: copy the whole SpecialCircumstances-DivineTemples folder (DLL, json/, textures/) into BepInEx/plugins/.

Requires BepInEx 5.4.2100, Trainworks Reloaded 0.7.25, More Events Reloaded 0.3.0, EssenceData 0.1.0.

Known limitations

  • Soul Savior runs use the same rule but are untested.
  • A ring where the game hides its shared nodes would hide the temple too.

Build

dotnet build DivineTemples

Patches live in DivineTemples/patches/. Build, environment and deploy details are in the meta-repo's CLAUDE.md.

License

See LICENSE.

Thunderstore development is made possible with ads. Please consider making an exception to your adblock.