mud++0.26/etc/
mud++0.26/etc/guilds/
mud++0.26/log/
mud++0.26/mudC/
mud++0.26/player/
mud++0.26/src/unix/
/*
....[@@@..[@@@..............[@.................. MUD++ is a written from
....[@..[@..[@..[@..[@..[@@@@@....[@......[@.... scratch multi-user swords and
....[@..[@..[@..[@..[@..[@..[@..[@@@@@..[@@@@@.. sorcery game written in C++.
....[@......[@..[@..[@..[@..[@....[@......[@.... This server is an ongoing
....[@......[@..[@@@@@..[@@@@@.................. development project.  All 
................................................ contributions are welcome. 
....Copyright(C).1995.Melvin.Smith.............. Enjoy. 
------------------------------------------------------------------------------
Melvin Smith (aka Fusion)         msmith@hom.net
MUD++ development mailing list    mudpp-list@mailhost.net
------------------------------------------------------------------------------
trigchar.cc
*/
#include "char.h"
#include "trigs.h"
#include "room.h"
#include "io.h"


bool ctrig_update_example1( Char * mob )
{
	mob->inRoom()->out("SUCCESS!\n\r");
	return false;
}




/*
 * Registration part
 */

trigfun_entry( ctrigT_created ) char_trigger_created[] =
{
	{0, NULL}
};

trigfun_entry( ctrigT_update ) char_trigger_update[] =
{
	{"ctrig_update_example1", ctrig_update_example1 },
	{0, NULL}
};

trigfun_entry( ctrigT_given_gold ) char_trigger_given_gold[] =
{
	{0, NULL}
};

trigfun_entry( ctrigT_given_object ) char_trigger_given_object[] =
{
	{0, NULL}
};

trigfun_entry( ctrigT_told ) char_trigger_told[] =
{
	{0, NULL}
};

trigfun_entry( ctrigT_attacked ) char_trigger_attacked[] =
{
	{0, NULL}
};

trigfun_entry( ctrigT_hit ) char_trigger_hit[] =
{
	{0, NULL}
};

trigfun_entry( ctrigT_killed ) char_trigger_killed[] =
{
	{0, NULL}
};

trigfun_entry( ctrigT_socialed ) char_trigger_socialed[] =
{
	{0, NULL}
};


trigfun_entry( ctrigT_looked_at ) char_trigger_looked_at[] =
{
	{0, NULL}
};



void * lookupCtrig( int type , const char * name )
{
	switch ( type )
{
		default:
			Cout << "Tried to lookup unknown char trigger table." << endl;
			return NULL;
		case CTRIG_CREATED:      returnLookupTrig( char_trigger_created, name);
		case CTRIG_UPDATE:       returnLookupTrig( char_trigger_update, name);
		case CTRIG_GIVEN_GOLD:   returnLookupTrig( char_trigger_given_gold, name);
		case CTRIG_GIVEN_OBJECT: returnLookupTrig( char_trigger_given_object, name);
		case CTRIG_TOLD:         returnLookupTrig( char_trigger_told, name);
		case CTRIG_ATTACKED:     returnLookupTrig( char_trigger_attacked, name);
		case CTRIG_HIT:          returnLookupTrig( char_trigger_hit, name);
		case CTRIG_KILLED:       returnLookupTrig( char_trigger_killed, name);
		case CTRIG_SOCIALED:     returnLookupTrig( char_trigger_socialed, name);
		case CTRIG_LOOKED_AT:    returnLookupTrig( char_trigger_looked_at, name);
	}
}

const char * lookupCtrigName( int type , void * fun)
{
	switch ( type )
{
		default:
			Cout << "Tried to lookup unknown char trigger table." << endl;
			return NULL;
		case CTRIG_CREATED:      returnLookupTrigName( char_trigger_created, fun);
		case CTRIG_UPDATE:       returnLookupTrigName( char_trigger_update, fun);
		case CTRIG_GIVEN_GOLD:   returnLookupTrigName( char_trigger_given_gold, fun);
		case CTRIG_GIVEN_OBJECT: returnLookupTrigName( char_trigger_given_object, fun);
		case CTRIG_TOLD:         returnLookupTrigName( char_trigger_told, fun);
		case CTRIG_ATTACKED:     returnLookupTrigName( char_trigger_attacked, fun);
		case CTRIG_HIT:          returnLookupTrigName( char_trigger_hit, fun);
		case CTRIG_KILLED:       returnLookupTrigName( char_trigger_killed, fun);
		case CTRIG_SOCIALED:     returnLookupTrigName( char_trigger_socialed, fun);
		case CTRIG_LOOKED_AT:    returnLookupTrigName( char_trigger_looked_at, fun);
	}
}

const char * getCtrigName( int type, int index )
{
	switch ( type )
	{
		default:
			Cout << "Tried to lookup unknown char trigger table." << endl;
			return NULL;
		case CTRIG_CREATED:      return char_trigger_created[index].name;
		case CTRIG_UPDATE:       return char_trigger_update[index].name;
		case CTRIG_GIVEN_GOLD:   return char_trigger_given_gold[index].name;
		case CTRIG_GIVEN_OBJECT: return char_trigger_given_object[index].name;
		case CTRIG_TOLD:         return char_trigger_told[index].name;
		case CTRIG_ATTACKED:     return char_trigger_attacked[index].name;
		case CTRIG_HIT:          return char_trigger_hit[index].name;
		case CTRIG_KILLED:       return char_trigger_killed[index].name;
		case CTRIG_SOCIALED:     return char_trigger_socialed[index].name;
		case CTRIG_LOOKED_AT:    return char_trigger_looked_at[index].name;
	}
}