iGen/
/***************************************************************************
 * This source file contains the tables used by the iGen function.         *
 *   -------------------------------------------------------------------   *
 * This code may be used freely within any non-commercial MUD, all I ask   *
 * is that these comments remain in tact and that you give me any feedback *
 * or bug reports you come up with.  Credit in a helpfile might be nice,   *
 * too.                             -- Midboss (eclipsing.souls@gmail.com) *
 ***************************************************************************/
#include <sys/types.h>
#include <stdio.h>
#include "merc.h"
#include "igen.h"

const struct mod_type	prefix_table[] ={
	{
	 "", "not a real prefix",
	 {-1, -1, -1}, {-1, -1, -1},
	 {0, 0, 0}, {0, 0, 0},
     {256, 256, 256, 256, 256, 256, 256, 256, 256},
	 0, 0, {0, 0}, 0, {NULL, NULL}
	},

	{
	 "golden", "golden",
	 {-1, -1, -1}, {-1, -1, -1},
	 {0, 0, 0}, {0, 0, 0},
     {80, 80, 80, 256, 256, 256, 245, 115, 80},
	 0, 500, {0, 0}, 0,
	 {NULL, NULL}
	},

	{
	 "worthless", "worthless",
	 {-1, -1, -1}, {-1, -1, -1},
	 {0, 0, 0}, {0, 0, 0},
     {150, 150, 150, 150, 150, 150, 150, 150, 150},
	 0, -5000, {0, 0}, 0,
	 {NULL, NULL}
	},

	{
	 "musty", "musty",
	 {-1, -1, -1}, {-1, -1, -1},
	 {0, 0, 0}, {0, 0, 0},
     {256, 256, 256, 256, 256, 128, 256, 256, 256},
	 1, -50, {-2, 2}, 0,
	 {"faerie fog", NULL}
	},

	{
	 NULL, NULL,
	 {-1, -1, -1}, {-1, -1, -1},
	 {0, 0, 0}, {0, 0, 0},
     {256, 256, 256, 256, 256, 256, 256, 256, 256},
	 0, 0, {0, 0}, 0, {NULL, NULL}
	}
};

const struct random_type random_table[] ={

	{
	 "null","not an object",0,0,
     RANDOM_TRINKET,WEAPON_EXOTIC,
	 "slash",{0,60,0},256,A,
	 {-1, -1, -1}, {-1, -1, -1},
	 {0, 0, 0}, {0, 0, 0}, FALSE
	},

	{
	 "ring", "ring", 150, 1,
     RANDOM_TRINKET, WEAPON_EXOTIC, "slash",
	 {0,60,0}, 156, A|B,
	 {-1, -1, -1}, {-1, -1, -1},
	 {0, 0, 0}, {0, 0, 0}, FALSE
	},

	{
	 "scroll", "scroll", 100, 1,
     RANDOM_SCROLL, WEAPON_EXOTIC, "slash",
	 {0,60,0}, 95, A,
	 {-1, -1, -1}, {-1, -1, -1},
	 {0, 0, 0}, {0, 0, 0}, FALSE
	},

	{
	 "shield", "tower shield", 300, 1,
     RANDOM_SHIELD, WEAPON_EXOTIC, "slash",
	 {0,60,0}, 115, A|J,
	 {-1, -1, -1}, {-1, -1, -1},
	 {0, 0, 0}, {0, 0, 0}, FALSE
	},

	{
	 "potion", "potion", 60, 1,
     RANDOM_POTION, WEAPON_EXOTIC, "slash",
	 {0,60,0}, 76, A,
	 {-1, -1, -1}, {-1, -1, -1},
	 {0, 0, 0}, {0, 0, 0}, FALSE
	},

	{
	 "flametongue", "Flametongue", 10000, 4,
     RANDOM_WEAPON, WEAPON_SWORD, "cleave",
	 {40,50,5}, 241, A|N,
	 {TO_AFFECTS, TO_AFFECTS, TO_WEAPON},
	 {APPLY_DAMROLL, APPLY_HITROLL, APPLY_NONE},
	 {15, 10, 0}, {0, 0, WEAPON_FLAMING}, TRUE
	},

	{
	 NULL,NULL,0,0,
     RANDOM_TRINKET,WEAPON_EXOTIC,
	 "slash",{0,60,0},256,A,
	 {-1, -1, -1}, {-1, -1, -1},
	 {0, 0, 0}, {0, 0, 0}, FALSE
	},
};

const struct mod_type	suffix_table[] ={
	{
	 "", "not a real suffix",
	 {-1, -1, -1}, {-1, -1, -1},
	 {0, 0, 0}, {0, 0, 0},
     {256, 256, 256, 256, 256, 256, 256, 256, 256},
	 0, 0, {0, 0}, 0, {NULL, NULL}
	},

	{
	 "sanctuary", "of sanctuary",
	 {TO_AFFECTS, -1, -1},
	 {APPLY_SPELL_AFFECT, -1, -1},
	 {0, 0, 0}, {AFF_SANCTUARY, 0, 0},
     {255, 215, 240, 200, 170, 170, 170, 190, 195},
	 0, 200, {0, 2}, ITEM_GLOW,
	 {"sanctuary", NULL}
	},

	{
	 "haste", "of haste",
	 {TO_AFFECTS, -1, -1},
	 {APPLY_DEX, -1, -1},
	 {2, 0, 0}, {AFF_HASTE, 0, 0},
     {220, 195, 210, 170, 140, 140, 140, 150, 175},
	 0, 150, {0, 2}, 0,
	 {"haste", NULL}
	},

	{
	 NULL, NULL,
	 {-1, -1, -1}, {-1, -1, -1},
	 {0, 0, 0}, {0, 0, 0},
     {256, 256, 256, 256, 256, 256, 256, 256, 256},
	 0, 0, {0, 0}, 0, {NULL, NULL}
	}
};