/* * Item generator 2, a simpler approch to the creation system * * File: Generator.Ring.c * Descr: This file holds the main generation of Ring items * Makes sure Ring has magical property */ #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_ring_rare (OBJ_DATA * obj, int level) { char name_set[MSL]; char shor_set[MSL]; char long_set[MSL]; char prefix[MSL]; char suffix[MSL]; obj = create_object (get_obj_index (910), 0); obj->wear_flags = ITEM_TAKE; obj->wear_flags += ITEM_WEAR_FINGER; switch(number_range(1, 5)) { default: case 1: sprintf(prefix, "Raven"); break; case 2: sprintf(prefix, "Dark"); break; case 3: sprintf(prefix, "Destructive"); break; case 4: sprintf(prefix, "Unholy"); break; case 5: sprintf(prefix, "Shimmering"); break; } switch(number_range(1, 5)) { default: case 1: sprintf(suffix, "spiral"); break; case 2: sprintf(suffix, "coil"); break; case 3: sprintf(suffix, "circle"); break; case 4: sprintf(suffix, "thorned ring"); break; case 5: sprintf(suffix, "ring"); break; } switch(number_range(1, 3)) { default: case 1: gen_ring_prefix(obj, level); gen_ring_suffix(obj, level); break; case 2: gen_ring_prefix(obj, level); gen_ring_prefix(obj, level); gen_ring_suffix(obj, level); break; case 3: gen_ring_prefix(obj, level); gen_ring_suffix(obj, level); gen_ring_suffix(obj, level); break; case 4: gen_ring_prefix(obj, level); gen_ring_prefix(obj, level); gen_ring_suffix(obj, level); gen_ring_suffix(obj, level); break; } sprintf(name_set, "%s %s", prefix, suffix); sprintf(shor_set, "%s %s", prefix, suffix); sprintf(long_set, "a small ring is on the ground here"); obj->name = str_dup (name_set); obj->short_descr = str_dup (shor_set); obj->description = str_dup (long_set); obj->level = level; return(obj); } OBJ_DATA * gen_ammy_rare (OBJ_DATA * obj, int level) { char name_set[MSL]; char shor_set[MSL]; char long_set[MSL]; char prefix[MSL]; char suffix[MSL]; obj = create_object (get_obj_index (911), 0); obj->wear_flags = ITEM_TAKE; obj->wear_flags += ITEM_WEAR_NECK; switch(number_range(1, 5)) { default: case 1: sprintf(prefix, "Hawk"); break; case 2: sprintf(prefix, "Dark"); break; case 3: sprintf(prefix, "Destructive"); break; case 4: sprintf(prefix, "Unholy"); break; case 5: sprintf(prefix, "Shimmering"); break; } switch(number_range(1, 5)) { default: case 1: sprintf(suffix, "chain"); break; case 2: sprintf(suffix, "coil"); break; case 3: sprintf(suffix, "necklace"); break; case 4: sprintf(suffix, "string"); break; case 5: sprintf(suffix, "amulet"); break; } switch(number_range(1, 3)) { default: case 1: gen_ring_prefix(obj, level); gen_ring_suffix(obj, level); break; case 2: gen_ring_prefix(obj, level); gen_ring_prefix(obj, level); gen_ring_suffix(obj, level); break; case 3: gen_ring_prefix(obj, level); gen_ring_suffix(obj, level); gen_ring_suffix(obj, level); break; case 4: gen_ring_prefix(obj, level); gen_ring_prefix(obj, level); gen_ring_suffix(obj, level); gen_ring_suffix(obj, level); break; } sprintf(name_set, "%s %s", prefix, suffix); sprintf(shor_set, "%s %s", prefix, suffix); sprintf(long_set, "a small amulet is on the ground here"); obj->name = str_dup (name_set); obj->short_descr = str_dup (shor_set); obj->description = str_dup (long_set); obj->level = level; return(obj); }