Zone Step: Difference between revisions

From PMDOWiki
Imbion (talk | contribs)
Added links
Imbion (talk | contribs)
No edit summary
 
(5 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{stub}}
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 commonly used 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.


{| class="wikitable" style="margin:auto"
{| class="wikitable" style="margin:auto"
Line 13: Line 12:
|-
|-
| -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 32:
|-
|-
| 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 use [[Spread Plan|spread plans]].
{| class="wikitable"
|-
! width="15%" style="text-align:center;"| Priority !! Step !! Description
|-
| <center>-2.2 <small>(Boss Room)</small><br>6.1.1 <small>(Reward)</small>|| [[Spread Boss Zone Step|SpreadBossZoneStep]] || Generates boss battles randomly across the whole segment.
|-
| <center>* || [[Spread Combined Zone Step|SpreadCombinedZoneStep]] || Combines zonesteps that spread across floor to ensure none of them collide. The "higher" steps take priority over the "lower" steps in the list.
|-
| <center>4.1 || [[Spread Houses|SpreadHouses]] || Spreads different [[House|houses]] across the floors.
|-
|-
| * || [[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.
| <center>-4.1<small> ([[GridFloorGen|Grid]])</small><br> -2.2 <small>([[RoomFloorGen|Room]])</small>|| [[Spread Room Zone Step|SpreadRoomZoneStep]] || Takes a room and spreads it across the dungeon based on a SpreadPlan.
|-
|-
| * || [[Spread Step Zone Step|SpreadStepZoneStep]] || Takes a collection of GenSteps and spreads them across the dungeon based on a SpreadPlan.
| <center>* || [[Spread Step Zone Step|SpreadStepZoneStep]] || Takes a collection of GenSteps and spreads them across the dungeon based on a SpreadPlan.  
|-
|-
| * || [[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.
| <center>* || [[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.  
|-
|-
| * || [[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
| <center>6.1.1 <small>(Item) </small><br>5 <small>(Tile)</small><br>6.2.1 <small>(Mob)</small> || [[Spread Vaults|SpreadVaults]] || Spreads [[Vault|vaults]] across the dungeon.
|}
|}
== Spread Plans ==
TODO
== RangeStepZoneStep ==
TODO
== SpreadStepZoneStep ==
TODO
== SpreadStepRangeZoneStep ==
TODO
== SpreadRoomZoneStep ==
TODO


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

Latest revision as of 02:56, 11 August 2025

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 use spread plans.

Priority Step Description
-2.2 (Boss Room)
6.1.1 (Reward)
SpreadBossZoneStep Generates boss battles randomly across the whole segment.
*
SpreadCombinedZoneStep Combines zonesteps that spread across floor to ensure none of them collide. The "higher" steps take priority over the "lower" steps in the list.
4.1
SpreadHouses Spreads different houses across the floors.
-4.1 (Grid)
-2.2 (Room)
SpreadRoomZoneStep Takes a room and spreads it across the dungeon based on a SpreadPlan.
*
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.
6.1.1 (Item)
5 (Tile)
6.2.1 (Mob)
SpreadVaults Spreads vaults across the dungeon.