[since old times] A morphprojectile affects allied players

Forum rules
Please don't bump threads here if you have a problem - it will often be forgotten about if you do. Instead, make a new thread here.

Post a reply

Smilies
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :geek: :ugeek: :!: :?: :idea: :arrow: :| :mrgreen: :3: :wub: >:( :blergh:
View more smilies

BBCode is OFF
Smilies are ON

Topic review
   

Expand view Topic review: [since old times] A morphprojectile affects allied players

Re: [since old times] A morphprojectile affects allied playe

by Rachael » Sun Oct 30, 2016 6:52 am

Edward-san wrote:Also, regarding the good/bad morphing idea, it's better to make a new feature suggestion thread.
You said yourself - this 'bug' has been present a long time.

Look - I may be wrong but I really don't think it's a good idea to change engine behavior suddenly like that. I really think this fix should be the feature suggestion and it should be the one that requires flags, or at the very least use dmflags.

Re: [since old times] A morphprojectile affects allied playe

by Edward-san » Sat Oct 29, 2016 12:57 pm

Also, regarding the good/bad morphing idea, it's better to make a new feature suggestion thread.

Re: [since old times] A morphprojectile affects allied playe

by Edward-san » Sat Oct 29, 2016 12:29 pm

Ah, you closed the pull. I force-pushed in the same branch, so if it was left open, it would show you the new commit. Anyway, here.

Re: [since old times] A morphprojectile affects allied playe

by Graf Zahl » Sat Oct 29, 2016 12:08 pm

And where's the update?

Re: [since old times] A morphprojectile affects allied playe

by Graf Zahl » Sat Oct 29, 2016 12:07 pm

Edward-san wrote:Updated. One funny part is that it's possible to make the player morph by making it fire against its voodoo doll counterpart.

Yes, and there's mods which actually depend on it!

Re: [since old times] A morphprojectile affects allied playe

by Edward-san » Sat Oct 29, 2016 11:57 am

Updated. One funny part is that it's possible to make the player morph by making it fire against its voodoo doll counterpart. Also it ignores invulnerabilities, but I guess that's okay.

Re: [since old times] A morphprojectile affects allied playe

by Graf Zahl » Sat Oct 29, 2016 7:20 am

Because it may matter in other situations, but in the case of a projectile hitting a shootable actor it's the same thing, if you examine the one single relevant call to this function responsible here.

p_map.cpp line 1383: int newdam = P_DamageMobj(thing, tm.thing, tm.thing->target, damage, tm.thing->DamageType);

Re: [since old times] A morphprojectile affects allied playe

by Edward-san » Sat Oct 29, 2016 6:25 am

I mean literally 'source', one of the parameters of P_DamageMobj, because that's what's used when checking for teammates. If you say 'inflictor->target' is enough, why is 'source' used?

Re: [since old times] A morphprojectile affects allied playe

by Graf Zahl » Sat Oct 29, 2016 5:23 am

The source of the projectile or the damage inflictor? Isn't projectile->target enough?

Re: [since old times] A morphprojectile affects allied playe

by Edward-san » Sat Oct 29, 2016 4:56 am

The virtual function DoSpecialDamage doesn't pass the source. Should I add it as a parameter?

Re: [since old times] A morphprojectile affects allied playe

by Graf Zahl » Sat Oct 29, 2016 3:19 am

I don't like how you did it. Shouldn't this be part of AMorphProjectile::DoSpecialDamage?

Re: [since old times] A morphprojectile affects allied playe

by Edward-san » Fri Oct 28, 2016 8:32 am

I have a fix for the allied players, though, as always, the function to change is the messed one. I'll make a PR for that.

[edit] Done. When team damage is off, the projectile passes through the allied player, but I don't know if it makes sense.

Re: [since old times] A morphprojectile affects allied playe

by Ed the Bat » Thu Oct 27, 2016 8:04 pm

Eruanna wrote:...you may want "friend morph" projectiles (i.e. give a fellow player a "superman" morph in a coop game).
The issue of 'good' morphs vs 'bad' morphs is one that already could stand to be re-evaluated. For instance, the DONTMORPH flag is absolute, even if a modder would want an actor protected from bad morphs but still able to collect good morphs. Some more control would be very desirable. The fact that PowerMorph even exists means there's already supposed to be some distinction between good and bad morphs.

Re: [since old times] A morphprojectile affects allied playe

by Rachael » Thu Oct 27, 2016 6:43 pm

Edward-san wrote:Question: is that inherited from Heretic/Hexen or a mistake by ZDoom?
Team Damage is something new to ZDoom, it did not even exist in Heretic/Hexen, so in that game you always had the ability to damage other players as well as morphing them, as far as I know.

I doubt there's many mods that depend on the present behavior, but fixing this may require additional actor flags, IMO, because you may want "friend morph" projectiles (i.e. give a fellow player a "superman" morph in a coop game).

Re: [since old times] A morphprojectile affects allied playe

by Edward-san » Thu Oct 27, 2016 5:34 pm

AFAIR the only way to damage an allied player is when 'team damage' is on. So the bug here is that morphing is done even if 'team damage' is off.

Top