C*** BURDEN .. RETURNS WEIGHT OF ITEMS BEING CARRIED INTEGER FUNCTION BURDEN(OBJ) C IF OBJ=0, BURDEN CALCULATES THE TOTAL WEIGHT OF THE ADVENTURER'S BURDEN, C INCLUDING EVERYTHING IN ALL CONTAINERS (EXCEPT THE BOAT) THAT HE IS C CARRYING. C IF OBJ#0 AND OBJ IS A CONTAINER, CALCULATE THE WEIGHT OF EVERYTHING INSIDE C THE CONTAINER (INCLUDING THE CONTAINER ITSELF). SINCE DONKEY FORTRAN C ISN'T RECURSIVE, WE WILL ONLY CALCULATE WEIGHTS OF CONTAINED CONTAINERS C ONE LEVEL DOWN. THE ONLY SERIOUS CONTAINED CONTAINER WOULD BE THE SACK C THE ONLY THINGS WE'LL MISS WILL BE FILLED VS EMPTY BOTTLE OR CAGE. C IF OBJ#0 AND ISN'T A CONTAINER, RETURN ITS WEIGHT. IMPLICIT INTEGER(A-Z) INTEGER*4 POINTS COMMON /OBJCOM/ PLAC(150),FIXD(150),WEIGHT(150),PROP(150), 1 POINTS(150) COMMON /HLDCOM/ HOLDER(150),HLINK(150) COMMON /PLACOM/ ATLOC(250),LINK(300),PLACE(150), 1 FIXED(150),MAXOBJ LOGICAL TOTING,WEARNG DATA BOAT /48/ BURDEN=0 IF(OBJ.NE.0)GOTO 200 DO 100 I=1,MAXOBJ IF(.NOT.TOTING(I).OR.PLACE(I).EQ.-BOAT)GOTO 100 BURDEN=BURDEN+WEIGHT(I) 100 CONTINUE RETURN 200 BURDEN=WEIGHT(OBJ) IF(OBJ.EQ.BOAT)RETURN TEMP=HOLDER(OBJ) 210 IF(TEMP.EQ.0)RETURN BURDEN=BURDEN+WEIGHT(TEMP) TEMP=HLINK(TEMP) GOTO 210 END