/***************************************************************************
* 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 Envy Diku Mud, you must comply with *
* the original Diku license in 'license.doc', the Merc license in *
* 'license.txt', as well as the Envy license in 'license.nvy'. *
* 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 *
* *
* Code Adapted and Improved by Abandoned Realms Mud *
* and Aabahran: The Forsaken Lands Mud by Virigoth *
* *
* Continued Production of this code is available at www.flcodebase.com *
***************************************************************************/
#ifndef __AQUEST_H__
#define __AQUEST_H__
//defines
enum quest_type{
QUEST_NONE = 0,
QUEST_SLAY,
QUEST_GET,
QUEST_GIVE,
QUEST_FIND,
QUEST_MAX,
};
enum quest_level{
LEVEL_EASY,
LEVEL_MEDIUM,
LEVEL_HARD
};
#define QUEST_ARG_MAX 10
typedef struct autoquest_type AQUEST_DATA;
struct autoquest_type{
int quest; //type of the quest, QUEST_NONE for no quest
int origin; //vnum of the mob who gives quest/reward
int target; //vnum of the mob which is the target of the quest
int arg; //argument if any to the quest
long life; //time by which it has to be completed (non zero for time limited)
bool fClan; //does the quest reward with clan points
};
//MACROS
#define HAS_AQUEST(ch) (!IS_NPC((ch)) && (ch)->pcdata->aquest.quest > QUEST_NONE)
//INTERFACE
void aquest( CHAR_DATA* ch, char* argument);
void cquest( CHAR_DATA* ch, char* argument);
char* GetQuestString( AQUEST_DATA* pQ );
bool QuestRoomCheck( CHAR_DATA* ch, ROOM_INDEX_DATA* room );
bool QuestKillCheck(CHAR_DATA* ch, CHAR_DATA* victim);
bool QuestTimeCheck(CHAR_DATA* ch );
#endif