Wishes: Difference between revisions

From Caves of Qud Wiki
Jump to navigation Jump to search
(→‎Miscellaneous: clarify the term "part")
(→‎Character stats and effects: clarify the term "part")
Line 94: Line 94:
{{Wish|name=mutationbgone|usage=mutationbgone[:<id>]|synopsis=Remove a mutation{{Code Reference | namespace = XRL.Wish | class = MutationBGoneWishHandler}}.|description=It is generally easiest to use this wish without specifying an ID (i.e. simply wish <code>mutationbgone</code>). Doing so will open a menu that allows you to pick the mutation you wish to remove.}}
{{Wish|name=mutationbgone|usage=mutationbgone[:<id>]|synopsis=Remove a mutation{{Code Reference | namespace = XRL.Wish | class = MutationBGoneWishHandler}}.|description=It is generally easiest to use this wish without specifying an ID (i.e. simply wish <code>mutationbgone</code>). Doing so will open a menu that allows you to pick the mutation you wish to remove.}}


{{Wish|name=removepart|usage=removepart:<part>|synopsis=Remove the specified part from the currently controlled creature.}}
{{Wish|name=removepart|usage=removepart:<part>|synopsis=Remove the specified part from the currently controlled creature.|description="Part" refers to [[Modding:Objects | game object parts]], not body parts.}}


{{Wish|name=notlost|synopsis=Remove the lost effect}}
{{Wish|name=notlost|synopsis=Remove the lost effect}}

Revision as of 07:45, 8 January 2022

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 a 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
bleed
Make yourself bleed, albeit not very much. 0-1 damaage worth of bleeding.
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.
removepart:<part>
Remove the specified part from the currently controlled creature.
"Part" refers to game object parts, not body parts.
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.
fast
Set speed to 500
slow
Set speed to 25
spend
Spend points randomly via AI algorithm
stat:<statid>:<value>
Modifies the player's base stat value by the indicated amount.

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. Accepts a positive or a negative number.

This wish can be used to give yourself mutation points by setting MP.
statbonus:<statid>:<value>
Modifies the player's stat bonus by the indicated amount.
Same arguments as stat. Accepts a positive or negative number. The stat bonus typically tracks temporary adjustments to a stat, such as those gained by wearing equipment that boosts a stat. Using this wish will have a similar effect. For example, extra stat points added by this wish are ignored when attempting to buy a new skill that requires a certain stat value.
statpenalty:<statid>:<value>
Modifies the player's stat penalty by the indicated amount.
Same arguments as stat. Accepts a positive or a negative number.
supermutant
Get all mutations
trip
Go prone
xpmul:<amount>
Set the global XP multiplier
xp:<amount>
Grant XP. This can get very loud.
xpverbose:<amount>
Grant XP but don't skip level-up popups
shownamingchances
Show chance to rename an object
itemnaming[:<kill>[:<influence>]]
Grants the player an opportunity to rename an item.
You can simply wish itemnaming for the simplest version of this wish. kill and influence will treat the naming opportunity as if it was inspired by killing or having an interaction with the specified thing(s). For example, itemnaming:Madpole to name the item as if you just killed a madpole, or itemnaming::Q Girl to name the item as if you were inspired by Q Girl.

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
Crosses your character into Brightsheol.
WARNING: Crossing into Brightsheol PERMANENTLY ENDS your character's run. You may be looking for the wish thinworld instead.
godown:<n>
Go down n levels
You'll go down n levels, or go up -n levels if n is negative.
where?
Outputs the current zone ID to message log and Player.log
where
Same as where? but also includes coordinates and only prints to message 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
finishallquests
Finish all quests in the journal
othowander1
Trigger Otho's behavior of talking to Barathrum and returning after Decoding the Signal.
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

allskills
Add all skills
skill:<skillID>
Add a skill by its internal class ID (ex: skill:Survival_Camp)
skill:<skill name>
Add a skill by its skill name (ex: skill:make camp)
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.[5] 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.

placeobjecttest:<ObjectID>
Places 200 of <ObjectID> into the current zone.
Note that the ObjectID must be an exact, case-sensitive, match on the object's ID or this wish will not work. Example: placeobjecttest:Flamethrower
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 some old non-current version of Spindle negotiation with frogs and fish
factionheirloom:<faction id>
Generate relic based on heirloom (similar to Spindle reward) for faction
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
factionencounter:<FactionName>
Creates a faction encounter in the current zone
While this will technically work with any faction, it will only work "properly" with factions defined in the GenericFactionPopulation population table, which includes Pariahs, Bears, Arachnids, Tortoises, Antelopes, Apes, Barathrumites, Birds, Mechanimists, Seekers of the Sightless Way, and Putus Templar (as of patch 2.0.201.58). That's because the game defines some special logic for these supported factions in PopulationTables.xml.
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
bpxml:<blueprint id>
Print's a blueprint's XML data to screen message log.
checkforpart:<part>
Check if the player has a given part
"Part" refers to game object parts, not body parts.
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.
    • The Steam overlay may not immediately refresh your list of achievements, but restarting the game should do so.
  • 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
exception
A useful wish which attempts to answer the age old question of what 10 divided by 0 is
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
IMPORTANT: This visual effect cannot be removed from your character once wished for![6] If you really need to remove it, you'll have to install and use some custom wish code.
garbagetest
Test the garbage collector
geno:<name>
Destroy all of a type of thing nearby
Obliterate all objects with the named blueprint in the zone the player is in. Objects that normally drop things upon destruction do not do so when destroyed this way. It's possible to destroy the player body with this wish, which normally results in the end of the run.
deathgeno:<name>
Works the same as geno except that it kills them to death (potentially leaving things behind) instead of removing them from existence.
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 distinct from calm in that calm leaves everyone in the action queue but prevents AI from running until it's disabled.
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
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. May be terminated by pressing x.
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
zonebuilders
Shows the ZoneBuilder classes used for the current zone.

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?
allhated
allloved
auditrenderlayers
baetylrewardarmor
baetylrewardartifact
baetylrewarditem
baetylrewardmelee
baetylrewardmissile
blueprint
buildscriptmods
clearnavcache
clearprefs
cloacasurprise
configobjectfinderfilters
eviltwin
expand
fire
gainmp
gamestate
getstringgamestate(?)
goclam
hydraulics
hydraulicsglass
hydraulicsmetal
hydraulicsplastic
hydraulicsruin
hydropon
iamconfused
idall
idallhere
impl
item
listtags
lost
maket2
mechpower
memtest
monochrome
monochromeonset
objtest
opinion
objtest
opinion
pushgameview <view>
reefjump
regeneratedefaultequipment
reputation
revealsettlements
rewish
rivertest
roadtest
setintproperty
setstringgamestate(?)
slynthasterisk
slynthquest
sparks
stage10
stage11
stage3a
stage9
stage9b
stage9c
stage9d
stage9e
stage9f
stage9u
statpenality
sultanmuralwalltest2
sultanquests
tombbeta
tombbetaend
tombbetainside
understandpartial
what
wish
wordrel
zap

References

This information is reliable as of patch 2.0.201.50.
  1. XRL.WishSearcher, method SearchForWish
  2. XRL.World.Capabilities.Wishing
  3. XRL.World.Parts.Mutations, method HandleChimericPartWish
  4. XRL.Wish.MutationBGoneWishHandler
  5. XRL.WishSearcher, method SearchForWish
  6. marked as a wontfix issue