{
	Init[ (s)
	{
		if (GetID() = "Charg_1")
		{
			SetUsable(false);
			ShowEntity(false);
			SetSkin(0);
		}
		if (GetID() = "Charg_2")
		{
			SetUsable(false);
			ShowEntity(false);
			SetSkin(0);
		}
		if (GetID() = "Charg_3")
		{
			SetUsable(false);
			ShowEntity(false);
			SetSkin(0);
		}
		if (GetID() = "Charg_4")
		{
			SetUsable(true);
			SetSkin(1);
			SetUseText(120);
		}
		if (GetID() = "Charg_5")
		{
			SetUsable(true);
			SetSkin(1);
			SetUseText(120);
		}
		if (GetID() = "Charg_6")
		{
			SetUsable(true);
			SetSkin(1);
			SetUseText(120);
		}
	} ]

	DelayReached[ (s)
	{
		if(s=1)
		{
			Flak_4 = Level.GetEntity("Flak_4");
			Charg_4 = Level.GetEntity("Charg_4");
			Flak_4.DoFireExplosionEffect();
			Flak_4.SetModel(48);
			DestroyObject(Charg_4);
			Flak_4.PlaySound(3);

			Level.saved_yourFlaksDestroyed = toInt(Level.saved_yourFlaksDestroyed + 1);
			Level.saved_f4dead = 1;
			MoveFlakPointer();

			Level.GetPlayer().ShakeHere( 24704, 41202 );
			Level.GetPlayer().DamageHere( 24704, 41202, 3000, 8 );
			return;
		}
		if(s=5)
		{
			Charg_5 = Level.GetEntity("Charg_5");
			Flak_5 = Level.GetEntity("Flak_5");
			Flak_5.DoFireExplosionEffect();
			Flak_5.SetModel(48);
			DestroyObject(Charg_5);
			PlaySound(3);

			Level.saved_yourFlaksDestroyed = toInt(Level.saved_yourFlaksDestroyed + 1);
			Level.saved_f5dead = 1;
			MoveFlakPointer();

			Level.GetPlayer().ShakeHere( 22144, 28964 );
			Level.GetPlayer().DamageHere( 22144, 28964, 3000, 8 );
			return;
		}
		if(s=6)
		{
			Charg_6 = Level.GetEntity("Charg_6");
			Flak_6 = Level.GetEntity("Flak_6");
			Flak_6.DoFireExplosionEffect();
			Flak_6.SetModel(48);
			DestroyObject(Charg_6);
			PlaySound(3);

			Level.saved_yourFlaksDestroyed = toInt(Level.saved_yourFlaksDestroyed + 1);
			Level.saved_f6dead = 1;
			MoveFlakPointer();

			Level.GetPlayer().ShakeHere( 21596, 16252 );
			Level.GetPlayer().DamageHere( 21596, 16252, 3000, 8 );
			return;
		}
	}]


	OnUse[ (s)
	{
		if (GetID() = "Charg_4")
		{
			SetUsable(false);
			SetSkin(0);
			PlaySound(20);
			Delay(4,1);
			return;
		}
		if (GetID() = "Charg_5")
		{
			SetUsable(false);
			SetSkin(0);
			PlaySound(20);
			Delay(4,5);
			return;
		}
		if (GetID() = "Charg_6")
		{
			SetUsable(false);
			SetSkin(0);
			PlaySound(20);
			Delay(4,6);
			return;
		}

	} ]

	MoveFlakPointer[ ()
	{
		Level.Spew(" ");
		Level.Spew("--> MoveFlakPointer()");
		Level.Spew("        CurObjective:  " # Level.saved_curFlakObj);

		Level.ObjectiveComplete( Level.saved_curFlakObj );
		Level.SetObjectiveActive( Level.saved_curFlakObj, false );

		Level.saved_curFlakObj = toInt(Level.saved_curFlakObj + 1 );
		Level.SetObjectiveActive( Level.saved_curFlakObj, true );

		if( Level.saved_f4dead = 0 )
		{
			Level.Spew("        Pointer moved to Flak 4");
			Level.NewObjectiveXY( Level.saved_curFlakObj, 24704, 41202);
			return;
		}

		if( Level.saved_f5dead = 0 )
		{
			Level.Spew("        Pointer moved to Flak 5");
			Level.NewObjectiveXY( Level.saved_curFlakObj, 22144, 28964);
			return;
		}

		if( Level.saved_f6dead = 0 )
		{
			Level.Spew("        Pointer moved to Flak 6");
			Level.NewObjectiveXY( Level.saved_curFlakObj, 21596, 16252);
			return;
		}

		if( Level.saved_yourFlaksDestroyed > 2 )
		{
			Level.ObjectiveComplete(9);
			Level.SetObjectiveActive(10,true);
		}

		Level.Spew("<-- MoveFlakPointer()");
	}]
}
