/*
* This generator set makes the name/ac and various
* other mundane stats about objects.
*
* This one is for Armor
*/
#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 * make_armor_cape (OBJ_DATA * obj, int level)
{
int range;
char name_set[MSL];
char shor_set[MSL];
char long_set[MSL];
range = number_range(1, (level / 10));
obj->wear_flags += ITEM_WEAR_NECK_OVER;
switch(range)
{ default:
case 1:
sprintf(name_set, "cloth cape");
sprintf(shor_set, "cloth cape");
sprintf(long_set, "a cloth cape lies on the ground here.");
obj->value[0] = 1;
obj->value[2] = 1;
obj->value[3] = 1;
obj->value[4] = 1;
obj->weight = 10;
obj->level = 1;
break;
case 2:
sprintf(name_set, "leather cape");
sprintf(shor_set, "leather cape");
sprintf(long_set, "a leather cape lies on the ground here.");
obj->value[0] = 2;
obj->value[2] = 2;
obj->value[3] = 2;
obj->value[4] = 2;
obj->weight = 20;
obj->level = 5;
break;
case 3:
sprintf(name_set, "Fubashi skin cape");
sprintf(shor_set, "fubashi-skin cape");
sprintf(long_set, "a fubashi-skin cape lies on the ground here.");
obj->value[0] = 3;
obj->value[2] = 3;
obj->value[3] = 3;
obj->value[4] = 3;
obj->weight = 30;
obj->level = 10;
break;
case 4:
sprintf(name_set, "troll skin cape");
sprintf(shor_set, "troll-skin cape");
sprintf(long_set, "a troll-skin cape lies on the ground here.");
obj->value[0] = 4;
obj->value[2] = 4;
obj->value[3] = 4;
obj->value[4] = 4;
obj->weight = 40;
obj->level = 15;
break;
case 5:
sprintf(name_set, "dragonscale cape");
sprintf(shor_set, "dragonscale cape");
sprintf(long_set, "a dragonscale cape lies on the ground here.");
obj->value[0] = 5;
obj->value[2] = 5;
obj->value[3] = 5;
obj->value[4] = 5;
obj->weight = 50;
obj->level = 20;
break;
}
obj->cost = number_range(level * 10, level * 1000);
obj->name = str_dup (name_set);
obj->short_descr = str_dup (shor_set);
obj->description = str_dup (long_set);
return(obj);
}
OBJ_DATA * make_armor_gloves (OBJ_DATA * obj, int level)
{
int range;
char name_set[MSL];
char shor_set[MSL];
char long_set[MSL];
range = number_range(1, (level / 10));
obj->wear_flags += ITEM_WEAR_HANDS;
switch(range)
{ default:
case 1:
sprintf(name_set, "gloves");
sprintf(shor_set, "gloves");
sprintf(long_set, "a gloves lies on the ground here.");
obj->level = 1;
break;
case 2:
sprintf(name_set, "heavy gloves");
sprintf(shor_set, "heavy gloves");
sprintf(long_set, "a heavy gloves lies on the ground here.");
obj->level = 10;
break;
case 3:
sprintf(name_set, "chain gloves");
sprintf(shor_set, "chain gloves");
sprintf(long_set, "a chain gloves lies on the ground here.");
obj->level = 20;
break;
case 4:
sprintf(name_set, "light gauntlets");
sprintf(shor_set, "light gauntlets");
sprintf(long_set, "a light gauntlets lies on the ground here.");
obj->level = 30;
break;
case 5:
sprintf(name_set, "gauntlets");
sprintf(shor_set, "gauntlets");
sprintf(long_set, "a gauntlets lies on the ground here.");
obj->level = 40;
break;
case 6:
sprintf(name_set, "chain gloves");
sprintf(shor_set, "chain gloves");
sprintf(long_set, "a chain gloves lies on the ground here.");
obj->level = 50;
break;
case 7:
sprintf(name_set, "demonhide gloves");
sprintf(shor_set, "demonhide gloves");
sprintf(long_set, "a demonhide gloves lies on the ground here.");
obj->level = 60;
break;
case 8:
sprintf(name_set, "fubashi-skin gloves");
sprintf(shor_set, "fubashi-skin gloves");
sprintf(long_set, "a fubashi-skin gloves lies on the ground here.");
obj->level = 70;
break;
case 9:
sprintf(name_set, "battle gauntlets");
sprintf(shor_set, "battle gauntlets");
sprintf(long_set, "a battle gauntlets lies on the ground here.");
obj->level = 80;
break;
case 10:
sprintf(name_set, "war gauntlets");
sprintf(shor_set, "war gauntlets");
sprintf(long_set, "a war gauntlets lies on the ground here.");
obj->level = 90;
break;
case 11:
sprintf(name_set, "iron gauntlets");
sprintf(shor_set, "iron gauntlets");
sprintf(long_set, "a iron gauntlets lies on the ground here.");
obj->level = 100;
break;
}
obj->cost = number_range(level * 10, level * 1000);
obj->name = str_dup (name_set);
obj->short_descr = str_dup (shor_set);
obj->description = str_dup (long_set);
obj->value[0] = obj->level / 2;
obj->value[2] = obj->level / 2;
obj->value[3] = obj->level / 2;
obj->value[4] = obj->level / 2;
return(obj);
}
OBJ_DATA * make_armor_mantle (OBJ_DATA * obj, int level)
{
int range;
char name_set[MSL];
char shor_set[MSL];
char long_set[MSL];
range = number_range(1, (level / 10));
obj->wear_flags += ITEM_WEAR_BODY_OVER;
switch(range)
{ default:
case 1:
sprintf(name_set, "cloth mantle");
sprintf(shor_set, "cloth mantle");
sprintf(long_set, "a cloth mantle lies on the ground here.");
obj->value[0] = 1;
obj->value[2] = 1;
obj->value[3] = 1;
obj->value[4] = 1;
obj->weight = 10;
obj->level = 1;
break;
case 2:
sprintf(name_set, "leather mantle");
sprintf(shor_set, "leather mantle");
sprintf(long_set, "a leather mantle lies on the ground here.");
obj->value[0] = 2;
obj->value[2] = 2;
obj->value[3] = 2;
obj->value[4] = 2;
obj->weight = 20;
obj->level = 5;
break;
case 3:
sprintf(name_set, "Fubashi skin mantle");
sprintf(shor_set, "fubashi-skin mantle");
sprintf(long_set, "a fubashi-skin mantle lies on the ground here.");
obj->value[0] = 3;
obj->value[2] = 3;
obj->value[3] = 3;
obj->value[4] = 3;
obj->weight = 30;
obj->level = 10;
break;
case 4:
sprintf(name_set, "troll skin mantle");
sprintf(shor_set, "troll-skin mantle");
sprintf(long_set, "a troll-skin mantle lies on the ground here.");
obj->value[0] = 4;
obj->value[2] = 4;
obj->value[3] = 4;
obj->value[4] = 4;
obj->weight = 40;
obj->level = 15;
break;
case 5:
sprintf(name_set, "dragonscale mantle");
sprintf(shor_set, "dragonscale mantle");
sprintf(long_set, "a dragonscale mantle lies on the ground here.");
obj->value[0] = 5;
obj->value[2] = 5;
obj->value[3] = 5;
obj->value[4] = 5;
obj->weight = 50;
obj->level = 20;
break;
}
obj->cost = number_range(level * 10, level * 1000);
obj->name = str_dup (name_set);
obj->short_descr = str_dup (shor_set);
obj->description = str_dup (long_set);
return(obj);
}
OBJ_DATA * make_armor_shirt (OBJ_DATA * obj, int level)
{
int range;
char name_set[MSL];
char shor_set[MSL];
char long_set[MSL];
range = number_range(1, (level / 10));
obj->wear_flags += ITEM_WEAR_BODY_UNDER;
switch(range)
{ default:
case 1:
sprintf(name_set, "cloth shirt");
sprintf(shor_set, "cloth shirt");
sprintf(long_set, "a cloth shirt lies on the ground here.");
obj->value[0] = 1;
obj->value[2] = 1;
obj->value[3] = 1;
obj->value[4] = 1;
obj->weight = 10;
obj->level = 1;
break;
case 2:
sprintf(name_set, "leather shirt");
sprintf(shor_set, "leather shirt");
sprintf(long_set, "a leather shirt lies on the ground here.");
obj->value[0] = 2;
obj->value[2] = 2;
obj->value[3] = 2;
obj->value[4] = 2;
obj->weight = 20;
obj->level = 5;
break;
case 3:
sprintf(name_set, "Fubashi skin shirt");
sprintf(shor_set, "fubashi-skin shirt");
sprintf(long_set, "a fubashi-skin shirt lies on the ground here.");
obj->value[0] = 3;
obj->value[2] = 3;
obj->value[3] = 3;
obj->value[4] = 3;
obj->weight = 30;
obj->level = 10;
break;
case 4:
sprintf(name_set, "troll skin shirt");
sprintf(shor_set, "troll-skin shirt");
sprintf(long_set, "a troll-skin shirt lies on the ground here.");
obj->value[0] = 4;
obj->value[2] = 4;
obj->value[3] = 4;
obj->value[4] = 4;
obj->weight = 40;
obj->level = 15;
break;
case 5:
sprintf(name_set, "dragonscale shirt");
sprintf(shor_set, "dragonscale shirt");
sprintf(long_set, "a dragonscale shirt lies on the ground here.");
obj->value[0] = 5;
obj->value[2] = 5;
obj->value[3] = 5;
obj->value[4] = 5;
obj->weight = 50;
obj->level = 20;
break;
}
obj->cost = number_range(level * 10, level * 1000);
obj->name = str_dup (name_set);
obj->short_descr = str_dup (shor_set);
obj->description = str_dup (long_set);
return(obj);
}
OBJ_DATA * make_armor_boots (OBJ_DATA * obj, int level)
{
int range;
char name_set[MSL];
char shor_set[MSL];
char long_set[MSL];
range = number_range(1, (level / 10));
obj->wear_flags += ITEM_WEAR_FEET;
switch(range)
{ default:
case 1:
sprintf(name_set, "boots");
sprintf(shor_set, "boots");
sprintf(long_set, "a boots lies on the ground here.");
obj->level = 1;
break;
case 2:
sprintf(name_set, "heavt boots");
sprintf(shor_set, "heavt boots");
sprintf(long_set, "a heavt boots lies on the ground here.");
obj->level = 10;
break;
case 3:
sprintf(name_set, "chain boots");
sprintf(shor_set, "chain boots");
sprintf(long_set, "a chain boots lies on the ground here.");
obj->level = 20;
break;
case 4:
sprintf(name_set, "light plated boots");
sprintf(shor_set, "light plated boots");
sprintf(long_set, "a light plated boots lies on the ground here.");
obj->level = 30;
break;
case 5:
sprintf(name_set, "greaves");
sprintf(shor_set, "greaves");
sprintf(long_set, "a greaves lies on the ground here.");
obj->level = 40;
break;
case 6:
sprintf(name_set, "fubashi-skin boots");
sprintf(shor_set, "fubashi-skin boots");
sprintf(long_set, "a fubashi-skin boots lies on the ground here.");
obj->level = 50;
break;
case 7:
sprintf(name_set, "corru-skin boots");
sprintf(shor_set, "corru-skin boots");
sprintf(long_set, "a corru-skin boots lies on the ground here.");
obj->level = 60;
break;
case 8:
sprintf(name_set, "mesh boots");
sprintf(shor_set, "mesh boots");
sprintf(long_set, "a mesh boots lies on the ground here.");
obj->level = 70;
break;
case 9:
sprintf(name_set, "battle boots");
sprintf(shor_set, "battle boots");
sprintf(long_set, "a battle boots lies on the ground here.");
obj->level = 80;
break;
case 10:
sprintf(name_set, "war boots");
sprintf(shor_set, "war boots");
sprintf(long_set, "a war boots lies on the ground here.");
obj->level = 90;
break;
case 11:
sprintf(name_set, "steel-toed boots");
sprintf(shor_set, "steel-toed boots");
sprintf(long_set, "a steel-toed boots lies on the ground here.");
obj->level = 100;
break;
}
obj->cost = number_range(level * 10, level * 1000);
obj->name = str_dup (name_set);
obj->short_descr = str_dup (shor_set);
obj->description = str_dup (long_set);
obj->value[0] = obj->level / 2;
obj->value[2] = obj->level / 2;
obj->value[3] = obj->level / 2;
obj->value[4] = obj->level / 2;
obj->weight = obj->level / 2;
return(obj);
}
OBJ_DATA * make_armor_leggings (OBJ_DATA * obj, int level)
{
int range;
char name_set[MSL];
char shor_set[MSL];
char long_set[MSL];
range = number_range(1, (level / 10));
obj->wear_flags += ITEM_WEAR_LEGS;
switch(range)
{ default:
case 1:
sprintf(name_set, "cloth leggings");
sprintf(shor_set, "cloth leggings");
sprintf(long_set, "a cloth leggings lies on the ground here.");
obj->value[0] = 1;
obj->value[2] = 1;
obj->value[3] = 1;
obj->value[4] = 1;
obj->weight = 10;
obj->level = 1;
break;
case 2:
sprintf(name_set, "leather leggings");
sprintf(shor_set, "leather leggings");
sprintf(long_set, "a leather leggings lies on the ground here.");
obj->value[0] = 2;
obj->value[2] = 2;
obj->value[3] = 2;
obj->value[4] = 2;
obj->weight = 20;
obj->level = 5;
break;
case 3:
sprintf(name_set, "Fubashi skin leggings");
sprintf(shor_set, "fubashi-skin leggings");
sprintf(long_set, "a fubashi-skin leggings lies on the ground here.");
obj->value[0] = 3;
obj->value[2] = 3;
obj->value[3] = 3;
obj->value[4] = 3;
obj->weight = 30;
obj->level = 10;
break;
case 4:
sprintf(name_set, "troll skin leggings");
sprintf(shor_set, "troll-skin leggings");
sprintf(long_set, "a troll-skin leggings lies on the ground here.");
obj->value[0] = 4;
obj->value[2] = 4;
obj->value[3] = 4;
obj->value[4] = 4;
obj->weight = 40;
obj->level = 15;
break;
case 5:
sprintf(name_set, "dragonscale leggings");
sprintf(shor_set, "dragonscale leggings");
sprintf(long_set, "a dragonscale leggings lies on the ground here.");
obj->value[0] = 5;
obj->value[2] = 5;
obj->value[3] = 5;
obj->value[4] = 5;
obj->weight = 50;
obj->level = 20;
break;
}
obj->cost = number_range(level * 10, level * 1000);
obj->name = str_dup (name_set);
obj->short_descr = str_dup (shor_set);
obj->description = str_dup (long_set);
return(obj);
}
OBJ_DATA * make_armor_underwear (OBJ_DATA * obj, int level)
{
int range;
char name_set[MSL];
char shor_set[MSL];
char long_set[MSL];
range = number_range(1, (level / 10));
obj->wear_flags += ITEM_WEAR_LEGS_UNDER;
switch(range)
{ default:
case 1:
sprintf(name_set, "cloth underwear");
sprintf(shor_set, "cloth underwear");
sprintf(long_set, "a cloth underwear lies on the ground here.");
obj->value[0] = 1;
obj->value[2] = 1;
obj->value[3] = 1;
obj->value[4] = 1;
obj->weight = 10;
obj->level = 1;
break;
case 2:
sprintf(name_set, "leather underwear");
sprintf(shor_set, "leather underwear");
sprintf(long_set, "a leather underwear lies on the ground here.");
obj->value[0] = 2;
obj->value[2] = 2;
obj->value[3] = 2;
obj->value[4] = 2;
obj->weight = 20;
obj->level = 5;
break;
case 3:
sprintf(name_set, "Fubashi skin underwear");
sprintf(shor_set, "fubashi-skin underwear");
sprintf(long_set, "a fubashi-skin underwear lies on the ground here.");
obj->value[0] = 3;
obj->value[2] = 3;
obj->value[3] = 3;
obj->value[4] = 3;
obj->weight = 30;
obj->level = 10;
break;
case 4:
sprintf(name_set, "troll skin underwear");
sprintf(shor_set, "troll-skin underwear");
sprintf(long_set, "a troll-skin underwear lies on the ground here.");
obj->value[0] = 4;
obj->value[2] = 4;
obj->value[3] = 4;
obj->value[4] = 4;
obj->weight = 40;
obj->level = 15;
break;
case 5:
sprintf(name_set, "dragonscale underwear");
sprintf(shor_set, "dragonscale underwear");
sprintf(long_set, "a dragonscale underwear lies on the ground here.");
obj->value[0] = 5;
obj->value[2] = 5;
obj->value[3] = 5;
obj->value[4] = 5;
obj->weight = 50;
obj->level = 20;
break;
}
obj->cost = number_range(level * 10, level * 1000);
obj->name = str_dup (name_set);
obj->short_descr = str_dup (shor_set);
obj->description = str_dup (long_set);
return(obj);
}
OBJ_DATA * make_armor_cloak (OBJ_DATA * obj, int level)
{
int range;
char name_set[MSL];
char shor_set[MSL];
char long_set[MSL];
range = number_range(1, (level / 10));
obj->wear_flags += ITEM_WEAR_ABOUT;
switch(range)
{ default:
case 1:
sprintf(name_set, "cloth cloak");
sprintf(shor_set, "cloth cloak");
sprintf(long_set, "a cloth cloak lies on the ground here.");
obj->value[0] = 1;
obj->value[2] = 1;
obj->value[3] = 1;
obj->value[4] = 1;
obj->weight = 10;
obj->level = 1;
break;
case 2:
sprintf(name_set, "leather cloak");
sprintf(shor_set, "leather cloak");
sprintf(long_set, "a leather cloak lies on the ground here.");
obj->value[0] = 2;
obj->value[2] = 2;
obj->value[3] = 2;
obj->value[4] = 2;
obj->weight = 20;
obj->level = 5;
break;
case 3:
sprintf(name_set, "Fubashi skin cloak");
sprintf(shor_set, "fubashi-skin cloak");
sprintf(long_set, "a fubashi-skin cloak lies on the ground here.");
obj->value[0] = 3;
obj->value[2] = 3;
obj->value[3] = 3;
obj->value[4] = 3;
obj->weight = 30;
obj->level = 10;
break;
case 4:
sprintf(name_set, "troll skin cloak");
sprintf(shor_set, "troll-skin cloak");
sprintf(long_set, "a troll-skin cloak lies on the ground here.");
obj->value[0] = 4;
obj->value[2] = 4;
obj->value[3] = 4;
obj->value[4] = 4;
obj->weight = 40;
obj->level = 15;
break;
case 5:
sprintf(name_set, "dragonscale cloak");
sprintf(shor_set, "dragonscale cloak");
sprintf(long_set, "a dragonscale cloak lies on the ground here.");
obj->value[0] = 5;
obj->value[2] = 5;
obj->value[3] = 5;
obj->value[4] = 5;
obj->weight = 50;
obj->level = 20;
break;
}
obj->cost = number_range(level * 10, level * 1000);
obj->name = str_dup (name_set);
obj->short_descr = str_dup (shor_set);
obj->description = str_dup (long_set);
return(obj);
}
OBJ_DATA * make_armor_bracer (OBJ_DATA * obj, int level)
{
int range;
char name_set[MSL];
char shor_set[MSL];
char long_set[MSL];
range = number_range(1, (level / 10));
obj->wear_flags += ITEM_WEAR_WRIST;
switch(range)
{ default:
case 1:
sprintf(name_set, "cloth bracer");
sprintf(shor_set, "cloth bracer");
sprintf(long_set, "a cloth bracer lies on the ground here.");
obj->value[0] = 1;
obj->value[2] = 1;
obj->value[3] = 1;
obj->value[4] = 1;
obj->weight = 10;
obj->level = 1;
break;
case 2:
sprintf(name_set, "leather bracer");
sprintf(shor_set, "leather bracer");
sprintf(long_set, "a leather bracer lies on the ground here.");
obj->value[0] = 2;
obj->value[2] = 2;
obj->value[3] = 2;
obj->value[4] = 2;
obj->weight = 20;
obj->level = 5;
break;
case 3:
sprintf(name_set, "Fubashi skin bracer");
sprintf(shor_set, "fubashi-skin bracer");
sprintf(long_set, "a fubashi-skin bracer lies on the ground here.");
obj->value[0] = 3;
obj->value[2] = 3;
obj->value[3] = 3;
obj->value[4] = 3;
obj->weight = 30;
obj->level = 10;
break;
case 4:
sprintf(name_set, "troll skin bracer");
sprintf(shor_set, "troll-skin bracer");
sprintf(long_set, "a troll-skin bracer lies on the ground here.");
obj->value[0] = 4;
obj->value[2] = 4;
obj->value[3] = 4;
obj->value[4] = 4;
obj->weight = 40;
obj->level = 15;
break;
case 5:
sprintf(name_set, "dragonscale bracer");
sprintf(shor_set, "dragonscale bracer");
sprintf(long_set, "a dragonscale bracer lies on the ground here.");
obj->value[0] = 5;
obj->value[2] = 5;
obj->value[3] = 5;
obj->value[4] = 5;
obj->weight = 50;
obj->level = 20;
break;
}
obj->cost = number_range(level * 10, level * 1000);
obj->name = str_dup (name_set);
obj->short_descr = str_dup (shor_set);
obj->description = str_dup (long_set);
return(obj);
}
OBJ_DATA * make_armor_belt (OBJ_DATA * obj, int level)
{
int range;
char name_set[MSL];
char shor_set[MSL];
char long_set[MSL];
range = number_range(1, (level / 10));
obj->wear_flags += ITEM_WEAR_WAIST;
switch(range)
{ default:
case 1:
sprintf(name_set, "sash");
sprintf(shor_set, "sash");
sprintf(long_set, "a sash lies on the ground here.");
obj->level = 1;
break;
case 2:
sprintf(name_set, "light belt");
sprintf(shor_set, "light belt");
sprintf(long_set, "a light belt lies on the ground here.");
obj->level = 10;
break;
case 3:
sprintf(name_set, "belt");
sprintf(shor_set, "belt");
sprintf(long_set, "a belt lies on the ground here.");
obj->level = 20;
break;
case 4:
sprintf(name_set, "heavy belt");
sprintf(shor_set, "heavy belt");
sprintf(long_set, "a heavy belt lies on the ground here.");
obj->level = 30;
break;
case 5:
sprintf(name_set, "plated belt");
sprintf(shor_set, "plated belt");
sprintf(long_set, "a plated belt lies on the ground here.");
obj->level = 40;
break;
case 6:
sprintf(name_set, "fubashi-skin sash");
sprintf(shor_set, "fubashi-skin sash");
sprintf(long_set, "a fubashi-skin sash lies on the ground here.");
obj->level = 50;
break;
case 7:
sprintf(name_set, "corru-skin belt");
sprintf(shor_set, "corru-skin belt");
sprintf(long_set, "a corru-skin belt lies on the ground here.");
obj->level = 60;
break;
case 8:
sprintf(name_set, "mesh belt");
sprintf(shor_set, "mesh belt");
sprintf(long_set, "a mesh belt lies on the ground here.");
obj->level = 70;
break;
case 9:
sprintf(name_set, "battle belt");
sprintf(shor_set, "battle belt");
sprintf(long_set, "a battle belt lies on the ground here.");
obj->level = 80;
break;
case 10:
sprintf(name_set, "war belt");
sprintf(shor_set, "war belt");
sprintf(long_set, "a war belt lies on the ground here.");
obj->level = 90;
break;
case 11:
sprintf(name_set, "steel belt");
sprintf(shor_set, "steel belt");
sprintf(long_set, "a steel belt lies on the ground here.");
obj->level = 100;
break;
}
obj->cost = number_range(level * 10, level * 1000);
obj->name = str_dup (name_set);
obj->short_descr = str_dup (shor_set);
obj->description = str_dup (long_set);
obj->value[0] = obj->level / 2;
obj->value[2] = obj->level / 2;
obj->value[3] = obj->level / 2;
obj->value[4] = obj->level / 2;
return(obj);
}
OBJ_DATA * make_armor_body (OBJ_DATA * obj, int level)
{
int range;
char name_set[MSL];
char shor_set[MSL];
char long_set[MSL];
range = number_range(1, (level / 10));
obj->wear_flags += ITEM_WEAR_BODY;
switch(range)
{ default:
case 1:
sprintf(name_set, "padded armor");
sprintf(shor_set, "padded armor");
sprintf(long_set, "a padded armor lies on the ground here.");
obj->level = 1;
break;
case 2:
sprintf(name_set, "leather armor");
sprintf(shor_set, "leather armor");
sprintf(long_set, "a leather armor lies on the ground here.");
obj->level = 10;
break;
case 3:
sprintf(name_set, "hard leather armor");
sprintf(shor_set, "hard leather armor");
sprintf(long_set, "a hard leather armor lies on the ground here.");
obj->level = 20;
break;
case 4:
sprintf(name_set, "studded leather");
sprintf(shor_set, "studded leather");
sprintf(long_set, "a studded leather lies on the ground here.");
obj->level = 30;
break;
case 5:
sprintf(name_set, "ring mail");
sprintf(shor_set, "ring mail");
sprintf(long_set, "a ring mail lies on the ground here.");
obj->level = 40;
break;
case 6:
sprintf(name_set, "scale mail");
sprintf(shor_set, "scale mail");
sprintf(long_set, "a scale mail lies on the ground here.");
obj->level = 50;
break;
case 7:
sprintf(name_set, "breast plate");
sprintf(shor_set, "breast plate");
sprintf(long_set, "a breast plate lies on the ground here.");
obj->level = 60;
break;
case 8:
sprintf(name_set, "chain mail");
sprintf(shor_set, "chain mail");
sprintf(long_set, "a chain mail lies on the ground here.");
obj->level = 70;
break;
case 9:
sprintf(name_set, "light plate");
sprintf(shor_set, "light plate");
sprintf(long_set, "a light plate lies on the ground here.");
obj->level = 80;
break;
case 10:
sprintf(name_set, "field plate");
sprintf(shor_set, "field plate");
sprintf(long_set, "a field plate lies on the ground here.");
obj->level = 90;
break;
case 11:
sprintf(name_set, "platemail");
sprintf(shor_set, "platemail");
sprintf(long_set, "a platemail lies on the ground here.");
obj->level = 100;
break;
}
obj->cost = number_range(level * 10, level * 1000);
obj->name = str_dup (name_set);
obj->short_descr = str_dup (shor_set);
obj->description = str_dup (long_set);
obj->value[0] = obj->level / 2;
obj->value[2] = obj->level / 2;
obj->value[3] = obj->level / 2;
obj->value[4] = obj->level / 2;
return(obj);
}
OBJ_DATA * make_armor_head (OBJ_DATA * obj, int level)
{
int range;
char name_set[MSL];
char shor_set[MSL];
char long_set[MSL];
range = number_range(1, (level / 10));
obj->wear_flags += ITEM_WEAR_HEAD;
switch(range)
{ default:
case 1:
sprintf(name_set, "cap");
sprintf(shor_set, "cap");
sprintf(long_set, "a cap lies on the ground here.");
obj->level = 1;
break;
case 2:
sprintf(name_set, "skull cap");
sprintf(shor_set, "skull cap");
sprintf(long_set, "a skull cap lies on the ground here.");
obj->level = 10;
break;
case 3:
sprintf(name_set, "helm");
sprintf(shor_set, "helm");
sprintf(long_set, "a helm lies on the ground here.");
obj->level = 20;
break;
case 4:
sprintf(name_set, "casque");
sprintf(shor_set, "casque");
sprintf(long_set, "a casque lies on the ground here.");
obj->level = 30;
break;
case 5:
sprintf(name_set, "full helm");
sprintf(shor_set, "full helm");
sprintf(long_set, "a full helm lies on the ground here.");
obj->level = 40;
break;
case 6:
sprintf(name_set, "great helm");
sprintf(shor_set, "great helm");
sprintf(long_set, "a great helm lies on the ground here.");
obj->level = 50;
break;
case 7:
sprintf(name_set, "mask");
sprintf(shor_set, "mask");
sprintf(long_set, "a mask lies on the ground here.");
obj->level = 60;
break;
case 8:
sprintf(name_set, "death mask");
sprintf(shor_set, "death mask");
sprintf(long_set, "a death mask lies on the ground here.");
obj->level = 70;
break;
case 9:
sprintf(name_set, "crown");
sprintf(shor_set, "crown");
sprintf(long_set, "a crown lies on the ground here.");
obj->level = 80;
break;
case 10:
sprintf(name_set, "bone helm");
sprintf(shor_set, "bone helm");
sprintf(long_set, "a bone helm lies on the ground here.");
obj->level = 90;
break;
case 11:
sprintf(name_set, "winged helm");
sprintf(shor_set, "winged helm");
sprintf(long_set, "a winged helm lies on the ground here.");
obj->level = 100;
break;
}
obj->cost = number_range(level * 10, level * 1000);
obj->name = str_dup (name_set);
obj->short_descr = str_dup (shor_set);
obj->description = str_dup (long_set);
obj->value[0] = obj->level / 2;
obj->value[2] = obj->level / 2;
obj->value[3] = obj->level / 2;
obj->value[4] = obj->level / 2;
obj->weight = obj->level / 2;
return(obj);
}
OBJ_DATA * make_armor_shield (OBJ_DATA * obj, int level)
{
int range;
char name_set[MSL];
char shor_set[MSL];
char long_set[MSL];
range = number_range(1, (level / 10));
obj->wear_flags += ITEM_WEAR_SHIELD;
switch(range)
{ default:
case 1:
sprintf(name_set, "buckler");
sprintf(shor_set, "buckler");
sprintf(long_set, "a buckler lies on the ground here.");
obj->level = 1;
break;
case 2:
sprintf(name_set, "small shield");
sprintf(shor_set, "small shield");
sprintf(long_set, "a small shield lies on the ground here.");
obj->level = 10;
break;
case 3:
sprintf(name_set, "round shield");
sprintf(shor_set, "round shield");
sprintf(long_set, "a round shield lies on the ground here.");
obj->level = 20;
break;
case 4:
sprintf(name_set, "large shield");
sprintf(shor_set, "large shield");
sprintf(long_set, "a large shield lies on the ground here.");
obj->level = 30;
break;
case 5:
sprintf(name_set, "kite shield");
sprintf(shor_set, "kite shield");
sprintf(long_set, "a kite shield lies on the ground here.");
obj->level = 40;
break;
case 6:
sprintf(name_set, "dragon shield");
sprintf(shor_set, "dragon shield");
sprintf(long_set, "a dragon shield lies on the ground here.");
obj->level = 50;
break;
case 7:
sprintf(name_set, "spiked shield");
sprintf(shor_set, "spiked shield");
sprintf(long_set, "a spiked shield lies on the ground here.");
obj->level = 60;
break;
case 8:
sprintf(name_set, "tower shield");
sprintf(shor_set, "tower shield");
sprintf(long_set, "a tower shield lies on the ground here.");
obj->level = 70;
break;
case 9:
sprintf(name_set, "bone shield");
sprintf(shor_set, "bone shield");
sprintf(long_set, "a bone shield lies on the ground here.");
obj->level = 80;
break;
case 10:
sprintf(name_set, "gothic shield");
sprintf(shor_set, "gothic shield");
sprintf(long_set, "a gothic shield lies on the ground here.");
obj->level = 90;
break;
case 11:
sprintf(name_set, "grim shield");
sprintf(shor_set, "grim shield");
sprintf(long_set, "a grim shield lies on the ground here.");
obj->level = 100;
break;
}
obj->cost = number_range(level * 10, level * 1000);
obj->name = str_dup (name_set);
obj->short_descr = str_dup (shor_set);
obj->description = str_dup (long_set);
obj->value[0] = obj->level / 2;
obj->value[2] = obj->level / 2;
obj->value[3] = obj->level / 2;
obj->value[4] = obj->level / 2;
obj->weight = obj->level / 2;
return(obj);
}
OBJ_DATA * make_armor_float (OBJ_DATA * obj, int level)
{
int range;
char name_set[MSL];
char shor_set[MSL];
char long_set[MSL];
range = number_range(1, (level / 10));
obj->wear_flags += ITEM_WEAR_FLOAT;
switch(range)
{ default:
case 1:
sprintf(name_set, "green ioun stone");
sprintf(shor_set, "{Ggreen{x ioun stone");
sprintf(long_set, "a green ioun stone lies on the ground here.");
obj->value[0] = 1;
obj->value[2] = 1;
obj->value[3] = 1;
obj->value[4] = 1;
obj->weight = 10;
obj->level = 1;
break;
case 2:
sprintf(name_set, "blue ioun stone");
sprintf(shor_set, "{bblue{x ioun stone");
sprintf(long_set, "a blue ioun stone lies on the ground here.");
obj->value[0] = 2;
obj->value[2] = 2;
obj->value[3] = 2;
obj->value[4] = 2;
obj->weight = 20;
obj->level = 5;
break;
case 3:
sprintf(name_set, "red ioun stone");
sprintf(shor_set, "{rred{x ioun stone");
sprintf(long_set, "a red ioun stone lies on the ground here.");
obj->value[0] = 3;
obj->value[2] = 3;
obj->value[3] = 3;
obj->value[4] = 3;
obj->weight = 30;
obj->level = 10;
break;
case 4:
sprintf(name_set, "white ioun stone");
sprintf(shor_set, "{wwhite{x ioun stone");
sprintf(long_set, "a white ioun stone lies on the ground here.");
obj->value[0] = 4;
obj->value[2] = 4;
obj->value[3] = 4;
obj->value[4] = 4;
obj->weight = 40;
obj->level = 15;
break;
case 5:
sprintf(name_set, "black ioun stone");
sprintf(shor_set, "{Dblack{x ioun stone");
sprintf(long_set, "a black ioun stone lies on the ground here.");
obj->value[0] = 5;
obj->value[2] = 5;
obj->value[3] = 5;
obj->value[4] = 5;
obj->weight = 50;
obj->level = 20;
break;
}
obj->cost = number_range(level * 10, level * 1000);
obj->name = str_dup (name_set);
obj->short_descr = str_dup (shor_set);
obj->description = str_dup (long_set);
return(obj);
}