[BACK]Return to armor.c CVS log [TXT][DIR] Up to [contributed] / early-roguelike / rogue5

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