/* ....[@@@..[@@@..............[@.................. 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; } }