Twine Version: Sugarcube 2.35.0
My story has a toggle setting for third-person/second-person prose.
<<widget 'ProseSetting'>>\ <<if $POV2>>\ <<link "Enable Third-Person">><<set $POV2 to false, $POV3 to true>><<dialogclose>><<dialog>><<include 'Settings'>><<onclose>><<run Engine.show()>><</dialog>><</link>> <<else>>\ <<link "Enable Second-Person">><<set $POV2 to true, $POV3 to false>><<dialogclose>><<dialog>><<include 'Settings'>><<onclose>><<run Engine.show()>><</dialog>><</link>> <</if>>\ <</widget>>
As such, the player may be referred to in either POV. The player name is also stored in a variable: $Kai. So to print the player’s name using the proper POV, I used the following widget:
<<widget "Kai">>\ <<if $POV2>>You<<else>>$Kai<</if>>\ <</widget>>
Now, I want a link with text including the player’s name. Such as, “Kai braked, stopping.” I tried a few different methods, but the only one I can seem to get working is this one:
<<if $POV2>> [[You braked, stopping|FirstAct3]] <<else>> [[$Kai + " braked, stopping"|FirstAct3]] <</if>>.
This solution works, but it’s inconvenient to use in many passages, especially ones that use pronouns, like “Kai braked, stopping his bike”. In that case I’m also using a “his” widget that serves a similar function, further complicating the link text. Note: Just like the player may change her name to something other than “Kai”, $his may be stored as the string value “her” if the player is female.
<<widget "his">>\ <<if $POV2>>your<<else>>$his<</if>>\ <</widget>>
What I really want is something simple like
[[<<Kai>> + " braked, stopping"|FirstAct3]]., but Twine wants an expression instead of the widget. Is there another way to include the result of my widget in the link text? If it was just a variable it wouldn’t be a problem, but I’m not sure how to do it with a widget. I tried setting a temp variable to the widget output and couldn’t get that working either.