diff --git a/src/act.obj.cpp b/src/act.obj.cpp index 839c3a3ec..fcda49a2b 100644 --- a/src/act.obj.cpp +++ b/src/act.obj.cpp @@ -3381,10 +3381,11 @@ void perform_wear(struct char_data * ch, struct obj_data * obj, int where, bool return; } - // Iterate through what they're wearing and check for compatibility. - struct obj_data *worn_item = NULL; - for (int wearloc = 0; wearloc < NUM_WEARS; wearloc++) { - // They're allowed to wear helmets. + // Iterate through what they're wearing and check for compatibility-- but only if this is not a helmet. + if (where != ITEM_WEAR_HEAD) { + struct obj_data *worn_item = NULL; + for (int wearloc = 0; wearloc < NUM_WEARS; wearloc++) { + // Helmets never conflict. if (wearloc == WEAR_HEAD) continue; @@ -3408,6 +3409,7 @@ void perform_wear(struct char_data * ch, struct obj_data * obj, int where, bool return; } } + } // Gyros take a bit to get into. if (GET_OBJ_TYPE(obj) == ITEM_GYRO) {