Skip to content

Built-In Actions โ€‹

Text lines are the most common. They only fill text and id (optionally if condition). They require player input (click or key press) to advance.

Action lines (except choice) execute automatically without input. If both action and text are present, text is ignored.

For example, an action line placed after a text line won't execute until the text line is clicked to advance.

actionparamdescription
injectUniqueInsert "Let's Talk" and a lot of useful steps
choiceAdd a choice to the last text line. Requires text and jump
choice/byeInsert a default bye choice
cancelSet right click / escape key behavior. Requires jump, usually set to end
setFlagflag name,value(optional)Set a flag with value or default 1 if not provided
reloadReload the drama so any flag changes made in the current drama can be applied. Requires jump, usually set to main. Don't confuse this with hot reload during development - for that you only need to save the changes and it will be reloaded next time you start the drama
enableToneEnable dialog tone for the entire drama
addActorAdd a drama actor to use later, text can be used to set a name override. This is done automatically when you fill in new id in actor cell. Requires character id in actor
invokemethod nameCall a method. All of them are hardcoded for specific use. Check CWL Expansion below
setBGimage name(optional)Set an image as background or use empty to clear it. CWL allows you to supply your own png image in Texture folder
BGMBGM idSwitch the BGM to specific one by id. Check the CWL Sound & BGM page for custom BGM
stopBGMStop the BGM and do not continue
lastBGMStop the BGM and continue the last one played
soundsound idPlay a sound by id. Check the CWL Sound & BGM page for custom sounds
waitdurationPause the execution in this line for seconds, good to use when you want the animation or stuff to finish
alphaIn alphaOutdurationAlpha transition(transparency) in seconds
alphaInOutduration,wait timealphaIn first, wait in seconds, then alphaOut
fadeIn fadeOutduration,white/black(optional)Fade transition in seconds
fadeInOutduration,wait time,white/black(optional)fadeIn first, wait in seconds, then fadeOut
hideUItransitionHide the HUD elements with a transition in seconds. Restored when exiting drama
hideDialogHide the drama dialog so you can do cutscenes, however text lines force show dialogs, so you need to combine this with wait
endExplicitly end the drama. Same as jump to drama step end
addKeyItemkeyitem idAdd keyitem with id to the player
dropitem idDrop an item as reward at player's position
addResourceresource name,countAdd home resource by count
shakeShake the screen
slapSlap the drama owner character
destroyItemitem idFind and destroy the item with id from player's inventory
focusImmediately move and focus camera to the drama owner character
focusCharacharacter id,speed(optional)Move and focus camera to the character with id on the same map
focusPCspeed(optional)Move and focus camera to the player
unfocusReset and unfocus camera
destroycharacter idDestroy a character with id on the same map
saveSave game
setHourhourSet the game time in hours

When providing multiple parameters, they are separated by comma(,) with no spaces in between.

Built-In Steps โ€‹

After executing inject/Unique action, a lot of builtin drama steps will be injected into current drama sheet. To utilize them, simply set them as the jump target. Some steps are already used in the default inject/Unique dialogues and you do not need to re-use them on your own.

step nameusage
_banishEnd the drama
_byeEnd the drama
_toggleSharedEquipToggle tg shared equipment usage
_daMakeMaidSet tg as maid
_joinPartyIf tg trait is joinable, set as party member. THIS IS NOT INVITING
_leavePartyRemove tg from party, and sent to home zone
_makeLivestockSet tg as faction livestock
_makeResidentSet tg as faction resident
_departRemove tg from faction
_rumorRumor
_sleepBesideToggle tg sleep beside player state
_disableLoyalToggle tg loyal state
_sucktg sucks pc. Prioritizes blood sucking over cat huffing
_insultToggle tg taunt state
_makeHomeSet current zone branch as tg home branch
_inviteTry inviting tg as ally, checks player attributes and tg invitable state. To unconditionally invite as ally, use CWL drama action join_party()
_GuideGuide player to a list of locations
_tailHave sex, for money
_whoreHave sex, cost money
_bloomDeepen bond with tg
_buyBuy stuff from tg
_buyPlanBuy research plan from tg
_giveGive stuff to tg
_blessingBlessing upon party
_trainTrain skills with tg
_changeDomainChange tg domain
_reviveRevive dead allies
_buySlaveBuy slave from tg
_tradeTrade items with tg
_identifyIdentify items with tg
_identifyAllIdentify all items with tg
_identifySPIdentify items with tg using superior skill
_boutChallenge to a duel
_newsSpawn a random dungeon on map
_healHeal the player
_foodBuy some food from tg
_depositDeposit with tg
_withdrawWithdraw with tg
_copyItemDuplicate item with tg
_extraTaxPay additional tax
_upgradeHearthUpgrade hearth stone
_sellFameSell fame
_investZoneInvest current zone
_investShopInvest tg barter shop
_changeTitleChange player title
_buyLandExpand current zone map
_disableMoveSet tg to not move
_enableMoveSet tg can move

This project is an unofficial documentation site and is not affiliated with, endorsed by, or associated with Elin or Lafrontier / Noa. All trademarks are the property of their respective owners.