
Actor Map01Ship: BDECUACSHIP 17591
{
	+NEVERTARGET 
	-FRIENDLY
	-SHOOTABLE
	//$category "EDAY cutscene actors"
	States {
		Spawn:
			TNT1 A 0
			TNT1 A 0 ACS_NamedExecuteAlways("CheckVoxels")
			TNT1 A 3
			GVTO A 1
			// copy-paste of original but giving all colliders TID 71
			// so that they could be removed by script when the ship explodes
			TNT1 A 0 A_SpawnItemEx("BDECShipColision1", 0, 0, 28   ,0,0,0,0,0,0, 71)
			TNT1 A 0 A_SpawnItemEx("BDECShipColision2", 72, 42, 0  ,0,0,0,0,0,0, 71)
			TNT1 A 0 A_SpawnItemEx("BDECShipColision2", 72, -42, 0  ,0,0,0,0,0,0, 71)
			TNT1 A 0 A_SpawnItemEx("BDECShipColision2", -28, 42, 0  ,0,0,0,0,0,0, 71)
			TNT1 A 0 A_SpawnItemEx("BDECShipColision2", -28, -42, 0  ,0,0,0,0,0,0, 71)
			TNT1 A 0 A_SpawnItemEx("BDECShipColision3", -64, 0, 42  ,0,0,0,0,0,0, 71)
			TNT1 A 0 A_SpawnItemEx("BDECShipColision4", 146, 0, 48  ,0,0,0,0,0,0, 71)
			TNT1 A 0 A_SpawnItemEx("BDECShipColision4", 110, 0, 32  ,0,0,0,0,0,0, 71)
			TNT1 A 0 A_SpawnItemEx("BDECShipColision4", -100, 0, 48  ,0,0,0,0,0,0, 71)
			TNT1 A 0 A_SpawnItemEx("BDECShipColision5", 64, -42, 96  ,0,0,0,0,0,0, 71)
			TNT1 A 0 A_SpawnItemEx("BDECShipColision5", 64, 42, 96  ,0,0,0,0,0,0, 71)
			TNT1 A 0 A_SpawnItemEx("BDECShipColision5", 64, -112, 96  ,0,0,0,0,0,0, 71)
			TNT1 A 0 A_SpawnItemEx("BDECShipColision5", 64, 112, 96  ,0,0,0,0,0,0, 71)
			TNT1 A 0 A_SpawnItemEx("BDECShipColision5", -172, -92, 96  ,0,0,0,0,0,0, 71)
			TNT1 A 0 A_SpawnItemEx("BDECShipColision5", -172, 92, 96  ,0,0,0,0,0,0, 71)
			TNT1 A 0 A_SpawnItemEx("BDECShipColision5", -192, 0, 96  ,0,0,0,0,0,0, 71)
			TNT1 A 0 A_SpawnItemEx("BDECShipColision6", 39, 200, 52  ,0,0,0,0,0,0, 71)
			TNT1 A 0 A_SpawnItemEx("BDECShipColision6", 39, -200, 52  ,0,0,0,0,0,0, 71)
			GVTO A -1
			Stop
		Death:
			GVTO A 1
			TNT1 A 0
			Stop
	}
}



// map 15 
//***Che nothing more than a static prop now
Actor MarineCaptainOnEvacSite: Box 8991
{
	//$category "EDAY cutscene actors"
	+INVULNERABLE
	+SOLID
	+SHOOTABLE
	Radius 16
	Height 64
	Scale 1.0
	states
	{
		// p.s. making him dormant does not work by some reason
		// switching to map scripts using SetActorState
		Spawn:
			CAPM A 1
			CAPM A -1
			Loop
		ActivateConversation:	
			CAPM A 1 ACS_NamedExecuteWithResult("EdayTXT03Che")
			CAPM A 700
		IsLooking:
			CAPM A 5
			CAPM A 0 A_CheckSight("IsLooking")
			goto Part2
		Part2:
			CAPM A 0 ACS_NamedExecuteWithResult("EdayTXT04Che")
			CAPM A 1
			CAPM A -1
	}
}

//map 15i //***TODO: replace with a regular, attach scripts by map
Actor MarineLeavingEvacSite 8994
{
	//$category "EDAY cutscene actors"
	+SOLID
	-SHOOTABLE
	Radius 16
	Height 56	
	Scale 1.0
	states
	{
		Spawn:
			SGUA A 1
			SGUA A 0 ACS_NamedExecuteAlways("EdayTXT05Che")
			SGUA A 750
			TNT1 A 0 A_NoBlocking
			TNT1 A 0 A_SpawnItemEx("Marine_Rifle",0,0,0, 0,0,0, 0,SXF_NOCHECKPOSITION | SXF_TRANSFERPOINTERS | SXF_TRANSFERSPECIAL | SXF_CLEARCALLERSPECIAL, 0, tid)
			TNT1 A 0 Thing_SetGoal(tid, 96,0,0)
			Stop
	}
}


// map 13 (coop interlude), map 13i (single player interlude)
Actor CutscenePinky: FBD_BullDemon 17553 
{
	//$category "EDAY cutscene actors"
	-COUNTKILL
}

// map 13 (coop interlude), map 13i (single player interlude)
ACTOR CutsceneImp: FBD_Imp 17554 {
	//$category "EDAY cutscene actors"
	-COUNTKILL
	States 
	{
		Spawn: // disable escalation swaps:
			TROS A 1
			Goto PotPourriCancel
	}
}

ACTOR CutsceneLostSoul: FBD_LostSoul 17781 
{
	//$category "EDAY cutscene actors"
	-COUNTKILL
}

// map 01
ACTOR ImpCurbstompingMarine: FBD_Imp 17585 
{
	//$category "EDAY cutscene actors"
	//$Sprite IPFPF0
	States {
		Spawn:
			IPFP F 1 NODELAY ACS_NamedExecuteWithResult("FBD_RunMonster", 5) // default headbox
			Goto WaitForIt
		WaitForIt:	
			IPFP F 1
			TNT1 A 0 A_CheckSight("NotYet")
			goto FatalityMarine
		NotYet:
			IPFP F 1
			goto WaitForIt
	}
}

/*
// map 01
ACTOR ImpCurbstompingMarineImmediately: FBD_Imp 17590 -- DEPRECATED, release doomed num
{
	//$Sprite IPFPD0
	States {
		Spawn:
			IPFP F 6 NODELAY ACS_NamedExecuteWithResult("FBD_RunMonster", 5) // default headbox
			goto FatalityMarine
	}
}
*/

// map 26i
ACTOR SniggeringImpMap26i: CutsceneImp 17796 
{
	//$category "EDAY cutscene actors"
	Tag "$SNIGGERING_IMP"
	States
	{
		Snigger:
			// I hereby employ a mechanism I developed for cross-mod support
			// (monsters making catcalls instead of attacking when they see a LTG player naked)
			// Imps in particular make monkey noises -- which I repurpose here as sniggering
			// He'll keep at it until he is hurt or a few of his comrades are killed

			TNT1 A 0 A_FaceTarget
			
			Goto MakeMonkeyNoises		
		
		See:
			TNT1 A 0
			TNT1 A 0 A_TakeInventory("DuckYouFool", 1)
			
			TNT1 A 0 A_JumpIf(CallAcs("CanKeepSniggering"), "Snigger") // map script

				
			TROS A 1 ACS_NamedExecuteWithResult("AdjustHeadboxMkII", 15, 0, 38) // serverside
			TNT1 A 0 A_TakeInventory("EnemyMemory", 15)
			TNT1 A 0 A_Jump(128, "SeeContinue")
			TROT A 2 A_faceTarget
			TROT B 2
			TROT C 2
			Goto SeeContinue
			
		Missile:
			TNT1 A 0
			TNT1 A 0 A_JumpIfHealthLower(1, "Death")
			
			TNT1 A 0 A_JumpIf(CallAcs("CanKeepSniggering"), "Snigger") // map script
			
			Goto MissileContinue
			
	}
}

ACTOR Map26iVile: Fbd_ArchVile 17797 
{ 
	//$category "EDAY cutscene actors"
	States
	{
		Spawn:
			DIAB B 1
			Goto PotPourriCancel
		Death.Desintegrate:
		XDeath:
		Death.ExplosiveImpact: // rocket splash
		Death.FriendlyExplosion:
		Death.Explosives: // revenant fireball
		Death.Bfg10k:
		Death.Shrapnel:
		Death.SuperPlasma:
		Death.Plasma: 
		Death.Plasma2:
		Death.HeadPlasma:
		Death.Electric:
		Death.Fire:
		Death.Burn:
		Death.Flames:
			TNT1 A 0
			Goto Death.Arm
	}
}

// map 26i
ACTOR InstaBoomBarrel: FBD_ExplosiveBarrel 17798
{
	//$category "EDAY cutscene actors"
	States
	{
		Death:
		XDeath:
			BARI A 0
			TNT1 A 0 A_NoBlocking
			TNT1 A 0 A_Fall			
			TNT1 A 0 A_Stop
			TNT1 A 0 A_CustomMissile ("HighExplosiveFlamesBig", random (25, 300), 0, random (0, 360), 2, random (10, 90))
			TNT1 A 0 A_Explode(500,50, 1, 1, 1)
			BEXP B 0 BRIGHT A_Scream
			BEXP CDE 1 BRIGHT
			EXP1 ABCDEFGHIJKLMN 1 BRIGHT
			TNT1 A 100
			
			EXPL A 0 Radius_Quake (4, 4, 0, 250, 0)
			TNT1 A 100
			sTOP
	}
}

ACTOR Map59DancingRevenant: FBD_Revenant 17954
{
	//$Sprite SKELY1
	//$category "EDAY cutscene actors"
	SpawnID 0
	States
	{
		Spawn:
			SKEL Y 0 NODELAY ACS_NamedExecuteWithResult("FBD_RunMonster", 4) // revenant head
			//TNT1 A 0 A_SetUserVar("user_head_type", 4) // revenant head
			//TNT1 A 0 ACS_NamedExecuteAlways("BDCHeckClassicMonsters", 0, 0, 0, 0)//Check if Vanilla Mode is activated
			TNT1 A 0 A_GiveInventory("IsARevenant", 1)
			TNT1 A 0 A_SetUserVar("user_sleeping", 1)
			SKEL Y 10 A_Look
		Stand:
		Idle:
		Dance:
			// default DooM revenant dance:
			"----" A 0 ACS_NamedExecuteWithResult("AdjustHeadboxMkII", 23, -9, 52)
			SKEL A 10 A_Look
			"----" A 0 ACS_NamedExecuteWithResult("AdjustHeadboxMkII", 14, -3, 57)
			SKEL B 10 A_Look
			"----" A 0 A_Jump(64, "Dance2", "Dance3","Dance4")
			Loop
		
		Dance2:
			"----" A 0 ACS_NamedExecuteWithResult("AdjustHeadboxMkII", 10, -6, 44)
			SKEL Y 10 A_Look // the duck frame (firing frame with fire retouched out)
			"----" A 0 ACS_NamedExecuteWithResult("AdjustHeadboxMkII", 14, -3, 57)
			SKEL B 10 A_Look
			"----" A 0 A_Jump(48, "Dance")
			Loop
			
		Dance3:
			"----" A 0 ACS_NamedExecuteWithResult("AdjustHeadboxMkII", 33, 0, 36)
			SKEL I 5 A_Look // lean forward melee frame, left and right alternating
			SKEL Y 5 ACS_NamedExecuteWithResult("AdjustHeadboxMkII", 10, -6, 44)
			"----" A 0 ACS_NamedExecuteWithResult("AdjustHeadboxMkII", 33, 0, 36)
			SKEL T 5 A_Look
			SKEL Y 5 ACS_NamedExecuteWithResult("AdjustHeadboxMkII", 10, -6, 44)
			"----" A 0 A_Jump(48, "Dance")
			Loop
			
		Dance4:
			"----" A 0 ACS_NamedExecuteWithResult("AdjustHeadboxMkII",  3,  2, 59)
			SKEL C 10 A_Look 
			"----" A 0 ACS_NamedExecuteWithResult("AdjustHeadboxMkII",-18,  3, 52)
			SKEL K 10 A_Look // the firing recoil frame
			"----" A 0 A_Jump(48, "Dance")
			Loop
	}
}

ACTOR Map32iAbstractDecoration
{
	-SOLID
	Height 64
	Radius 16
	Scale 1.0
	+FORCEXYBILLBOARD
	-FORCEYBILLBOARD
	States {
		Spawn:
			KYDB G 1
			KYDB G -1
			Stop
	}
}

ACTOR Map32iAbstractDoomguy: Map32iAbstractDecoration
{
	Scale 0.5
}

ACTOR Map32iDoomguyWithTwoNPCs: Map32iAbstractDoomguy
{
	States {
		Spawn:
			KYEN A 1
			KYEN A -1
			Stop
	}
}

ACTOR Map32iDoomgalWithTwoNPCs: Map32iAbstractDoomguy
{
	States {
		Spawn:
			KYEN B 1
			KYEN B -1
			Stop
	}
}

ACTOR Map32iDoomguyOnHisKnees: Map32iAbstractDoomguy
{
	Scale 0.4
	States {
		Spawn:
			KYEN C 1
			KYEN C -1
			Stop
	}
}

ACTOR Map32iDoomgalOnHerKnees: Map32iAbstractDoomguy
{
	Scale 0.4
	States {
		Spawn:
			KYEN D 1
			KYEN D -1
			Stop
	}
}

ACTOR Map32iDoomguyImpaled: Map32iAbstractDoomguy
{
	States {
		Spawn:
			KYEN E 1
			KYEN E -1
			Stop
	}
}

ACTOR Map32iDoomgalImpaled: Map32iAbstractDoomguy
{
	States {
		Spawn:
			KYEN F 1
			KYEN F -1
			Stop
	}
}

ACTOR Map32iDoomguyPlummeting: Map32iAbstractDoomguy
{
	+NOGRAVITY
	States {
		Spawn:
			KYEN G 1
			KYEN G -1
			Stop
	}
}

ACTOR Map32iDoomalPlummeting: Map32iAbstractDoomguy
{
	+NOGRAVITY
	States {
		Spawn:
			KYEN H 1
			KYEN H -1
			Stop
	}
}

ACTOR Map32iScorzenyInDressUniform: Map32iAbstractDecoration 17956
{
	States {
		Spawn:
			KYEN I 1
			KYEN I -1
			Stop
	}
}

ACTOR Map32iAndarivileExaminingImpaledDoomguy: Map32iAbstractDecoration 17957
{
	States {
		Spawn:
			KYEN J 1
			KYEN J -1
			Stop
	}
}

ACTOR Map32iAndarivileCrouching: Map32iAbstractDecoration 17958
{
	States {
		Spawn:
			KYEN K 1
			KYEN K -1
			Stop
	}
}

ACTOR Map32iAndarivileCasting: Map32iAbstractDecoration 17959
{
	States {
		Spawn:
			KYEN L 1
			KYEN L -1
			Stop
	}
}

ACTOR Map32iAndarivileHoldingEarth: Map32iAbstractDecoration 17960
{
	States {
		Spawn:
			KYEN N 1
			KYEN N -1
			Stop
	}
}

ACTOR Map32iToxicEarth: Map32iAbstractDecoration 17961
{
	+NOGRAVITY
	Radius 64
	YScale 0.8333 // forgot *AGAIN* doom pixess are NOT square and to get a cirkcle you have to shhrink it vertically to 83.(3)%
	States {
		Spawn:
			KYEN M 1
			KYEN M -1
			Stop
	}
}

ACTOR Map32iYinYangEarth: Map32iAbstractDecoration 17962
{
	+NOGRAVITY
	Radius 64
	Scale 0.5
	YScale 0.41666
	States {
		Spawn:
			KYEN O 1
			KYEN O -1
			Stop
	}
}

ACTOR Map32iEndemicAmericanNazi: Map32iAbstractDecoration 17963
{
	Scale 0.7
	States {
		Spawn:
			Spawn:
			KYEN P 1 NODELAY A_SetScale(Random(0, 1) ? 0.7 : -0.7, 0.7)
			KYEN P 0 A_Jump(128, "AltForm")
			KYEN P -1
		
		AltForm:	
			KYEN Q 1
			KYEN Q -1
	}
} 

ACTOR Map32iStaticMarine: Map32iAbstractDecoration 17964
{
	Translation "112:127=[148,183,117]:[10,15,9]" // muted green
	States {
		Spawn:
			PLAY C 1
			PLAY C -1
			Stop
	}
}

ACTOR Map32iGreenWalker: Map32iAbstractDecoration 17965
{
	States {
		Spawn:
			KYEN R 1
			KYEN R -1
			Stop
	}
}


ACTOR Map32iScorzenyPolitician: Map32iAbstractDecoration 17966
{
	States {
		Spawn:
			KYEN S 1
			KYEN S -1
			Stop
	}
}

ACTOR Map32iCrowdMember: Map32iAbstractDecoration 17967
{
	Scale 0.7
	States {
		Spawn:
			Spawn:
			KYEC A 1 NODELAY A_SetScale(Random(0, 1) ? 0.7 : -0.7, 0.7)
			"----" A 0 A_Jump(256, "StandAE", "StandFJ", "StandKO")
			"----" A -1
		StandAE:
			"----" A 0 A_Jump(256, "StandA", "StandB", "StandC", "StandD", "StandE")
		StandA:
			KYEC A 1
			KYEC A -1
		StandB:
			KYEC B 1
			KYEC B -1
		StandC:
			KYEC C 1
			KYEC C -1
		StandD:
			KYEC D 1
			KYEC D -1
		StandE:
			KYEC E 1
			KYEC E -1	
			
		StandFJ:
			"----" A 0 A_Jump(256, "StandF", "StandG", "StandH", "StandI", "StandJ")
		StandA:
			KYEC F 1
			KYEC F -1
		StandB:
			KYEC G 1
			KYEC G -1
		StandC:
			KYEC H 1
			KYEC H -1
		StandD:
			KYEC I 1
			KYEC I -1
		StandE:
			KYEC J 1
			KYEC J -1	
			
		StandKO:
			"----" A 0 A_Jump(256, "StandK", "StandL", "StandM", "StandN", "StandO")
		StandK:
			KYEC K 1
			KYEC K -1
		StandL:
			KYEC L 1
			KYEC L -1
		StandM:
			KYEC M 1
			KYEC M -1
		StandN:
			KYEC N 1
			KYEC N -1
		StandO:
			KYEC O 1
			KYEC O -1	

	}
} 


ACTOR Map32iUacColumn: Map32iAbstractDecoration 17968
{
	-FORCEXYBILLBOARD
	+FORCEYBILLBOARD
	Scale 2.0
	Height 418
	Radius 100
	States {
		Spawn:
			KYEN T 1
			KYEN T -1
			Stop
	}
}