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

Superseding patch



This patch supersedes the one sent out ~3 minutes ago.
There is definitely a bug, if an object is not paid for, people will
never be able to save out, for example if the game goes nuts.
*** object.c.~1~        Tue Feb 16 16:38:11 1993
--- object.c    Sat Feb 27 22:31:03 1993
***************
*** 50,56 ****
     a better check  */
  
  object *is_player_inv (object *op) { 
!     for (;op!=NULL&&op->type!=PLAYER; op=op->env);
      return op;
  }
  
--- 50,58 ----
     a better check  */
  
  object *is_player_inv (object *op) { 
!     for (;op!=NULL&&op->type!=PLAYER; op=op->env)
!       if (op->env==op)
!       op->env = NULL;
      return op;
  }
  
***************
*** 1400,1408 ****
      return;
    if(!(flag&1)&&
       (IS_UNPAID(op)||
!       (penalty&&(op->type==GOLDCOIN||op->type==SILVERCOIN||op->type==GEM))))
!       return;
! 
    if((at=op->arch)!=NULL)
      fprintf(fp,"arch %s\n",at->name);
    if((cp=get_ob_diff(op,&((at==NULL?empty_archetype:at)->clone)))!=NULL)
--- 1402,1412 ----
      return;
    if(!(flag&1)&&
       (IS_UNPAID(op)||
!       (penalty&&(op->type==GOLDCOIN||op->type==SILVERCOIN||op->type==GEM)))) {
!     remove_ob(op);
!     free_object(op);
!     return;
!   }
    if((at=op->arch)!=NULL)
      fprintf(fp,"arch %s\n",at->name);
    if((cp=get_ob_diff(op,&((at==NULL?empty_archetype:at)->clone)))!=NULL)
          -Eric 
*********************************************************
"It seemed like a good idea at the time"
           -The Mad Hatter
"Yes, you're very smart.  Shut up."
           -In "The Princess Bride"
*********************************************************