/* 920228 mud@alijku05.edvz.uni-linz.ac.at Herbert Rosmanith */

#include "std.h"
#define GUILD_NAME	"fighter"		/* fighters guild	*/ 
#define GM		"guild/master"

inherit "guild/room";
#include "/players/portil/guild/skill_system.c"

/*-------------------------------------------------------*/
/* All the Advance, Cost, List stuff here		 */
/* All the pretitles, titles and exp levels for a thief. */
/*-------------------------------------------------------*/

/* dagmar strikte_typen */

#define MAXLVL		30
#define TO		this_object()
#define TP		this_player()
#define TPN		this_player()->query_name()
#define env		environment
#define SAY(x)		tell_room(env(TO),x)
#undef  EXTRA_RESET	
#define EXTRA_RESET	::reset(); extra_reset(arg);
#undef  EXTRA_INIT
#define EXTRA_INIT	::init();
#undef  EXTRA_MOVE1
#define EXTRA_MOVE1	if (!chk_leave())
#undef  EXTRA_MOVE2
#define EXTRA_MOVE2\
  if (TP->query_guild()!=guild && !TP->query_immortal()) {\
     write("Only fighters may go there !\n");\
     return 1;\
  }

int	guild;			/* guild # (reset get's it from obj/guild */

TWO_EXIT("room/eastroad5","up",
	 "players/capablanca/guild/restroom","south",
	 "Fighters guild",
/* 8/27/93 Reference to Training grounds removed   Esox */
         "These are the halls of the famous Fighters Guild!\n" +
	 "Fighters always have been the most powerful players.\n" +
	 "Commands: cost, advance,\n" +
	 "          list, list [number],\n" +
	 "          list all or join.\n",1)

extra_reset(arg) {
  if (arg) return;
  skill_reset(0);    /* for the skill system */
  guild=GM->query_number(GUILD_NAME);
  set_guild(guild);
}

do_join() {
object ob;

 if (!::do_join()) return 1;	/* Joining not possible */

 if(TP->query_str() < 7) {
    write("Sorry but you are not strong enough to be a Fighter.\n");
      return 1;
  }

  write("Welcome to the Fighters Guild.\n");
/*
 ob = clone_object("players/portil/guild/soul.c");
  move_object(ob,this_player());
*/
  "sys/chatd.c"->do_chat(guild,capitalize(this_player()->query_real_name())+" has just become the newest member of the fighters guild.\n");
  this_player()->set_guild(guild);
  write("Type `help guild` for more information about your new abilities.\n");
  return 1;
}

/* changed by Llort 050592 */
query_maxhp(lvl) {
  return(30+21*lvl);  /* con 1 = 50, con 30 = 514 */
}

query_maxsp(lvl) {
  return(47+3*lvl);   /* int 1 = 50, int 30 = 137 */
}

do_advance(str) {
	int oldlevel,returned;
	object tp;
	tp=this_player();
	oldlevel=tp->query_level();
	returned=::do_advance(str);
        if(oldlevel<tp->query_level())
        "sys/chatd.c"->do_chat(guild,"[*Fighter info*] "+tp->query_name()+" is now level "+tp->query_level()+".\n");
	return returned;
}
