Random number generation

This article may need cleanup to meet quality standards.
Please help improve this page by editing it.

Reason: "Needs more info on main channel RNG, world generation, and Irritable Genome. Probably needs some rephrasing for clarity as well."

Random number generation (RNG) is used in most mechanics in Caves of Qud. There are two kinds of RNG in Qud - the main channel, which is used for most random effects, and specially seeded channels, which are used for particular effects that cannot be normally rerolled.

Main channel

The main channel is used by almost anything that needs random values, including cooking with  neutron flux[1]. Anything dependent on the main channel can be rerolled with Precognition. Notably, the random result for mutants of  Eaters' nectar injectors uses the main RNG channel rather than a seeded channel, unlike  drops of nectar.[2]

Seeded RNG

A few rolls use named RNG channels with a stored seed. A roll on one of these channels is uniquely determined by the seed, and generates a new seed which is then saved on the associated game object (usually the player) for the next roll.[3] This means that they cannot be trivially rerolled with Precognition effects, as returning to the beginning of the vision will restore the original seed. However, some seeded RNG channels can be rerolled by specific in-game effects outside of their main usages. Body swapping with a clone may also reset seeded effects. The seeded effects are:

  • Obtaining Mutations - this uses the "RandomMutationBuy" channel and applies mainly to the set of options when buying a new mutation.[4] The mutation RNG channel can be rerolled by applying an  Eaters' nectar injector or cooking with a  drop of nectar. Additionally, the mutating effect (from the mutating gaze of a  gamma moth) repeatedly rerolls this channel when it gives the message "You feel increasingly unstable.".[5][6]
  • Drinking  brain brine - this uses the "brainbrine" channel. While the effect type is determined by the seeded RNG, the specific result can be determined by other RNG channels. For instance, if drinking  brain brine gives secrets or skills, it will continue to give the same number of secrets or skills even when rerolled with Precognition, but the specific secrets or skills will be picked using the general RNG channel. However, if it gives a mutation, it uses its own seeded RNG channel rather than the mutation RNG channel.[7] Like mutations, this RNG channel can be rerolled by applying an  Eaters' nectar injector or cooking with a  drop of nectar. Additionally, the mutating effect (from the mutating gaze of a  gamma moth) repeatedly rerolls this channel when it gives the message "You feel increasingly unstable.".[5][6]
  • Cooking with  drops of nectar - this uses the "CookingDomainAttributes_UnitPermanentAllStats_25Percent" channel. Note that this is a separate channel from the mutation and brain brine seeded RNGs, even though the cooking effect rerolls both of these channels.[8][6] It cannot be rerolled through any means.
  • Generation of Sultan murals in the Tomb of the Eaters - this uses the "SultanMural" channel.[9] This cannot be rerolled through any means and has no mechanical impact on gameplay.

References

This information is reliable as of patch 2.0.203.28.
  1. XRL.World.Effects.CookingDomainDensity_UnitPermanentAV
  2. XRL.World.Parts.Nectar_Tonic_Applicator
  3. XRL.World.GameObject, method WithSeededRandom
  4. XRL.UI.StatusScreen, method BuyRandomMutation
  5. 5.0 5.1 XRL.World.Effects.Mutating
  6. 6.0 6.1 6.2 XRL.World.GameObject, method PermuteRandomMutationBuys
  7. XRL.World.Effects.BrainBrineCurse
  8. XRL.World.Effects.CookingDomainAttributes_UnitPermanentAllStats_25Percent
  9. XRL.World.Parts.SultanMuralController