On Thu, 6 Aug 1998, Mark A. Heilpern wrote:
> >I was gonna ask the same question, and was glad someone asked it. But....
> >This answer doesn't quite clear it up for me. What other kind of events
> could
> >you use it for (my imagination just isn't working on this one).
> I've used events to code teleporting rooms which take a while before the
> teleport occurs (and the teleport only occurs if the player is in the room
[...]
I use an event queue system to replace most of the CPU-intensive loops
that loop through everything in the world, i.e.:
combat (a violence event is put on the room instead)
stun/paralysis (a character can be stunned/paralyzed for just a few
seconds or even fractions of a second, so a normal tick-duration affect
won't cut it
area reset
mobprogs that trigger with a certain frequency - random and time based
(rather than ask every object , mob and room every tick if it should
trigger a mobprog yet)
wandering/scavenging mobs
skill gain (e.g. when you go up in a skill, it'll be a while before you
can go up again)
standing up after being bashed
teaching - so that you cannot keep teaching someone a skill but must take
a break occasionally
death - low level characters do not die but are transported from death -
but after that, they lose this special for 2 hours
Lots of time based things that were before some sort of check every minute
are now events - and that makes them far more precise. E.g. PK timers.
falling objects and characters - rather than fall all rooms at once, you
fall slowly, giving you a chance to cast e.g. feather fall to stop the
fall.
delayed actions - e.g. picking a lock will take N seconds after you type
"pick" before you get any result. Or telekinesis which also has several
stages of execution.
mobprogs can also use events themselves - e.g. delay for 2 seconds before
executing next statement
bard songs - the effects happen every few seconds after the bard has
started singing, also controlled with an event
chain lightning - the chain lightning jumps from target to target with a
second's delay
various psi spells plant a time-delayed "mental bomb" in a character which
then later hurts the target in various ways
Stats: 7187 events queued (60.69 added/second). Max was 7246.
I run one of those "ugly" MERC-derivatives BTW.
--
=============================================================================
<erwin@andreasen.com> Herlev, Denmark UNIX System Programmer
<URL:http://www.abandoned.org/drylock/> <*> (not speaking for) DDE
=============================================================================
+------------------------------------------------------------+
| Ensure that you have read the CircleMUD Mailing List FAQ: |
| http://democracy.queensu.ca/~fletcher/Circle/list-faq.html |
+------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/15/00 PST