[crossfire] Quests, continued

Mark Wedel mwedel at sonic.net
Fri Jul 29 01:21:20 CDT 2005


Nicolas Weeger wrote:

>
     
      Well, i don't mention removing random items themselves.
     
     >
     
      Case scenario: player gets to treasure room or a ruined
     
     >
     
      castle, opens chests, find nice treasures.
     
     >
     
     
     >
     
      Then later s-he talks to a npc: 'i'm the former servant of the
     
     >
     
      now dead king of that castle, could you recover my master's
     
     >
     
      mirror for me? i'd like to keep it as a souvenir' [insert
     
     >
     
      usual spam / reward line here :p]. Player redoes map, then in
     
     >
     
      one of the chests finds treasures and that mirror - but can't
     
     >
     
      find it without having talked to the npc.
     
     >
     
     
     >
     
      Of course you could imagine quests where you start by finding
     
     >
     
      an item => don't redrop item if quest already started. Thus
     
     >
     
      need to check inventory / do quest thing.
     
     
  As a note, it isn't possible the code to know if an object in the chest was 
placed there by the mapmaker or was part or randomly generated treasure.

  What you probably want to do is add something like FLAG_QUEST_ITEM - this 
makes the processing all around much easier.

  For determining when we send object info to player, very simple to check that 
flag, and if that flag is set, then bother to check quest state.  This then 
fixes the problem of items of the same name showing up randomly.  It can also be 
used to make sure the item in question is the desired quest item.

  One question - what about these just showing up not in quests.  Eg, suppose it 
is in a chest, but the chest is burned up.  Does the item then always go away 
then?  Is it visible to everyone?  Not visible, but if player as part of quest 
is on the space it should be, it is visible?




    
    


More information about the crossfire mailing list