OK... basically what I would do is put an entry in the class table for that
class's REST_CLASS_* flag.
Then just do...
if (IS_RESTRICT_CLASS(obj, class_table[ch->class].restriction_flag))
{
}
--Palrich.
On Friday 11 April 2003 01:43 pm, Mervine, Keith wrote:
> Greetings,
> Is there (im sure there is) a better way to do this check?
> It's to check class and compare the items restrictclass var to it to
> Make sure the characters class can use it....
>
> bool can_wear_class(CHAR_DATA *ch, OBJ_DATA *obj){
> if (!obj->restrictclass)
> return TRUE; //no restrictions
>
> if (IS_RESTRICT_CLASS(obj, REST_CLASS_WITCH) &&
> ch->class==CLASS_WITCH)
> return TRUE;
> else if (IS_RESTRICT_CLASS(obj, REST_CLASS_CLERIC) && ch->class
> ==CLASS_CLERIC)
> return TRUE;
> else if (IS_RESTRICT_CLASS(obj, REST_CLASS_THIEF) &&
> ch->class==CLASS_THIEF)
> return TRUE;
> else if (IS_RESTRICT_CLASS(obj, REST_CLASS_WARRIOR) &&
> ch->class==CLASS_WARRIOR)
> return TRUE;
> else if (IS_RESTRICT_CLASS(obj, REST_CLASS_PALADIN) && ch->class
> ==CLASS_PALADIN)
> return TRUE;
> else if (IS_RESTRICT_CLASS(obj, REST_CLASS_DARK_PALADIN) &&
> ch->class==CLASS_DARK_PALADIN)
> return TRUE;
> else if (IS_RESTRICT_CLASS(obj, REST_CLASS_NINJA) &&
> ch->class==CLASS_NINJA)
> return TRUE;
> else if (IS_RESTRICT_CLASS(obj, REST_CLASS_RANGER) && ch->class
> ==CLASS_RANGER)
> return TRUE;
> else if (IS_RESTRICT_CLASS(obj, REST_CLASS_WARLOCK) &&
> ch->class==CLASS_WARLOCK)
> return TRUE;
> else if (IS_RESTRICT_CLASS(obj, REST_CLASS_SAMURAI) &&
> ch->class==CLASS_SAMURAI)
> return TRUE;
> else if (IS_RESTRICT_CLASS(obj, REST_CLASS_VAMPIRE) && ch->class
> ==CLASS_VAMPIRE)
> return TRUE;
> else if (IS_RESTRICT_CLASS(obj, REST_CLASS_NECROMANCER) &&
> ch->class==CLASS_NECROMANCER)
> return TRUE;
> else if (IS_RESTRICT_CLASS(obj, REST_CLASS_PSIONICIST) &&
> ch->class==CLASS_PSIONICIST)
> return TRUE;
> else if (IS_RESTRICT_CLASS(obj, REST_CLASS_WATER_ELEM) &&
> ch->class==CLASS_WATER_ELEM)
> return TRUE;
> else if (IS_RESTRICT_CLASS(obj, REST_CLASS_AIR_ELEM) &&
> ch->class==CLASS_AIR_ELEM)
> return TRUE;
> else if (IS_RESTRICT_CLASS(obj, REST_CLASS_FIRE_ELEM) && ch->class
> ==CLASS_FIRE_ELEM)
> return TRUE;
> else if (IS_RESTRICT_CLASS(obj, REST_CLASS_EARTH_ELEM) &&
> ch->class==CLASS_EARTH_ELEM)
> return TRUE;
> else if (IS_RESTRICT_CLASS(obj, REST_CLASS_LIGHT_ELEM) &&
> ch->class==CLASS_LIGHT_ELEM)
> return TRUE;
> else if (IS_RESTRICT_CLASS(obj, REST_CLASS_ASSASSIN) &&
> ch->class==CLASS_ASSASSIN)
> return TRUE;
> else if (IS_RESTRICT_CLASS(obj, REST_CLASS_MONK) &&
> ch->class==CLASS_MONK)
> return TRUE;
> else if (IS_RESTRICT_CLASS(obj, REST_CLASS_BARD) &&
> ch->class==CLASS_BARD)
> return TRUE;
> else if (IS_RESTRICT_CLASS(obj, REST_CLASS_DRUID) &&
> ch->class==CLASS_DRUID)
> return TRUE;
>
>
> return FALSE; //didn't succeed at any comparison checks
> }
>
>
> Keith Mervine
> "Non Omnis Moriar"
> "Growing old is mandatory, growing up is optional"
> Service Management Application Developer
> International Monetary Fund
> [EMAIL PROTECTED]
> 202-623-7610