[Ohrrpgce] [ohrrpgce/ohrrpgce] Text box Instead run script conditionals don't properly skip the text box (Issue #1252)

Ralph Versteegen notifications at github.com
Tue Apr 11 19:11:33 PDT 2023


Well this is already an incompatibility between different versions. We should fix this (I want to add an actual "Trigger script" conditional) but not without a backcompat bit, it would probably break a huge number of games because it's easy to stumble upon, and before ypsiliform "Instead: run script" acted much like a "Trigger script" conditional so probably people thought it was a feature not a bug. We don't need to emulate every aspect of it (such as the incorrect value returned by `current textbox`). Really we should also have a second backcompat bit emulate the old pre-ypsiliform behaviour. (Probably werewaffle rather than xocolatl.)

I created a test game using werewaffle+ ([tbtest.zip](https://github.com/ohrrpgce/ohrrpgce/files/11206401/tbtest.zip)). It's set up to open TB 1 from the NPC. r2206 didn't change the behaviour the way I expected, but it did change something.

In werewaffle+ (2008, before modernisation of the textbox code, including r2206):
----------

If TB 1 is triggered from an NPC, TB 1 shows as normal, then TB 2 *also* shows and `insteadscript` runs, and when TB 2 is advanced, conditionals such as "gain $" are evaluated and After TB 3/`afterscript` run! However, conditionals meant to happen when TB 2 is displayed, such as setting tags, aren't run, and its choicebox and appearance settings (e.g. box position and backdrop) are ignored, it uses TB 1's appearance. This is because in werewaffle, text and conditionals were loaded before 'Instead' was checked, then it loaded appearance (into `sayenh()`), updated choicebox, set tags, etc. 

If `insteadscript` runs `advance text box`, the result is the same as today except that TB 2 shows for one tick (because the script is only run the next tick), using TB 1's appearance settings. 

If TB 2 is triggered directly from an NPC, the behaviour seems the same as today, including when `advance text box` is called.

In xocolatl+2 (2009), after r2206:
----------

Everything seems to be the same as werewaffle, except now TB 2 appears with its proper appearance settings and with its choicebox.

In ypsiliform+3 (2010), which converted text boxes to slices:
----------

Everything seems the same as today, with TB 2 no longer showing when it has an Instead script condition.


-- 
Reply to this email directly or view it on GitHub:
https://github.com/ohrrpgce/ohrrpgce/issues/1252#issuecomment-1504436957
You are receiving this because you are subscribed to this thread.

Message ID: <ohrrpgce/ohrrpgce/issues/1252/1504436957 at github.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.motherhamster.org/pipermail/ohrrpgce-motherhamster.org/attachments/20230411/cebce7ee/attachment-0001.htm>


More information about the Ohrrpgce mailing list