Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
printz

Some things have harmless explosions (Dehacked)

Recommended Posts

I've noticed that if I replace blood splats with rocket explosions, they still don't cause damage. Why is that and how can it be controlled?

Share this post


Link to post

States 127-129 are making the actual rocket explosion, and it must work. Notice the Explode codepointer on frame 127. This codepointer makes an explosion.

Share this post


Link to post

A little vague, as rocket explosion sprite graphics are not rocket explosion damage.

From my memory, to get rocket damage it needs to be a rocket mobj type. The Missile flag is checked often in the code too, but that applies to all missile objects which do not all explode.

A rocket type that is detected to have collided with something will cause damage. Having states or sprites also associated with the explosion is something else. Off hand, I think it is the rocket death sequence that is used for the explosion sprites because I do not remember anything else in the code to explicitly trigger it.

Share this post


Link to post

I set the initial frame of blood splats to 127, but the blood splats are still harmless. Same happens if I set the initial frame of bullet puff and BFG hits. The explosions don't do any damage. And I think that other effects would fail as well.

However, if I set the barrel death, it will work... Are first frames exempt from running their actions?

Share this post


Link to post

I think that's because rocket does have 20 damage while barrel does have 0 damage.

Share this post


Link to post

HA! I know what is wrong!

If the first ever frame of a thing (after the thing is spawned) has an action, the action is not performed. You must place at least one action-less frame before it, even if 0-duration one! :)

Rockets and barrels work properly because the explosion is in their death state, and there have been see states performed before.

Share this post


Link to post
scifista42 said:

States 127-129 are making the actual rocket explosion, and it must work. Notice the Explode codepointer on frame 127. This codepointer makes an explosion.

It doesn't (and shouldn't) work. The initial spawn state (of anything) doesn't execute its codepointer. Codepointers only execute when a thing changes state (so setting a frame's next frame of 127, and making that frame the initial frame will cause blast damage).
EDIT: Ninja'd.

wesleyjohnson said:

A little vague, as rocket explosion sprite graphics are not rocket explosion damage.

The explosion frames do indeed cause the blast damage.

wesleyjohnson said:

A rocket type that is detected to have collided with something will cause damage.

Any thing spawned as a missile (not necessarily with the missile flag, though that flag is necessary for missiles to be spawned correctly) will cause impact damage (which is not the same as blast damage). Rockets do not get any special treatment.

wesleyjohnson said:

Off hand, I think it is the rocket death sequence that is used for the explosion sprites because I do not remember anything else in the code to explicitly trigger it.

All missiles uses their death state for explosion, except for lost souls, which use their initial spawn state instead instead.

Share this post


Link to post

Just out of curiosity, what is this frame you refer to.
If it is not sprite graphics frame (such as BOSA1C4), is it the thing state, or some other idea from creating DEH modified monsters.
I am guessing that it is not something in the mobj code, but is an
DEH editing concept.

Share this post


Link to post

It's a DEHACKED state from the DEHACKED or WHACKED editor's "States" table. "States" define the sequence of game object's animation and behaviour. Yes, it has to do with .DEH editing. Using the DEHACKED editor, you can change the default behaviour (including order of states, special actions etc.) and distribute the new behaviour in a .DEH patch.

http://www.aspectsweb.co.uk/dehacked/deh06.html

Share this post


Link to post
wesleyjohnson said:

I am guessing that it is not something in the mobj code, but is an
DEH editing concept.

Correct. DeHackEd calls states "frames" and actors "things", even though that's not strictly accurate. It also calls function pointers "code pointers", which isn't really the right term, but at least isn't ambiguous.

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  
×