<aside> 📌

Interaction Dialog was added to DDS in the Jan 2026 update, and enables you to make custom rudimentary side jobs or ways for the player to interact with citizens.

</aside>

image.png

Interaction Event Input Notes
isInteractionDialog Makes the current message a player interaction dialog option.
generateNewItemFromPool Generates a new item at random from the possible items in the item pool (see right side of screenshot above). For a full list of items see the resources reference. For this to work, if a previous item was picked you need to do clearItem first.
findWorldItemFromPool Instead of spawning a new item, this instead attempts to find one of the items in the pool within the existing game world. For this to work, if a previous item was picked you need to do clearItem first.
giveMoney [integer] Gives money to the player
testHasItem Tests whether the parent citizen has the exact picked item in their inventory.
testHasItemSameType Tests whether the parent citizen has an item of the same type as the picked item in their inventory.
testHasItemSameTypeAndOwner Tests whether the parent citizen has an item of the same type and owner as the picked item in their inventory.
testHasItemSameTypeAndOwnerStat [DDS scope reference string] Tests whether the parent citizen has an item of the same type and owner as defined by DDS syntax. The base scope is the owner of the picked object.
clearItem Clears the reference to the current item without physically deleting it from the game world.
deleteItem Deletes the current picked item from the game world and resets the picked item reference.
clearAllAddedDialogOptions All generated interaction dialog from this tree is removed.
postNewspaperAd Posts this message as if it were a newspaper ad.
generateNewItem <item> Generates a new item matching the passed parameter. For this to work, if a previous item was picked you need to do clearItem first.
moveItemToInventory [DDS scope reference string] Moves the picked item to a citizen inventory defined using the DDS scope syntax. Base scope starts with the picked item.
moveItem [DDS scope reference string] Moves the picked item to a game location defined using the DDS scope syntax. Base scope starts with the picked item.
setItem [DDS scope reference string] Attempts to set the picked item using DDS scope syntax. The base scope starts with the parent citizen. For this to work, if a previous item was picked you need to do clearItem first.
postJobNote Posts this message as a note on a job board.
goTo [DDS scope reference string] Directs the parent citizen to go somewhere. The location is given using the DDS scope syntax.
setNourishment [float] Sets parent citizen nourishment.
setHydration [float] Sets parent citizen hydration.
setAlertness [float] Sets parent citizen alertness.
setEnergy [float] Sets parent citizen energy.
setExcitement [float] Sets parent citizen excitement.
setChores [float] Sets parent citizen chores.
setHygeine [float] Sets parent citizen hygiene.
setBladder [float] Sets parent citizen bladder.
setHeat [float] Sets parent citizen heat.
setDrunk [float] Sets parent citizen drunk.
setPoisoned [float] Sets parent citizen poisoned.
setHealth [float] Sets parent citizen health.