Zone Step Overview

From PMDOWiki
Revision as of 03:24, 9 April 2023 by IDK (talk | contribs) (Fill out rest of table and stub special cases)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Zone Steps are map generation steps that span through multiple floors. For example, they can ensure at least a certain amount of food spawns in the dungeon, and that it's properly spaced apart between floors. Zone Steps operate by inserting their own steps into the normal floor generation process before the entire list is run.

Steps Summary

Below is a table of commonly used zone steps, what priorities they are often set to be placed at, and what they are used for.

Priority Step Description
2.1 SaveVarsZoneStep A special step needed to support rescues.
-1 FloorNameDropZoneStep Gives the floor a name and makes that name appear before fading in.
1 MoneySpawnZoneStep Specifies how much total money spawns on the first floor, and how much is added each floor.
1.1 ItemSectionedZoneStep Sets the spawn table for items and applies them to multiple floors.
1.1 ItemSpawnZoneStep Sets the spawn rate for individual items and applies them to multiple floors. More flexible than ItemSectionedZoneStep but harder to understand probabilities.
1.2 TeamSpawnZoneStep Sets the spawn rate for individual enemies and applies them to multiple floors.
1.3 TileSpawnZoneStep Sets the spawn rate for individual traps and applies them to multiple floors.
* RangeStepZoneStep Takes a GenStep and applies it to ranges of floors. Only one GenStep can apply to a given floor. The priority that should be specified will depend on what the step is.
* SpreadStepZoneStep Takes a collection of GenSteps and spreads them across the dungeon based on a SpreadPlan.
* SpreadStepRangeZoneStep Takes a collection of GenSteps and spreads them across the dungeon based on a SpreadPlan. Each individual GenStep can have its own range and they can overlap.
* SpreadRoomZoneStep Takes a room and spreads it across the dungeon based on a SpreadPlan. Uses two priorities: one for GridPlans, one for FloorPlans

Spread Plans

TODO

RangeStepZoneStep

TODO

SpreadStepZoneStep

TODO

SpreadStepRangeZoneStep

TODO

SpreadRoomZoneStep

TODO