Jump to content

Suggestion: Expand functionality of convo dialog formatting


RageLeague

Recommended Posts

Right now, variables defined in encounter.scratch are only substituted in a boolean expression. For example:

:Loc{
  DIALOG_1 = [[
    * {expression?Yay it works!}
  ]],
  DIALOG_2 = [[
    * Value of expression: {expression}.
  ]],
  DIALOG_3 = [[
    {non_bool?
      * non_bool is non-nil
    }
    {not non_bool?
      * non_bool is nil
    }
  ]],
  DIALOG_4 = [[
    {non_bool?
      * Truthy
      |
      * Falsie
    }
  ]],
}
:Fn(function(cxt)
  cxt.enc.scratch.expression = true
  cxt.quest.param.non_bool = cxt:GetAgent() -- a table. A truthy value, but is not exactly "true"
  cxt:Dialog("DIALOG_1") -- formatter works
  cxt:Dialog("DIALOG_2") -- formatter doesn't replace {expression}
  cxt:Dialog("DIALOG_3") -- For some reason, outputs nothing
  cxt:Dialog("DIALOG_4") -- Outputs Falsie, despite non_bool being truthy
end)

Maybe it can allow the second expression to work.

Also, there's some other bugs regarding non-boolean values' interaction with the formatter. See DIALOG_3 and DIALOG_4.

Archived

This topic is now archived and is closed to further replies.

Please be aware that the content of this thread may be outdated and no longer applicable.

×
  • Create New...