/
roa/
roa/lib/boards/
roa/lib/config/
roa/lib/edits/
roa/lib/help/
roa/lib/misc/
roa/lib/plrobjs/
roa/lib/quests/
roa/lib/socials/
roa/lib/www/
roa/lib/www/LEDSign/
roa/lib/www/LEDSign/fonts/
roa/lib/www/LEDSign/scripts/
roa/src/s_inc/
roa/src/sclient/
roa/src/sclient/binary/
roa/src/sclient/text/
roa/src/util/
/************************************************************************
	Realms of Aurealis 		James Rhone aka Vall of RoA

warlock.h				various function protos and 
                                        structure definitions related to 
                                        warlocks and their OLCable things

		******** 100% Completely Original Code ********
		*** BE AWARE OF ALL RIGHTS AND RESERVATIONS ***
		******** 100% Completely Original Code ********
		        All rights reserved henceforth. 

    Please note that no guarantees are associated with any code from
Realms of Aurealis.  All code which has been released to the general
public has been done so with an 'as is' pretense.  RoA is based on both
Diku and CircleMUD and ALL licenses from both *MUST* be adhered to as well
as the RoA license.   *** Read, Learn, Understand, Improve ***
*************************************************************************/
#ifndef ROA_WARLOCK_H
#define ROA_WARLOCK_H

// what type of warlock spell is it
#define WSPELL_DAMAGE	0
#define WSPELL_AFFECT	1

/* an array of these, 300 big for now is the spell index we will
   lookup to check if the spell exists */
struct wspell_index {
  char name[80];
};

// here is the warlock spell structure
// now has ability to produce affectuals 2/19/97 -roa
struct wspell_type {
  char *name;
  int type;		// WSPELL_XXX
  int level;		/* min level to cast */
  int mana;		/* max mana cost */
  int delay;		/* sets character delay of ... */
  
  // damage stats, can be unioned with aff stats sometime
  int num_dice;		/* number of spell dam dice */
  int size_dice;	/* size of spell dam dice */
  int dice_bonus;	/* + X on the damage roll */
  int save_off;		/* take this much off if vict makes saving throw */

  // following can be put in a union sometime, aff stats
  int spell;		// for which SPELL_ / SKILL_ affect
  int violent;		// is this spell violent
  int apply;		// where to apply the affect
  int modifier;		// how much to modify
  int duration;		// how long it will last
  int aff1;		// AFF_XXX bitvector bits to set
  int aff2;		// AFF2_XXX bitvector bits to set

  /* messages */
  char *to_char_miss;
  char *to_char_hit;
  char *to_char_kill;

  char *to_vict_miss;
  char *to_vict_hit;
  char *to_vict_kill;

  char *to_room_miss;
  char *to_room_hit;
  char *to_room_kill;
};

#endif // ROA_WARLOCK_H