Zone Step: Difference between revisions

From PMDOWiki
Imbion (talk | contribs)
No edit summary
Imbion (talk | contribs)
Inital save of adding all zone steps
Line 2: Line 2:
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_Overview|floor generation process]] before the entire list is run.
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_Overview|floor generation process]] before the entire list is run.


== Steps Summary ==
== General Steps ==


Below is a table of general zone steps, what priorities they are often set to be placed at, and what they are used for.
Below is a table of general zone steps, what priorities they are often set to be placed at, and what they are used for.
Line 13: Line 13:
|-
|-
| -1 || [[Show Floor Name|ShowFloorName]]|| Gives the floor a name and makes that name appear before fading in.
| -1 || [[Show Floor Name|ShowFloorName]]|| Gives the floor a name and makes that name appear before fading in.
|-
| -|| [[Script Zone Step|ScriptZoneStep]] || Calls a lua script function as the zone step.
|}
== Spawn Tables ==
These are zone steps that initialize [[Spawn Table|spawn tables]] for all floors.
{| class="wikitable" style="margin:auto"
|-
! Priority !! Step !! Description
|-
|-
| 1 || [[Money Spawn Zone Step|MoneySpawnZoneStep]] || Specifies how much total money spawns on the first floor, and how much is added each floor.
| 1 || [[Money Spawn Zone Step|MoneySpawnZoneStep]] || Specifies how much total money spawns on the first floor, and how much is added each floor.
Line 23: Line 33:
|-
|-
| 1.3 || [[Tile Spawn Zone Step|TileSpawnZoneStep]] || Sets the spawn rate for individual traps and applies them to multiple floors.
| 1.3 || [[Tile Spawn Zone Step|TileSpawnZoneStep]] || Sets the spawn rate for individual traps and applies them to multiple floors.
|}
== Spread Plans ==
These are zone steps that are spread plans.
{| class="wikitable"
|-
|-
| * || [[Range Step Zone Step|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.
! Priority !! Step !! Description
|-
|-
| * || [[Spread Step Zone Step|SpreadStepZoneStep]] || Takes a collection of GenSteps and spreads them across the dungeon based on a SpreadPlan.
| Example || [[Spread Boss Zone Step|SpreadBossZoneStep]] || Example
|-
|-
| * || [[Spread Step Range Zone Step|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.
| Example || [[Spread Combined Zone Step|SpreadCombinedZoneStep]] || Example
|-
|-
| * || [[Spread Room Zone Step|SpreadRoomZoneStep]] || Takes a room and spreads it across the dungeon based on a SpreadPlan.  Uses two priorities: one for GridPlans, one for FloorPlans
| Example || [[Spread Houses|SpreadHouses]] || Example
|-
|-
| -|| [[Script Zone Step|ScriptZoneStep]] || Calls a lua script function as the zone step.
| Example || [[Spread Room Zone Step|SpreadRoomZoneStep]] || Example
|-
| Example || [[Spread Step Range Zone Step|SpreadStepZoneStep]] || Example
|-
| Example || [[Spread Vaults|SpreadVaults]] || Example
|}
|}
== Spread Plans ==
TODO
== RangeStepZoneStep ==
TODO
== SpreadStepZoneStep ==
TODO
== SpreadStepRangeZoneStep ==
TODO
== SpreadRoomZoneStep ==
TODO


[[Category:Dungeon Generation]]
[[Category:Dungeon Generation]]

Revision as of 02:20, 11 August 2025

This article is a stub. You can help PMDO Wiki by expanding it.

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.

General Steps

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

Priority Step Description
2.1 HandleRescues A special step needed to support rescues.
-1 ShowFloorName Gives the floor a name and makes that name appear before fading in.
- ScriptZoneStep Calls a lua script function as the zone step.

Spawn Tables

These are zone steps that initialize spawn tables for all floors.

Priority Step Description
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.

Spread Plans

These are zone steps that are spread plans.

Priority Step Description
Example SpreadBossZoneStep Example
Example SpreadCombinedZoneStep Example
Example SpreadHouses Example
Example SpreadRoomZoneStep Example
Example SpreadStepZoneStep Example
Example SpreadVaults Example