text: /************************************************************************
   * Generic OLC Library - Guild / gengld.h			v1.0	*
   * Copyright 1996 by Harvey Gilpin					*
   * Copyright 1997-2001 by George Greer (greerga@circlemud.org)		*
   ************************************************************************/
  
  void copy_guild(struct guild_data *tguild, struct guild_data *fguild);
  void copy_list(IDXTYPE **tlist, IDXTYPE *flist);
  void remove_from_int_list(IDXTYPE **list, IDXTYPE num);
  void add_to_int_list(IDXTYPE **tlist, IDXTYPE newi);
  void free_guild_string(struct guild_data *guild);
  void free_guild(struct guild_data *guild);
  void free_guild_strings(struct guild_data *guild);
  void modify_string(char **str, char *newstr);
  int add_guild(struct guild_data *guild);
  int save_guilds(zone_rnum zone_num);
  guild_rnum real_guild(guild_vnum vnum);
  
  /*
   * Handy macros.
   */
  
  #define G_NUM(i)		((i)->vnum)
  #define G_TRAINER(i)	((i)->gm)
  #define G_OPEN(i)		((i)->open)
  #define G_CLOSE(i)		((i)->close)
  #define G_FUNC(i)		((i)->func)
  #define G_CHARGE(i)		((i)->charge)
  #define G_MINLVL(i)		((i)->minlvl)
  #define G_WITH_WHO(i)	((i)->with_who)
  #define G_NO_SKILL(i)	 ((i)->no_such_skill)
  #define G_NO_GOLD(i)	 ((i)->not_enough_gold)
  
  #define G_SK_AND_SP(i,j) ((i)->skills_and_spells[j])
  
  #define MSG_TRAINER_NOT_OPEN 	 "I'm busy! Come back later!"
  #define MSG_TRAINER_NO_SEE_CH 	 "I don't train someone I can't see!"
  #define MSG_TRAINER_DISLIKE_ALIGN  "Get out of here before I get angry!"
  #define MSG_TRAINER_DISLIKE_CLASS "I don't like your kind!"
  #define MSG_TRAINER_DISLIKE_RACE	 "Get out of here, I don't help your kind!"
  #define MSG_TRAINER_MINLVL   	 "You are not yet skilled enough to recieve my training!"
  
  #define LEARNED_LEVEL   0	/* % known which is considered "learned" */
  #define MAX_PER_PRAC    1	/* max percent gain in skill per practice */
  #define MIN_PER_PRAC    2	/* min percent gain in skill per practice */
  #define PRAC_TYPE       3	/* should it say 'spell' or 'skill'?	 */
  