Different impact anims depending on target (and other ideas)

Moderator: GZDoom Developers

User avatar
Anakin S.
Posts: 1067
Joined: Fri Nov 28, 2003 9:39 pm
Location: A long time ago in a galaxy far, far away...

Different impact anims depending on target (and other ideas)

Post by Anakin S. »

Would it be possible to allow the definition of different death sequences for projectiles depending on what kinds of targets they hit?

Maybe it could be done like this:
Death: hitting normal actors
Xdeath: hitting NOBLOOD actors
Crash: hitting walls.
Something else: invulnerable actors

If either the xdeath or crash states are undefined, they could default to the frames in the death state. This would be useful for things like the quake nailgun or the hellstaff rain drops.

Some other things mentioned later in this thread:

1. How about a function that sets the alpha value for the actor, so that you can make things that fade away or blink in and out of existence like the disciple of d'sparil.

2. While Graf has added the aimmode for custom missiles to fly horizontally without aiming at targets, maybe there could be another aimmode that lauches them horizontally when there is no target directly in front of them. When there is a target, the projectiles would change their elevations to meet that specific target, like the strife mauler torpedo. This is different from the original behavior, which made projectiles always change their elevation to meet a single target (the player who fired the main projectile).

3. How about a flag that turns float on or off. Like A_Float or A_UnFloat. Enemies can then use jetpacks.

4. Move an actor in a given direction in relation to the current facing angle, like with the bishop projectile's spiral motion. A_Move(angle, pitch, distance) or A_Move(x offset, y offset, distance).
Your Name Is wrote:Maybe defining what TYPE like fire, electricity, or bullets, the monster was attacked by so you could make someone resistant to particular projectiles
TheDarkArchon wrote:Also, I'd like A_FloatBob and A_NoBob or something similar to them.
Last edited by Anakin S. on Wed Jun 01, 2005 7:15 pm, edited 8 times in total.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49056
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Post by Graf Zahl »

Yes, this would be a great and really useful idea. It shouldn't be too hard to implement because the code knows what was hit by the projectile when it hit. And of course it could be used to eliminate the hack the rain drops use to achieve this. (Warning: DEHSUPP incompatibility! ;))


Anyway, you forgot a fourth death state: Hitting an actor that can't be hurt.
User avatar
Your Name Is
Posts: 802
Joined: Sun Oct 31, 2004 5:06 pm
Location: Raleigh, NC
Contact:

Post by Your Name Is »

Maybe defining what TYPE like fire, electricity, or bullets, the monster was attacked by so you could make someone resistant to particular projectiles
User avatar
Cutmanmike
Posts: 11335
Joined: Mon Oct 06, 2003 3:41 pm
Operating System Version (Optional): Windows 10
Location: United Kingdom
Contact:

Post by Cutmanmike »

Your Name Is wrote:Maybe defining what TYPE like fire, electricity, or bullets, the monster was attacked by so you could make someone resistant to particular projectiles
You mean custom ones like ice, fire and stupid green strife thingy? If you could make your own that would be neat.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49056
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Post by Graf Zahl »

cutmanmike wrote: and stupid green strife thingy?

You mean disintegration, right?
User avatar
Xaser
 
 
Posts: 10772
Joined: Sun Jul 20, 2003 12:15 pm
Contact:

Post by Xaser »

Heh, this could even be used to create "weaknesses" for some monsters. You could have an electric arrow that sticks when impacts walls, lightly shocks an organic-based enemy, and zaps the hell out of mechanical-based enemies (as in, extra damage). You could do that extra damage thing by putting an explosion code pointer or something in the state for hitting NOBLOOD actors and stuff. :P
User avatar
Anakin S.
Posts: 1067
Joined: Fri Nov 28, 2003 9:39 pm
Location: A long time ago in a galaxy far, far away...

Post by Anakin S. »

Your Name Is wrote:Maybe defining what TYPE like fire, electricity, or bullets, the monster was attacked by so you could make someone resistant to particular projectiles
Yes, that is something nice to have. I thought Graf was asking Randy to do this in some other thread. I think he suggested to make it so that monsters that only have a fire death defined or ice death defined can only be harmed by those damage types. Correct me if I'm wrong. I don't know where the thread is.

Also, with what was suggested, where Death is for normal actors, XDeath is for NOBLOOD, Crash is for walls, and something else is for invulnerable actors, there could be other possibilities for the Fire, Ice, and Disintegrate states.
Last edited by Anakin S. on Fri Mar 18, 2005 1:32 pm, edited 1 time in total.
User avatar
Anakin S.
Posts: 1067
Joined: Fri Nov 28, 2003 9:39 pm
Location: A long time ago in a galaxy far, far away...

Post by Anakin S. »

I have some other decorate ideas:

1. How about a function that sets the alpha value for the actor, so that you can make things that fade away or blink in and out of existence like the disciple of d'sparil.

2. While Graf has added the aimmode for custom missiles to fly horizontally without aiming at targets, maybe there could be another aimmode that lauches them horizontally when there is no target directly in front of them. When there is a target, the projectiles would change their elevations to meet that specific target, like the strife mauler torpedo. This is different from the original behavior, which made projectiles always change their elevation to meet a single target (the player who fired the main projectile).

3. How about a flag that turns float on or off. Like A_Float or A_UnFloat. Enemies can then use jetpacks.
User avatar
TheDarkArchon
Posts: 7656
Joined: Sat Aug 07, 2004 5:14 am
Location: Some cold place

Post by TheDarkArchon »

Also, I'd like A_FloatBob and A_NoBob or something similar to them.
User avatar
Phoenix
Posts: 344
Joined: Tue Sep 28, 2004 4:49 pm
Preferred Pronouns: He/Him
Operating System Version (Optional): Windows 10
Location: Canada

Post by Phoenix »

1. How about a function that sets the alpha value for the actor, so that you can make things that fade away or blink in and out of existence like the disciple of d'sparil.
SetActorProperty (tid, PROP_Renderstyle, STYLE_Translucent)
SetActorProperty (tid, PROP_Alpha, alphavalue)
User avatar
Anakin S.
Posts: 1067
Joined: Fri Nov 28, 2003 9:39 pm
Location: A long time ago in a galaxy far, far away...

Post by Anakin S. »

Cool, thanks. Unfortunately, these functions need a tid, so it would be map specific and can't be used in a monster's frames (I think). What I'm suggesting is an actor function within the frames of the monster to make it fade it in and out so that whenever a monster decides to attack, it would blink a few times before shooting its 3 purple spheres at you.
User avatar
Macil
Posts: 2529
Joined: Mon Mar 22, 2004 7:00 pm
Preferred Pronouns: He/Him
Location: California, USA. Previously known as "Agent ME".
Contact:

Post by Macil »

ACS commands can be used in DECORATE! Just do something like

Thing_ChangeTid(0,777)
SetActorProperty (777, *PROP_Renderstyle*, *STYLE_Translucent*)
Thing_ChangeTid(0,0)
User avatar
Anakin S.
Posts: 1067
Joined: Fri Nov 28, 2003 9:39 pm
Location: A long time ago in a galaxy far, far away...

Post by Anakin S. »

Great. Thanks for the info.
User avatar
Macil
Posts: 2529
Joined: Mon Mar 22, 2004 7:00 pm
Preferred Pronouns: He/Him
Location: California, USA. Previously known as "Agent ME".
Contact:

Post by Macil »

Though I'm not sure the exact way how to implement them. Do we still put the frame and delay?
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49056
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Post by Graf Zahl »

You still need a script because SetActorProperty is an internal ACS function.
Post Reply

Return to “Closed Feature Suggestions [GZDoom]”