Page 1 of 2

Different impact anims depending on target (and other ideas)

Posted: Wed Mar 09, 2005 7:11 pm
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.

Posted: Wed Mar 09, 2005 7:19 pm
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.

Posted: Thu Mar 10, 2005 10:03 am
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

Posted: Fri Mar 11, 2005 7:06 am
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.

Posted: Fri Mar 11, 2005 8:17 am
by Graf Zahl
cutmanmike wrote: and stupid green strife thingy?

You mean disintegration, right?

Posted: Sat Mar 12, 2005 3:41 pm
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

Posted: Sun Mar 13, 2005 5:33 pm
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.

Posted: Fri Mar 18, 2005 1:29 pm
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.

Posted: Fri Mar 18, 2005 1:48 pm
by TheDarkArchon
Also, I'd like A_FloatBob and A_NoBob or something similar to them.

Posted: Fri Mar 18, 2005 4:14 pm
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)

Posted: Fri Mar 18, 2005 6:02 pm
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.

Posted: Fri Mar 18, 2005 8:03 pm
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)

Posted: Sat Mar 19, 2005 12:15 am
by Anakin S.
Great. Thanks for the info.

Posted: Sat Mar 19, 2005 12:24 am
by Macil
Though I'm not sure the exact way how to implement them. Do we still put the frame and delay?

Posted: Sat Mar 19, 2005 5:06 am
by Graf Zahl
You still need a script because SetActorProperty is an internal ACS function.