/*
* 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"
#define GEN_NOTHING 1
#define GEN_GOLD 2
#define GEN_WEAPON 3
#define GEN_ARMOR 4
#define GEN_MAGIC 5
#define GEN_RING 6
#define GEN_AMMY 7
OBJ_DATA *
gen_main (OBJ_DATA * obj, int level)
{
int main_selection = number_range(1, 100);
// obj = create_object (get_obj_index (909), 0);
switch(main_selection)
{ default:
case 1: case 2: case 3: case 4: case 5:
case 6: case 7: case 8: case 9: case 10:
case 11: case 12: case 13: case 14: case 15:
case 16: case 17: case 18: case 19: case 20:
new_gen_gold(obj, level);
break;
case 21: case 22: case 23: case 24: case 25:
case 26: case 27: case 28: case 29: case 30:
case 31: case 32: case 33: case 34: case 35:
case 36: case 37: case 38: case 39: case 40:
case 41: case 42: case 43: case 44: case 45:
case 46: case 47: case 48: case 49: case 50:
new_gen_gold(obj, level);
break;
case 51: case 52: case 53: case 54: case 55:
case 56: case 57: case 58: case 59: case 60:
case 61: case 62: case 63: case 64: case 65:
new_gen_armor(obj, level);
break;
case 66: case 67: case 68: case 69: case 70:
case 71: case 72: case 73: case 74: case 75:
case 76: case 77: case 78: case 79: case 80:
new_gen_weapon(obj, level);
break;
case 81: case 82: case 83: case 84: case 85:
case 86: case 87: case 88: case 89: case 90:
case 91: case 92: case 93: case 94: case 95:
new_gen_magic(obj, level);
break;
case 96: case 97: case 98: case 99:
switch(number_range(1, 2))
{ default:
case 1:
new_gen_ring(obj, level);
break;
case 2:
new_gen_ammy(obj, level);
break;
}
case 100:
gen_rare(obj, level);
break;
}
return(obj);
}
OBJ_DATA *
gen_rare (OBJ_DATA * obj, int level)
{
int main_selection = number_range(1, 100);
switch(main_selection)
{ default:
case 1: case 2: case 3: case 4: case 5:
case 6: case 7: case 8: case 9: case 10:
case 11: case 12: case 13: case 14: case 15:
case 16: case 17: case 18: case 19: case 20:
case 21: case 22: case 23: case 24: case 25:
case 26: case 27: case 28: case 29: case 30:
case 31: case 32: case 33: case 34: case 35:
case 36: case 37: case 38: case 39: case 40:
gen_armor_rare(obj, level);
break;
case 41: case 42: case 43: case 44: case 45:
case 46: case 47: case 48: case 49: case 50:
case 51: case 52: case 53: case 54: case 55:
case 56: case 57: case 58: case 59: case 60:
case 61: case 62: case 63: case 64: case 65:
case 66: case 67: case 68: case 69: case 70:
case 71: case 72: case 73: case 74: case 75:
case 76: case 77: case 78: case 79: case 80:
gen_weapon_rare(obj, level);
break;
case 81: case 82: case 83: case 84: case 85:
case 86: case 87: case 88: case 89: case 90:
gen_ring_rare(obj, level);
break;
case 91: case 92: case 93: case 94: case 95:
case 96: case 97: case 98: case 99:
gen_ammy_rare(obj, level);
break;
case 100:
gen_relic(obj, level);
break;
}
return(obj);
}
OBJ_DATA *
gen_relic (OBJ_DATA * obj, int level)
{
int main_selection = number_range(1, 100);
switch(main_selection)
{ default:
case 1: case 2: case 3: case 4: case 5:
case 6: case 7: case 8: case 9: case 10:
case 11: case 12: case 13: case 14: case 15:
case 16: case 17: case 18: case 19: case 20:
case 21: case 22: case 23: case 24: case 25:
case 26: case 27: case 28: case 29: case 30:
case 31: case 32: case 33: case 34: case 35:
case 36: case 37: case 38: case 39: case 40:
gen_armor_relic(obj, level);
break;
case 41: case 42: case 43: case 44: case 45:
case 46: case 47: case 48: case 49: case 50:
case 51: case 52: case 53: case 54: case 55:
case 56: case 57: case 58: case 59: case 60:
case 61: case 62: case 63: case 64: case 65:
case 66: case 67: case 68: case 69: case 70:
case 71: case 72: case 73: case 74: case 75:
case 76: case 77: case 78: case 79: case 80:
gen_weapon_relic(obj, level);
break;
case 81: case 82: case 83: case 84: case 85:
case 86: case 87: case 88: case 89: case 90:
gen_ring_relic(obj, level);
break;
case 91: case 92: case 93: case 94: case 95:
case 96: case 97: case 98: case 99:
gen_ammy_relic(obj, level);
break;
case 100:
gen_artifact(obj, level);
break;
}
return(obj);
}