Code: Select all
ACTOR RLUniqueBossSpawner // PLS NO EXPLODE
{
Radius 40
Height 110
Speed 15
+NOBLOCKMAP
+NOTIMEFREEZE
+NOTONAUTOMAP
var int user_helpiamtoobig;
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_JumpIfInventory("DRPGDRLAActive",1,"DoorpegOutpostCheck", AAPTR_PLAYER1)
// TNT1 A 0 A_Log ("DEBUG: Unique boss has spawned")
TNT1 A 0 A_SetUserVar("user_helpiamtoobig", 525)
SpawnLoop:
//Checks for space to spawn the boss, teleports to player 1 every 15 seconds if stuck
TNT1 A 0 A_ChangeFlag ("NOCLIP", 0)
TNT1 A 0 A_ChangeFlag ("THRUACTORS", 0)
TNT1 A 0 A_JumpIf (user_helpiamtoobig <= 0, "MUSTESCAPECONFINESOFREALITY")
TNT1 A 1 A_Wander
TNT1 AAAAAAAAAA 0 A_Wander
TNT1 A 0 A_ChangeFlag ("NOCLIP", 1)
TNT1 A 0 A_ChangeFlag ("THRUACTORS", 1)
SpawnCheck:
TNT1 A 0 A_SpawnItemEx("RLUniqueBossChooser",0,0,0,0,0,0,0,SXF_CLEARCALLERTID)
TNT1 A 0 A_JumpIf(tid==0,"Succeed")
TNT1 A 0 A_SpawnItemEx("RLUniqueBossChooser",0,0,0,0,0,0,0,SXF_CLEARCALLERTID)
TNT1 A 0 A_JumpIf(tid==0,"Succeed")
TNT1 A 0 A_SpawnItemEx("RLUniqueBossChooser",16,0,0,0,0,0,0,SXF_CLEARCALLERTID)
TNT1 A 0 A_JumpIf(tid==0,"Succeed")
TNT1 A 0 A_SpawnItemEx("RLUniqueBossChooser",16,0,0,0,0,0,0,SXF_CLEARCALLERTID)
TNT1 A 0 A_JumpIf(tid==0,"Succeed")
TNT1 A 0 A_SpawnItemEx("RLUniqueBossChooser",-16,0,0,0,0,0,0,SXF_CLEARCALLERTID)
TNT1 A 0 A_JumpIf(tid==0,"Succeed")
TNT1 A 0 A_SpawnItemEx("RLUniqueBossChooser",-16,0,0,0,0,0,0,SXF_CLEARCALLERTID)
TNT1 A 0 A_JumpIf(tid==0,"Succeed")
TNT1 A 0 A_SpawnItemEx("RLUniqueBossChooser",0,16,0,0,0,0,0,SXF_CLEARCALLERTID)
TNT1 A 0 A_JumpIf(tid==0,"Succeed")
TNT1 A 0 A_SpawnItemEx("RLUniqueBossChooser",0,16,0,0,0,0,0,SXF_CLEARCALLERTID)
TNT1 A 0 A_JumpIf(tid==0,"Succeed")
TNT1 A 0 A_SpawnItemEx("RLUniqueBossChooser",0,-16,0,0,0,0,0,SXF_CLEARCALLERTID)
TNT1 A 0 A_JumpIf(tid==0,"Succeed")
TNT1 A 0 A_SpawnItemEx("RLUniqueBossChooser",0,-16,0,0,0,0,0,SXF_CLEARCALLERTID)
TNT1 A 0 A_JumpIf(tid==0,"Succeed")
TNT1 A 0 A_SpawnItemEx("RLUniqueBossChooser",16,16,0,0,0,0,0,SXF_CLEARCALLERTID)
TNT1 A 0 A_JumpIf(tid==0,"Succeed")
TNT1 A 0 A_SpawnItemEx("RLUniqueBossChooser",16,16,0,0,0,0,0,SXF_CLEARCALLERTID)
TNT1 A 0 A_JumpIf(tid==0,"Succeed")
TNT1 A 0 A_SpawnItemEx("RLUniqueBossChooser",-16,-16,0,0,0,0,0,SXF_CLEARCALLERTID)
TNT1 A 0 A_JumpIf(tid==0,"Succeed")
TNT1 A 0 A_SpawnItemEx("RLUniqueBossChooser",-16,-16,0,0,0,0,0,SXF_CLEARCALLERTID)
TNT1 A 0 A_JumpIf(tid==0,"Succeed")
TNT1 A 0 A_SpawnItemEx("RLUniqueBossChooser",16,-16,0,0,0,0,0,SXF_CLEARCALLERTID)
TNT1 A 0 A_JumpIf(tid==0,"Succeed")
TNT1 A 0 A_SpawnItemEx("RLUniqueBossChooser",16,-16,0,0,0,0,0,SXF_CLEARCALLERTID)
TNT1 A 0 A_JumpIf(tid==0,"Succeed")
TNT1 A 0 A_SpawnItemEx("RLUniqueBossChooser",-16,16,0,0,0,0,0,SXF_CLEARCALLERTID)
TNT1 A 0 A_JumpIf(tid==0,"Succeed")
TNT1 A 0 A_SpawnItemEx("RLUniqueBossChooser",-16,16,0,0,0,0,0,SXF_CLEARCALLERTID)
TNT1 A 0 A_JumpIf(tid==0,"Succeed")
TNT1 A 0 A_SetUserVar("user_helpiamtoobig", user_helpiamtoobig - 1)
Goto SpawnLoop
MUSTESCAPECONFINESOFREALITY:
TNT1 A 0 A_SetUserVar("user_helpiamtoobig", 525)
TNT1 A 0 A_Warp (AAPTR_PLAYER1, 0,0,0, 0, 0, "SpawnLoop")
TNT1 AAA AAAAAAAAAA AAAAAAAAAA AAAAAAAAAA AAAAAAAAAA 0 A_Wander
Goto SpawnLoop
Succeed:
TNT1 A 10
Stop
//==============================================================================
DoorpegOutpostCheck:
HEYSTOPTHAT:
TNT1 A 0
Fail
}
}