printz Posted June 26, 2014 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? 0 Share this post Link to post
scifista42 Posted June 26, 2014 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. 0 Share this post Link to post
wesleyjohnson Posted June 26, 2014 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. 0 Share this post Link to post
printz Posted June 26, 2014 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? 0 Share this post Link to post
Archi Posted June 26, 2014 I think that's because rocket does have 20 damage while barrel does have 0 damage. 0 Share this post Link to post
scifista42 Posted June 26, 2014 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. 0 Share this post Link to post
Foxpup Posted June 26, 2014 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. 0 Share this post Link to post
wesleyjohnson Posted June 28, 2014 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. 0 Share this post Link to post
scifista42 Posted June 28, 2014 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 0 Share this post Link to post
Foxpup Posted June 29, 2014 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. 0 Share this post Link to post