Difference for server/shop.c from version 1.31 to 1.32


version 1.31 version 1.32
Line 1
 
Line 1
 /*  /*
  * static char *rcsid_shop_c =   * static char *rcsid_shop_c =
  *   "$Id: shop.c,v 1.31 2004/06/13 17:30:38 akirschbaum Exp $";   *   "$Id: shop.c,v 1.32 2004/08/24 19:43:59 akirschbaum Exp $";
  */   */
   
 /*  /*
Line 63
 
Line 63
     uint64 val;      uint64 val;
     int number; /* used to better calculate value */      int number; /* used to better calculate value */
     int no_bargain;      int no_bargain;
       int identified;
       int not_cursed;
     float diff;      float diff;
     float ratio;      float ratio;
   
     no_bargain = flag & F_NO_BARGAIN;      no_bargain = flag & F_NO_BARGAIN;
     flag &= ~F_NO_BARGAIN;      identified = flag & F_IDENTIFIED;
       not_cursed = flag & F_NOT_CURSED;
       flag &= ~(F_NO_BARGAIN|F_IDENTIFIED|F_NOT_CURSED);
   
     if (tmp->type==MONEY) return (tmp->nrof * tmp->value);      if (tmp->type==MONEY) return (tmp->nrof * tmp->value);
     if (tmp->type==GEM) {      if (tmp->type==GEM) {
Line 79
 
Line 83
     }      }
     number = tmp->nrof;      number = tmp->nrof;
     if (number==0) number=1;      if (number==0) number=1;
     if (QUERY_FLAG(tmp, FLAG_IDENTIFIED) || !need_identify(tmp)) {      if (QUERY_FLAG(tmp, FLAG_IDENTIFIED) || !need_identify(tmp) || identified) {
  if (QUERY_FLAG(tmp, FLAG_CURSED) || QUERY_FLAG(tmp, FLAG_DAMNED))   if (!not_cursed && (QUERY_FLAG(tmp, FLAG_CURSED) || QUERY_FLAG(tmp, FLAG_DAMNED)))
      return 0;       return 0;
  else   else
      val=tmp->value * number;       val=tmp->value * number;
Line 125
 
Line 129
      * default magical.  This is because the archetype value should have       * default magical.  This is because the archetype value should have
      * already figured in that value.       * already figured in that value.
      */       */
     if((QUERY_FLAG(tmp, FLAG_IDENTIFIED)||!need_identify(tmp)||      if((QUERY_FLAG(tmp, FLAG_IDENTIFIED)||!need_identify(tmp)||identified||
  QUERY_FLAG(tmp, FLAG_BEEN_APPLIED)) &&   QUERY_FLAG(tmp, FLAG_BEEN_APPLIED)) &&
         tmp->magic&&(tmp->arch==NULL||!tmp->arch->clone.magic)) {          tmp->magic&&(tmp->arch==NULL||!tmp->arch->clone.magic)) {
      if(tmp->magic>0)       if(tmp->magic>0)
Line 142
 
Line 146
  * charges.  the treasure code already sets up the value   * charges.  the treasure code already sets up the value
  * 50 charges is used as the baseline.   * 50 charges is used as the baseline.
  */   */
  if (QUERY_FLAG(tmp, FLAG_IDENTIFIED) || !need_identify(tmp))   if (QUERY_FLAG(tmp, FLAG_IDENTIFIED) || !need_identify(tmp) || identified)
      val=(val*tmp->stats.food) / 50;       val=(val*tmp->stats.food) / 50;
  else /* if not identified, presume one charge */   else /* if not identified, presume one charge */
      val/=50;       val/=50;
Line 207
 
Line 211
  val=0;   val=0;
   
     /* Unidentified stuff won't sell for more than 60gp */      /* Unidentified stuff won't sell for more than 60gp */
     if(flag==F_SELL && !QUERY_FLAG(tmp, FLAG_IDENTIFIED) && need_identify(tmp)) {      if(flag==F_SELL && !QUERY_FLAG(tmp, FLAG_IDENTIFIED) && need_identify(tmp) && !identified) {
  val = (val > 600)? 600:val;   val = (val > 600)? 600:val;
     }      }
     return val;      return val;


Legend:
line(s) removed in v.1.31 
line(s) changed
 line(s) added in v.1.32

File made using version 1.98 of cvs2html by leaf at 2011-07-21 17:44