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:

Drama

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
hasMelilithCurse—Player has Melilith curse
merchant—Player is at Merchant Guild
fighter—Player is at Fighter Guild
thief—Player is at Thief Guild
mage—Player 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.