Wishes

From Caves of Qud Wiki
Revision as of 10:20, 20 November 2020 by Jakusio (talk | contribs) (added testsifrah, added synopsis' for a few wishes)
Jump to navigation Jump to search
This information is reliable as of patch 2.0.200.81. If this is no longer the current patch, you can help by updating it.
As of Patch This information is reliable as of patch 2.0.200.81.

A wish is a command that can be executed by the player through a console accessible with a key binding (by default not bound). They are generally considered debug commands, but may also be of use setting up special runs or for whatever else the player would like to use them for.

Binding the wish command

To bind wishing to a key combination:

  1. From the main view, press Escape to open the main menu.
  2. Select the Key Mapping menu option.
  3. Use the arrow keys to scroll to the Debug section.
  4. Scroll to Wish and press Enter.
  5. Press whatever key combination you would like to access the wish console with. For example, Ctrl+Shift+W.

(The game may prompt you if your chosen combination is already taken by something else.)

Now it should be possible to wish from the main view.

Usage Notes

Most wish commands are strictly case-sensitive. Keep that in mind when using any of the wishes below. For example, wishing dismember:Tail will dismember your tail (if you have a tail), but wishing Dismember:Tail will spawn a schematics drafter because the latter wish does not exactly match a wish command.

Entering any input that does not exactly match a wish command will perform a lexigraphic search (using a Levenshtein distance algorithm) on object blueprints, mutations, quests, and zones, and attempt the best match it can find.[1] Matching on an object blueprint spawns that object; matching on a mutation grants that mutation; matching on a quest begins that quest; and matching on a zone teleports to that zone.

A very common problem that occurs when a wish goes wrong is that your character will gain an undesirable mutation with a name that is somewhat similar to your wish command. If this happens to you, use the mutationbgone wish to remove the mutation.

List of wishes

Here wishes are sorted into headings based on what they do. Consider using the table of contents at the beginning of this article to jump to a topic of interest.

In the names of wishes, < angle brackets > indicate a blank to fill in and [ square brackets ] indicate an optional part.

A note for modders: Unless otherwise mentioned, the logic for each wish is handled in the game's Wishing class.[2]

Special modes

All special modes are off by default. Once turned on, they remain in effect across game sessions until either they're turned off or the game is closed. They can be turned off by using the same wish that turned them on.

calm
Turn off AI
In Calm Mode, AI behavior does not run. This causes most creatures to remain in place and do nothing, but, for example, segmented mirthworms will continue to spawn more mirthworms.
cool
Turn off cooldowns
In Cool Mode, the player using abilities does not cause them to go on cooldown. Abilities already on cooldown will cool down normally. Other creatures' abilities still go on cooldown.
idkfa
Become nigh-impervious to common threats
In God Mode:
  • You cannot lose hit points.
  • Your hydration is always at maximum.
  • Your attacks that penetrate instantly kill.
  • You cannot become lost from moving on world map tiles.
  • You can move through normally impassible objects, such as walls.
  • You can automove (such as autoexplore) while a hostile creature is visible.

However, you can still die from effects that kill without inflicting damage, such as the gaze of the lithofex.

In all of the aforementioned points, "you" refers to the player body at any given time. Swapping bodies after activating God Mode will cause it to start applying to the new body.

One special mode, identified in the key mapping menu as ExploreZone, is not accessible through a wish. To access it, follow the instructions for binding the wish command, but substitute ExploreZone in place of Wish. ExploreZone causes the entire zone the player body is in to remain revealed while it's active.

Character stats and effects

chimericpart
Add a chimeric body part to the player[3]
clean
Remove all effects and stat penalties from the player body
cleaneffects
Remove all effects from the player body
clearstatshifts
Clear all stat changes on the player, including those from currently equipped items. For those stats to reapply, they must be reequipped.
cloacasurprise
Cause effect of eating the Cloaca Surprise
confusion:<duration>:<level>
Confuse the player character
cooktestunits:<domain,domain>
Apply a random cooking basic effect with the given domains
cooktestunits:<domain,domain>
Apply a random cooking effect with the given domains
daze
Daze yourself for 2–8 turns
decapitateme
Decapitate one of your heads
As usual for decapitation, you will die immediately if this leaves you with no heads, but merely bleed severely if you still have at least one. Either way, you will be blamed for your own death if you die this way.
dismember:<limb name>
Dismember a limb
unequip:<limb name>
Forcefully unequip the specified limb on the player.
effect:<effect id>
Apply an effect to the player
famished
Become famished
hungry
Become hungry
license[:<tier>]
Increase license tier by specified amount or 20
mutation:<id>
Add a mutation
mutationbgone[:<id>]
Remove a mutation[4].
It is generally easiest to use this wish without specifying an ID (i.e. simply wish mutationbgone). Doing so will open a menu that allows you to pick the mutation you wish to remove.
negativeeffects
List all negative effects that exist in the game[5]
removepart:<part>
Remove the specified part from the currently controlled creature.
notlost
Remove the lost effect
pro
Set all attributes to 40

All six of the player body's base attributes become 40, even those that are greater than 40.

This does not remove any temporary effects that boost attributes, such as Ego Projection.
showmygender
Show the player's gender
showstatshifts
Displays all stat changes currently applied to the player, and from what source.
slow
Set speed to 25
spend
Spend points randomly via AI algorithm
stat:<statid>:<value>
Set the player's stat to a specific value.
Accepts the following as arguments: Hitpoints,AV, DV, Strength, Agility, Toughness, Intelligence, Willpower, Ego, Energy, Speed, MoveSpeed, XP, XPValue, SP, MP, AP, MA, HeatResistance, ColdResistance, ElectricResistance, AcidResistance, and Level. Case sensitive, must be typed exactly as shown.
statbonus:<statid>:<value>
Add an amount to the player's specified stat
Same arguments as stat.
statpenalty:<statid>:<value>
Penalize a specified stat by an amount
Same arguments as stat.
supermutant
Get all mutations
trip
Go prone
xpmul:<amount>
Set the global XP multiplier
xp:<amount>
Grant XP
xpverbose:<amount>
Grant XP but don't skip level-up popups

Conversations

conv:<id>[:<speakerblueprint>]
Start a conversation
convnode:<id>:<startnode>[:<speakerblueprint>]
Start a conversation at a specific node

Diseases and infections

glotrotonset
Give yourself glotrot onset
glotrot
Give yourself glotrot
glotrotfinal
Give yourself glotrot at its final stage – Nnnnnnnnnn.
cureglotrot
Cure yourself of glotrot
ironshankonset
Give yourself ironshank onset
ironshank
Give yourself ironshank
cureironshank
Cure yourself of ironshank
fungone
Remove itchy skin and spores
glowcrust
Get infected with glowcrust
curefungus
Cure and clean all fungal infections

Factions

clearfactionmembership
Clear player's faction membership
factionrep:<id>:<amount>
Modify rep with a given faction
traveler
Become neutral with all factions
wandermode
Become neutral with all hostile factions

Going places

blink
Teleport
crossintobright
Cross into Brightsheol.
godown:<n>
Go down n levels

You'll go down n levels, or go up -n levels if n is negative.

Note: This wish also wishes calm! If you want AI to run (or not run) afterwards, you need to wish calm manually.
where?
Outputs the current zone ID to Player.log
goto:<n>
Go to the specified zone
returntoqud
Return to Qud from the thin world
sultantomb1
Go to JoppaWorld.53.3.0.2.6 at (39,14).
sultantomb6
Go to JoppaWorld.53.3.1.0.1 at (39,14).
thinworld
Enter the thin world
thinworldx
Same as thinworld
zone:<id>
Teleport to a zone based on its ID

Quests

questdebug
Open a dialog with quest options
startquest:<quest name>
Start a quest
quest:<quest name>
Same as startquest
finishqueststep:<quest name>:<step name>
Finish a single step of a quest
completequest:<quest name>
Complete a quest
stage2
Complete quests and grant XP and gear for early game
stage3
Complete quests and grant XP and gear for pre-Golgotha
stage4
Complete quests and grant XP and gear for post-Golgotha
stage5
Complete quests and grant XP and gear for pre-A Call to Arms
stage6
Complete quests and grant XP and gear for pre-Pax Klanq, I Presume?
stage8 OR tombbetastart
Complete quests and grant XP and gear for just before finishing Pax Klanq, I Presume?
sherlock
Complete Find Eskhind, start Kith and Kin, add all clues to the journal, and spawn Neelahind
hindrenawardtest,<Motive>,<Circumstance>,<Thief>
Grant a reward for Kith and Kin based on the arguments
hindrentexttest,<Motive>,<Circumstance>,<Thief>
Tests the output text of accusing someone with the given arguments
finishallquests
Finish all quests in the journal
othowander1
Trigger Otho's behavior of talking to Barathrum and returning.
markofdeath
Toggle the mark of death
markofdeath?
Check if the mark of death is on or not

Journal Secrets

filljournal
Fills the Chronology section of the journal with nonsense.
reshephgospel
Reveals the sultan history of Resheph.
Reveals the entire sultan history of Resheph, adding all revealed secrets to the journal.
reveal1sultanhistory
Reveals the sultan history of one sultan.
Reveals the entire sultan history of one sultan other than Resheph, adding all revealed secrets to the journal. Using this wish more than once won't reveal the secrets of another sultan. The wish can only reveal a single sultan's secrets for the current world seed.
revealobservations
Reveals all Gossip and Lore secrets.
sultanhistory
Reveals the sultan history of all sultans.
Reveals the entire sultan history of all sultans, including Resheph. All revealed secrets are added to the journal.
sultanreveal
Reveals all historic locations in the current world.
villagereveal
Reveals all villages in the current world.
revealmapnotes
Reveals all pre-generated Location secrets for the current world.
Reveals everything that would appear in the "Locations" section of the journal, including historic sites, ruins, villages, natural features, merchants, lairs, oddities, and more. Note that the player may still find additional dynamically-generated location-type secrets if they explore the world after using this command, such as the location of randomly-generated dromad caravans or weeps. Ruins and villages are entirely determined during initial world generation, so you will no longer discover any new ruins or villages after using this wish.
revealsecret:<secret id>
Reveals a specific journal secret.
Most journal secrets are assigned a random identifier, so you can only use this wish to reveal certain locations that have a unique, predetermined journal secret ID.

The following locations have a predetermined secret ID that you can use with this wish:

Skills

axer
Add all Axe skills
cluber
Add all Cudgel skills
fencer
Add all Long Blade skills
masterchef
Add all Cooking and Gathering skills and some ingredients
sblader
Add all Short Blade skills
skillpoints
Add 20,000 skill points
smartass
Add all Tinkering skills and recipes

Spawning things

Entering any input that does not exactly match a wish command will perform a lexigraphic search (using a Levenshtein distance algorithm) on object blueprints, mutations, quests, and zones, and attempt the best match it can find.[6] Matching on an object blueprint spawns that object; matching on a mutation grants that mutation; matching on a quest begins that quest; and matching on a zone teleports to that zone.

Generally this means that, to spawn a specific object, you can simply wish for its object ID.

Object IDs are listed on each wiki page in the ID field of the infobox.


allbox
Create a chest with every object in the game
clone
Clone yourself

A clone of the player body is created in the chosen direction, occupying the same cell as anything else that was already there.

To clone someone other than the current player body, use swap to become someone else before using clone.
datadisk
Pick a data disk for any tinkerable item
EarlRelic
Create a relic based on a Spindle negotiation with frogs and fish
glass
Generate a historic relic associated with glass
sultanrelics
Generates a couple sultan relics.
extraculthunter
Spawn a cult esper hunter
extrasolohunter
Spawn a solo esper hunter
leadslugs
Get a lot of lead slugs
object:<id>
Create an object based on its blueprint name
playerlevelmob
Spawn a mob around the player's level
randomitems
Spawn an assortment of random items
Twenty random items are created in the same cell as the player body. These are not always “items” in the sense that they can be picked up; for example, holograms of Eater can be spawned.
RandomNoTakeObject
Spawns a random object that has the NoTake tag.
randomrelic:<n>
Generate n random relics
relic
Generate all historic relics and a random one for each type
smartitem:<id>
Create a sapient item
This article has information that is missing or not up to par.
Reason: Which qualities?

An object blueprint is chosen from among blueprints with certain qualities using a Levenshtein distance algorithm, and an object of the closest matching blueprint is created in the same cell as the player body.

This object has a unique name and is sapient, in a distinct way from those animated with Spray-a-Brain. Each one likes one thing and hates another, and has a feeling towards the player quantified as a positive or negative integer or zero.

Speculation: There is no apparent way to influence the player attitude. It's likely that this feature is incomplete.
testhero:<base type>
Create a legendary creature
base type can be most any object blueprint. If you specify something that normally doesn't have a brain, it will be given one.
spawn:<object>
maxmod
Set the mod chance to 999
This results in all moddable items, such as weapons, spawning with the maximum number of mods (3).

Rolling dice

roll:<die expression>
Roll dice based on a die expression
rollmax:<die expression>
Get the maximum value of a die expression
rollmin:<die expression>
Get the minimum value of a die expression
rollcached:<dice expression>
rollmaxcached:<dice expression>
rollmincached:<dice expression>

Miscellaneous

a:<word>
Returns "a" or "an" depending on the word entered.
auditblueprints
Audit blueprints
beguile
Make something your follower (but not in the same way as Beguile)
bits[:<>]
Add tinkering bits
bodyparttypes
Dump list of all body part types
bookfuck
Random generate a Markov page from 10 books and save into .rtf files
bookfuckonefile
Like bookfuck, but save all into one big file
bordertest
Test screenbuffer performance
checkforpart:<part>
Check if the player has a given part
clearach!!!
Erase your achievements
The wish will prompt if you really want to clear your achievements. If you select yes:
  • The game will attempt to remove all of your Steam achievements for the game. This will fail silently if the game session is not currently attached to Steam.
  • Many of the game's global state variables that are preserved across sessions will be reset to 0, such as the count of how many snapjaws you've killed.
  • The game will attempt to reset all of your Steam stats for the game to 0. Again, this will fail if Steam is not attached.
copy
Copy whatever is in the specified cell
cyber
Test cyber terminal
day
Set the time to day
disablemarkup
Disable markup parsing, leaving colored text {{C|Like this}}.
dude
Get a creature from the current zone's population
enablemarkup
Reenable markup parsing if it was disabled.
eventtest
Time how long end turn events are
explodingpalm
Dismember all limbs and decapitate a nearby creature
factionsheeter
Outputs factionsheet.csv which is a table of all factions and the number of creatures in that faction, grouped by tier.
find:<blueprint>
Search the zone for an object with a particular blueprint
findduplicaterecipes
Find duplicate tinker recipes
findfarmers
Find all objects with the default farmer sprite
fungalvision
Act as if you ate an Eater's flesh
garbagetest
Test the garbage collector
geno:<name>
Kill all of a type of creature locally
groundliquid
Display the ground liquid in the player's cell
hasblueprintbeenseen:<blueprint>
When supplied the name of an object blueprint as defined in ObjectBlueprints.xml, returns whether or not the player has seen that object.
heapshot
Take a heap snapshot
highpools
Output max(?) Event Pool allocations
highreg
Has no function, and returns a message saying that it only works in the Unity editor.
makevillage
Build a village
mazetest
Test recursive backtrack maze generator
memcheck
Check memory
minime
Create an evil twin
nanoterm
Build a test cyber terminal
night
Set the time to night
objdump
Send all objects to ObjectDump.txt
optionspop
Test the options popup
playeronly
Remove everyone but the player from the action queue
The action queue is the collection of game actors that are given the opportunity to take actions. Removing someone from the action queue means they will not be able to take any actions until they get added back to the queue somehow. This wish removes everyone but the player, so that the player is the only one who can act.

Moving between zones immediately flushes the action queue, such that moving across a zone boundary and back will undo the effect of this wish.

Changing bodies puts both your new body and your old body in the action queue. This means that wishing playeronly followed by swap will still allow the body you leave to act on its own. You can prevent this by wishing playeronly again.

This wish is similar to but distinct from calm.
pluralize:<word>
Get the plural form of a word
A guess at the plural form of the word entered is shown in a pop-up. The wish is aware of some irregular plurals, such as “deer”, but largely applies rules based on the final letters of the phrase entered. For phrases including the word “of”, the plural suffix is added to the part of the phrase before “of”, rather than at the end.
popuptest
Test popups
powergrid
Generate a power grid in the zone
powergriddebug
Like powergrid but with more debug logging
powergridruin
Generate a damaged power grid in the zone
purgeobjectcache!
Purge the object cache
rebuild
Rebuild the current zone
rebuildbody:<asAnatomy>
When supplied an anatomy defined in Bodies.xml, rebuilds the player's body according to that anatomy.
reequip
Reequip using AI equip routine
regionalize
Test the regionalizer
reload
Reload game files
This reloads the game assets, such as ObjectBlueprints.xml, from all active mods. Almost everything is reloaded, but some things are not:
  • Object tile images will not update until the game client is reopened.
  • Changes to Worlds.xml will not affect an existing save. A new one must be started.
This may not be an exhaustive list.
seed:<n>
Set the world seed
sheeter
Outputs two files: monstersheet.csv and monstersheet_short.csv.
The game will try to iterate through every creature and calculate average damage, AV, DV, Strength, EXP, and such. The game usually crashes before the csvs are fully filled out.
shove
Shove a nearby object in a direction
showcooldownminima
Report all cooldowns
showgenders
Display all gender strings
showintproperty:<prop>
Display player int property value
shownamingchances
Show chance to name an object
showpronounsets
Show all pronoun sets
showrandomfaction
Display a random faction name
showrandomfactionexceptbeasts
Display a random faction name, except Beasts
showrandomfactionshortname
Display a random faction's short name
showrandomoldfaction
Display a random old faction name
showstringproperty:<prop>
Display player string property value
somethinggoeswrong
Something goes wrong in the thin world
sultanmuralwalltest
Test sultan murals
sultantest:<attributes>
Create a sultan dungeon in this parasang with the given attributes
swap
Swap bodies with an adjacent target
Unlike with Domination, swapping bodies in this way has an indefinite duration, and your previous body can act on its own.
test437
Show each code page 437 character
testcardinal
Test cardinal numbers
testearl
Test the Spindle negotiation with dogs, cannibals, dromads, and girsh
testendmessage
Outputs the ending popup when youve completed the last implemented main story quest.
testmadness
Test Pax Klanq madness
testmarkup
Test text shaders
testobjects
Test all possible dynamic encounter objects
testordinal
Test ordinal numbers
testpets
Test all possible village pet objects
testpop
Test the population manager
testsifrah
Initiates a test version of the Sifrah minigame.
teststringbuilder
Unit test string builder
testzoneparse
Outputs Zone ID, parse result, and whether it matches on rebuild.
togglementalshields
topevents
Display top event IDs
tunneltest
Test tunnel system
villageprops
List properties of current village
wavetilegen
Test tilegen
weather
Show weather information
websplat
Test phase web splats
whatami
Display player body blueprint
xy
Show the player's (X, Y) location

Wishes with unlisted functions

This article has information that is missing or not up to par.
Reason: What do these wishes do? How are they used?
auditrenderlayers
expand
getstringgamestate(?)
pushgameview <view>
setstringgamestate(?)

References

  1. XRL.WishSearcher, method SearchForWish
  2. XRL.World.Capabilities.Wishing
  3. XRL.World.Parts.Mutations, method HandleChimericPartWish
  4. XRL.Wish.MutationBGoneWishHandler
  5. XRL.World.Effect, method HandleNegativeEffectsWish
  6. XRL.WishSearcher, method SearchForWish