

// A Cloud used for varius explosions ---------------------------------------
// This actor has no direct equivalent in strife. To create this, Strife
// spawned a spark and then changed its state to that of this explosion
// cloud. Weird.

class Bang4Cloud : Actor
{
	Default
	{
		+NOBLOCKMAP
		+NOGRAVITY
		RenderStyle "Add";
		VSpeed 1;
	}
	States
	{
	Spawn:
		BNG4 BCDEFGHIJKLMN 3 Bright;
		Stop;
	}
}

// Piston -------------------------------------------------------------------

class Piston : Actor
{
	Default
	{
		Health 100;
		Speed 16;
		Radius 20;
		Height 76;
		Mass 10000000;
		+SOLID
		+SHOOTABLE
		+NOBLOOD
		+FLOORCLIP
		+INCOMBAT
		DeathSound "misc/explosion";
	}
	States
	{
	Spawn:
		PSTN AB 8;
		Loop;
	Death:
		PSTN A 4 Bright A_Scream;
		PSTN B 4 Bright A_NoBlocking;
		PSTN C 4 Bright A_GiveQuestItem(16);
		PSTN D 4 Bright A_Bang4Cloud;
		PSTN E 4 Bright A_TossGib;
		PSTN F 4 Bright;
		PSTN G 4 Bright A_Bang4Cloud;
		PSTN H 4;
		PSTN I -1;
		Stop;
	}

}

// Computer -----------------------------------------------------------------

class Computer : Actor
{
	Default
	{
		Health 80;
		Speed 27;
		Radius 26;
		Height 128;
		Mass 10000000;
		+SOLID
		+SHOOTABLE
		+NOBLOOD
		+FLOORCLIP
		+INCOMBAT
		DeathSound "misc/explosion";
	}
	States
	{
	Spawn:
		SECR ABCD 4 Bright;
		Loop;
	Death:
		SECR E 5 Bright A_Bang4Cloud;
		SECR F 5 Bright A_NoBlocking;
		SECR G 5 Bright A_GiveQuestItem(27);
		SECR H 5 Bright A_TossGib;
		SECR I 5 Bright A_Bang4Cloud;
		SECR J 5;
		SECR K 5 A_Bang4Cloud;
		SECR L 5;
		SECR M 5 A_Bang4Cloud;
		SECR N 5;
		SECR O 5 A_Bang4Cloud;
		SECR P -1;
		Stop;
	}
}


// Power Crystal ------------------------------------------------------------

class PowerCrystal : Actor
{
	Default
	{
		Health 50;
		Speed 14;
		Radius 20;
		Height 16;
		Mass 99999999;
		+SOLID
		+SHOOTABLE
		+NOGRAVITY
		+NOBLOOD
		+FLOORCLIP
		DeathSound "misc/explosion";
		ActiveSound "misc/reactor";
	}

	native void A_ExtraLightOff ();
	native void A_Explode512 ();
	native void A_LightGoesOut ();

	States
	{
	Spawn:
		CRYS A 16 A_LoopActiveSound;
		CRYS B 5 A_LoopActiveSound;
		CRYS CDEF 4 A_LoopActiveSound;
		Loop;
	Death:
		BOOM A 0 Bright A_Scream;
		BOOM A 1 Bright A_Explode512;
		BOOM B 3 Bright A_GiveQuestItem(14);
		BOOM C 2 Bright A_LightGoesOut;
		BOOM D 3 Bright A_Bang4Cloud;
		BOOM EF 3 Bright;
		BOOM G 3 Bright A_Bang4Cloud;
		BOOM H 1 Bright A_Explode512;
		BOOM I 3 Bright;
		BOOM JKL 3 Bright A_Bang4Cloud;
		BOOM MN 3 Bright;
		BOOM O 3 Bright A_Bang4Cloud;
		BOOM PQRST 3 Bright;
		BOOM U 3 Bright A_ExtraLightOff;
		BOOM VWXY 3 Bright;
		Stop;
	}
}
