Skip to content

Migrating to Elin

CWL specs are no longer being maintained, but still compatible; Please check out the new format that's supported by Elin itself here:

Built-in Conditions

Attach conditions to any line using the if (and optionally if2) column.

ConditionParamDescription
hasFlagflag namePlayer has flag and value ≠ 0
!hasFlagflag namePlayer doesn’t have flag or value = 0
hasMelilithCursePlayer has Melilith curse
merchantPlayer is at Merchant Guild
fighterPlayer is at Fighter Guild
thiefPlayer is at Thief Guild
magePlayer is at Mage Guild
hasItemitem idPlayer has the item in inventory
isCompletedquest idPlayer has completed the quest

Simple value checks (most common for flags/counters):

=,example_flag,1
>,example_counter,20
!,example_flag,69

Most lines only need the if column. Add an if2 column if you need multiple conditions.

Dynamic Conditions

Built-in if/if2 conditions are evaluated only once when the drama loads.

To make a line dynamically enabled/disabled, use:

  • invoke* condition, or
  • eval action that returns a bool

Dynamic Branching

Set jump to eval_result and use an eval action that returns a string to dynamically choose the jump target.

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.