item action 'W' for armor
In the context-sensitive menu when picking an item of armor from an inventory listing, distinguish between wear-this-armor from could- wear-this-armor-if-something-else-wasn't-already-worn-in-its-slot.
This commit is contained in:
64
src/worn.c
64
src/worn.c
@@ -205,6 +205,70 @@ wearmask_to_obj(long wornmask)
|
||||
return (struct obj *) 0;
|
||||
}
|
||||
|
||||
/* convert an armor wornmask to corresponding category */
|
||||
int
|
||||
wornmask_to_armcat(long mask)
|
||||
{
|
||||
int cat = 0;
|
||||
|
||||
switch (mask & W_ARMOR) {
|
||||
case W_ARM:
|
||||
cat = ARM_SUIT;
|
||||
break;
|
||||
case W_ARMC:
|
||||
cat = ARM_CLOAK;
|
||||
break;
|
||||
case W_ARMH:
|
||||
cat = ARM_HELM;
|
||||
break;
|
||||
case W_ARMS:
|
||||
cat = ARM_SHIELD;
|
||||
break;
|
||||
case W_ARMG:
|
||||
cat = ARM_GLOVES;
|
||||
break;
|
||||
case W_ARMF:
|
||||
cat = ARM_BOOTS;
|
||||
break;
|
||||
case W_ARMU:
|
||||
cat = ARM_SHIRT;
|
||||
break;
|
||||
}
|
||||
return cat;
|
||||
}
|
||||
|
||||
/* convert an armor category to corresponding wornmask */
|
||||
long
|
||||
armcat_to_wornmask(int cat)
|
||||
{
|
||||
long mask = 0L;
|
||||
|
||||
switch (cat) {
|
||||
case ARM_SUIT:
|
||||
mask = W_ARM;
|
||||
break;
|
||||
case ARM_CLOAK:
|
||||
mask = W_ARMC;
|
||||
break;
|
||||
case ARM_HELM:
|
||||
mask = W_ARMH;
|
||||
break;
|
||||
case ARM_SHIELD:
|
||||
mask = W_ARMS;
|
||||
break;
|
||||
case ARM_GLOVES:
|
||||
mask = W_ARMG;
|
||||
break;
|
||||
case ARM_BOOTS:
|
||||
mask = W_ARMF;
|
||||
break;
|
||||
case ARM_SHIRT:
|
||||
mask = W_ARMU;
|
||||
break;
|
||||
}
|
||||
return mask;
|
||||
}
|
||||
|
||||
/* return a bitmask of the equipment slot(s) a given item might be worn in */
|
||||
long
|
||||
wearslot(struct obj *obj)
|
||||
|
||||
Reference in New Issue
Block a user