1 /*
2 * Copyright (c) 1980, 1993
3 * The Regents of the University of California. All rights reserved.
4 *
5 * %sccs.include.redist.c%
6 */
7
8 #ifndef lint
9 static char sccsid[] = "@(#)rent.c 8.1 (Berkeley) 05/31/93";
10 #endif /* not lint */
11
12 # include "monop.ext"
13
14 /*
15 * This routine has the player pay rent
16 */
rent(sqp)17 rent(sqp)
18 reg SQUARE *sqp; {
19
20 reg int rnt;
21 reg PROP *pp;
22 PLAY *plp;
23
24 plp = &play[sqp->owner];
25 printf("Owned by %s\n", plp->name);
26 if (sqp->desc->morg) {
27 lucky("The thing is mortgaged. ");
28 return;
29 }
30 switch (sqp->type) {
31 case PRPTY:
32 pp = sqp->desc;
33 if (pp->monop)
34 if (pp->houses == 0)
35 printf("rent is %d\n", rnt=pp->rent[0] * 2);
36 else if (pp->houses < 5)
37 printf("with %d houses, rent is %d\n",
38 pp->houses, rnt=pp->rent[pp->houses]);
39 else
40 printf("with a hotel, rent is %d\n",
41 rnt=pp->rent[pp->houses]);
42 else
43 printf("rent is %d\n", rnt = pp->rent[0]);
44 break;
45 case RR:
46 rnt = 25;
47 rnt <<= (plp->num_rr - 1);
48 if (spec)
49 rnt <<= 1;
50 printf("rent is %d\n", rnt);
51 break;
52 case UTIL:
53 rnt = roll(2, 6);
54 if (plp->num_util == 2 || spec) {
55 printf("rent is 10 * roll (%d) = %d\n", rnt, rnt * 10);
56 rnt *= 10;
57 }
58 else {
59 printf("rent is 4 * roll (%d) = %d\n", rnt, rnt * 4);
60 rnt *= 4;
61 }
62 break;
63 }
64 cur_p->money -= rnt;
65 plp->money += rnt;
66 }
67