Sign in to follow this  
Followers 0

Jumping Attack

Right now I am trying to rip the facehuggers from the Aliens:TC. I took the sprites, but now have to create a decorate file for it. I based it off of the Lostsoul decorate. I kept A_SkullAttack, and removed all of the flags that make it fly. It works well, however, until when you shoot at the monster, it slowly floats backwards. Could someone please give me some advice?

EDIT: Second Question

I will also need to rip the eggs from the TC as well. I'm assuming I will have to script it like a pain elemental, that is stationary. However, is there a way to have them spawn a single facehugger as an attack?

Share this post


Link to post
Kontra Kommando said:

Right now I am trying to rip the facehuggers from the Aliens:TC. I took the sprites, but now have to create a decorate file for it. I based it off of the Lostsoul decorate. I kept A_SkullAttack, and removed all of the flags that make it fly. It works well, however, until when you shoot at the monster, it slowly floats backwards. Could someone please give me some advice?


A_SkullAttack has all sorts of intrinsic behaviour tied to it. I don't know if there's a generic function that can replace it easily though. One thing you might be able to do is give the monster a 100% pain chance and do something in the pain state to make it fall, though off-hand I'm not sure how exactly.

EDIT: Second Question

I will also need to rip the eggs from the TC as well. I'm assuming I will have to script it like a pain elemental, that is stationary. However, is there a way to have them spawn a single facehugger as an attack?


Check out http://zdoom.org/wiki/A_SpawnItemEx, it's probably much better than using a pain elemental function.

Share this post


Link to post
plums said:

Check out http://zdoom.org/wiki/A_SpawnItemEx, it's probably much better than using a pain elemental function.


Thanks a lot, this helped me out. For the face huggers, I just lowered where the sprite is positioned; now it looks better.

I wonder how Sargent_Mark_IV scripted the Brutalized Imp to do that jumping attack.

Share this post


Link to post

Well, you can add a line with ThrustThingZ(insert relevant values here) alongside a state in order to sort of fudge a jumping mechanic on the enemies. Let me know if you need more advice on how to do that.

Share this post


Link to post
Linkrulezall said:

Well, you can add a line with ThrustThingZ(insert relevant values here) alongside a state in order to sort of fudge a jumping mechanic on the enemies. Let me know if you need more advice on how to do that.


Thanks, i will experiment with ThrustThingZ

Share this post


Link to post

What Mark did (and what I 'borrowed' for that Sonic boss a while back) was apply ThrustThingZ and then ThrustThing with some maths tacked on. 'ThrustZ alone will make him hop like a bunny, but not much else.

...

JumpAttack:
        TNT1 A 0 A_FaceTarget
	TNT1 A 0 ThrustThing(angle*256/360, 30, 0, 0) //forward
        TNT1 A 0 ThrustThingz(0,45,0,1) //upwards
        [XXXX] ABCD 4 A_CustomMissile("Harmer",20,0,0,0) //frames
        Goto Flying
Flying:
        TNT1 A 0 A_JumpIf (momz == 0, "Chase")
        [XXXX] ABCD 4 A_CustomMissile("Harmer",20,0,0,0) //frames
        Loop
     }
}


ACTOR Harmer: BaronBall
{
	Radius 20
	Height 40
	DamageType Rip
	Projectile 
	RenderStyle Add
	Alpha 0.6
	+RANDOMIZE
	+FORCEXYBILLBOARD
	-DONTHURTSPECIES
        +THRUGHOST
        +BLOODSPLATTER 
        +THRUGHOST
        Damage 1
	SeeSound "None"
	DeathSound "none"
	Decal "none"
        Speed 20
	States
	{
	Spawn:
		TNT1 A 4 BRIGHT
		Stop
	Death:
                TNT1 A 0 A_PlaySound("your/sound")
		TNT1 A 0 BRIGHT
		Stop
	}
}
You may need to mess with the values depending on the mass of your Hugger. If you want to make him hurt you as well, you'll have to create an invisible projectile that exists for only a few frames and have the monster spawn it during its attack state.
You might also need to look into having a looping state that he enters after he launches that only goes back to SEE: or CHASE: when it detects when he's hit the ground or when his Z momentum is zero.

Well off, mate.

Share this post


Link to post
Jaxxoon R said:

What Mark did (and what I 'borrowed' for that Sonic boss a while back) was apply ThrustThingZ and then ThrustThing with some maths tacked on. 'ThrustZ alone will make him hop like a bunny, but not much else.

...

JumpAttack:
        TNT1 A 0 A_FaceTarget
	TNT1 A 0 ThrustThing(angle*256/360, 30, 0, 0) //forward
        TNT1 A 0 ThrustThingz(0,45,0,1) //upwards
        [XXXX] ABCD 4 A_CustomMissile("Harmer",20,0,0,0) //frames
        Goto Flying
Flying:
        TNT1 A 0 A_JumpIf (momz == 0, "Chase")
        [XXXX] ABCD 4 A_CustomMissile("Harmer",20,0,0,0) //frames
        Loop
     }
}


ACTOR Harmer: BaronBall
{
	Radius 20
	Height 40
	DamageType Rip
	Projectile 
	RenderStyle Add
	Alpha 0.6
	+RANDOMIZE
	+FORCEXYBILLBOARD
	-DONTHURTSPECIES
        +THRUGHOST
        +BLOODSPLATTER 
        +THRUGHOST
        Damage 1
	SeeSound "None"
	DeathSound "none"
	Decal "none"
        Speed 20
	States
	{
	Spawn:
		TNT1 A 4 BRIGHT
		Stop
	Death:
                TNT1 A 0 A_PlaySound("your/sound")
		TNT1 A 0 BRIGHT
		Stop
	}
}
You may need to mess with the values depending on the mass of your Hugger. If you want to make him hurt you as well, you'll have to create an invisible projectile that exists for only a few frames and have the monster spawn it during its attack state.
You might also need to look into having a looping state that he enters after he launches that only goes back to SEE: or CHASE: when it detects when he's hit the ground or when his Z momentum is zero.

Well off, mate.


Excellent! I've been wanting to add this to the Xenomorphs I've created. Thanks for the help!

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0