/**************************************************************************/
// socials.h -
/***************************************************************************
* The Dawn of Time v1.69r (c)1997-2004 Michael Garratt *
* >> A number of people have contributed to the Dawn codebase, with the *
* majority of code written by Michael Garratt - www.dawnoftime.org *
* >> To use this source code, you must fully comply with the dawn license *
* in licenses.txt... In particular, you may not remove this copyright *
* notice. *
**************************************************************************/
// no argument specified
#define SOCIAL_ATNOTARGET_MSG2SELF 0
#define SOCIAL_ATNOTARGET_MSG2OTHERS 1
// self target
#define SOCIAL_ATSELF_MSG2SELF 2
#define SOCIAL_ATSELF_MSG2OTHERS 3
// other target
#define SOCIAL_ATTARGET_MSG2SELF 4
#define SOCIAL_ATTARGET_MSG2TARGET 5
#define SOCIAL_ATTARGET_MSG2OTHERS 6
#define SOCIAL_ATTARGET_MOBTARGETRESPONSE 7 // The social a mob will respond with
#define SOCIAL_ATMAX 8
// SOC FLAGS
#define SOC_IN_OOC (A)
#define SOC_IN_IC (B)
#define SOC_IMM_ONLY (C)
/**************************************************************************/
class social_type{
public:
char * name;
int social_flags;
char * acts[SOCIAL_ATMAX];
social_type * next;
int position_flags; // the positions you can use it in
// member functions
social_type(); // default constructor
~social_type(); // default destructor
void execute_social(char_data *ch, char *argument, bool global);
private:
bool process_social_execution(char_data *ch, char *argument, bool global);
};
/**************************************************************************/
extern const struct flag_type position_flags[];
extern const struct flag_type social_flags[];
extern social_type *social_list;
#define safe_str_dup(str) (str?str_dup(str):str_dup(""))
void save_socials();
social_type *find_social(char_data * ch, char *social);
/**************************************************************************/