[crossfire] destructor archetype?

Raphaël Quinet raphael at gimp.org
Mon Jun 12 09:14:37 CDT 2006


Unless I am mistaken, there is no arch that can act as the opposite of the
"creator" arch.  Or at least I could not find one.  The "creator" creates a
new object when it is triggered.  I would like to have a "destructor" that
can remove a specific object when it is triggered.  If such a thing does not
exist yet, I would like to create it.

Here are several cases in which a "destructor" could be useful:
- A detector/check_inv connected to a destructor can have the same effect
  as an altar, except that it is possible to introduce a delay between
  dropping the item and destroying it (using the well-known hidden machinery
  with spikes and boulders or other objects), or to add additional
  conditions such as requiring the player to move away from the altar before
  the sacrifice is accepted.
- With a creator and a destructor at the same location, it would be possible
  to make some object appear or disappear using the appropriate triggers.
- The creation/destruction could be done in a cyclic way (using external
  machinery providing the timers).  This could be fun if the blinking object
  is a light source.
- If the object that is created/destroyed is a mover, it would be possible
  to make some NPCs follow some specific paths and stop or go depending on
  the actions of the player: create the movers when the NPC should move,
  then destroy them afterwards.
- A destructor can also be used to make the NPC fetch and accept a gift:
  detect that a gift has been dropped (standard detector), move the NPC
  towards the player (creators + movers), then destroy the gift once the NPC
  is close to the player (destructor).

The existing archetypes that could serve similar purposes are the altars and
teleporters.  The problem with the altars is that they work as soon as the
object is dropped and cannot be triggered by some other event.  The
teleporters can be triggered via some external action and are used in some
maps to move objects out of the visible map, but this is not a very good
solution because these teleporters are not very selective about what they
teleport (so you may end up teleporting the wrong object).

So if nobody can suggest a better solution, I will write the code for this
new archetype because I already have some maps (alchemy quests) in which I
would like to use "destructors" for NPC movement and actions.  My current
plan is to have something very similar to the "creator" (including the
parameters such as the "slaying" field, the number of uses, etc.) except that
it would do exactly the opposite of the creator.

-Raphaël



More information about the crossfire mailing list