Hi, all!
I'm here to present my proposal on how to address these issues. First off, though, sorry I'm not around lately. Just not able to find time, for personal reasons. I'm planning on coming back to do more as soon as I can.
(Hmm...that was a rather mundane answer. Hey, let's come up with something more epic and biblical!)
And it came to pass that the priests of Skell cried unto the heavens and, lo, their cries were heard, and knowledge was sent from on high to rain down upon their heads.
Okay, yeah. Back to reality
Anyway, according to my knowledge of puff logic, the above-mentioned puff behaviors are coding oversights that need to be fixed. Thanks for pointing these out!
Puffs should not be allowed to be pushed in an incorrect direction onto ortho tiles or force arrows. They should die on the originating tile. The death effect should appear on the originating tile.
As far as I understand the original intent, puffs also should not be pushed into walls or onto closed doors. They should die on the originating tile and the effect should be on that tile.
Analogous to these behaviors is how powder keg pushes work. They can't be pushed into walls or closed doors, or the wrong way into force arrows or ortho tiles. When this is attempted, they explode on the source tile. The same should be true with puffs, that reside outside walls as powder kegs do.
Unfortunately, I'm not sure which rooms fixing this behavior would materially affect. In order to find out, maybe someone can insert that special CCueEvent type in places in the code where this occurs and run the spider on uploaded demos.
____________________________
Gandalf? Yes... That's what they used to call me.
Gandalf the Grey. That was my name.
I am Gandalf the White.
And I come back to you now at the turn of the tide.
[Last edited by mrimer at 05-18-2015 09:51 PM]