[crossfire] Quests, continued

Mark Wedel mwedel at sonic.net
Thu Jul 28 02:24:22 CDT 2005


Nicolas Weeger wrote:
  n items in your inventory? <snip>
>
     
     
     >
     
      Imagine a quest like "cook NPC: I'm missing 10 potatoes for my
     
     >
     
      party tonight, please help me!" => player has the quest
     
     >
     
      "collect 10 potatoes". When s-he gets 10 potatoes, it could be
     
     >
     
      nice to put a reminder "oh, you found 10 potatoes, you can
     
     >
     
      give'em to the poor cook". So need to activate quests items
     
     >
     
      when player picks the last of 10 items.
     
     
  Ok - that makes sense.


>
     
      I was thinking "when player opens the chest, if doing the
     
     >
     
      quest, find the right item and other random items. If not
     
     >
     
      doing the quest, just the random items".
     
     
  Do you then have a requirement that the item in question be unique in name or 
something?  Do you somehow tie the quest to specific quests?

  What I'm geting at is that you don't want to disable the player from finding 
whatever that item is in other chests.


>
     
     
     >
     
      Already done. I extended the match function, you can do
     
     >
     
      (imagine a NPC farmer, after the cook asked you to find 10
     
     >
     
      potatoes):
     
     >
     
      match @potatoe
     
     >
     
      quest potatoe_quest start
     
     >
     
      You're seeking potatoes? If you  help me find my missing cow,
     
     >
     
      I'll give you some".
     
     
  but being able to connect it to other connected objects has additional value.

  For example, pulling different levers could perhaps change your quest state. 
Or any other numerous connected objects - sacrificing something at an altar 
might not only open the door, but also change quest state, etc.


>
     
     
     >>
     
     1) Give object.  Some quests (scorn nobility) quest does
     
     >
     
     
     >
     
      this, but can 
     
     >
     
     
     >>
     
     potentially run out of objects - if done via quests, don't
     
     >
     
     
     >
     
      have that problem.
     
     >
     
     
     >
     
      Can generate random item, too - simple to do with plugin or
     
     >
     
      whatever.
     
     
  I thought you said you didn't want the quest stuff to be in the plugin?  this 
seems to state otherwise.

  I also think the trying to generate custom items via plugin could be a pain 
(eg, a bunch of script lines to set specific values on the object), unless that 
custom item is stored in the quest objects inventory or something.  And if we're 
going to do that, why get the plugin involved - let the quest controller do the 
right thing.

>
     
     
     >
     
     
     >>
     
       Also, should have special code to give invisible objects -
     
     >
     
     
     >
     
      if player doesn't 
     
     >
     
     
     >>
     
     have it, it gives them.  Thus, quests could give out skills
     
     >
     
     
     >
     
      and spells. 
     
     >
     
     
     >>
     
     Potentially, there should be some fallback (player already
     
     >
     
     
     >
     
      has meteor swarm, 
     
     >
     
     
     >>
     
     give them 10 potions instead or something).
     
     >
     
     
     >
     
     
     >
     
      Can be done through plugin, again. Code to check for all that
     
     >
     
      exists iirc.
     
     
  Same point above applies however.  I'd also think from a map maker 
perspective, it would certainly be nicer if I'm not required to know/use the 
plugin code to do simple quests.

  Now, the alternative object logic should perhaps be in the plugin, but I think 
the basic item creation should be in the server code.

  What the server does would largely be based on the object in question, but I 
think it'd be pretty easy to work out a system.

    
    


More information about the crossfire mailing list