Jump to content

Monster decoys


Recommended Posts

zdoom wiki said:
SXF_SETMASTER - if the calling actor is a monster ((New from 2.8.1) this restriction does not apply), this places the new actor in a master/minion relationship with the parent. Master/minions will not attack each other and this allows for the use of A_KillMaster and/or A_KillChildren.

So, if you're using a ZDoom version lesser than 2.8.1, then the monster needs ISMONSTER flag or Monster Combo property to be able to form a master/minion relationship with the decoy.

EDIT: For A_KillChildren to work, the child needs to be killable (SHOOTABLE or VULNERABLE), which your decoy isn't, which is more likely to be the cause of the problem than the abovementioned thing.

EDIT2: You should be able to use A_RemoveChildren to make unkillable children disappear from the map.

Share this post


Link to post

I appear to be using an earlier version. In file version it says 2.0.9999.0. I set +ISMONSTER anyway. Still no good. So I gave the monster the full combo (but not the minion). If the minion needs it too, then I need some other way to make the minion intangible. I think there are other flags that can be set for that, but I'll cross that bridge when I come to it.

Share this post


Link to post

You should most definitely update your ZDoom to the current stable version, which is 2.8.1. Older versions are missing on quite a lot of features. Also, see my edits of my previous post.

Share this post


Link to post

I'll see about updating soon. So, concerning your edits...as far as I can tell, a_RemoveChildren could work. How do I set it to "all", including live children?

Share this post


Link to post

Okay, so that's solved. Ultimately I also had to make it shootable, even though I want shots to pass through it. But making it shootable has also rendered it killable. I need to fix that next. I'm open to suggestions.

Share this post


Link to post

Wait, correction; I don't have +SHOOTABLE set, but even with +NONSHOOTABLE, the Projection can be killed by being shot. Must be because of +VULNERABLE? I don't know. Also, I'm using GZDoom, not ZDoom--so I might already have the latest version?

Share this post


Link to post

So, you want projectiles to pass through the decoy without harming him, presumably splash damage and other means of damage also have no effect on him, and only be killable by the A_KillChildren command called by his parent?

One already proposed solution is to unset his SHOOTABLE and VULNERABLE flags and remove him by A_RemoveChildren.

Another solution is to unset his SHOOTABLE flag, give him VULNERABLE and NORADIUSDMG flag, and the following 2 damage factors:

DamageFactor 0.0
DamageFactor "KillDecoy", 1.0
Then make the parent call A_KillChildren with "KillDecoy" as the parameter.

Share this post


Link to post

Well, this just got easier. I double-checked, and the character this is based on actually has a tangible projection. Whew! Nothing was working, so that's a huge relief.

Share this post


Link to post

Alright, so it's down to:

actor Slayer : Runner 32014
{
   MaxStepHeight 600
   MaxDropoffHeight 600
	Scale 2.0
	Health 3000
	Speed 8
	FastSpeed 10
	PainChance 50	
	Radius 20
	Height 76
	Mass 4000
	Painchance "Fire", 255
	Painchance "Lava", 255
	Painchance "Poison", 1
	Painchance "Ice", 255
	Painchance "Bleeding", 0	
	Painchance "Flame", 255
	DamageFactor "Fire", 1.5
	DamageFactor "Ice", 1.5
	DamageFactor "Flame", 1.5
	DamageFactor "Lava", 1.5
	DamageFactor "Poison", 1.0
	DamageFactor "Bleeding", 0.0
	DamageFactor "Feeding", 0.0	
	DamageFactor "Tracer", 0.7
	DamageFactor "Electric", 1.5
	DropItem "XXBerserk", 20
   +LOOKALLAROUND
   +FIXMAPTHINGPOS
   +CANUSEWALLS
   +CANPUSHWALLS
   +ACTIVATEIMPACT
   +QUICKTORETALIATE
   +SLIDESONWALLS
   +ISMONSTER
   +SHOOTABLE
   +SOLID
   +COUNTKILL
   +ACTIVATEMCROSS
   +CANPASS
   +SHADOW

	States
	{
	Spawn:
		XENR A 0
		TNT1 A 0 A_GiveInventory("Hologram", 1)
		XENR AB 10 A_Look
		Goto Idle
	Idle:
		XENR AB 10 A_Look
		Loop
	See:
		TNT1 A 0 A_JumpIfInventory("Hologram", 1, "Projection")
		TNT1 A 0 A_Recoil(-1)
		XENR BB 2 A_Chase
		TNT1 A 0 A_Recoil(-1)
		XENR CC 2 A_Chase
		TNT1 A 0 A_Recoil(-1)
		TNT1 A 0 A_JumpIf(128, "See")		
      Goto See  //Loop
	Melee2:
		XENR D 8 A_FaceTarget
		TNT1 A 0 ThrustThingZ(0,20,0,1)
		XENR E 8 A_Recoil(-15)
		TNT1 A 0 A_CustomMissile("SRunnerAttack",20,0,0,0)
		XENR F 8
		Goto See
		Melee:
		TNT1 A 0 A_JumpIfInventory("Hologram", 1, "Melee2")
		TNT1 D 8 A_FaceTarget
		TNT1 A 0 ThrustThingZ(0,20,0,1)
		TNT1 E 8 A_Recoil(-15)
		TNT1 A 0 A_CustomMissile("SRunnerAttack",20,0,0,0)
		TNT1 F 8
		Goto See2
	Projection:
		XENR B 0 A_SpawnItemEx("Projection", 0, 45, SXF_SETMASTER)
		XENR B 0 A_TakeInventory("Hologram", 1)
		Goto See2
	See2:
		TNT1 A 0 A_Recoil(-1)
		TNT1 BB 2 A_Chase
		TNT1 A 0 A_Recoil(-1)
		TNT1 CC 2 A_Chase
		TNT1 A 0 A_Recoil(-1)
		TNT1 A 0 A_JumpIf(128, "See2")		
      Goto See2  //Loop
	Pain2:
		XENR G 1 A_Pain
		TNT1 A 0 A_Jump(200, "Avoid2")
		Goto See
	Pain:
		TNT1 A 0 A_JumpIfInventory("Hologram", 1, "Pain2")
		TNT1 G 1 A_Pain
		TNT1 A 0 A_Jump(200, "Avoid")
		Goto See2
	
	Avoid2:
	    XENR A 1 A_FaceTarget
        XENR ABCB 2 A_FastChase
        Goto See
	Avoid:
		TNT1 A 0 A_JumpIfInventory("Hologram", 1, "Avoid2")
	    TNT1 A 1 A_FaceTarget
        TNT1 ABCB 2 A_FastChase
        Goto See2
	Death.Poison:
		TNT1 A 0 A_ClearTarget
		XENR H 1 A_RemoveChildren(1)
		TNT1 A 0 A_SpawnItem("AlienBlood", 0, 45)
		XENR H 8
		XENR I 8 A_Scream
		XENR J 4
		XENR K 4 A_NoBlocking
		XENR L -1
		Stop
	Death.Bleeding:
		TNT1 A 0 A_ClearTarget
		XENR H 1 A_RemoveChildren(1)
		TNT1 A 0 A_SpawnItem("AlienBlood", 0, 45)
		XENR H 8
		XENR I 8 A_Scream
		XENR J 4
		XENR K 4 A_NoBlocking
		XENR L -1
		Stop	
	Death:
		TNT1 A 0 A_RemoveChildren(1)
		TNT1 A 0 A_ClearTarget
		TNT1 A 0 A_Jump(255, "Death1", "Death2", "Death3")
	Death1:
		TNT1 A 0 A_RemoveChildren(1)
	Death2:
		TNT1 A 0 A_RemoveChildren(1)
	Death3:
		XENR H 1
		TNT1 A 0 A_SpawnItem("AlienBlood", 0, 45)
		XENR H 8 A_RemoveChildren(1)
		XENR I 8 A_Scream
		XENR J 4
		XENR K 4 A_NoBlocking
		XENR L -1
		Stop
	XDeath.Poison:
		TNT1 A 0 A_ClearTarget
		XENR H 1 A_RemoveChildren(1)
		TNT1 A 0 A_SpawnItem("AlienBlood", 0, 45)
		XENR H 8
		XENR I 8 A_Scream
		XENR J 4
		XENR K 4 A_NoBlocking
		XENR L -1
		Stop
	XDeath.Bleeding:
		TNT1 A 0 A_ClearTarget
		XENR H 1 A_RemoveChildren(1)
		TNT1 A 0 A_SpawnItem("AlienBlood", 0, 45)
		XENR H 8
		XENR I 8 A_Scream
		XENR J 4
		XENR K 4 A_NoBlocking
		XENR L -1
		Stop		
 	XDeath:
		TNT1 A 0 A_ClearTarget
		TNT1 A 0 A_RemoveChildren(1)
 	 	TNT1 A 0 A_Jump(255,"C1", "C2", "C3", "C4", "C5", "C6", "C7", "C8", "C9", "C10")
 	C1:
  		TNT1 A 0 A_GiveToTarget("Comment1")
		Goto XDeath2	
	C2:	
		TNT1 A 0 A_GiveToTarget("Comment2")
		Goto XDeath2		
	C3:
		TNT1 A 0 A_GiveToTarget("Comment3")
		Goto XDeath2		
	C4:	
		TNT1 A 0 A_GiveToTarget("Comment4")
		Goto XDeath2		
	C5:	
		TNT1 A 0 A_GiveToTarget("Comment5")
		Goto XDeath2		
	C6:
  		TNT1 A 0 A_GiveToTarget("Comment6")
		Goto XDeath2		
	C7:	
		TNT1 A 0 A_GiveToTarget("Comment7")
		Goto XDeath2		
	C8:
		TNT1 A 0 A_GiveToTarget("Comment8")
		Goto XDeath2		
	C9:	
		TNT1 A 0 A_GiveToTarget("Comment9")
		Goto XDeath2		
	C10:	
		TNT1 A 0 A_GiveToTarget("Comment10")
		Goto XDeath2
	XDeath2:	
	    TNT1 AAA 0 A_SpawnItem("AlienBlood", 0, 45)
		TNT1 A 0 A_PlaySound("misc/xdeath4c")
		TNT1 A 0 A_RemoveChildren(1)
		EXPL A 0 A_CustomMissile ("AlienGibTorsoRunner", 35, 0, random (0, 360), 2, random (10, 90))
		EXPL A 0 A_CustomMissile ("AlienGibRunnerHead", 45, 0, random (0, 360), 2, random (10, 90))
		EXPL A 0 A_CustomMissile ("AlienGibRunnerArm1", 35, 0, random (0, 360), 2, random (10, 90))
		EXPL A 0 A_CustomMissile ("AlienGibRunnerArm2", 35, 0, random (0, 360), 2, random (10, 90))
		EXPL AA 0 A_CustomMissile ("AlienGibRunnerLeg", 15, 0, random (0, 360), 2, random (10, 90))
		EXPL A 0 A_CustomMissile ("AlienGibRunnerTail", 35, 0, random (0, 360), 2, random (10, 90))
		EXPL AAAAA 0 A_CustomMissile ("FlyingAcidRidiculous", 45, 0, random (0, 360), 2, random (40, 90))
		EXPL AAAAA 0 A_CustomMissile ("FlyingAcidBig1", 35, 0, random (0, 360), 2, random (10, 90))
		EXPL AAAAA 0 A_CustomMissile ("FlyingAcidBig2", 35, 0, random (0, 360), 2, random (40, 90))
		TNT1 A 0 A_Scream
		TNT1 A 0 A_NoBlocking
		Stop
	Crush:
		TNT1 A 0 A_ClearTarget
		TNT1 A 0 A_RemoveChildren(1)
		EXPL A 0 A_CustomMissile ("AlienGibRunnerHead", 45, 0, random (0, 360), 2, random (10, 90))
		TNT1 A 0 A_PlaySound("misc/xdeath4c")
		EXPL A 0 A_CustomMissile ("AlienGibRunnerArm1", 35, 0, random (0, 360), 2, random (10, 90))
		EXPL A 0 A_CustomMissile ("AlienGibRunnerArm2", 35, 0, random (0, 360), 2, random (10, 90))
		EXPL AA 0 A_CustomMissile ("AlienGibRunnerLeg", 15, 0, random (0, 360), 2, random (10, 90))
		EXPL A 0 A_CustomMissile ("AlienGibRunnerTail", 35, 0, random (0, 360), 2, random (10, 90))
		EXPL AAAAA 0 A_CustomMissile ("FlyingAcidRidiculous", 45, 0, random (0, 360), 2, random (40, 90))
		EXPL AAAAA 0 A_CustomMissile ("FlyingAcidBig1", 35, 0, random (0, 360), 2, random (10, 90))
		EXPL AAAAA 0 A_CustomMissile ("FlyingAcidBig2", 35, 0, random (0, 360), 2, random (40, 90))
		Stop
	}
}	


Actor Projection
{
	MaxStepHeight 600
   MaxDropoffHeight 600
	Scale 2.0
	Health 3000
	Speed 8
	FastSpeed 10
	Radius 20
	Height 76
	Mass 4000
	Monster
    +COUNTKILL
    +SOLID
    +CANPUSHWALLS
    +CANUSEWALLS
    +ACTIVATEMCROSS
    +CANPASS
   +ISMONSTER
   +VULNERABLE
   States
	{
	Spawn:
		XENR A 0
		XENR AB 10 A_Look
		Goto Idle
	Idle:
		XENR AB 10 A_Look
		Loop
	See:
		TNT1 A 0 A_Recoil(-1)
		XENR BB 2 A_Chase
		TNT1 A 0 A_Recoil(-1)
		XENR CC 2 A_Chase
		TNT1 A 0 A_Recoil(-1)
		TNT1 A 0 A_JumpIf(128, "See")		
      Goto Spawn  //Loop 
		Avoid:
	    XENR A 1 A_FaceTarget
        XENR ABCB 2 A_FastChase
        Goto See
	Death:
		TNT1 A 0
		Stop
	}
}	
I tried walking it back a step when I found out the projection did not have to be intangible...and somehow messed it all up. What did I do?? The projection doesn't disappear when the parent dies. It can die on its own, but I have some ideas on how to fix that once this first problem is dealt with.

Share this post


Link to post

So it should look like A_RemoveChildren(1, RMVF_EVERYTHING)

Correct? Not working, unfortunately. What I don't understand is how I had what I wanted before and can't get it back.

Share this post


Link to post

I can see the cause now: When calling A_SpawnItemEx to spawn the Projection, you are putting the SXF_SETMASTER flag into a wrong'th parameter field. You must follow the exact parameter order here, and when you want to set a particular parameter field, you must not omit any of the fields that precede it. This is how your code should look like:

A_SpawnItemEx("Projection",0,0,0,0,0,0,45,SXF_SETMASTER)

Share this post


Link to post

That worked! But look--I swear I didn't have to do that before. I mean, it's okay, it doesn't hurt anything. I just don't get why it's different this time. Coding's crazy, huh?

Share this post


Link to post

If you mean that your A_RemoveChildren had worked while the SXF_SETMASTER flag wasn't set correctly, then either your observations were wrong, or it was because of your old version of ZDoom behaving differently than is the current standard.

Share this post


Link to post

Weird.

Alright, check it out! The (tentative) final code for Slayer. This makes it so that he can decide to switch in and out of his invisible projection mode at random and confuse the hell out of you.

actor Slayer : Runner 32014
{
   MaxStepHeight 600
   MaxDropoffHeight 600
	Scale 2.0
	Health 3000
	Speed 8
	FastSpeed 10
	PainChance 50	
	Radius 20
	Height 76
	Mass 4000
	Painchance "Fire", 255
	Painchance "Lava", 255
	Painchance "Poison", 1
	Painchance "Ice", 255
	Painchance "Bleeding", 0	
	Painchance "Flame", 255
	DamageFactor "Fire", 1.5
	DamageFactor "Ice", 1.5
	DamageFactor "Flame", 1.5
	DamageFactor "Lava", 1.5
	DamageFactor "Poison", 1.0
	DamageFactor "Bleeding", 0.0
	DamageFactor "Feeding", 0.0	
	DamageFactor "Tracer", 0.7
	DamageFactor "Electric", 1.5
	DropItem "XXBerserk", 20
   +LOOKALLAROUND
   +FIXMAPTHINGPOS
   +CANUSEWALLS
   +CANPUSHWALLS
   +ACTIVATEIMPACT
   +QUICKTORETALIATE
   +SLIDESONWALLS
   +ISMONSTER
   +SHOOTABLE
   +SOLID
   +COUNTKILL
   +ACTIVATEMCROSS
   +CANPASS
   +SHADOW

	States
	{
	Spawn:
		XENR A 0
		TNT1 A 0 A_GiveInventory("Hologram", 1)
		XENR AB 10 A_Look
		Goto Idle
	Idle:
		XENR AB 10 A_Look
		Loop
	See:
		TNT1 A 0 A_Jump(50, "See3")	
		TNT1 A 0 A_JumpIfInventory("Hologram", 1, "Projection")
		TNT1 A 0 A_Recoil(-1)
		XENR BB 2 A_Chase
		TNT1 A 0 A_Recoil(-1)
		XENR CC 2 A_Chase
		TNT1 A 0 A_Recoil(-1)
		TNT1 A 0 A_Jump(50, "See")		
      Goto See  //Loop
	Melee2:
		XENR D 8 A_FaceTarget
		TNT1 A 0 ThrustThingZ(0,20,0,1)
		XENR E 8 A_Recoil(-15)
		TNT1 A 0 A_CustomMissile("SRunnerAttack",20,0,0,0)
		XENR F 8
		Goto See
		Melee:
		TNT1 A 0 A_JumpIfInventory("Hologram", 1, "Melee2")
		TNT1 D 8 A_FaceTarget
		TNT1 A 0 ThrustThingZ(0,20,0,1)
		TNT1 E 8 A_Recoil(-15)
		TNT1 A 0 A_CustomMissile("SRunnerAttack",20,0,0,0)
		TNT1 F 8
		Goto See2
	Projection:
		XENR B 0 A_SpawnItemEx("Projection",0,0,0,0,0,0,45,SXF_SETMASTER)
		XENR B 0 A_TakeInventory("Hologram", 1)
		Goto See2
	See2:
		TNT1 A 0 A_Recoil(-1)
		TNT1 BB 2 A_Chase
		TNT1 A 0 A_Recoil(-1)
		TNT1 CC 2 A_Chase
		TNT1 A 0 A_Recoil(-1)
		TNT1 A 0 A_Jump(50, "See3")		
      Goto See2  //Loop
	  See3:
		TNT1 A 0 A_RemoveChildren(1, RMVF_EVERYTHING)
		TNT1 A 0 A_GiveInventory("Hologram", 1)
		TNT1 A 0 A_Recoil(-1)
		XENR BB 2 A_Chase
		TNT1 A 0 A_Recoil(-1)
		XENR CC 2 A_Chase
		TNT1 A 0 A_Recoil(-1)
		TNT1 A 0 A_Jump(50, "See3")		
      Goto See
	Pain2:
		XENR G 1 A_Pain
		TNT1 A 0 A_Jump(200, "Avoid2")
		Goto See
	Pain:
		TNT1 A 0 A_JumpIfInventory("Hologram", 1, "Pain2")
		TNT1 G 1 A_Pain
		TNT1 A 0 A_Jump(200, "Avoid")
		Goto See2
	
	Avoid2:
	    XENR A 1 A_FaceTarget
        XENR ABCB 2 A_FastChase
        Goto See
	Avoid:
		TNT1 A 0 A_JumpIfInventory("Hologram", 1, "Avoid2")
	    TNT1 A 1 A_FaceTarget
        TNT1 ABCB 2 A_FastChase
        Goto See2
	Death.Poison:
		TNT1 A 0 A_ClearTarget
		XENR H 1 A_RemoveChildren(1, RMVF_EVERYTHING)
		TNT1 A 0 A_SpawnItem("AlienBlood", 0, 45)
		XENR H 8
		XENR I 8 A_Scream
		XENR J 4
		XENR K 4 A_NoBlocking
		XENR L -1
		Stop
	Death.Bleeding:
		TNT1 A 0 A_ClearTarget
		XENR H 1 A_RemoveChildren(1, RMVF_EVERYTHING)
		TNT1 A 0 A_SpawnItem("AlienBlood", 0, 45)
		XENR H 8
		XENR I 8 A_Scream
		XENR J 4
		XENR K 4 A_NoBlocking
		XENR L -1
		Stop	
	Death:
		TNT1 A 0 A_RemoveChildren(1, RMVF_EVERYTHING)
		TNT1 A 0 A_ClearTarget
		TNT1 A 0 A_Jump(255, "Death1", "Death2", "Death3")
	Death1:
		TNT1 A 0 A_RemoveChildren(1, RMVF_EVERYTHING)
	Death2:
		TNT1 A 0 A_RemoveChildren(1, RMVF_EVERYTHING)
	Death3:
		XENR H 1
		TNT1 A 0 A_SpawnItem("AlienBlood", 0, 45)
		XENR H 8 A_RemoveChildren(1, RMVF_EVERYTHING)
		XENR I 8 A_Scream
		XENR J 4
		XENR K 4 A_NoBlocking
		XENR L -1
		Stop
	XDeath.Poison:
		TNT1 A 0 A_ClearTarget
		XENR H 1 A_RemoveChildren(1,RMVF_EVERYTHING)
		TNT1 A 0 A_SpawnItem("AlienBlood", 0, 45)
		XENR H 8
		XENR I 8 A_Scream
		XENR J 4
		XENR K 4 A_NoBlocking
		XENR L -1
		Stop
	XDeath.Bleeding:
		TNT1 A 0 A_ClearTarget
		XENR H 1 A_RemoveChildren(1, RMVF_EVERYTHING)
		TNT1 A 0 A_SpawnItem("AlienBlood", 0, 45)
		XENR H 8
		XENR I 8 A_Scream
		XENR J 4
		XENR K 4 A_NoBlocking
		XENR L -1
		Stop		
 	XDeath:
		TNT1 A 0 A_ClearTarget
		TNT1 A 0 A_RemoveChildren(1, RMVF_EVERYTHING)
 	 	TNT1 A 0 A_Jump(255,"C1", "C2", "C3", "C4", "C5", "C6", "C7", "C8", "C9", "C10")
 	C1:
  		TNT1 A 0 A_GiveToTarget("Comment1")
		Goto XDeath2	
	C2:	
		TNT1 A 0 A_GiveToTarget("Comment2")
		Goto XDeath2		
	C3:
		TNT1 A 0 A_GiveToTarget("Comment3")
		Goto XDeath2		
	C4:	
		TNT1 A 0 A_GiveToTarget("Comment4")
		Goto XDeath2		
	C5:	
		TNT1 A 0 A_GiveToTarget("Comment5")
		Goto XDeath2		
	C6:
  		TNT1 A 0 A_GiveToTarget("Comment6")
		Goto XDeath2		
	C7:	
		TNT1 A 0 A_GiveToTarget("Comment7")
		Goto XDeath2		
	C8:
		TNT1 A 0 A_GiveToTarget("Comment8")
		Goto XDeath2		
	C9:	
		TNT1 A 0 A_GiveToTarget("Comment9")
		Goto XDeath2		
	C10:	
		TNT1 A 0 A_GiveToTarget("Comment10")
		Goto XDeath2
	XDeath2:	
	    TNT1 AAA 0 A_SpawnItem("AlienBlood", 0, 45)
		TNT1 A 0 A_PlaySound("misc/xdeath4c")
		TNT1 A 0 A_RemoveChildren(1, RMVF_EVERYTHING)
		EXPL A 0 A_CustomMissile ("AlienGibTorsoRunner", 35, 0, random (0, 360), 2, random (10, 90))
		EXPL A 0 A_CustomMissile ("AlienGibRunnerHead", 45, 0, random (0, 360), 2, random (10, 90))
		EXPL A 0 A_CustomMissile ("AlienGibRunnerArm1", 35, 0, random (0, 360), 2, random (10, 90))
		EXPL A 0 A_CustomMissile ("AlienGibRunnerArm2", 35, 0, random (0, 360), 2, random (10, 90))
		EXPL AA 0 A_CustomMissile ("AlienGibRunnerLeg", 15, 0, random (0, 360), 2, random (10, 90))
		EXPL A 0 A_CustomMissile ("AlienGibRunnerTail", 35, 0, random (0, 360), 2, random (10, 90))
		EXPL AAAAA 0 A_CustomMissile ("FlyingAcidRidiculous", 45, 0, random (0, 360), 2, random (40, 90))
		EXPL AAAAA 0 A_CustomMissile ("FlyingAcidBig1", 35, 0, random (0, 360), 2, random (10, 90))
		EXPL AAAAA 0 A_CustomMissile ("FlyingAcidBig2", 35, 0, random (0, 360), 2, random (40, 90))
		TNT1 A 0 A_Scream
		TNT1 A 0 A_NoBlocking
		Stop
	Crush:
		TNT1 A 0 A_ClearTarget
		TNT1 A 0 A_RemoveChildren(1, RMVF_EVERYTHING)
		EXPL A 0 A_CustomMissile ("AlienGibRunnerHead", 45, 0, random (0, 360), 2, random (10, 90))
		TNT1 A 0 A_PlaySound("misc/xdeath4c")
		EXPL A 0 A_CustomMissile ("AlienGibRunnerArm1", 35, 0, random (0, 360), 2, random (10, 90))
		EXPL A 0 A_CustomMissile ("AlienGibRunnerArm2", 35, 0, random (0, 360), 2, random (10, 90))
		EXPL AA 0 A_CustomMissile ("AlienGibRunnerLeg", 15, 0, random (0, 360), 2, random (10, 90))
		EXPL A 0 A_CustomMissile ("AlienGibRunnerTail", 35, 0, random (0, 360), 2, random (10, 90))
		EXPL AAAAA 0 A_CustomMissile ("FlyingAcidRidiculous", 45, 0, random (0, 360), 2, random (40, 90))
		EXPL AAAAA 0 A_CustomMissile ("FlyingAcidBig1", 35, 0, random (0, 360), 2, random (10, 90))
		EXPL AAAAA 0 A_CustomMissile ("FlyingAcidBig2", 35, 0, random (0, 360), 2, random (40, 90))
		Stop
	}
}	
Cool, right?

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...