/****************************************************************************
* [S]imulated [M]edieval [A]dventure multi[U]ser [G]ame | *
* -----------------------------------------------------------| \\._.// *
* SmaugWiz (C) 1998 by Russ Pillsbury (Windows NT version) | (0...0) *
* -----------------------------------------------------------| ).:.( *
* SMAUG (C) 1994, 1995, 1996 by Derek Snider | {o o} *
* -----------------------------------------------------------| / ' ' \ *
* SMAUG code team: Thoric, Altrag, Blodkai, Narn, Haus, |~'~.VxvxV.~'~*
* Scryn, Swordbearer, Rennard, Tricops, and Gorog. | *
* ------------------------------------------------------------------------ *
* Merc 2.1 Diku Mud improvments copyright (C) 1992, 1993 by Michael *
* Chastain, Michael Quan, and Mitchell Tse. *
* Original Diku Mud copyright (C) 1990, 1991 by Sebastian Hammer, *
* Michael Seifert, Hans Henrik Staerfeldt, Tom Madsen, and Katja Nyboe. *
* ------------------------------------------------------------------------ *
* Deities Interface file *
****************************************************************************/
#ifndef DEITY_H
#define DEITY_H
#include "Affect.h"
class CDeityData {
public:
CDeityData () { memset (this, 0, sizeof (CDeityData)); }
CDeityData *GetNext () { return m_pNext; }
void SetNext (CDeityData* n) { m_pNext = n; }
CDeityData *GetPrev () { return m_pPrev; }
void SetPrev (CDeityData* n) { m_pPrev = n; }
char *GetName () { return m_pName; }
void SetName (char* n) { m_pName = n; }
BOOL IsValidName () { return m_pName && m_pName [0] != 0; }
short GetClass () { return m_Class; }
void SetClass (short c) { m_Class = c; }
short GetRace () { return m_Race; }
void SetRace (short r) { m_Race = r; }
void Read (FILE *fp);
void ToggleAffected (int bit) { m_Affected.ToggleBit (bit); }
private:
CDeityData *m_pNext;
CDeityData *m_pPrev;
char *m_pName;
int m_Race;
int m_Class;
public:
CAffectFlags m_Affected;
char *description;
short alignment;
short worshippers;
short scorpse;
short sdeityobj;
short savatar;
short srecall;
short flee;
short flee_npcrace;
short flee_npcfoe;
short kill;
short kill_magic;
short kill_npcrace;
short kill_npcfoe;
short sac;
short bury_corpse;
short aid_spell;
short aid;
short backstab;
short steal;
short die;
short die_npcrace;
short die_npcfoe;
short spell_aid;
short dig_corpse;
int element;
int sex;
int avatar;
int deityobj;
int npcrace;
int npcfoe;
int suscept;
};
extern CDeityData *get_deity (const char* name);
extern void load_deities ();
extern void save_deity (CDeityData *deity);
extern void adjust_favor (CCharacter *ch, int field, int mod);
#endif