
///////////////////////////////////////////////////////////////////////////////////////////
// Gilden
// Aufnahmebedingungen
// Lernprogramme
///////////////////////////////////////////////////////////////////////////////////////////

// ********************************************************************************************************************
// Gruppenattitüden 
// ********************************************************************************************************************

CONST INT TAB_ANZAHL = 17 * 17;

CONST INT GIL_ATTITUDES [TAB_ANZAHL] =
{
//	None		EBr		Söl		Stt		KdF		Vlk 			KdW 		Grd		Org 		Bau 		SfB 			Gur 		Nov 		Tpl 			Däm 		Mst		Ork
/*Non*/	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,	/*Non*/	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,	/*Non*/	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,	/*Non*/	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,
/*Ebr*/	ATT_NEUTRAL,	ATT_FRIENDLY,	ATT_FRIENDLY,	ATT_FRIENDLY,	ATT_FRIENDLY,	ATT_NEUTRAL,	/*Ebr*/	ATT_ANGRY,	ATT_ANGRY,	ATT_ANGRY,	ATT_ANGRY,	ATT_ANGRY,	/*Ebr*/	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,	/*Ebr*/	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,
/*Sld*/	ATT_NEUTRAL,	ATT_FRIENDLY,	ATT_FRIENDLY,	att_neutral,	ATT_NEUTRAL,	ATT_NEUTRAL,	/*Sld*/	ATT_ANGRY,	ATT_ANGRY,	ATT_ANGRY,	ATT_ANGRY,	ATT_ANGRY,	/*Sld*/	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,	/*Sld*/	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,
/*Stt*/	ATT_NEUTRAL,	ATT_FRIENDLY,	ATT_NEUTRAL,	ATT_FRIENDLY,	ATT_NEUTRAL,	ATT_NEUTRAL,	/*Stt*/	ATT_ANGRY,	ATT_ANGRY,	ATT_ANGRY,	ATT_ANGRY,	ATT_ANGRY,	/*Stt*/	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,	/*Stt*/	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,
/*Kdf*/	ATT_NEUTRAL,	att_neutral,	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_FRIENDLY,	ATT_NEUTRAL,	/*Kdf*/	att_neutral,	att_neutral,	att_neutral,	att_neutral,	att_neutral,	/*Kdf*/	ATT_ANGRY,	ATT_ANGRY,	ATT_ANGRY,	/*Kdf*/	ATT_FRIENDLY,	ATT_NEUTRAL,	ATT_NEUTRAL,
/*Vlk*/	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_FRIENDLY,	/*Vlk*/	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_FRIENDLY,	ATT_FRIENDLY,	/*Vlk*/	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,	/*Vlk*/	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,

/*Kdw*/	ATT_NEUTRAL,	att_neutral,	att_neutral,	att_neutral,	att_neutral,	att_neutral,	/*Kdw*/	ATT_FRIENDLY,	ATT_FRIENDLY,	ATT_FRIENDLY,	ATT_FRIENDLY,	ATT_FRIENDLY,	/*Kdw*/	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,	/*Kdw*/	ATT_FRIENDLY,	ATT_NEUTRAL,	ATT_NEUTRAL,
/*Grd*/	ATT_NEUTRAL,	ATT_ANGRY,	ATT_ANGRY,	ATT_ANGRY,	att_neutral,	att_neutral,	/*Grd*/	ATT_FRIENDLY,	ATT_FRIENDLY,	ATT_FRIENDLY,	ATT_FRIENDLY,	ATT_FRIENDLY,	/*Grd*/	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,	/*Grd*/	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,
/*Org*/	ATT_NEUTRAL,	ATT_ANGRY,	ATT_ANGRY,	ATT_ANGRY,	att_neutral,	att_neutral,	/*Org*/	ATT_FRIENDLY,	ATT_FRIENDLY,	ATT_FRIENDLY,	ATT_FRIENDLY,	ATT_FRIENDLY,	/*Org*/	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,	/*Org*/	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,
/*Bau*/	ATT_NEUTRAL,	ATT_ANGRY,	ATT_ANGRY,	ATT_ANGRY,	att_neutral,	att_neutral,	/*Bau*/	ATT_FRIENDLY,	ATT_FRIENDLY,	ATT_FRIENDLY,	ATT_FRIENDLY,	ATT_FRIENDLY,	/*Bau*/	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,	/*Bau*/	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,
/*Sfb*/	ATT_NEUTRAL,	ATT_ANGRY,	ATT_ANGRY,	ATT_ANGRY,	att_neutral,	att_neutral,	/*Sfb*/	ATT_FRIENDLY,	ATT_FRIENDLY,	ATT_FRIENDLY,	ATT_FRIENDLY,	ATT_FRIENDLY,	/*Sfb*/	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,	/*Sfb*/	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,

/*Gur*/	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,	/*Gur*/	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,	/*Gur*/	ATT_FRIENDLY,	ATT_FRIENDLY,	ATT_FRIENDLY,	/*Gur*/	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,
/*Nov*/	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,	/*Nov*/	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,	/*Nov*/	ATT_FRIENDLY,	ATT_FRIENDLY,	ATT_FRIENDLY,	/*Nov*/	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,
/*Tpl*/	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,	/*Tpl*/	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,	/*Tpl*/	ATT_FRIENDLY,	ATT_FRIENDLY,	ATT_FRIENDLY,	/*Tpl*/	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,

/*Dmb*/	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,	/*Dmb*/	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_FRIENDLY,	/*Dmb*/	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,	/*Dmb*/	ATT_FRIENDLY,	ATT_NEUTRAL,	ATT_NEUTRAL,
/*Mst*/	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,	/*Mst*/	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,	/*Mst*/	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,	/*Mst*/	ATT_NEUTRAL,	ATT_FRIENDLY,	ATT_NEUTRAL,

/*Ork*/	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,	/*Ork*/	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,	/*Ork*/	ATT_NEUTRAL,	ATT_NEUTRAL,	ATT_NEUTRAL,	/*Ork*/	ATT_NEUTRAL,	ATT_FRIENDLY,	ATT_NEUTRAL

/*Orks sind Rasse, keine Gilde, oder? Stt defaultmäßig Scheingilde=Buddler, nur durch AL-Bewohner enttarnbar. Scheinexistenz-Check muß in jedes Assess-Modul*/
};

CLASS C_Guilds
{
	VAR FUNC enter		[MAX_GUILDS];
	VAR FUNC advance	[MAX_GUILDS];

	VAR STRINGP txt_failed	[MAX_GUILDS];
	VAR STRINGP txt_enter	[MAX_GUILDS];
	VAR STRINGP txt_level3	[MAX_GUILDS];
	VAR STRINGP txt_level6	[MAX_GUILDS];
};

CLASS C_Advance
{
	VAR INT exp[6];
};

// Der Name dieser Instance darf nicht geändert werden ( Guild_Init ) !
INSTANCE Guild_Init (C_Guilds)
{
	// *** Setup EBR - Erzbarone ***
	enter		[GIL_EBR] = EBR_Conditions;
//	advance		[GIL_EBR] = EBR_LevelUp;
	txt_enter	[GIL_EBR] = "Die ehrenwerte Gesellschaft der Erzbarone hat <SC> als neues Familienmitglied aufgenommen.";
	txt_level3	[GIL_EBR] = "<SC> hat es zu beträchtlichem Ansehen bei den Erzbaronen gebracht. Er bekleidet nun den dritten Grad.";
	txt_level6	[GIL_EBR] = "Der berühmt-berüchtigte <SC> übernimmt die Position des neulich gleichermaßend überraschend wie tragisch ums Leben gekommenen obersten Erzbaron.";

	// *** Setup SÖL - Söldner ***
	enter		[GIL_SLD] = SÖL_Conditions;
//	advance		[GIL_SLD] = SÖL_LevelUp;
	txt_failed	[GIL_SLD] = "<SC> hat sich durch einen mißglückten Arenakampf eine Aufnahme bei den Söldnern verbaut.";
	txt_enter	[GIL_SLD] = "<SC> wurde nach einer Bewährungsprobe in der Arena in die Bande der Söldner aufgenommen.";
	txt_level3	[GIL_SLD] = "Nach langer und blutiger Dienstzeit für die Söldner hat <SC> den dritten Grad erreicht." ;
	txt_level6	[GIL_SLD] = "Das neue Oberhaupt der Söldner-Geimeinschaft heißt <SC>.";
};

// ************************************************************************
// Erzbarone
// ************************************************************************

FUNC INT EBR_Conditions ()
// Aufnahmebedingungen
{
//	IF ((player.guild==GIL_GRD) || (player.guild==GIL_TPL) ||
//		(player.guild==GIL_SLD) || (player.guild==GIL_STT)) {
//		IF (player.level>=4) {
//			RETURN 1;
//		};
//	};
	RETURN 0;
};

INSTANCE EBR_LevelUp (C_Advance)
// Aufstiegsbedingungen
{
	exp[1] =    2;
	exp[2] =  160;
	exp[3] =  500;
	exp[4] = 1200;
	exp[5] = 4500;
};

FUNC VOID EBR_LearnPackets ( VAR C_NPC lnpc )
{
	//			        * ID *  * Attribute *		Level Exp Geld

	CreateLearn ( lnpc, LP_ATR, ATR_STRENGTH		,	1,  3,  0 );
	CreateLearn ( lnpc, LP_ATR, ATR_CONSTITUTION	,	1,  2,  0 );
	CreateLearn ( lnpc, LP_ATR, ATR_THIEVERY		,   1,  0,  0 );
	CreateLearn ( lnpc, LP_ATR, ATR_SWORDSMANSHIP	,   1,  2,  0 );

	CreateLearn ( lnpc, LP_TAL, TAL_ASSASSIN		,   2, 10,  0 );
	CreateLearn ( lnpc, LP_TAL, TAL_SEVENTHSENSE	,   3, 10,  0 );

	CreateLearn	( lnpc, LP_MAG, SPL_LIGHT			,	1, 20, 20 );
};

// ************************************************************************
// Söldner
// ************************************************************************

FUNC INT SÖL_Conditions ()
// Aufnahmebedingungen
{
//	IF (player.exp >= 100)
//	{
//		Print("Du bist was besseres als die Würmer die für uns die Drecksarbeit machen. Du hast Stärke bewiesen. So einen wie Dich können wir brauchen. Willst Du bei uns mitmachen ?");
//		RETURN 1;
//	};
	RETURN 0;
};

INSTANCE SÖL_LevelUp (C_Advance)
// Aufstiegsbedingungen
{
	exp[1] =   10;
	exp[2] =   15;
	exp[3] =   40;
	exp[4] =  120;
	exp[5] =  450;
};

FUNC VOID SÖL_LearnPackets ( VAR C_NPC lnpc )
{
	//			        * ID *  * Attribute *		Level Exp Geld

	CreateLearn ( lnpc, LP_ATR, ATR_STRENGTH		,	1,  1,   0 );
	CreateLearn ( lnpc, LP_ATR, ATR_CONSTITUTION	,	1,  1,	 0 );
	CreateLearn ( lnpc, LP_ATR, ATR_SWORDSMANSHIP	,   1,  1,   0 );
};

