/*
 *	Item generator 2, a simpler approch to the creation system
 */

#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_armor_relic (OBJ_DATA * obj, int level)
{
	int weapon_type = number_range(1, 11);
	char name_set[MSL];
	char shor_set[MSL];
	char long_set[MSL];
	obj = create_object (get_obj_index (921), 0);
//       AFFECT_DATA af;

	switch(weapon_type)
	{	default:
		case 1:
		obj->wear_flags += ITEM_WEAR_BODY;
		obj->level	= 35;
		obj->value[0] = 20;
		obj->value[1] = 20;
		obj->value[2] = 20;
		obj->value[3] = 20;
		sprintf(name_set, "relic red demon platemail");
		sprintf(shor_set, "a reddish demonic platemail");
		sprintf(long_set, "a reddish demonic platemail is on the ground here");
		obj->name        = str_dup (name_set);
		obj->short_descr = str_dup (shor_set);
		obj->description  = str_dup (long_set);

		gen_util_weapon_damroll(obj, 10);
		gen_util_weapon_hitroll(obj, 10);
		gen_util_relic_force(obj, 1);
		gen_util_relic_res_fire(obj, 10);
		gen_util_relic_res_cold(obj, 10);
		gen_util_relic_res_magic(obj, 10);
		break;

		case 2:
		obj->wear_flags += ITEM_WEAR_HEAD;
		obj->level	= 35;
		obj->value[0] = 20;
		obj->value[1] = 20;
		obj->value[2] = 20;
		obj->value[3] = 20;
		sprintf(name_set, "relic red demon helmet");
		sprintf(shor_set, "a reddish demonic helmet");
		sprintf(long_set, "a reddish demonic helmet is on the ground here");
		obj->name        = str_dup (name_set);
		obj->short_descr = str_dup (shor_set);
		obj->description  = str_dup (long_set);

		gen_util_weapon_damroll(obj, 10);
		gen_util_weapon_hitroll(obj, 10);
		gen_util_relic_intui(obj, 1);
		gen_util_relic_saves(obj, -7);
		break;

		case 3:
		obj->wear_flags += ITEM_WEAR_FEET;
		obj->level	= 35;
		obj->value[0] = 20;
		obj->value[1] = 20;
		obj->value[2] = 20;
		obj->value[3] = 20;
		sprintf(name_set, "relic red demon boots");
		sprintf(shor_set, "a pair of reddish demonic boots");
		sprintf(long_set, "a pair of reddish demonic boots is on the ground here");
		obj->name        = str_dup (name_set);
		obj->short_descr = str_dup (shor_set);
		obj->description  = str_dup (long_set);

		gen_util_weapon_damroll(obj, 10);
		gen_util_weapon_hitroll(obj, 10);
		gen_util_relic_speed(obj, 1);
		gen_util_relic_ac(obj, -25);
		break;

		case 4:
		obj->wear_flags += ITEM_WEAR_LEGS;
		obj->level	= 35;
		obj->value[0] = 20;
		obj->value[1] = 20;
		obj->value[2] = 20;
		obj->value[3] = 20;
		sprintf(name_set, "relic red demon leggings");
		sprintf(shor_set, "a pair of reddish demonic leggings");
		sprintf(long_set, "a pair of reddish demonic leggings is on the ground here");
		obj->name        = str_dup (name_set);
		obj->short_descr = str_dup (shor_set);
		obj->description  = str_dup (long_set);

		gen_util_weapon_damroll(obj, 10);
		gen_util_weapon_hitroll(obj, 10);
		gen_util_relic_resil(obj, 1);
		gen_util_relic_ac(obj, -25);
		break;

		case 5:
		obj->wear_flags += ITEM_WEAR_HANDS;
		obj->level	= 35;
		obj->value[0] = 20;
		obj->value[1] = 20;
		obj->value[2] = 20;
		obj->value[3] = 20;
		sprintf(name_set, "relic red demon gauntlets");
		sprintf(shor_set, "a pair of reddish demonic gauntlets");
		sprintf(long_set, "a pair of reddish demonic gauntlets is on the ground here");
		obj->name        = str_dup (name_set);
		obj->short_descr = str_dup (shor_set);
		obj->description  = str_dup (long_set);

		gen_util_weapon_damroll(obj, 5);
		gen_util_weapon_hitroll(obj, 15);
		gen_util_relic_resil(obj, 1);
		gen_util_relic_res_holy(obj, 7);
		break;

		case 6:
		obj->wear_flags += ITEM_WEAR_WAIST;
		obj->level	= 35;
		obj->value[0] = 20;
		obj->value[1] = 20;
		obj->value[2] = 20;
		obj->value[3] = 20;
		sprintf(name_set, "relic red demon belt");
		sprintf(shor_set, "a reddish demonic belt");
		sprintf(long_set, "a reddish demonic belt is on the ground here");
		obj->name        = str_dup (name_set);
		obj->short_descr = str_dup (shor_set);
		obj->description  = str_dup (long_set);

		gen_util_weapon_damroll(obj, 15);
		gen_util_weapon_hitroll(obj, 5);
		gen_util_relic_luck(obj, 1);
		gen_util_relic_res_negi(obj, 7);
		break;

		case 7:
		obj->wear_flags += ITEM_WEAR_WRIST;
		obj->level	= 35;
		obj->value[0] = 20;
		obj->value[1] = 20;
		obj->value[2] = 20;
		obj->value[3] = 20;
		sprintf(name_set, "relic red demon bracers");
		sprintf(shor_set, "a pair of reddish demonic bracers");
		sprintf(long_set, "a pair of reddish demonic bracers is on the ground here");
		obj->name        = str_dup (name_set);
		obj->short_descr = str_dup (shor_set);
		obj->description  = str_dup (long_set);

		gen_util_relic_intui(obj, 1);
		gen_util_relic_res_magic(obj, 5);
		break;

		case 8:
		obj->wear_flags += ITEM_WEAR_ARMS;
		obj->level	= 35;
		obj->value[0] = 20;
		obj->value[1] = 20;
		obj->value[2] = 20;
		obj->value[3] = 20;
		sprintf(name_set, "relic red demon sleeves");
		sprintf(shor_set, "a pair of reddish demonic sleeves");
		sprintf(long_set, "a pair of reddish demonic sleeves is on the ground here");
		obj->name        = str_dup (name_set);
		obj->short_descr = str_dup (shor_set);
		obj->description  = str_dup (long_set);

		gen_util_weapon_damroll(obj, 7);
		gen_util_relic_luck(obj, 1);
		gen_util_relic_res_pierce(obj, 7);
		break;

		case 9:
		obj->wear_flags += ITEM_WEAR_SHIELD;
		obj->level	= 35;
		obj->value[0] = 20;
		obj->value[1] = 20;
		obj->value[2] = 20;
		obj->value[3] = 20;
		sprintf(name_set, "relic red demon shield");
		sprintf(shor_set, "a red demonic shield");
		sprintf(long_set, "a red demonic shield is on the ground here");
		obj->name        = str_dup (name_set);
		obj->short_descr = str_dup (shor_set);
		obj->description  = str_dup (long_set);

		gen_util_weapon_hitroll(obj, 15);
		gen_util_relic_resil(obj, 2);
		gen_util_relic_res_bash(obj, 7);
		gen_util_relic_res_slash(obj, 7);
		break;

		case 10:
		obj->wear_flags += ITEM_WEAR_FLOAT;
		obj->level	= 35;
		obj->value[0] = 20;
		obj->value[1] = 20;
		obj->value[2] = 20;
		obj->value[3] = 20;
		sprintf(name_set, "relic red demon orb power");
		sprintf(shor_set, "a demonic orb of power");
		sprintf(long_set, "a red demonic orb of power is on the ground here");
		obj->name        = str_dup (name_set);
		obj->short_descr = str_dup (shor_set);
		obj->description  = str_dup (long_set);

		gen_util_relic_force(obj, 1);
		gen_util_relic_speed(obj, 1);
		break;

		case 11:
		obj->wear_flags += ITEM_WEAR_ABOUT;
		obj->level	= 35;
		obj->value[0] = 20;
		obj->value[1] = 20;
		obj->value[2] = 20;
		obj->value[3] = 20;
		sprintf(name_set, "relic red demon cloak");
		sprintf(shor_set, "a reddish demonic cloak");
		sprintf(long_set, "a reddish demonic cloak is on the ground here");
		obj->name        = str_dup (name_set);
		obj->short_descr = str_dup (shor_set);
		obj->description  = str_dup (long_set);

		gen_util_weapon_damroll(obj, 10);
		gen_util_weapon_hitroll(obj, 10);
		gen_util_relic_luck(obj, 2);
		gen_util_relic_saves(obj, -10);
		break;

	}

	return(obj);
}