Annotation of early-roguelike/rogue3/armor.c, Revision 1.1.1.1
1.1 rubenllo 1: /*
2: * This file contains misc functions for dealing with armor
3: * @(#)armor.c 3.9 (Berkeley) 6/15/81
4: *
5: * Rogue: Exploring the Dungeons of Doom
6: * Copyright (C) 1980, 1981 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:
20: void
21: wear()
22: {
23: register struct linked_list *item;
24: register struct object *obj;
25:
26: if (cur_armor != NULL)
27: {
28: addmsg("You are already wearing some");
29: if (!terse)
30: addmsg(". You'll have to take it off first");
31: endmsg();
32: after = FALSE;
33: return;
34: }
35: if ((item = get_item("wear", ARMOR)) == NULL)
36: return;
37: obj = (struct object *) ldata(item);
38: if (obj->o_type != ARMOR)
39: {
40: msg("You can't wear that.");
41: return;
42: }
43: waste_time();
44: if (!terse)
45: addmsg("You are now w");
46: else
47: addmsg("W");
48: msg("earing %s.", a_names[obj->o_which]);
49: cur_armor = obj;
50: obj->o_flags |= ISKNOW;
51: }
52:
53: /*
54: * take_off:
55: * Get the armor off of the players back
56: */
57:
58: void
59: take_off()
60: {
61: register struct object *obj;
62:
63: if ((obj = cur_armor) == NULL)
64: {
65: if (terse)
66: msg("Not wearing armor");
67: else
68: msg("You aren't wearing any armor");
69: return;
70: }
71: if (!dropcheck(cur_armor))
72: return;
73: cur_armor = NULL;
74: if (terse)
75: addmsg("Was");
76: else
77: addmsg("You used to be ");
78: msg(" wearing %c) %s", pack_char(obj), inv_name(obj, TRUE));
79: }
80:
81: /*
82: * waste_time:
83: * Do nothing but let other things happen
84: */
85:
86: void
87: waste_time()
88: {
89: do_daemons(BEFORE);
90: do_fuses(BEFORE);
91: do_daemons(AFTER);
92: do_fuses(AFTER);
93: }
CVSweb