 - Heredan "/std/guild"
 - Funciones del setup():
  * set_short(), set_long(), set_name() y reset_get() : Obligatorias. el set_long es la info del gremio
  * void set_needed_align(int *a, int *b) : Especifica el rango de alineamientos validos, de modo que 'a' y 'b' son arrays, por ejemplo
   	set_needed_align( ({1,0}) , ({0}) );	<--- Con eso en el guild solo admitiriamos Legal Neutral y Neutral Absoluto

  * int add_guild_command(string name, int add_if_player) : Anyade un comando de gremio, donde 'name' es uno de los comandos de
     /table/command_table.c y 'add_if_player' es si keremos que el comando sea solo npcs (1) o que lo usen tb los players

  * void set_xp_cost(int i) : Establece el coste de experiencia para subir de nivel. Esta es la XP para subir de nivel 1 a 2. El resto
						de costes estan basados en este, que aumenta exponencialmente
  * set_thac0_step(int i) : Establece como mejora nuestro thac0 al subir nivel
  * set_clase(string str): Establece la clase valida para unirse a este gremio. Actualmente las clases son: Guerrero, Hechicero, Sacerdote, Bribon y Multiclase


 - Funciones enmascarables:
  * int query_legal_race(string race) : Determina las razas validas, se enmascara del siguiente modo
  	int query_legal_race(string race) {
		race=capitalize(race); // Asi nos ahorramos tener q poner "orco" y "Orco", solo usaremos los nombres en mayusculas
		switch (race) {
			case "Orco":
			case "Medio-orco":
			case "Inmortal": // Esto debeis ponerlo siempre para poder testear el gremio
			return 1;
			default:
			return 0;
			}
		log_file("fallos_gremios","Error en el Gremio "+TO->query_name()+": No se pudo procesar la raza '"+race+"'.
);
		// En teoria es imposible llegar a esa linea, pero ayudaria que la pusieseis
		return 0;
		}
			Eso seria un guild solo para Orcos y Medio-Orcos

  * int query_legal_weapon(string str) : Nos permite seleccionar las armas validas del gremio y se hace
  	int query_legal_weapon(string str) {
		str=lower_case(str); // Generalmente no hace falta, es por si alguien la caga en el futuro
		switch (str) {
			case "esp_corta":
			case "esp_ancha":
			case "esp_larga":
			return 1;
			default:
			return 0;
			}
		log_file("fallos_gremios","Error en el Gremio "+TO->query_name()+": No se pudo procesar el arma '"+str+"'.
");
		return 0;
		}
			Este gremio solo podria usar espadas cortas, anchas y largas
			NOTA: Lo que debeis usar como nombres son los de /table/weapon_table.c

  * int query_legal_armour(string str) : Lo mismo que el anterior pero con las armaduras. Se usan del mismo modo, pero hay que usar los nombres de /table/armour_table.c

  * int query_max_level(string race) : Nos permite impedir que los miembros de algunas razas no superen ciertos niveles
  	int query_max_level(string race) {
		race=capitalize(race);
		switch(race) {
			case "Halfling":
			return 40;
			default:
			return 300;  // Por defecto es 300
			}
		log_file("fallos_gremios","Error en el Gremio "+TO->query_name()+": No se pudo procesar la raza '"+race+"'.
");
		return 300;
		}
			Eso impediria a los Halfling subir por encima del nivel 40

  * int query_hp_dice(object pl) :  \
  * int query_gp_dice(object pl) :   } Sirven para ajustar cuanto aumentan los hp, gp, ep y sp. Esto es un random
  * int query_ep_dice(object pl) :   |
  * int query_sp_dice(object pl) :  /
  * int query_hp_min(object pl) :   \
  * int query_hp_min(object pl) :    } Tb para ajustar el aumento, de modo que al subir de nivel se aumenta:  min+random(dice)
  * int query_hp_min(object pl) :    |
  * int query_sp_min(object pl) :   /
	Como vemos nos pasan el jugador, asi que podriamos hacer cosas como, por ejemplo, un guild de shamanes guerreros orcos y goblins
	donde los orcos les suban mas los hps y a los goblins los gps utilizando pl->query_race() o cualquier cosa que se os ocurra

  * string query_title(object player) : Esto es el titulo que sale en el who. Por defecto saldria, por ejemplo "el Mago Negro de Nivel 21"
  	Como veis pasa el player asi que podemos hacer virguerias con esta funcion ;)

  * int query_dual_wield_penalty(object me, object w1, object w2) : La penalizacion por llevar dos armas donde 'me' es el player
  	y 'w1' y 'w2' las armas que lleva. Por defecto la penalizacion es de 50

  * string help() : Debe devolver lo que saldria como ayuda
  
  * void new_levels(int lvl,object ob) : Esta se enmascararia si queremos que al alcanzar cierto nivel consiga nuevos comandos, pej:
		void new_levels(int lvl,object ob) {
			if(lvl==20&&capitalize(ob->query_race())=="Hombre-Lagarto") {
				ob->adjust_con(1);
				tell_object(ob,"Sientes como tus escamas se endurecen.
");
				}
			::new_levels(lvl,ob); // Esta linea es imprescindible
			}

  * int query_ac(int lvl) : Ajusta la ac natural del miembro del gremio. Podemos hacerla fija o segun el nivel, que para eso nos lo pasa
--
Vilat the %^BLACK%^BOLD%^Endbringer%^RESET%^
