Announcement: Remember: you are giving away your fantastic ideas for free, and somebody else might even make money from them (or appear to). That's just how the world works! If you're worried about it, maybe you shouldn't post your ideas here.


Caravel Forum : DROD Boards : Feature Requests : Wait for event (Fire traps and other anomalies)
New Topic New Poll Post Reply
Poster Message
Nuntar
Level: Smitemaster
Avatar
Rank Points: 2965
Registered: 02-20-2007
IP: Logged
icon Wait for event (+5)  
The "wait for event" script command has grown hugely in importance with the inclusion of challenge scripting -- though of course it has many other uses, in any hold with a storyline or just characters who are meant to react to certain events. Unfortunately, it can be very frustrating to use -- in many cases it's not obvious exactly what triggers a certain event, and there is no documentation in the F1 help files on the different events. I accept that this has happened because new events relating to the 3.0 (and later 5.0) features had to be added on top of the existing framework without changing it. But it's now reached a level of complexity that has to be addressed.

The particular anomaly that made me sit down to write this post: in my last "Passing of the Hold" room, I wanted a character to react to a roach dying by fire trap. Naturally I first tried "Wait for event Monster burned" -- but no, that's a 3.0 event that reacts to hot tiles. "Fire trap burning" isn't it either, that reacts to a fire trap simply being active, even though that's completely redundant with "Fire trap activated".

This isn't the first problem I've had with "Wait for event". "Splash" is triggered when anything falls in water, fine. I wanted to react to a monster falling into pit. Thinking there wasn't such an event, I had to redesign two entire rooms. Turns out there is, but it's called "Object fell", so you can hardly blame me for overlooking it.

"Monster stabbed" is triggered by stabbing any single-tile monster or a rock giant. Rattlesnakes have a separate stabbing event -- but it isn't triggered by stabbing a length-2 snake so it dies. For that you want "Serpent smashed", the same event as for red serpents (or adders) dying. If you want to detect an adder being stabbed, you're out of luck.

So, what I'm saying is, we need to have documentation on exactly what triggers each different event. The names aren't enough any more. Some of them need to be renamed -- "Monster burned" should be renamed "Monster burned by hot tile" now that fire traps also exist. I'm happy to help with writing this documentation, but I still don't know all the details it would have to include.

And yeah, adding events for fire trap death and stabbing adders would be nice too. :P

____________________________
50th Skywatcher
11-06-2014 at 04:58 PM
View Profile Send Private Message to User Show all user's posts High Scores This architect's holds Quote Reply
12th Archivist
Level: Smitemaster
Avatar
Rank Points: 790
Registered: 12-07-2008
IP: Logged
icon Re: Wait for event (+1)  
I'd support taking this a step further by having a column of monster types (with the option of selecting a specific monster or monster derivative) on the left and a column of events on the right. This would be a big rework, but now that challenges exist and scripting capability has reached an all-time high, I think it's worth it.

____________________________
It was going well until it exploded.
~Scott Manley

Check out the DROD Wikia project here!
11-06-2014 at 10:08 PM
View Profile Send Private Message to User Show all user's posts This architect's holds Quote Reply
navithmastero
Level: Master Delver
Avatar
Rank Points: 212
Registered: 01-03-2012
IP: Logged
icon Re: Wait for event (+1)  
It could even work with specific monsters using movement order.
Eg. Wait for roach #1 stabbed...

-nm
11-06-2014 at 11:07 PM
View Profile Send Private Message to User Send Email to User Show all user's posts This architect's holds Quote Reply
disoriented
Level: Smitemaster
Rank Points: 959
Registered: 08-07-2007
IP: Logged
icon Re: Wait for event (+2)  
Adding my voice to request a firetrap enemy death event. And a way to get the coordinates of the event.

____________________________
34th Skywatcher

[Last edited by disoriented at 01-20-2017 06:23 AM]
01-20-2017 at 06:16 AM
View Profile Send Private Message to User Send Email to User Show all user's posts High Scores This architect's holds Quote Reply
Nuntar
Level: Smitemaster
Avatar
Rank Points: 2965
Registered: 02-20-2007
IP: Logged
icon Re: Wait for event (0)  
I found out recently that firetrap deaths trigger "Monster stabbed", so at least you can detect them. But it would be nice to have a separate event in case (for example for challenge scripting) you want to tell whether a monster died by firetrap or was actually stabbed. (Same goes for floor spikes, to be honest).

____________________________
50th Skywatcher
01-20-2017 at 12:52 PM
View Profile Send Private Message to User Show all user's posts High Scores This architect's holds Quote Reply
uncopy2002
Level: Smiter
Rank Points: 347
Registered: 07-28-2014
IP: Logged
icon Re: Wait for event (0)  
quote:
And a way to get the coordinates of the event.


I mentioned this in chat, but getting the coordinates of a event is meaningless for most events because they're either coordinate-less (e.g tar growth), or events coordinates are not well-defined because multiple of them can happen during the same turn (e.g bomb exploded and monster stabbed).

A well-defined and (probably) more feasible way of this is to add a variant of Wait for event that only applies to an area. So, if said event has occured inside the selected region, the corresponding Wait for event returns true. But I donno, DROD source code is weird and this might turn out to be non-trivial and impossible.
01-20-2017 at 01:08 PM
View Profile Send Private Message to User Show all user's posts High Scores Quote Reply
New Topic New Poll Post Reply
Caravel Forum : DROD Boards : Feature Requests : Wait for event (Fire traps and other anomalies)
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.8
Originally created by Toan Huynh (Copyright © 2000)
Enhanced by the tForumHacks team and the Caravel team.