reduce insect/monster creation from monster spells
avoid "couldn't place lregion type 5" warning when arriving at Plane of Fire
avoid crash due to delayed poly or were change no longer being valid
+ensure that Priest's ability to recognize B/U/C is considered in B/U/C menus
Platform- and/or Interface-Specific Fixes
while (list) {
switch(type) {
case BUC_BLESSED:
- if (list->oclass != GOLD_CLASS && list->bknown && list->blessed)
+ if (list->oclass != GOLD_CLASS &&
+ (list->bknown || Role_if(PM_PRIEST)) && list->blessed)
count++;
break;
case BUC_CURSED:
- if (list->oclass != GOLD_CLASS && list->bknown && list->cursed)
+ if (list->oclass != GOLD_CLASS &&
+ (list->bknown || Role_if(PM_PRIEST)) && list->cursed)
count++;
break;
case BUC_UNCURSED:
if (list->oclass != GOLD_CLASS &&
- list->bknown && !list->blessed && !list->cursed)
+ (list->bknown || Role_if(PM_PRIEST)) && !list->blessed && !list->cursed)
count++;
break;
case BUC_UNKNOWN:
- if (list->oclass != GOLD_CLASS && !list->bknown)
+ if (list->oclass != GOLD_CLASS && !(list->bknown || Role_if(PM_PRIEST)))
count++;
break;
default:
(index(valid_menu_classes, obj->oclass) != (char *)0))
return TRUE;
else if (((index(valid_menu_classes,'U') != (char *)0) &&
- (obj->oclass != GOLD_CLASS && obj->bknown && !obj->blessed && !obj->cursed)))
+ (obj->oclass != GOLD_CLASS && (obj->bknown || Role_if(PM_PRIEST)) &&
+ !obj->blessed && !obj->cursed)))
return TRUE;
else if (((index(valid_menu_classes,'B') != (char *)0) &&
- (obj->oclass != GOLD_CLASS && obj->bknown && obj->blessed)))
+ (obj->oclass != GOLD_CLASS &&
+ (obj->bknown || Role_if(PM_PRIEST)) && obj->blessed)))
return TRUE;
else if (((index(valid_menu_classes,'C') != (char *)0) &&
- (obj->oclass != GOLD_CLASS && obj->bknown && obj->cursed)))
+ (obj->oclass != GOLD_CLASS &&
+ (obj->bknown || Role_if(PM_PRIEST)) && obj->cursed)))
return TRUE;
else if (((index(valid_menu_classes,'X') != (char *)0) &&
- (obj->oclass != GOLD_CLASS && !obj->bknown)))
+ (obj->oclass != GOLD_CLASS && !(obj->bknown || Role_if(PM_PRIEST)))))
return TRUE;
else
return FALSE;