#if defined(macintosh)
#include <types.h>
#else
#include <sys/types.h>
#endif
#include <ctype.h>
#include <stdio.h>
#include <string.h>
#include <time.h>
#include "merc.h"
#include "interp.h"
#include "magic.h"
#include "recycle.h"
#include "tables.h"

OBJ_DATA *
gen_util_relic_force (OBJ_DATA * obj, int level) 
{
  

AFFECT_DATA * af = new_affect ();
  

af->location = APPLY_FORCE;
  
af->modifier = level;
  
af->where = TO_OBJECT;
  
af->type = 11;
  
af->duration = -1;
  
af->bitvector = 0;
  
af->level = 250;
  
af->next = obj->affected;
  
obj->affected = af;
  

return (obj);


}


OBJ_DATA *
gen_util_relic_speed (OBJ_DATA * obj, int level) 
{
  

AFFECT_DATA * af = new_affect ();
  

af->location = APPLY_SPEED;
  
af->modifier = level;
  
af->where = TO_OBJECT;
  
af->type = 11;
  
af->duration = -1;
  
af->bitvector = 0;
  
af->level = 250;
  
af->next = obj->affected;
  
obj->affected = af;
  

return (obj);


}

OBJ_DATA *
gen_util_relic_intui (OBJ_DATA * obj, int level) 
{
  

AFFECT_DATA * af = new_affect ();
  

af->location = APPLY_INTUI;
  
af->modifier = level;
  
af->where = TO_OBJECT;
  
af->type = 11;
  
af->duration = -1;
  
af->bitvector = 0;
  
af->level = 250;
  
af->next = obj->affected;
  
obj->affected = af;
  

return (obj);


}

OBJ_DATA *
gen_util_relic_resil (OBJ_DATA * obj, int level) 
{
  

AFFECT_DATA * af = new_affect ();
  

af->location = APPLY_RESIL;
  
af->modifier = level;
  
af->where = TO_OBJECT;
  
af->type = 11;
  
af->duration = -1;
  
af->bitvector = 0;
  
af->level = 250;
  
af->next = obj->affected;
  
obj->affected = af;
  

return (obj);


}

OBJ_DATA *
gen_util_relic_luck (OBJ_DATA * obj, int level) 
{
  

AFFECT_DATA * af = new_affect ();
  

af->location = APPLY_LUCK;
  
af->modifier = level;
  
af->where = TO_OBJECT;
  
af->type = 11;
  
af->duration = -1;
  
af->bitvector = 0;
  
af->level = 250;
  
af->next = obj->affected;
  
obj->affected = af;
  

return (obj);


}

OBJ_DATA *
gen_util_relic_ac (OBJ_DATA * obj, int level) 
{
  

AFFECT_DATA * af = new_affect ();
  

af->location = APPLY_AC;
  
af->modifier = level;
  
af->where = TO_OBJECT;
  
af->type = 11;
  
af->duration = -1;
  
af->bitvector = 0;
  
af->level = 250;
  
af->next = obj->affected;
  
obj->affected = af;
  

return (obj);


}

OBJ_DATA *
gen_util_relic_saves (OBJ_DATA * obj, int level) 
{
  

AFFECT_DATA * af = new_affect ();
  

af->location = APPLY_SAVES;
  
af->modifier = level;
  
af->where = TO_OBJECT;
  
af->type = 11;
  
af->duration = -1;
  
af->bitvector = 0;
  
af->level = 250;
  
af->next = obj->affected;
  
obj->affected = af;
  

return (obj);


}

OBJ_DATA *
gen_util_relic_res_fire (OBJ_DATA * obj, int level) 
{
  

AFFECT_DATA * af = new_affect ();
  

af->location = APPLY_RES_FIRE;
  
af->modifier = level;
  
af->where = TO_OBJECT;
  
af->type = 11;
  
af->duration = -1;
  
af->bitvector = 0;
  
af->level = 250;
  
af->next = obj->affected;
  
obj->affected = af;
  

return (obj);


}

OBJ_DATA *
gen_util_relic_res_cold (OBJ_DATA * obj, int level) 
{
  

AFFECT_DATA * af = new_affect ();
  

af->location = APPLY_RES_COLD;
  
af->modifier = level;
  
af->where = TO_OBJECT;
  
af->type = 11;
  
af->duration = -1;
  
af->bitvector = 0;
  
af->level = 250;
  
af->next = obj->affected;
  
obj->affected = af;
  

return (obj);


}

OBJ_DATA *
gen_util_relic_res_holy (OBJ_DATA * obj, int level) 
{
  

AFFECT_DATA * af = new_affect ();
  

af->location = APPLY_RES_HOLY;
  
af->modifier = level;
  
af->where = TO_OBJECT;
  
af->type = 11;
  
af->duration = -1;
  
af->bitvector = 0;
  
af->level = 250;
  
af->next = obj->affected;
  
obj->affected = af;
  

return (obj);


}


OBJ_DATA *
gen_util_relic_res_negi (OBJ_DATA * obj, int level) 
{
  

AFFECT_DATA * af = new_affect ();
  

af->location = APPLY_RES_NEGI;
  
af->modifier =level;
  
af->where = TO_OBJECT;
  
af->type = 11;
  
af->duration = -1;
  
af->bitvector = 0;
  
af->level = 250;
  
af->next = obj->affected;
  
obj->affected = af;
  

return (obj);


}

OBJ_DATA *
gen_util_relic_res_pierce (OBJ_DATA * obj, int level) 
{
  

AFFECT_DATA * af = new_affect ();
  

af->location = APPLY_RES_PIERCE;
  
af->modifier = level;
  
af->where = TO_OBJECT;
  
af->type = 11;
  
af->duration = -1;
  
af->bitvector = 0;
  
af->level = 250;
  
af->next = obj->affected;
  
obj->affected = af;
  

return (obj);


}

OBJ_DATA *
gen_util_relic_res_bash (OBJ_DATA * obj, int level) 
{
  

AFFECT_DATA * af = new_affect ();
  

af->location = APPLY_RES_BASH;
  
af->modifier = level;
  
af->where = TO_OBJECT;
  
af->type = 11;
  
af->duration = -1;
  
af->bitvector = 0;
  
af->level = 250;
  
af->next = obj->affected;
  
obj->affected = af;
  

return (obj);


}

OBJ_DATA *
gen_util_relic_res_slash (OBJ_DATA * obj, int level) 
{
  

AFFECT_DATA * af = new_affect ();
  

af->location = APPLY_RES_SLASH;
  
af->modifier = level;
  
af->where = TO_OBJECT;
  
af->type = 11;
  
af->duration = -1;
  
af->bitvector = 0;
  
af->level = 250;
  
af->next = obj->affected;
  
obj->affected = af;
  

return (obj);


}

OBJ_DATA *
gen_util_relic_res_magic (OBJ_DATA * obj, int level) 
{
  

AFFECT_DATA * af = new_affect ();
  

af->location = APPLY_RES_MAGIC;
  
af->modifier = level;
  
af->where = TO_OBJECT;
  
af->type = 11;
  
af->duration = -1;
  
af->bitvector = 0;
  
af->level = 250;
  
af->next = obj->affected;
  
obj->affected = af;
  

return (obj);


}

OBJ_DATA *
gen_util_relic_hitpoint (OBJ_DATA * obj, int level) 
{
  

AFFECT_DATA * af = new_affect ();
  

af->location = APPLY_HIT;
  
af->modifier = level;
  
af->where = TO_OBJECT;
  
af->type = 11;
  
af->duration = -1;
  
af->bitvector = 0;
  
af->level = 250;
  
af->next = obj->affected;
  
obj->affected = af;
  

return (obj);


}


OBJ_DATA *
gen_util_relic_mana (OBJ_DATA * obj, int level) 
{
  

AFFECT_DATA * af = new_affect ();
  

af->location = APPLY_MANA;
  
af->modifier = level;
  
af->where = TO_OBJECT;
  
af->type = 11;
  
af->duration = -1;
  
af->bitvector = 0;
  
af->level = 250;
  
af->next = obj->affected;
  
obj->affected = af;
  

return (obj);


}

OBJ_DATA *
gen_util_relic_move (OBJ_DATA * obj, int level) 
{
  

AFFECT_DATA * af = new_affect ();
  

af->location = APPLY_MOVE;
  
af->modifier = level;
  
af->where = TO_OBJECT;
  
af->type = 11;
  
af->duration = -1;
  
af->bitvector = 0;
  
af->level = 250;
  
af->next = obj->affected;
  
obj->affected = af;
  

return (obj);


}