|
|
1.1 root 1: /*
2: * This file contains misc functions for dealing with armor
3: * @(#)armor.c 3.9 (Berkeley) 6/15/81
4: */
5:
6: #include <curses.h>
7: #include "rogue.h"
8:
9: /*
10: * wear:
11: * The player wants to wear something, so let him/her put it on.
12: */
13:
14: wear()
15: {
16: register struct linked_list *item;
17: register struct object *obj;
18:
19: if (cur_armor != NULL)
20: {
21: addmsg("You are already wearing some");
22: if (!terse)
23: addmsg(". You'll have to take it off first");
24: endmsg();
25: after = FALSE;
26: return;
27: }
28: if ((item = get_item("wear", ARMOR)) == NULL)
29: return;
30: obj = (struct object *) ldata(item);
31: if (obj->o_type != ARMOR)
32: {
33: msg("You can't wear that.");
34: return;
35: }
36: waste_time();
37: if (!terse)
38: addmsg("You are now w");
39: else
40: addmsg("W");
41: msg("earing %s.", a_names[obj->o_which]);
42: cur_armor = obj;
43: obj->o_flags |= ISKNOW;
44: }
45:
46: /*
47: * take_off:
48: * Get the armor off of the players back
49: */
50:
51: take_off()
52: {
53: register struct object *obj;
54:
55: if ((obj = cur_armor) == NULL)
56: {
57: if (terse)
58: msg("Not wearing armor");
59: else
60: msg("You aren't wearing any armor");
61: return;
62: }
63: if (!dropcheck(cur_armor))
64: return;
65: cur_armor = NULL;
66: if (terse)
67: addmsg("Was");
68: else
69: addmsg("You used to be ");
70: msg(" wearing %c) %s", pack_char(obj), inv_name(obj, TRUE));
71: }
72:
73: /*
74: * waste_time:
75: * Do nothing but let other things happen
76: */
77:
78: waste_time()
79: {
80: do_daemons(BEFORE);
81: do_fuses(BEFORE);
82: do_daemons(AFTER);
83: do_fuses(AFTER);
84: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.