#include "ctype.h" #include "sys/types.h" #include "stdio.h" #include "stdlib.h" #include "define.h" #include "struct.h" void* code_doing_quest( void** argument ) { char_data* ch = (char_data*) argument[0]; int quest = (int) argument[1]; if( quest < 0 || quest >= MAX_QUEST ) { code_bug( "Doing_Quest: impossible quest number." ); return NULL; } if( ch == NULL ) { code_bug( "Doing_Quest: Null character." ); return NULL; } return (void*) ( ch->pcdata != NULL && ch->pcdata->quest_flags[quest] == 1 ); } void* code_done_quest( void** argument ) { char_data* ch = (char_data*) argument[0]; int quest = (int) argument[1]; if( ch == NULL ) { code_bug( "Code_Done_Quest: NULL character." ); return NULL; } return (void*) ( ch->pcdata != NULL && ch->pcdata->quest_flags[quest] == -1 ); } void* code_has_quest( void** argument ) { char_data* ch = (char_data*) argument[0]; int quest = (int) argument[1]; if( quest < 0 || quest >= MAX_QUEST ) { code_bug( "Has_Quest: impossible quest number." ); return NULL; } if( ch == NULL ) { code_bug( "Code_Has_Quest: Null character." ); return NULL; } return (void*) ( ch->pcdata != NULL && ch->pcdata->quest_flags[quest] != 0 ); } void* code_assign_quest( void** argument ) { char_data* ch = (char_data*) argument[0]; int quest = (int) argument[1]; if( quest < 0 || quest >= MAX_QUEST ) { code_bug( "Assign_Quest: impossible quest number." ); return NULL; } if( ch != NULL && ch->species == NULL && ch->pcdata->quest_flags[quest] == 0 ) { ch->pcdata->quest_flags[quest] = 1; send( ch, "\n\r-*- You have been assigned a quest. -*-\n\r" ); } return NULL; } void* code_update_quest( void** argument ) { char_data* ch = (char_data*) argument[0]; int i = (int) argument[1]; quest_data* quest; if( i < 0 || i >= MAX_QUEST ) { code_bug( "Update_Quest: impossible quest number." ); return NULL; } if( ch == NULL || ch->pcdata == NULL ) return NULL; quest = get_quest_index( i ); if( ch->pcdata->quest_flags[i] == 1 ) { ch->pcdata->quest_flags[i] = -1; ch->pcdata->quest_pts += quest->points; if( quest->points != 0 ) send( ch, "-*- You gain %d quest points! -*-\n\r", quest->points ); } return NULL; }