Zone tier

From Caves of Qud Wiki
Jump to: navigation, search

Each zone (or screen) that a player explores has a particular difficulty tier associated with, often referred to as the Zone tier.

Zone tier is one significant factor that contributes to the procedural generation of features in Caves of Qud, such as the level and difficulty of creatures that are found in a particular zone, or the items that can be obtained as random loot from a Chest.pngchest in that zone. Procedural generation is also influenced by other factors, such as the terrain type of the current zone, and whether or not the current zone is part of a village or a unique location.

Zone tier is determined based on a combination of the following elements:

  • The surface tier of the current World Map parasangAn area made of 3x3 screens, which is represented as one tile on the overworld map..
  • The depth of the current zone, if it is underground.

Background[edit | edit source]

For historical reasons, the game uses two different systems to calculate zone tier. This can sometimes make determining the zone tier a bit tricky, because depending on which feature is using the zone tier, it may be calculated using one system or the other (even in the same single zone). For the purposes of this article, we'll give a name to each of those systems to help better distinguish them:

  • Regional Zone Tier: This type of zone tier is the most commonly used. It is closely linked to the world map terrain type of the zone. For example, all Hills.pngHills areas have a regional zone tier of 2, even the few Hills parasangs that are in the far upper-right corner of the world map, sandwiched between the Deathlands and the Mountains.
  • Static Zone Tier: This type of zone tier appears to generally be an older type of zone tier system. It is based on static values that are defined in a configuration file[1] in the game directory. This system of zone tiers is used for fewer things, but it is still used frequently enough to be worth mentioning.

As a general rule, these two zone tier systems tend to be quite similar on the western half of the world map. They differ more significantly on the eastern half of the map.

Tiers and Procedural Generation[edit | edit source]

Elder Irudad with zetachrome pumps

A location's zone tier is generally used as a rough guide for procedural generation of creatures and items in that zone.

For example, in an area with a zone tier of 5, tier 5 creatures (such as Dynamic turret tinker.pngdynamic turret tinkers) and tier 5 items (such as Fullerite gauntlets.pngfullerite gauntlets) are more likely to be found. Note that zone tier is only one of several factors that affects the dynamic generation of creatures and objects in the world. Specific types of terrain, biomes, unique locations (such as historic sites or dungeons), or other factors can influence the objects and items that are generated in particular zones. This is why, for example, the surface levels of the Desert canyons.pngDesert Canyons will always contain the same primary creatures, such as Snapjaw scavenger.pngsnapjaws, Equimax.pngequimaxes, and Giant dragonfly.pnggiant dragonflies - this biome has its own unique population/encounter tables.

Most biomes have unique generation tables defined for their surface and levels 1-5 underground.[2] Once you descend to level 6 or lower in most areas, creature and item generation typically are more directly correlated to zone tier, creature tier, and item tier, and is less strictly defined by terrain-specific spawning logic.

There is also an element of randomness at play. For example, the dynamic loot tables for each zone tier have a small chance to roll upward one tier higher. This effect can chain in succession (although at very low probability), sometimes resulting in loot several tiers higher than expected. For example, Elder irudad.pngElder Irudad may spawn with tier 8 Zetachrome pumps.pngzetachrome pumps in Ovw joppa.pngJoppa at the start of the game, even though Joppa has a very low zone tier.

Creature Tier[edit | edit source]

Creature tier is based on level. Creatures of levels 1-9 are tier 1 for the purposes of dynamic zone generation. A creature's tier increases by one for additional each five levels (creatures of levels 10-14 are tier 2, creatures of level 15-19 are tier 3, etcetera).

Note that this logic for creature tier varies slightly from how a creature's XP tier is calculated (XP tier can go as low as 0). For more information about XP tiers, refer to the Experience page.

Item Tier[edit | edit source]

Item tier is manually specified for each item in the game's ObjectBlueprints.xml. You can view the tier of a particular item on its wiki page. For example, a Flamethrower.pngflamethrower is a tier 4 item.

Regional Zone Tier[edit | edit source]

The subject of this section has no official name presented in-game. As a result, a name for it was chosen at the discretion of wiki editors.

The following map shows the regional zone tier for all areas in Caves of Qud.

22222222211324444444444444444444444444444444444444444444444442444444422444444444
22222222112224442222222444232333333344434444424444444444444442224422224444444444
22222122211224222222112222333333331334433324424444555555544442222224444444442244
22222222211222211222122224333333333333433332422445555555534444422444444444225224
22222222221112211111112233333333333344433324224443555553333444444444444442555524
22222222222111112222223333333333333343333244244433335533334444433333244442255524
22222222222211222211223333333333333344444224244334333333444443433335224444225524
22222222222211222111232333333333333343334422224334444444444443333335524444225524
22222222222112221112233333333333333343333442244444444444433333333555222244222524
22222222222122212112233343344444333443333444444333344433333333333553352222225524
22222222222111222122233333433333333433333333434333333333333333333355555552225224
22222222222112221222333334444433334433333333333333333333333333344444455552255524
22222222222221222212233333333344444333334333433333333333333333344444455555555244
22222222222222122112244443433444444333333333444333333333333333344444444555555524
22222222222222122212221343334444444333333433343333333333333333444444444455555524
22222222222211112222233333344444443333433444333333333333333333333444444455555224
22222222221111111112223333444444333334433333343555333333333334443344444455555224
22222222211211111211223444444433334333333333334555333333333344444444444455555524
22222222211111111211344433433333333333434443333555333333333344445555545555555524
22222222111111112211333344433333333444444333333333333344443334445555555555555524
22222222211111112113333343133333333343333333333333333444444455555555555555555524
22222221111111112211134443333333333333333333333333333333344455555555555555555524
22222221111111112222133333333333333333333333433333334433434455555555555555555224
22222111111111111222213313331113333333113333333333334444455555555555555522222244
22222111111111122222221111111111111111223333333333344444555555555555555444244444
World map.png

Features That Use Regional Zone Tier[edit | edit source]

Everything that is not explicitly listed as using static zone tier in the Static Zone Tier section of this page uses regional zone tier.

Some examples of things that are influenced by regional zone tier:

Calculating Regional Zone Tier[edit | edit source]

To determine the regional zone tier for a zone:[15]

  1. Find the surface regional zone tier for the current parasang in the world map pictured above.
    • This is closely tied to terrain type - for example, all Mountains.pngMountains zones have a surface regional zone tier of 4.
  2. Next, modify that value based on the current depth:
    • The zone tier is unchanged for the surface level and levels 1-4 underground.
    • Otherwise, the zone tier is increased by Floor(Depth / 5). Depth 5-9 increases the zone tier by 1, depth 10-14 increases the zone tier by 2, and so on.
      • As an example, if the player digs beneath a Jungle.pngJungle biome (regional zone tier 3), the zone tier at depth 17 will be 6.
  3. Finally, modify the result to ensure it is a number between 1 and 8. If a calculation would result in a zone tier value lower than 1 or higher than 8, the result is always constrained to the nearest number within the 1 to 8 range.

Static Zone Tier[edit | edit source]

The subject of this section has no official name presented in-game. As a result, a name for it was chosen at the discretion of wiki editors.

The following map shows the static zone tier for all areas in Caves of Qud.

33333333322324444444444444444444444444444444444444444444444444444444444444444444
33333333223324442222222444232333333344333333333333333333333355555555555555555555
33333333322224222222222222333333333334433333333333333333333355555555555555555555
33333333322222222222222225333333333333433333333333333333333355555555555555555555
33333333332222222222222233333333333344433333333333333333333355555555555555555555
23333333333111112222223333333333333343333333333333333333333355555555555555555555
33333333333311222211223333333333333343333333333333333333333355555555555555555555
33333333333311222111232333333333333343333333333333333333333355555555555555555555
33333222222112221112233333333333333343333333333333333333333355555555555555555555
33332222222122212112233443344444333443333333333333333333333355555555555555555555
33322222222111222122233333433333333433333333333333333333333355555555555555555555
33222222222112221222333334444433334433333333333333333333333355555555555555555555
32222222222221222212233333333344444333333333333333333333333355555555555555555555
22222222222222122112244443433444444333333333333333333333333355555555555555555555
22222222222222122212223343334444444333333333333333333333333355555555555555555555
22222222222211112222233333344444443333333333333333333333333355555555555555555555
22222222220111111112223333444444333333333333333333333333333355555555555555555555
22222222200211111211223444444433333333333333333333333333333355555555555555555555
22222222201111111211344433433333333333333333333333333333333355555555555555555555
22222222000111112211333344433333333333333333333333333333333355555555555555555555
22222222200111112113333343333333333333333333333333333333333355555555555555555555
22222220000000112211134443333333333333333333333333333333333355555555555555555555
22222220000000111222133333333333333333333333333333333333333355555555555555555555
22222000000001111122213313331113333333113333333333333333333355555555555555555555
22222000000011121222221111111111111111223333333333333333333355555555555555555555
World map.png

Features That Use Static Zone Tier[edit | edit source]

This list is intended to be exhaustive. If something is not explicitly listed here, you can assume that it most likely uses regional zone tier instead.

The following things are influenced by static zone tier:

Calculating Static Zone Tier[edit | edit source]

To determine the static zone tier for a zone:[26]

  • If the current zone is strata 6 or deeper underground:
    1. Calculate 2 + Floor((Strata - 6) / 5), regardless of the world location.
    2. Modify the result to ensure it is a number between 1 and 8. The result is always constrained to the nearest number within the 1 to 8 range.
  • Otherwise, for any zone higher than strata 6 underground:
    1. Take the static zone tier value shown in the map above.
    2. Modify that value to ensure it is a number between 1 and 8. The result is always constrained to the nearest number within the 1 to 8 range.

References[edit | edit source]

This information is reliable as of patch 2.0.201.58.
  1. Text.txt
  2. Determined by review of Worlds.xml, ZoneTemplates.xml, and PopulationTables.xml.
  3. ObjectBlueprints.xml
  4. XRL.World.Parts.TurretTinker
  5. PopulationTables.xml
  6. HistoryKit.HistoricEvent, method AddQuestsForRegion
  7. XRL.World.WorldBuilders.JoppaWorldBuilder, method AddLairAt
  8. XRL.Annals.InitializeVillage, method Generate
  9. Technical note: Includes {zonetier} stand-ins in all XML files other than ZoneTemplates.xml.
  10. XRL.ZoneTemplate
  11. XRL.World.GameObjectFactory
  12. XRL.World.Encounters.EncounterObject
  13. XRL.World.Encounters.EncounterPopulation
  14. XRL.World.Encounters.EncounterTableObject
  15. XRL.World.ZoneManager, method GetZoneTier
  16. XRL.World.WorldBuilders.JoppaWorldBuilder, method AddSultanHistoryLocations
  17. XRL.World.Parts.SultanRegionSurface
  18. XRL.World.Parts.VillageSurface
  19. XRL.World.Parts.JoppaWorldBuilder, method BuildSecrets
  20. XRL.World.Parts.PetEitherOr
  21. XRL.World.Parts.RandomAltarBaetyl
  22. XRL.World.ZoneBuilders.FactionEncounters – Affects anything that uses "FactionEncounters" builder, which is most world zones.
  23. PopulationTables.xml - Possible factions chosen from "GenericFactionPopulation"
  24. XRL.World.ZoneBuildes.PlaceRelicBuilder, method BuildZoneWithRelic
  25. XRL.ZoneTemplate – Applies to anything that uses "{zonetier}" in ZoneTemplates.xml
  26. XRL.World.Zone, property NewTier

General Technical Notes[edit | edit source]

The following fields and methods return a "regional zone tier" value, based on the "RegionTier" tag on the World Map terrain object. These are the most commonly used methods in the codebase for obtaining zone tier:

  • XRL.World.Zone.Tier
  • XRL.World.ZoneManager.GetZoneTier()
  • XRL.World.ZoneManager.zoneGenerationContextTier

The following fields and methods return a "static zone tier" that is instead loaded from the game's Text.txt file.

  • XRL.World.WorldBuilders.JoppaWorldBuilder.getLocationOfTier(int)
  • XRL.World.WorldBuilders.JoppaWorldBuilder.getLocationOfTier(int, int)
  • XRL.World.WorldBuilders.JoppaWorldBuilder.getLocationWithinNFromTerrainTypeTier()
  • XRL.World.Zone.NewTier: This is one of the most widely used for "static zone tier" and is the only method that takes z-level into account. It has peculiar logic for calculating below-ground tiers, which completely ignores the surface tier at strata 6 and below.
  • XRL.ZoneTemplateNode.VariableReplace()