Crossfire Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: CF: Suggestion: Talking (was Re: CF: Suggestion: Reg exps...)



On Fri, 25 Sep 1998, "Mark Wedel" <mark@siemens-pyramid.com> wrote:
[...]
>  The only addition I would make would be a @give command, so NPC's can give
> objects.  Ideally, a @take command could also be nice (@take 10 gold coin, and
> if the NPC sees that amount dropped around him, he takes it).  That @take could
> obviously update a state variable, which has a @give nested below it, and
> probably sets another state variable so that it won't do that again.

I thought about @give too, but this is not really needed: the only
thing you need is to @activate a teleporter that brings the object
from some area outside the visible map.  This has the advantage that
nobody can get the objects by killing the NPC's, because the objects
would not be in his inventory.

Similary, @take can be replaced by invisible altars placed around the
NPC, activating a @connect statement in the NPC.  Although this will
only work if the NPC stays in the same place, it will be easier to
program because the altars are already triggered when some object is
dropped on top of them.  It would be a bit more difficult to activate
the NPC every time some object is dropped around him.

The commands that I described are related to something that happens
when the message field of the NPC is parsed (i.e. when someone speaks
nearby), except for @connect.  The @connect case is special because it
is triggered by something that happens when the message field would
normally not be parsed, but that feature would be reasonably simple to
add.  The easiest way to do it would be to use the normal "connected"
field in the object structure, and allow only one @connect statement
per NPC, which would be parsed when the NPC is activated.

There are lots of other options that could be added to the NPC's, but
I think that we should start with that first, and leave the rest for
later.  Besides the @cast command described by Mark, we could also add:
- @follow (NPC follows the player if possible - but no word of recall),
- @goto (moves towards some other location),
- @attack (attacks some target),
- @create (creates new objects from their archetype or summons new
  monsters or NPC's) and
- @location (conditional statement that executes some commands if the
  NPC is at some location on the map - use together with @goto to
  create complex paths).
If @give and @take are implemented so that the NPC can add or remove
things from his inventory, we could also add @apply.  But I have the
feeling that things could quickly get out of control if we try to
implement all that.

>  One of the things I think it is more worth focusing on now in crossfire is
> making the world at large a bit more interesting.  I think we already have
> enough monsters, spells, and items to last quite a while, and the general play
> is OK.  However, what the game is missing is interesting NPC's, background
> maps, and good quests.  Some of those certainly exist, but not really in
> sufficient numbers in my opinion.

I agree.  We need more maps with interesting quests.  Especially for
low- and middle-level characters (below 10).  In order to add more
balance to the game and to make these quests worth playing, the old
"kill all monsters and grab the treasure" maps should be removed when
some quests of similar difficulty are added to the game.

-Raphael


Follow-Ups: