diff options
Diffstat (limited to 'games/hack/hack.worn.c')
-rw-r--r-- | games/hack/hack.worn.c | 65 |
1 files changed, 0 insertions, 65 deletions
diff --git a/games/hack/hack.worn.c b/games/hack/hack.worn.c deleted file mode 100644 index bfec47f219966..0000000000000 --- a/games/hack/hack.worn.c +++ /dev/null @@ -1,65 +0,0 @@ -/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ -/* hack.worn.c - version 1.0.2 */ - -#include "hack.h" - -struct worn { - long w_mask; - struct obj **w_obj; -} worn[] = { - { W_ARM, &uarm }, - { W_ARM2, &uarm2 }, - { W_ARMH, &uarmh }, - { W_ARMS, &uarms }, - { W_ARMG, &uarmg }, - { W_RINGL, &uleft }, - { W_RINGR, &uright }, - { W_WEP, &uwep }, - { W_BALL, &uball }, - { W_CHAIN, &uchain }, - { 0, 0 } -}; - -setworn(obj, mask) -register struct obj *obj; -long mask; -{ - register struct worn *wp; - register struct obj *oobj; - - for(wp = worn; wp->w_mask; wp++) if(wp->w_mask & mask) { - oobj = *(wp->w_obj); - if(oobj && !(oobj->owornmask & wp->w_mask)) - impossible("Setworn: mask = %ld.", wp->w_mask); - if(oobj) oobj->owornmask &= ~wp->w_mask; - if(obj && oobj && wp->w_mask == W_ARM){ - if(uarm2) { - impossible("Setworn: uarm2 set?"); - } else - setworn(uarm, W_ARM2); - } - *(wp->w_obj) = obj; - if(obj) obj->owornmask |= wp->w_mask; - } - if(uarm2 && !uarm) { - uarm = uarm2; - uarm2 = 0; - uarm->owornmask ^= (W_ARM | W_ARM2); - } -} - -/* called e.g. when obj is destroyed */ -setnotworn(obj) register struct obj *obj; { - register struct worn *wp; - - for(wp = worn; wp->w_mask; wp++) - if(obj == *(wp->w_obj)) { - *(wp->w_obj) = 0; - obj->owornmask &= ~wp->w_mask; - } - if(uarm2 && !uarm) { - uarm = uarm2; - uarm2 = 0; - uarm->owornmask ^= (W_ARM | W_ARM2); - } -} |