Annotation of early-roguelike/rogue5/armor.c, Revision 1.1.1.1
1.1 rubenllo 1: /*
2: * This file contains misc functions for dealing with armor
3: * @(#)armor.c 4.14 (Berkeley) 02/05/99
4: *
5: * Rogue: Exploring the Dungeons of Doom
6: * Copyright (C) 1980-1983, 1985, 1999 Michael Toy, Ken Arnold and Glenn Wichman
7: * All rights reserved.
8: *
9: * See the file LICENSE.TXT for full copyright and licensing information.
10: */
11:
12: #include <curses.h>
13: #include "rogue.h"
14:
15: /*
16: * wear:
17: * The player wants to wear something, so let him/her put it on.
18: */
19: void
20: wear(void)
21: {
22: THING *obj;
23: char *sp;
24:
25: if ((obj = get_item("wear", ARMOR)) == NULL)
26: return;
27: if (cur_armor != NULL)
28: {
29: addmsg("you are already wearing some");
30: if (!terse)
31: addmsg(". You'll have to take it off first");
32: endmsg();
33: after = FALSE;
34: return;
35: }
36: if (obj->o_type != ARMOR)
37: {
38: msg("you can't wear that");
39: return;
40: }
41: waste_time();
42: obj->o_flags |= ISKNOW;
43: sp = inv_name(obj, TRUE);
44: cur_armor = obj;
45: if (!terse)
46: addmsg("you are now ");
47: msg("wearing %s", sp);
48: }
49:
50: /*
51: * take_off:
52: * Get the armor off of the players back
53: */
54: void
55: take_off(void)
56: {
57: THING *obj;
58:
59: if ((obj = cur_armor) == NULL)
60: {
61: after = FALSE;
62: if (terse)
63: msg("not wearing armor");
64: else
65: msg("you aren't wearing any armor");
66: return;
67: }
68: if (!dropcheck(cur_armor))
69: return;
70: cur_armor = NULL;
71: if (terse)
72: addmsg("was");
73: else
74: addmsg("you used to be");
75: msg(" wearing %c) %s", obj->o_packch, inv_name(obj, TRUE));
76: }
77:
78: /*
79: * waste_time:
80: * Do nothing but let other things happen
81: */
82: void
83: waste_time(void)
84: {
85: do_daemons(BEFORE);
86: do_fuses(BEFORE);
87: do_daemons(AFTER);
88: do_fuses(AFTER);
89: }
CVSweb