namespace BP
{
	namespace Actors
	{
		class Bullseye : BP::ScriptActor
		{
			//------------------------------------------------------------------------------------------------------------------------
			Bullseye(kActor@ actor)
			{
				super(actor);
			}
			//------------------------------------------------------------------------------------------------------------------------
			void BP_OnPreDamage(kDamageInfo& in dmgInfo) 
			{
				//hit by normal arrow or normal sniper arrow
				if (dmgInfo.particle !is null && dmgInfo.source !is null &&
					dmgInfo.source.Type() == kActor_Player && (dmgInfo.particle.ParticleType() == 86 || dmgInfo.particle.ParticleType() == 294))
				{
					if (!BP::Game::gotBullsEyeBonus && Game.ActiveMapID() == 56 && self.TID() == 4000)
					{
						BP::Game::gotBullsEyeBonus = true;
						self.PlaySound("sounds/shaders/BP/Announcer/DD_PERFECT.ksnd");
						kVec3 pos(1486.0f, -2456.0f, 82.0f); //above the bulleseye
						BP::Spawn::Particle("particles/zzplaceholder144.particle", @self, pos, QUAT_IDENTITY);
						BP::Spawn::Actor(kActor_DamageUp, pos, self.Yaw());
					}
				}
			}
			//------------------------------------------------------------------------------------------------------------------------
		};
	}
}
