/* * 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); }