[crossfire] specialised shops

Mark Wedel mwedel at sonic.net
Mon Aug 15 23:33:35 CDT 2005


Brendan Lally wrote:
>
     
      On 8/13/05, Mark Wedel <
      
      mwedel at sonic.net
      
      > wrote:
     
     
>>
     
       Looking over the patch, a few quick thoughts:
     
     >>
     
     1) Why not put shop_greed as its own field to make it easier to pull that data out?
     
     >
     
     
     >
     
     
     >
     
      well, the thing is that if I start doing that, it can lead to a stupid
     
     >
     
      number of map headers. I have been writing in a prefered race to the
     
     >
     
      things it can parse for, I suspect other things may be added with
     
     >
     
      time.
     
     
  I'd rather have a number of map headers than a long string of stuff that one 
has to parse.

  Mostly because such a case is easier to debug, and probably results in fewer 
bugs - if there is a long string to be parsed and you're seeing odd behaviour, 
is the problem in the string?  In the parser?  Someplace else?

  If instead it is something simple like map->greed, very easy to verify that 
the parser (loader) handled it correctly and the value is indeed set correctly.

  Certainly for the objects themselves, having that as one line makes sense, 
since it is a set of attributes for one field (one could see this is similiar to 
the slaying field for objects - it can be a comma seperated listed, because 
having a slaying1, slaying2, etc fields wouldn't make sense).

  So please do pull shop_greed into its own field, as well as any others added.

>
     
     
     >
     
      Also with a single line to parse, it is easier to write a simple bash
     
     >
     
      script to find the best place to sell any given item, not that anyone
     
     >
     
      would do that of course.... :)
     
     
  Would be only marginally harder to write a perl script to do that.  And in 
fact, one could probably modify the various map check scripts to do that quite 
easily.

>
     
     
     >
     
     
     >>
     
     2) Another thought would be to add a shop_cap value or the like.  Right now, in
     
     >>
     
     the sell function, there is a point where objects higher than a value become
     
     >>
     
     worth quite a bit less (lines 155-160 in shop.c).  Having these adjustable based
     
     >>
     
     on shop could also be interesting (high level players wouldn't find scorn shops
     
     >>
     
     very useful, but places like lake county or brest could be more useful).
     
     >
     
     
     >
     
     
     >
     
      And there we have another thing :)
     
     >
     
      actually that is an idea I really rather like, I don't know if there
     
     >
     
      is a nice way tell a player that they are up against the cap though,
     
     >
     
      (maybe in the description in c_object?)
     
     
  One thought, if not already done, is that when the players use the shop map to 
enter the shop, pull the info from the map header and tell the player, eg:

This shop specializes in weapons, bows, and arrows.
They generally do not buy things above 500 pp.
They will not buy things worth less than 3 pp.

  (better phrasing may be necessary, but you get the idea).  Thus very clear to 
the player what they are and are not getting.

  Having a shop with a very high minimum value could be interesting if also made 
with a very high timeout - there'd be a shop where really expensive (and thus 
useful) stuff is.



>
     
     
     >
     
      Yeah, I have the penalty for being a general store at 50% at the
     
     >
     
      moment, that is trivial to change though if that is too harsh
     
     
  Having that be setable is what I was thinking - then that general general 
store may give 75%, but that membership general store gives 85% or something 
(but maybe once again has higher minimum value it buys)


    
    


More information about the crossfire mailing list