
INSTANCE Troll(Mst_Default)
// Troll
{
	//-------- primary data --------
	name		= "Troll";
	slot		= "Troll";
	guild		= GIL_TROLL;
	level		= 3;
	

	//--------- abilities --------
	attribute[ATR_STRENGTH] =		10;
	attribute[ATR_DEXTERITY] =		1;
	attribute[ATR_MANA_MAX] =		1;
	attribute[ATR_MANA] =			1;
	attribute[ATR_MADNESS_MAX] =	1;
	attribute[ATR_MADNESS] =		1;
	attribute[ATR_HITPOINTS_MAX] =	30;
	attribute[ATR_HITPOINTS] =		30;

	talents		= 0;

	//-------- visuals --------
	Mdl_SetVisual		(self,"troll.mds");
	Mdl_SetVisualBody	(self,"Tro_Body.asc","","",DEFAULT,DEFAULT,DEFAULT);

	//-------- ai --------
	assessdamage 		=	ZS_MonsterReactToDamage;
	assessenemy			=	ZS_MonsterAssessEnemy;
	assessFriendsDamage =	ZS_MonsterAssessFriendsDamage;
	observeIntruder		=	ZS_TrollObserveIntruder;
		

	fight_tactic =	FAI_TROLL;

	Npc_SetToFistMode(self);

	//-------- senses --------
	senses		=	SENSE_SEE;
	senses_range =	40000;				// Adlerauge muss schon sein

};

FUNC INT Troll_DetectNPC()
{
	if (Npc_IsPlayer(other)) {
		if (Npc_CanTrollCallGobbo(self))	{	return 10;	};	// Gobbo rufen !
	};
	return 0;
};

FUNC void Troll_ProcessNPC()
{	
	if (!Npc_IsNear(self,other))
	{
		// Gobbo rufen !
		AI_TrollCallsGobbo(self);
	};

//	AI_PlayAniSnd(	self,	"S_TRO_ANGRY",	"",		"UUUAARRRGGGHHHH!!!!! (ProcessNPC)");
		
};