/
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

bard.h				Bardic code header file for bard.c

		******** 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_BARD_H
#define ROA_BARD_H

// look in constants.c for structure assignment
/*Songs:           Level:  Sing:  Area:  Mana Cost:  Duration:  Combat:*/
struct song_type {
   sh_int min_level;
   sh_int song_duration;
   BOOL   self; 
   BOOL   another; 
   BOOL   group; 
   BOOL   item;
   sh_int initial_mana;
   sh_int continuing_mana;
   BOOL   combat;

   /* the function this song calls */
   int (*song_fn)(chdata *ch, int song, char *argu, int sing);
};

struct song_affect {
  struct char_data *performer;  /* who sang/played it */
  sh_int song;  /* what song number */
  struct song_affect *next;  /* next! */
};

/* bard song protos */
void song_from_char(chdata *ch, struct song_affect *sg);
void song_to_char(chdata *ch, struct song_affect *sg);
void remove_song_from_world(chdata *ch, sh_int song);
BOOL bard_song_near_char(chdata *ch, sh_int sont);

#define SONG_FAILURE 0
#define SONG_SUCCESS 1

#define SONG_AMITAR      21
#define SONG_BALM        24

// up this # when adding songs
#define NUM_SONGS	26

#define ASONG(songname) \
extern int songname(chdata *ch, int song, char *argu, int sing)

ASONG(do_gullems);
ASONG(do_sylunes);
ASONG(do_spirit);
ASONG(do_glad);
ASONG(do_hounds);
ASONG(do_inner);
ASONG(do_sunset);
ASONG(do_serpent);
ASONG(do_azurels);
ASONG(do_harsh);
ASONG(do_heroes);
ASONG(do_winters);
ASONG(do_shades);
ASONG(do_storm);
ASONG(do_calys);
ASONG(do_gods);
ASONG(do_springs);
ASONG(do_bog);
ASONG(do_trials);
ASONG(do_baans);
ASONG(do_amitars);
ASONG(do_triumph);
ASONG(do_tortured);
ASONG(do_goddess);
ASONG(do_jemidon);
ASONG(do_creation);

#endif /* ROA_BARD_H */