class FriendlyFireBorn : ScriptObject
{
	kActor@ self;

	float messageTime;
	FriendlyFireBorn(kActor@ actor)
	{
		@self = actor;
	}

	void OnSerialize(kDict& out dict)
	{
		SERIALIZE(messageTime);
	}

	void OnDeserialize(kDict& in dict)
	{
		DESERIALIZE_FLOAT(messageTime);
	}
	
	void OnTouch(kActor@ pInstigator)
	{
		if ((pInstigator !is null) && (@pInstigator == @LocalPlayer.Actor().CastToActor()) && messageTime <= 0.0f)
		{
			messageTime = 3.0f;
			kStr message;
			switch (self.TID())
			{
				case 604:
				{
					message = "The darkness has shadowed our home";
					break;
				}
				case 605:
				{
					message = "In exchange for help we offer peace with Turok";
					break;
				}
				case 606:
				{
					message = "Red Feather Required Mate";
					break;
				}
				case 607:
				{
					message = "Purple Feather Required Mate";
					break;
				}
				case 608:
				{
					message = "Blue Feather Required Mate";
					break;
				}
				case 609:
				{
					message = "Only one way out. Rid the cave of Oblivion";
					break;
				}
			}
			Hud.AddMessage(message, 180);
		}
	}


	void OnTick()
	{
		messageTime = MAX(messageTime - GAME_DELTA_TIME, 0.0f);
		self.EnemyAIComponent().SetNoUpdateTarget(true, true); //ignore the player
	}
	void OnPreDamage(kDamageInfo& in dmgInfo)
	{
		self.Flags() |= AF_NOINFLICTDAMAGE;
	}

}
