void
updpack()
{
	int pack_level; /* 0 empty, 5 full */
	int curcarry = packweight();

	pstats.s_carry = totalenc();	/* update max encumb */
	if (is_carrying(TR_PURSE))
	    pstats.s_carry += 1000;

	foodlev = 0;
	pack_level = ((curcarry + rnd(5) * 5) / pstats.s_carry) - 1;
	switch ((curcarry * 5) / pstats.s_carry) {  /* % of total capacity */
	    case 5:	/* 100 % */
		foodlev++;
	    case 4:	/* 80 % */
		if (rnd(100) < 80)
		    foodlev++;
	    case 3:	/* 60 % */
		if (rnd(100) < 60)
		    foodlev++;
	    case 2:	/* 40 % */
		if (rnd(100) < 40)
		    foodlev++;
	    case 1:	/* 20 % */
		if (rnd(100) < 20)
		    foodlev++;
	    case 0:	/* 0 % */
		foodlev++;
	}
	pstats.s_pack = curcarry;   /* update pack weight */

	if (is_carrying(TR_PURSE))  /* makes pack lighter */
	    foodlev--;
}
Example #2
0
/*
 * updpack:
 *	Update his pack weight and adjust fooduse accordingly
 */
void updpack()
{
  int topcarry, curcarry;

  him->s_carry = totalenc();   /* get total encumb */
  curcarry = packweight();     /* get pack weight */
  topcarry = him->s_carry / 5; /* 20% of total carry */
  if (curcarry > 4 * topcarry) {
    if (rnd(100) < 80)
      foodlev = 3; /* > 80% of pack */
  } else if (curcarry > 3 * topcarry) {
    if (rnd(100) < 60)
      foodlev = 2; /* > 60% of pack */
  } else
    foodlev = 1;          /* <= 60% of pack */
  him->s_pack = curcarry; /* update pack weight */
  packvol = pack_vol();   /* update pack volume */
  nochange = FALSE;       /* also change display */
}
/*
 * updpack:
 *	Update his pack weight and adjust fooduse accordingly
 */
void
updpack(int getmax)
{

    reg int topcarry, curcarry;

    if (getmax)
        pstats.s_carry = totalenc();	/* get total encumb */
    curcarry = packweight();		/* get pack weight */
    topcarry = pstats.s_carry / 5;		/* 20% of total carry */
    if(curcarry > 4 * topcarry) {
        if(rnd(100) < 80)
            foodlev = 3;			/* > 80% of pack */
    } else if(curcarry > 3 * topcarry) {
        if(rnd(100) < 60)
            foodlev = 2;			/* > 60% of pack */
    } else
        foodlev = 1;			/* <= 60% of pack */
    pstats.s_pack = curcarry;		/* update pack weight */
}