/
Debug/
area/
data/
gods/
player/
player/skill/
/****************************************************************************
 *  Original Diku Mud copyright (C) 1990, 1991 by Sebastian Hammer,			*
 *  Michael Seifert, Hans Henrik St{rfeldt, Tom Madsen, and Katja Nyboe.	*
 *																			*
 *  Merc Diku Mud improvments copyright (C) 1992, 1993 by Michael			*
 *  Chastain, Michael Quan, and Mitchell Tse.								*
 *																			*
 *  In order to use any part of this Merc Diku Mud, you must comply with	*
 *  both the original Diku license in 'license.doc' as well the Merc		*
 *  license in 'license.txt'.  In particular, you may not remove either of	*
 *  these copyright notices.												*
 *																			*
 *  Much time and thought has gone into this software and you are			*
 *  benefitting.  We hope that you share your changes too.  What goes		*
 *  around, comes around.													*
 ***************************************************************************/
 
/****************************************************************************
*	ROM 2.4 is copyright 1993-1998 Russ Taylor								*
*	ROM has been brought to you by the ROM consortium						*
*	    Russ Taylor (rtaylor@hypercube.org)									*
*	    Gabrielle Taylor (gtaylor@hypercube.org)							*
*	    Brian Moore (zump@rom.org)											*
*	By using this code, you have agreed to follow the terms of the			*
*	ROM license, in the file Rom24/doc/rom.license							*
***************************************************************************/
/****************************************************************************
*	Demon's Dance MUD, and source code are property of Eric Goetschalckx	*
*	By compiling this code, you agree to include the following in your		*
*	login screen:															*
*	    Derivative of Demon's Dance, by Enzo/Stan							*
***************************************************************************/


#if defined(macintosh)
#include <types.h>
#elif defined(WIN32)
#include <sys/types.h>
#include <time.h>
#define NOCRYPT
#else
#include <sys/types.h>
#include <sys/time.h>
#endif
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
#include <time.h>
#include "merc.h"
#include "interp.h"
#include "magic.h"
#include "recycle.h"
#include "tables.h"
#include "lookup.h"
#include "arena.h"

bool check_teach ( CHAR_DATA *ch,char* skill, char* teach_required, CHAR_DATA *teacher  )
{
	int teach_bit;

	if (teacher->teach_flags == 0)
	{
		return FALSE;
	}
	if (teach_compare( teach_required ) == -1)
	{
		return FALSE;
	}
	teach_bit = teach_compare(teach_required);
	if (!IS_SET(teacher->teach_flags,teach_bit))
	{
		return FALSE;
	}
	if (IS_SET(teacher->teach_flags,teach_bit))
	{
		return TRUE;
	}
	return FALSE;
}

/*
 * Lookup a skill's teacher bit
 */
int teach_compare( const char *teach_required )
{
	int i;

    for ( i = 0; i < MAX_TEACH_TYPE; i++ )
    {
		if ( !str_cmp( teach_required, teach_table[i].teach_type ) )
		{
			return teach_table[i].teach_bit;
		}
    }

    return -1;
}

const	struct	teach_type teach_table	[MAX_TEACH_TYPE]	=
{
	/*{"TEACH_TYPE", teach_bit}*/
	{"TEACH_NONE",			A},
	{"TEACH_MULTI_HIT",		B},
	{"TEACH_LEGIONARE_1",	C},
	{"TEACH_LEGIONARE_2",	D},
	{"TEACH_SENSEI_1",		E},
	{"TEACH_SENSEI_2",		F},
	{"TEACH_DRACONIAN_1",	G},
	{"TEACH_DRACONIAN_2",	H},
	{"TEACH_TAO_1",			I},
	{"TEACH_TAO_2",			J},
	{"TEACH_ZEALOT_1",		K},
	{"TEACH_ZEALOT_2",		L},
	{"TEACH_DAGASHI_1",		M},
	{"TEACH_DAGASHI_2",		N},
	{"TEACH_MUTLI_CAST",	O},
	{NULL,					0}

};