Announcement: Be excellent to each other.


Caravel Forum : DROD RPG Boards : RPG Feature Requests : Wait for event, if, and wait for any/all/one (Compatibility or clarity)
New Topic New Poll Post Reply
Poster Message
Xindaris
Level: Smitemaster
Avatar
Rank Points: 1832
Registered: 06-13-2015
IP: Logged
icon Wait for event, if, and wait for any/all/one (+2)  
I wanted to consolidate this into a proper feature request thread, rather than it continuing to hang around in some erroneous bug reports. Consider this a "twin request" that also applies to regular DROD.

Here's the main problem: Certain events under the "wait for event" command have restricted compatibility with other commands that normally work with "wait for..." commands. Examples include "bomb exploded" and "tar/gel/mud baby formed". I don't even know whether there are others or not because I haven't tested every single event. There's a pretty good reason for this incompatibility that has to do with turn processing order, but the end result is confusion and irritation when trying to use the "wait for event" command to actually do things in any remotely complicated script. So, I have two branches to this request:

1) Address the fact that these commands don't work in an "if" statement.
As things currently stand, "wait for event" has special processing that allows a character using the command "naked" to do things after the normal processing of characters. This allows for a workaround where a "helper" character runs that command, and sets a flag variable whenever the event happens that will be read by the main character in the following turn. So my first proposal is to have the scripting engine do this itself instead of making the architect do it every time. That is: If...wait for event [whatever] should be "true" on the turn AFTER the event happens. This is slightly unintuitive, but it's much better than it never doing anything at all. I'm imagining the flag that makes the command behave like "true" inside of an if condition to be a separate thing from whatever characters using the command "naked" would read from, to avoid any issues with that.
Failing my first proposal, it should be made very clear that if...wait for event [whatever] DOES NOT WORK. I'd like an "error asterisk" like the one that shows up next to an invalid "set var" command, and maybe something in the help docs clarifying that these things don't work. It'd be a lot better than being ambushed by something not working, and having to learn the hard way that it's due to turn processing order sorcery.

2) Make these work with "wait for any/all/one".
If I want to know whether a bomb exploded OR a tarstuff baby if any kind formed, as things are right now I need 4 (FOUR!) helper characters for that. It would at least alleviate the problem quite a bit if those events worked with the "wait for any". And...them working in "wait for all" and "wait for exactly one" groups would also be nice. Previously posted replies to some related threads give me the impression that this is possible, but if not, then at least making it clear that they don't work here in the same ways as above would be helpful.

____________________________
109th Skywatcher

Here are some links to Things!
Click here to view the secret text


[Last edited by Xindaris at 09-12-2025 10:40 PM]
09-12-2025 at 10:34 PM
View Profile Send Private Message to User Show all user's posts High Scores This architect's holds Quote Reply
hyperme
Level: Smitemaster
Avatar
Rank Points: 1624
Registered: 06-23-2006
IP: Logged
icon Re: Wait for event, if, and wait for any/all/one (+2)  
I don't want to fiddle with the way Wait for event interacts with If, because that could potentially break things. More so on the TSS side but either way I don't want to deal with it.

Marking events that can't ever be if'd is more reasonable.

For the logic block ones, the easiest thing do to would be if a block fails, and has a Wait for event anywhere in it, it will do the delayed processing as with a raw Wait for event. This could be weird with specifically nested blocks, but supporting simpler, more likely, cases is the better option.

____________________________
[Insert witty comment here]
Qzvlkx?

[Last edited by hyperme at 09-13-2025 05:24 PM]
09-13-2025 at 05:21 PM
View Profile Send Private Message to User Show all user's posts High Scores This architect's holds Quote Reply
Xindaris
Level: Smitemaster
Avatar
Rank Points: 1832
Registered: 06-13-2015
IP: Logged
icon Re: Wait for event, if, and wait for any/all/one (+1)  
Fair enough. I thought there might be a concern of breaking things with the if business, but at least letting the user know something is wrong before they try to execute the code would be helpful.

Thank you!

____________________________
109th Skywatcher

Here are some links to Things!
Click here to view the secret text


[Last edited by Xindaris at 09-13-2025 07:46 PM]
09-13-2025 at 07:45 PM
View Profile Send Private Message to User Show all user's posts High Scores This architect's holds Quote Reply
New Topic New Poll Post Reply
Caravel Forum : DROD RPG Boards : RPG Feature Requests : Wait for event, if, and wait for any/all/one (Compatibility or clarity)
Surf To:


Forum Rules:
Can I post a new topic? No
Can I reply? No
Can I read? Yes
HTML Enabled? No
UBBC Enabled? Yes
Words Filter Enable? No

Contact Us | CaravelGames.com

Powered by: tForum tForumHacks Edition b0.98.9
Originally created by Toan Huynh (Copyright © 2000)
Enhanced by the tForumHacks team and the Caravel team.