Conflux III Technical Topics
Posted: Sun Jan 06, 2008 10:12 pm
I am writing publicly because I think there
are those among us who might be
interested in such things.
Zyx:::
I was looking at your 'Darkness" DSA and
found that it can be activated by several
different things, including itself. I began
to worry that the self-activation plus the
spell-activation could cause several self-
activations in a single time-step. Probably
not what you wanted.
Much study later, I discovered that you had
enabled the Global option of 'Discarding
Duplicate Timer Entries' and that by so doing
you had avoided the problem with the Darkness
DSA. (But only because it has a delay of
less than 2!)
It seems to me that 'Disabling Duplicate Timer
Entries' is a dangerous thing to do. For example,
if a counter is decremented by two different
monster-activated pressure pads and those
two pads were to fire off a message simultaneously,
then one of the decrements would be lost.
In this case it is probably not a fatal problem.
But losing a count could be a problem under
some circumstances.
So.....my question.....did you 'Disable Duplicates'
intentionally? If so, why? And if so, is there
something we could do to make this unnecessary?
In the case of the Darkness DSA, for example,
maybe we could fix the problem by adding a
way to delete existing timer entries. Then, before
sending the message that activates itself, the DSA
could first delete any such entries, thereby
assuring that only one such timer entry could
exist at a time.
I have run across this problem myself and fixed
it rather clumsily (the DSA became much more
complicated). Being able to delete any timer aimed
at a particular location would also be a neater
solution the problem of shutting down some
repetitive process than having to dirty up
the DSA with special cases and states.
Also, searching the timer database for duplicates
for EVERY timer entry created is wasteful of
CPU time. Especially since we have made the
number that exist very much larger than in the
original DM/CSB.
are those among us who might be
interested in such things.
Zyx:::
I was looking at your 'Darkness" DSA and
found that it can be activated by several
different things, including itself. I began
to worry that the self-activation plus the
spell-activation could cause several self-
activations in a single time-step. Probably
not what you wanted.
Much study later, I discovered that you had
enabled the Global option of 'Discarding
Duplicate Timer Entries' and that by so doing
you had avoided the problem with the Darkness
DSA. (But only because it has a delay of
less than 2!)
It seems to me that 'Disabling Duplicate Timer
Entries' is a dangerous thing to do. For example,
if a counter is decremented by two different
monster-activated pressure pads and those
two pads were to fire off a message simultaneously,
then one of the decrements would be lost.
In this case it is probably not a fatal problem.
But losing a count could be a problem under
some circumstances.
So.....my question.....did you 'Disable Duplicates'
intentionally? If so, why? And if so, is there
something we could do to make this unnecessary?
In the case of the Darkness DSA, for example,
maybe we could fix the problem by adding a
way to delete existing timer entries. Then, before
sending the message that activates itself, the DSA
could first delete any such entries, thereby
assuring that only one such timer entry could
exist at a time.
I have run across this problem myself and fixed
it rather clumsily (the DSA became much more
complicated). Being able to delete any timer aimed
at a particular location would also be a neater
solution the problem of shutting down some
repetitive process than having to dirty up
the DSA with special cases and states.
Also, searching the timer database for duplicates
for EVERY timer entry created is wasteful of
CPU time. Especially since we have made the
number that exist very much larger than in the
original DM/CSB.