SmaugWizard/Backup/
SmaugWizard/Backup/L/
SmaugWizard/Boards/
SmaugWizard/Building/
SmaugWizard/Corpses/
SmaugWizard/Councils/
SmaugWizard/Deity/
SmaugWizard/Gods/
SmaugWizard/MudProgs/
SmaugWizard/Player/L/
SmaugWizard/Src/
SmaugWizard/Src/res/
/****************************************************************************
 * [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