Page 1 of 1
Making puff go through actor
Posted: Sat Apr 18, 2015 1:36 pm
by Klofkac
I ran into a problem. I am using a custom attack with puff that uses +PUFFGETSOWNER. But the target will be replaced if the puff hits another player. I need the target be the player who fired it (SetActivatorToTarget) no matter what. Any ideas?
And I failed making the puff getting through other players.
Any ideas?
RE: Making puff go through actor
Posted: Sat Apr 18, 2015 2:36 pm
by Leonard
Klofkac wrote:But the target will be replaced if the puff hits another player.
I assume you're talking about the blood spawned here?
If you want the puff itself to be spawned instead of blood then use something like +PUFFONACTORS or +ALWAYSPUFF
RE: Making puff go through actor
Posted: Sat Apr 18, 2015 2:42 pm
by Klofkac
Blood isn't affecting it in any way, it's that if puff hits another player, the target changes to them instead of the player who fired it, effectively overriding +PUFFGETSOWNER.
Without +PUFFONACTORS it isn't spawned at all, so the script will never execute, which is bad, too.
RE: Making puff go through actor
Posted: Sat Apr 18, 2015 4:24 pm
by Empyre
I know very little about DECORATE, but would giving it the ripping property help?
RE: Making puff go through actor
Posted: Sat Apr 18, 2015 4:56 pm
by Klofkac
I tried that, it seems to be ignored.
RE: Making puff go through actor
Posted: Sat Apr 18, 2015 5:11 pm
by Leonard
I don't know what you're doing but using +PUFFONACTORS and +PUFFGETSOWNER on a bulletpuff works fine for me, the target is always the player who fired it regardless of what I hit.
I can provide the WAD I used if you wish to see for yourself.
RE: Making puff go through actor
Posted: Sat Apr 18, 2015 5:57 pm
by Ivan
THRUSPECIES/THRUGHOST?
RE: Making puff go through actor
Posted: Sat Apr 18, 2015 6:21 pm
by Klofkac
Leonard, I have checked your wad. I tried to adapt the code to match yours... but, it still didn't do as I needed. Weird.
RE: Making puff go through actor
Posted: Sat Apr 18, 2015 6:25 pm
by Zanieon
MTHRUSPECIES only works for hitscans after ZDoom 2.7 and THRUGHOST is a hacky way that is better stay only on Heretic.
RE: Making puff go through actor
Posted: Sat Apr 18, 2015 6:35 pm
by Klofkac
I found the error, why it worked so strange. I had SetActivatorToTarget twice... So it changed to the player who fired it crrectly, but then the activator was player already and it changed the activator to player's target. Sorry for everything, it's my messy source code and blindness to blame.
Still, it would be interesting to really know if there is a way in Zandronum for making the puff to go through actor.
RE: Making puff go through actor
Posted: Sat Apr 18, 2015 8:21 pm
by Lollipop
If your attack is a hitscan, then I would like to ask:
Is a puff thrustable?
Then you can maybe do an ACS script, using the coordinates of the attacker and the target to calculate a line in the threedimensional space and thrust the puff with a force on the three axes relative to the angle, pitch and... roll? Then you might be able to push the puff in the direction of the attack.
Just a thought, since IIRC you are quite good at ACS and mathematics.
RE: Making puff go through actor
Posted: Sun Apr 19, 2015 1:40 am
by Arctangent
Klofkac wrote:
Still, it would be interesting to really know if there is a way in Zandronum for making the puff to go through actor.
I'm really not sure if this question makes any sense or not, to be honest. Do you mean the hitscan or the puff? Because bullet puffs by default have no collisions, so you can just give it velocity for one tic and stop it the next. At the same time, though, I'm not really sure why you want to do this, since the bullet puff moving doesn't really accomplish a whole lot.
RE: Making puff go through actor
Posted: Sun Apr 19, 2015 1:47 am
by Zanieon
The Bullet Puff defines the properties of the hitscan, like DamageType, on actual ZDoom 2.8 dev builds, if you apply MTHRUSPECIES in the bullet puff, the hitscan will ignore all actors of the same species of the actor who fired it, exactly like projectiles.
RE: Making puff go through actor
Posted: Mon Apr 20, 2015 3:14 pm
by Klofkac
Arctangent wrote:
I'm really not sure if this question makes any sense or not, to be honest. Do you mean the hitscan or the puff?
Okay, let me re-formulate it...
I'm using a hitscan attack (A_FireBullets) which has the puff option set to custom puff, which then uses ACS_ExecuteAlways to do some logic related to the puff's coorditates etc. But other players catch the hitscan before it can hit the wall or floor in the straight line. And I'd like to know if you can make it so when you fire the hitscan, it is not blocked by other players.
RE: Making puff go through actor
Posted: Mon Apr 20, 2015 6:34 pm
by Arctangent
Sounds like you want a rail attack.
Or if you don't, I don't think want you want is quite possible in the engine.
RE: Making puff go through actor
Posted: Mon Apr 27, 2015 7:58 am
by Klofkac
This sounds cool, but can you make the rail completely silent and invisible? Also:
pufftype: The puff actor to use. By default, the puff will only spawn in rare circumstances (e.g. when hitting a dormant monster) unless the puff actor has the ALWAYSPUFF flag set. Even if not shown, the selected puff will still be used for applying custom damagetypes and other properties.
If this is so, it is possible it wouldn't puff on walls, which is also not desired...
RE: Making puff go through actor
Posted: Mon Apr 27, 2015 3:36 pm
by Untitled
Klofkac wrote:
This sounds cool, but can you make the rail completely silent and invisible? Also:
pufftype: The puff actor to use. By default, the puff will only spawn in rare circumstances (e.g. when hitting a dormant monster) unless the puff actor has the ALWAYSPUFF flag set. Even if not shown, the selected puff will still be used for applying custom damagetypes and other properties.
If this is so, it is possible it wouldn't puff on walls, which is also not desired...
Yes - put in "none" and "none" for the core and ring colors (I think that it just uses the "Attacksound" property of the weapon).
Put +ALWAYSPUFF onto the puff for the puff. That's not exactly hard.
EDIT: Alternatively, make the "Bullets" projectiles with speed 320 and +RIPPER, which is what you need to do if you want them to pass through players (since +THRUSPECIES isn't supported on puffs).