lurf/area/
lurf/build/testing/
lurf/log/
lurf/player/
lurf/player/backup/
#include <glib.h>

#include <sys/types.h>
#include <ctype.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <merc.h>
#include <tables.h>

/* wiznet table and prototype for future flag setting */
const   struct wiznet_type      wiznet_table    []              =
{
   {    "on",           WIZ_ON,         LEVEL_IMMORTAL },
   {    "prefix",		WIZ_PREFIX,		LEVEL_IMMORTAL },
   {    "ticks",        WIZ_TICKS,      LEVEL_IMMORTAL },
   {    "logins",       WIZ_LOGINS,     LEVEL_IMMORTAL },
   {    "sites",        WIZ_SITES,      LEVEL_QUESTMAKER },
   {    "decap",        WIZ_DECAP,      LEVEL_QUESTMAKER },
   {	"newbies",		WIZ_NEWBIE,		LEVEL_IMMORTAL },
   {	"spam",			WIZ_SPAM,		LEVEL_QUESTMAKER },
   {    "deaths",       WIZ_DEATHS,     LEVEL_IMMORTAL },
   {    "resets",       WIZ_RESETS,     LEVEL_QUESTMAKER },
   {    "debug", 	    WIZ_DEBUG,      LEVEL_JUDGE },
   {    "flags",		WIZ_FLAGS,		LEVEL_QUESTMAKER },
   {	"penalties",	WIZ_PENALTIES,	LEVEL_QUESTMAKER },
   {	"saccing",		WIZ_SACCING,	LEVEL_QUESTMAKER },
   {	"levels",		WIZ_LEVELS,		LEVEL_IMMORTAL },
   {	"load",			WIZ_LOAD,		LEVEL_QUESTMAKER },
   {	"restore",		WIZ_RESTORE,	LEVEL_QUESTMAKER },
   {	"snoops",		WIZ_SNOOPS,		LEVEL_QUESTMAKER },
   {	"switches",		WIZ_SWITCHES,	LEVEL_QUESTMAKER },
   {	"general",		WIZ_GENERAL,	LEVEL_IMMORTAL },
   {	"link",			WIZ_LINK,		LEVEL_QUESTMAKER },
   {	"board",		WIZ_BOARD,		LEVEL_IMMORTAL	 },
   {	"glibdebug",	WIZ_GLIB,		LEVEL_IMPLEMENTOR},
   {	NULL,			0,				0  }
};


/* Sect table, cause I hated how they were set up. */
const struct sect_type sect_table[]=
{
	{   SECT_INDEPENDENT,  	"Independent", 	SPC_INDEPENDENT,	"{W","Independent" },
	{   SECT_SABBAT	,	    "Sabbat", 	    SPC_SABBAT 	   ,	        "{R","Sabbat" },
	{   SECT_CAMARILLA,	    "Camarilla",	SPC_CAMARILLA  ,	    "{C","Camarilla" },
	{   SECT_FOLLOWERS,	    "Followers",	SPC_FOLLOWERS  ,	    "{B","Followers" },
	{   SECT_WYRM	,	    "Wyrm",		    SPC_WYRM 	   ,	        "{M","Wyrm" },
	//{   SECT_PACK	,	    "The Pack", 	SPC_PACK 	   ,	    "{g","ThePack" },
	{   SECT_PACK	,	    "The Pack", 	SPC_PACK 	   ,	    "{g","ThePack" },
	{   SECT_NEWPACK,	    "New Pack", 	SPC_NEWPACK    ,	    "{G","NewPack" },
	{   SECT_TECHNOCRACY,  	"Technocracy", 	SPC_TECHNOCRACY,	"{Y","Technocracy" },
	{   SECT_TRADITIONS,  	"Traditions", 	SPC_TRADITIONS ,	"{y","Traditions" },
	{   SECT_ANARCHS,  	    "Anarchs",	    SPC_ANARCH 	   ,	        "{R","Anarchs" },
	{   SECT_INCONNU,	    "Inconnu",	    SPC_INCONNU    ,	        "{W","Inconnu" },
	{   SECT_NEPHANDI,  	"Nephandi",	    0		   ,	        "{m","Nephandi" },  /* New Sect for Mages */
	{   SECT_MARAUDERS,	    "Marauders",	0		   ,	        "{c","Marauders" },   /* New Sect for Mages */	
	{   SECT_MARAUDERS,	    "Marauders",	0		   ,	        "{c","Marauders" }   /* New Sect for Mages */	
};

const struct iclan_type iclan_table []=
{
	{	CLAN_NONE	,   "Clanless", 	SPC_INDEPENDENT,	"{C",	CLASS_MAGE },
	{	CLAN_BAALI	,   "Baali",    	SPC_INDEPENDENT,	"{R",	CLASS_VAMPIRE },
	{	CLAN_BLOOD_BROTHERS,"BloodBros",       SPC_INDEPENDENT,	"{R",	CLASS_VAMPIRE },
	{	CLAN_BRUJAH	,   "Brujah",   	SPC_CAMARILLA,		"{R",	CLASS_VAMPIRE },
	{	CLAN_CAPPADOCIANS,  "Cappadocian",      SPC_INDEPENDENT,	"{R",	CLASS_VAMPIRE },
	{	CLAN_HARBINGERS_OF_SKULLS,"Harbingers", SPC_INDEPENDENT,	"{R",	CLASS_VAMPIRE },
	{	CLAN_DAUGHTERS_OF_CACOPHONY,"Daughters", SPC_INDEPENDENT,	"{R",	CLASS_VAMPIRE },
	{	CLAN_GANGREL    ,   "Gangrel",		SPC_CAMARILLA,		"{R",	CLASS_VAMPIRE },
	{	CLAN_GARGOYLES	,   "Gargoyles",        SPC_INDEPENDENT,	"{R",	CLASS_VAMPIRE },
	{	CLAN_GIOVANNI	,   "Giovanni", 	SPC_INDEPENDENT,	"{R",	CLASS_VAMPIRE },
	{	CLAN_KINDRED_OF_THE_EAST,  "KindredEast", SPC_INDEPENDENT,	"{R",	CLASS_VAMPIRE },
	{	CLAN_LASOMBRA	,   "Lasombra", 	SPC_SABBAT,		"{R",	CLASS_VAMPIRE },
	{	CLAN_LAMIA	,   "Lamia", 		SPC_INDEPENDENT,	"{R",	CLASS_VAMPIRE },
	{	CLAN_LHIANNAN	,   "Lhiannan",		SPC_INDEPENDENT,	"{R",	CLASS_VAMPIRE },
	{	CLAN_LIABON	,   "Liabon", 		SPC_INDEPENDENT,	"{R",	CLASS_VAMPIRE },
	{	CLAN_MALKAVIAN	,   "Malkavian", 	SPC_CAMARILLA,		"{R",	CLASS_VAMPIRE },
	{	CLAN_NAGARAJA	,   "Nagaraja",		SPC_INDEPENDENT,	"{R",	CLASS_VAMPIRE },
	{	CLAN_NOSFERATU	,   "Nosferatu", 	SPC_CAMARILLA,		"{R",	CLASS_VAMPIRE },
	{	CLAN_NICTUKU	,   "Nictuku",		SPC_INDEPENDENT,	"{R",	CLASS_VAMPIRE },
	{	CLAN_RAVNOS	,   "Ravnos", 		SPC_INDEPENDENT,	"{R",	CLASS_VAMPIRE },
	{	CLAN_SALUBRI	,   "Salubri", 		SPC_INDEPENDENT,	"{R",	CLASS_VAMPIRE },
	{	CLAN_SAMEDI	,   "Samedi", 		SPC_INDEPENDENT,	"{R",	CLASS_VAMPIRE },
	{	CLAN_SETITES	,   "Setites", 		SPC_FOLLOWERS,		"{R",	CLASS_VAMPIRE },
	{	CLAN_TOREADOR	,   "Toreador", 	SPC_CAMARILLA,		"{R",	CLASS_VAMPIRE },
	{	CLAN_TREMERE	,   "Tremere",	 	SPC_CAMARILLA,		"{R",	CLASS_VAMPIRE },
	{	CLAN_TRUE_BRUJAH,   "TrueBrujah", 	SPC_INDEPENDENT,	"{R",	CLASS_VAMPIRE },
	{	CLAN_TZIMISCE	,   "Tzimisce", 	SPC_SABBAT,		"{R",	CLASS_VAMPIRE },
	{	CLAN_VENTRUE	,   "Ventrue", 		SPC_CAMARILLA,		"{R",	CLASS_VAMPIRE },
	{	CLAN_CATIFF	,   "Catiff", 		SPC_INDEPENDENT,	"{R",	CLASS_VAMPIRE },

	{	TRIBE_BASTET	,   "Bastet", 		SPC_INDEPENDENT,	"{G",	CLASS_WEREWOLF },
	{	TRIBE_BLACK_FURIES,  "BlackFuries",     SPC_INDEPENDENT,	"{G",	CLASS_WEREWOLF },
	{	TRIBE_BSD,  "BlackSpiral", SPC_WYRM,    	"{G",	CLASS_WEREWOLF },
	{	TRIBE_BONE_GNAWERS,  "BoneGnawers",      SPC_SABBAT,		"{G",	CLASS_WEREWOLF },
	{	TRIBE_CHILD_OF_SPIRAL,  "ChildofSpiral", SPC_INDEPENDENT,	"{G",	CLASS_WEREWOLF },
	{	TRIBE_FIANNA	,   "Fianna", 		SPC_NEWPACK,		"{G",	CLASS_WEREWOLF },
	{	TRIBE_GET_OF_FENRIS, "GetofFenris",    SPC_NEWPACK,		"{G",	CLASS_WEREWOLF },
	{	TRIBE_GLASSWALKERS,  "GlassWalkers",    SPC_INDEPENDENT,	"{G",	CLASS_WEREWOLF },
	{	TRIBE_RED_TALONS,    "RedTalons", 	SPC_INDEPENDENT,	"{G",	CLASS_WEREWOLF },
	{   TRIBE_SHADOW_LORDS,  "ShadowLords", 	SPC_NEWPACK,		"{G",	CLASS_WEREWOLF },
	{	TRIBE_SILENT_STRIDERS,  "SilentStrider", SPC_INDEPENDENT,	"{G",	CLASS_WEREWOLF },
	{	TRIBE_SILVER_FANGS,  "SilverFangs",     SPC_PACK,		"{G",	CLASS_WEREWOLF },
	{	TRIBE_STARGAZERS,    "Stargazers", 	SPC_INDEPENDENT,	"{G",	CLASS_WEREWOLF },
	{	TRIBE_UKTENA,        "Uktena", 		SPC_INDEPENDENT,	"{G",	CLASS_WEREWOLF },
	{	TRIBE_WENDIGO,       "Wendigo", 		SPC_INDEPENDENT,	"{G",	CLASS_WEREWOLF },
	{	TRIBE_RONIN,         "Ronin",		SPC_INDEPENDENT,	"{G",	CLASS_WEREWOLF },

	{	CLAN_AKASHIC_BROTHERHOOD,  "Akashic", 	        SPC_INDEPENDENT,	"{C",	CLASS_MAGE },
	{	CLAN_CELESTRIAL_CHORUS	,  "CelestChorus",	SPC_INDEPENDENT,	"{C",	CLASS_MAGE },
	{	CLAN_CULT_OF_ECSTASY	,  "CultEcstasy", 	SPC_INDEPENDENT,	"{C",	CLASS_MAGE },
	{	CLAN_DREAMSPEAKERS	,  "Dreamspeakr", 	SPC_INDEPENDENT,	"{C",	CLASS_MAGE },
	{	CLAN_EUTHANATOS		,  "Euthanatos", 	SPC_INDEPENDENT,	"{C",	CLASS_MAGE },
	{	CLAN_HOLLOW_ONES	,  "HollowOnes", 	SPC_INDEPENDENT,	"{C",	CLASS_MAGE },
	{	CLAN_ORDER_OF_HERMES	,  "OrderHermes", 	SPC_INDEPENDENT,	"{C",	CLASS_MAGE },
	{	CLAN_SONS_OF_ETHER	,  "SonsEther", 	SPC_INDEPENDENT,	"{C",	CLASS_MAGE },
	{	CLAN_VERBENA		,  "Verbena", 		SPC_INDEPENDENT,	"{C",	CLASS_MAGE },
	{	CLAN_ITERATION_X	,  "IterationX", 	SPC_INDEPENDENT,	"{C",	CLASS_MAGE },
	{	CLAN_PROGENITORS	,  "Progenitors", 	SPC_INDEPENDENT,	"{C",	CLASS_MAGE },
	{	CLAN_SYNDICATE		,  "Syndicate", 	SPC_INDEPENDENT,	"{C",	CLASS_MAGE },
	{	CLAN_NEW_WORLD_ORDER	,  "NewWorldOrder", 	SPC_INDEPENDENT,	"{C",	CLASS_MAGE },
	{	CLAN_VOID_ENGINEERS	,  "VoidEngineer", 	SPC_INDEPENDENT,	"{C",	CLASS_MAGE },
	{	CLAN_ASHAMED		,  "Ashamed", 		SPC_INDEPENDENT,	"{C",	CLASS_MAGE },
	{	CLAN_ASSAMITES	,	"Assamites",	        SPC_INDEPENDENT,	"{R",	CLASS_VAMPIRE },
	{	CLAN_GAKI	    ,	"Gaki",	                SPC_INDEPENDENT,	"{R",	CLASS_VAMPIRE },
	{	CLAN_BUSHI	,	"Bushi",	        SPC_INDEPENDENT,	"{R",	CLASS_VAMPIRE },
	{	CLAN_ASSAMITES	,	"Assamites",	        SPC_INDEPENDENT,	"{R",	CLASS_VAMPIRE },
	{	CLAN_LEOPOLD	,	"Leopold",	        SPC_SOCIETY_LEO,	"{R",	CLASS_HUNTER }
};

const struct haunt_type breed_table[]=
{
	{ "Homid" },
	{ "Lupus" },
	{ "Metis" }	
};

const struct haunt_type auspice_table[]=
{
	{ "Ragabash" },
	{ "Theurge"  },
	{ "Philodox" },
	{ "Galliard" },
	{ "Ahroun"   }	
};

const struct haunt_type tribe_table[]=
{
	{ "Black Furies" },
	{ "Bone Gnawers" },
	{ "Children of Gaia" },
	{ "Fianna" },
	{ "Get of Fenris" },
	{ "Glass Walkers" },
	{ "Red Talons" },
	{ "Shadow Lords" },
	{ "Silent Striders" },
	{ "Silver Fangs" },
	{ "Stargazers" },
	{ "Uktena" },
	{ "Wendigo" },
	{ "Ronin" },
	{ "Child of Spiral" },
	{ "Black Spiral Dancers" }	
};

const struct haunt_type disc_table[]=
{
	{ "Abombwe" },
	{ "Animalism" },
	{ "Auspex" },
	{ "Celerity" },
	{ "Chimerstry" },
	{ "Daimoinon" },
	{ "Demios" },
	{ "Dementation" },
	{ "Dominate" },
	{ "Fortitude" },
	{ "Grotesquous" },
	{ "Kai" },
	{ "Melpominee" },
	{ "Mortis" },
	{ "Necromancy" },
	{ "Nihilistics" },
	{ "Obeah" },
	{ "Obfuscate" },
	{ "Obtenebration" },
	{ "Ogham" },
	{ "Potence" },
	{ "Presence" },
	{ "Protean" },
	{ "Quietus" },
	{ "Rift" },
	{ "Sanguinus" },
	{ "Serpentis" },
	{ "Temporis" },
	{ "Thanatosis" },
	{ "Thaumaturgy" },
	{ "Vicissitude" },
	{ "Visceratika" },
	{ "" }
};


const struct haunt_type stance_msg_table[]=
{
	{""},
	{"$n arches $s body into the viper fighting stance."},
	{"$n swings $s body into the crane fighting stance."},
	{"$n squats down into the crab fighting stance. "},
	{"$n twists into the mongoose fighting stance. "},
	{"$n hunches down into the bull fighting stance. "},
	{"$n spins $s body into the mantis fighting stance."},
	{"$n coils $s body into the dragon fighting stance."},	
	{"$n lunges into the tiger fighting stance."},
	{"$n rotates $s body into the monkey fighting stance."},
	{"$n slides into the swallow fighting stance."},
	{ "" }
};

const struct haunt_type remember_table[]=
{
	{"Your ass is mine!"},								//0
	{"Did you think I have forgotten you?"},
	{"Ah, we meet again!"},
	{"Let's see how you fare this round!"},
	{"My memory is not as short as your lifespan!"},
	{"Did you think I have forgotten you? "},		   //5
	{"This time, to the death..."},
	{"So you want to play rough do you?"},
	{"You just saw your last fight!"},
	{ "" }
};

const struct haunt_type haunt_table[]=
{
	{"Someone examines you closely, looking for your weaknesses."},
	{"The white aura around your body fades."},
	{"Nah... You feel too relaxed..."},
	{"You can't see a thing!"},
	{"You have been killed!"},
	{"You become visible."},
	{"You dodge the web!"},
	{"You have been stunned!"},
	{"Someone's claw strikes you {Wtoo HARD to comprehend!{x"},
	{"Someone's hit strikes you {Wtoo HARD to comprehend!{x"},
	{"Someone's slap strikes you {Wtoo HARD to comprehend!{x"},
	{ "" }
};


const struct mage_sphere_type mage_sphere_table[]=
{
	{ "correspondence", SPHERE_CORRESPONDENCE },
	{ "entropy", SPHERE_ENTROPY },
	{ "forces", SPHERE_FORCES },
	{ "mind", SPHERE_MIND },
	{ "matter", SPHERE_MATTER },
	{ "prime", SPHERE_PRIME },
	{ "spirit", SPHERE_SPIRIT },
	{ "life", SPHERE_LIFE },
	{ "time", SPHERE_TIME },
	{ "", 0 }
};
const struct renown_rank_type ragabash_table[]=
{
	{	0,	0,	0 }, //0
	{	1,	1,	1 },
	{	2,	3,	2 },
	{	4,  4,  4 },
	{   6,  5,  6 },
	{   8,  8,  7 }, //5	
};

const struct renown_rank_type theurge_table[]=
{
	{	0,	0,	0 }, //0
	{	0,	0,	3 },
	{	1,	0,	5 },
	{	2,  1,  7 },
	{   4,  2,  9 },
	{   5,  3,  10 }, //5	
};

const struct renown_rank_type philodox_table[]=
{
	{	0,	0,	0 }, //0
	{	0,	3,	0 },
	{	1,	5,	1 },
	{	3,  7,  4 },
	{   3,  9,  7 },
	{   4, 10,  9 }, //5	
};

const struct renown_rank_type galliard_table[]=
{
	{	0,	0,	0 }, //0
	{	2,	0,	1 },
	{	4,	0,	3 },
	{	6,  1,  5 },
	{   8,  2,  6 },
	{  10,  3,  8 }, //5	
};

const struct renown_rank_type ahroun_table[]=
{
	{	0,	0,	0 }, //0
	{	2,	1,	0 },
	{	5,	3,	1 },
	{	7,  5,  1 },
	{   9,  7,  2 },
	{  10,  8,  3 }, //5	
};

const struct mage_spell_type mage_affect_table[]=
{
	{ "Entropy Shield", "You are surrounded by an entropy shield.", "Your entropy shield fades away." },
	{ "TrueSight", "You can see more clear.\n\r", "Your sight get muddled.\n\r" },
	{ "Life Shield", "You are surrounded by a life shield.", "Your life shield fades away." },
	{ "NightSight", "Your sight is no longer hindered by the dark.", "The darkness now affects your sight." },
	{ "Shield", "You are now shielded.", "You are no longer shielded." },
	{ "Force Shield", "You are surrounded by a force shield.", "Your force shield fades away." },
	{ "Mind Shield", "You are surrounded by a mind shield.", "Your mind shield fades away." },
	{ "Prime Shield", "You are surrounded by a prime shield.", "Your prime shield fades away." },
	{ "Spirit Shield", "You are surrounded by a spirit shield.", "Your spirit shield fades away." },
	{ "Mana Shield", "A blue shield surrounds your body.\n\r", "A blue shield fades from your body.\n\r" },
	{ "Charged Bolt", "", "" },
	{ "Shadowplane", "Your body becomes a shadow.\n\r", "You return to normal.\n\r" },
	{ "Spiritplane", "Your body becomes a spirit.\n\r", "You return to normal.\n\r" },
	{ "Shadowsight", "Your sight becomes a shadowed.\n\r", "Your sight returns to normal.\n\r" },
	{ "Slowtime", "Your body becomes lag.\n\r", "The lag frees your body.\n\r" },
	{ "Speedtime", "Your body becomes faster then light.\n\r", "You feel slow.\n\r" },
	{ "Flames of Purification", "The Flames of Pureification burn at your inner soul.\n\r","The flames around your soul are freed" },
	{ "Mist Poly", "You body becomes mist.\n\r","Your Body returns to normal.\n\r" },
	{ "Nightfall", "","The Nightfall around your body disappears.\n\r" },
	{ "Insane", "","Your feeling alot more sane.\n\r" },
	{ "Haunt", "","Your personal demons are gone. (For now)\n\r" },
	{ "Vanish","Your body dissapears in a shroud.\n\r","You start to see your skin as your shroud dissapears\n\r" },
	{ "Tainted","Your mind becomes tainted.\n\r","Your mind becomes clear and you can think again.\n\r" },
	{ "False Pride","You have a sence of pride in you!\n\r","You loose that sence of pride.\n\r"},
	{ "Night Sight","Your eyes become alive in the night sky.\n\r","Your eyes loose that alive feeling.\n\r" },
	{ "Cloak EQ", "Your eq dissapears.\n\r","Your eq appears instantly.\n\r"},
	{ "Regen", "You feel as if you have the healing power of Garou!\n\r","You have lost your regeneration ability.\n\r"},
	{ "Confuse Mind", "you feel confused.\n\r","You lost that confusion.\n\r"},
	{ "Square Circle", "You concentrait on paradox.. and how to not get it.\n\r","You stop concentrating.\n\r"},
	{ "Porcupine", "Long quill-like spines extend from your body.\n\r","The porcupine like quills retract from your body.\n\r"},
	{ "Bacchantes' Rage", "You feel the Bacchantes' Rage.\n\r","The rage leaves your body.\n\r"},
	{ "giftofspriggan", "You howl in rage as your body grows.\n\r","Your body shriks to normal.\n\r"},
	{ "lunasavenger", "Your body has a erie aura aournd you.\n\r","Your body turns to normal as you are no longer are protected by luna's avenger.\n\r"},
	{ "spiritsight", "Your eyes glows as you can now see the lands of the dead.\n\r","You can no longer notice spirits.\n\r"},
	{ "Detectinvis", "\n\r","You can no longer detect invisable things.\n\r"},
	{ "DetectMagic", "\n\r","You can no longer detect magic.\n\r"},
	{ "DetectHidden", "\n\r","You can no longer detect hidden things.\n\r"},
	{ "DetectEvil", "\n\r","You can no longer detect alignments.\n\r"},
	{ "", "", "" }
    };
    
/*
 * Attribute bonus tables.
 */
const	struct	str_app_type	str_app		[26]		=
{
	{ -5, -4,   0,  0 },  /* 0  */
	{ -5, -4,   3,  1 },  /* 1  */
	{ -3, -2,   3,  2 },
	{ -3, -1,  10,  3 },  /* 3  */
	{ -2, -1,  25,  4 },
	{ -2, -1,  55,  5 },  /* 5  */
	{ -1,  0,  80,  6 },
	{ -1,  0,  90,  7 },
	{  0,  0, 100,  8 },
	{  0,  0, 100,  9 },
	{  0,  0, 115, 10 }, /* 10  */
	{  0,  0, 115, 11 },
	{  0,  0, 140, 12 },
	{  0,  0, 140, 13 }, /* 13  */
	{  0,  1, 170, 14 },
	{  1,  1, 170, 15 }, /* 15  */
	{  1,  2, 195, 16 },
	{  2,  3, 220, 22 },
	{  2,  4, 250, 25 }, /* 18  */
	{  3,  5, 400, 30 },
	{  3,  6, 500, 35 }, /* 20  */
	{  4,  7, 600, 40 },
	{  5,  7, 700, 45 },
	{  6,  8, 800, 50 },
	{  8, 10, 900, 55 },
	{ 10, 12, 999, 60 }  /* 25   */
};



const	struct	int_app_type	int_app		[26]		=
{
	{  1 },	/*  0 */
	{  1 },	/*  1 */
	{  1 },
	{  1 },	/*  3 */
	{  1 },
	{  1 },	/*  5 */
	{  1 },
	{  1 },
	{  1 },
	{  1 },
	{  1 },	/* 10 */
	{  1 },
	{  1 },
	{  2 },
	{  2 },
	{  2 },	/* 15 */
	{  2 },
	{  3 },
	{  3 },	/* 18 */
	{  3 },
	{  4 },	/* 20 */
	{  4 },
	{  4 },
	{  6 },
	{  6 },
	{  5 }	/* 25 */
};



const	struct	wis_app_type	wis_app		[26]		=
{
	{ 0 },	/*  0 */
	{ 0 },	/*  1 */
	{ 0 },
	{ 0 },	/*  3 */
	{ 0 },
	{ 1 },	/*  5 */
	{ 1 },
	{ 1 },
	{ 1 },
	{ 2 },
	{ 2 },	/* 10 */
	{ 2 },
	{ 2 },
	{ 2 },
	{ 2 },
	{ 3 },	/* 15 */
	{ 3 },
	{ 4 },
	{ 5 },	/* 18 */
	{ 5 },
	{ 5 },	/* 20 */
	{ 6 },
	{ 6 },
	{ 6 },
	{ 6 },
	{ 7 }	/* 25 */
};



const	struct	dex_app_type	dex_app		[26]		=
{
	{   60 },   /* 0 */
	{   50 },   /* 1 */
	{   50 },
	{   40 },
	{   30 },
	{   20 },   /* 5 */
	{   10 },
	{    0 },
	{    0 },
	{    0 },
	{    0 },   /* 10 */
	{    0 },
	{    0 },
	{    0 },
	{    0 },
	{ - 10 },   /* 15 */
	{ - 15 },
	{ - 20 },
	{ - 30 },
	{ - 40 },
	{ - 50 },   /* 20 */
	{ - 60 },
	{ - 75 },
	{ - 90 },
	{ -105 },
	{ -120 }    /* 25 */
};



const	struct	con_app_type	con_app		[26]		=
{
	{ -4, 20 },   /*  0 */
	{ -3, 25 },   /*  1 */
	{ -2, 30 },
	{ -2, 35 },   /*  3 */
	{ -1, 40 },
	{ -1, 45 },   /*  5 */
	{ -1, 50 },
	{  0, 55 },
	{  0, 60 },
	{  0, 65 },
	{  0, 70 },   /* 10 */
	{  0, 75 },
	{  0, 80 },
	{  0, 85 },
	{  0, 88 },
	{  1, 90 },   /* 15 */
	{  2, 95 },
	{  2, 97 },
	{  3, 99 },   /* 18 */
	{  3, 99 },
	{  4, 99 },   /* 20 */
	{  4, 99 },
	{  5, 99 },
	{  6, 99 },
	{  7, 99 },
	{  8, 99 }    /* 25 */
};