Skulltag's (onoez) Reflection powerup type
Moderator: GZDoom Developers
Skulltag's (onoez) Reflection powerup type
Since Skulltag is open-source, could we backport the Reflection powerup type (returns a certain amount of damage taken to what damaged you)? If so, could we possibly use powerup.strength to determine how much damage you return (Powerup.Strength 0.5 to return 50% of the damage, for example)? I just tested it, and it does work on monsters, not just other players.
An optional "it would be great to have" thing, the ability to set an obituary (But yeah, probably too much trouble)?
An optional "it would be great to have" thing, the ability to set an obituary (But yeah, probably too much trouble)?
- Apothem
- Posts: 2070
- Joined: Sat Nov 29, 2003 7:13 pm
- Location: Performing open heart surgery on an ACS compiler.
Re: Skulltag's (onoez) Reflection powerup type
Strange, I remember my first encounters with this pickup were in MP. It was being used in an actual SkullTag match too!Ghastly_dragon wrote:I just tested it, and it does work on monsters, not just other players.

Re: Skulltag's (onoez) Reflection powerup type
"not just other players" != "not on other players" 

- NeuralStunner
-
- Posts: 12328
- Joined: Tue Jul 21, 2009 12:04 pm
- Preferred Pronouns: No Preference
- Operating System Version (Optional): Windows 11
- Graphics Processor: nVidia with Vulkan support
- Location: capital N, capital S, no space
- Contact:
Re: Skulltag's (onoez) Reflection powerup type
This would be a great thing to have, though I would consider whether it would be better as a special mode for PowerProtection. (Removed damage being returned to the attacker.) This way, one could reflect only the DamageTypes that the powerup covers.
Re: Skulltag's (onoez) Reflection powerup type
As long as Powerup.Strength could be used to define how much you want to reflect, that'd be awesome.NeuralStunner wrote:This would be a great thing to have, though I would consider whether it would be better as a special mode for PowerProtection. (Removed damage being returned to the attacker.) This way, one could reflect only the DamageTypes that the powerup covers.
- Ryan Cordell
- Posts: 4349
- Joined: Sun Feb 06, 2005 6:39 am
- Preferred Pronouns: No Preference
- Operating System Version (Optional): Windows 10
- Graphics Processor: nVidia (Modern GZDoom)
- Location: Capital of Explodistan
Re: Skulltag's (onoez) Reflection powerup type
Well, CF_REFLECTION as a flag is unused in the ZDoom source, so I'll see to backporting it from Zandronum somehow. I'll probably go with the OP suggestion though, to avoid mucking with PowerProtection.
Re: Skulltag's (onoez) Reflection powerup type
It might be an idea to add in Damagetype properties to it that would affect the final reflected value. (So Powerup.Strength * DamageType)
- Ryan Cordell
- Posts: 4349
- Joined: Sun Feb 06, 2005 6:39 am
- Preferred Pronouns: No Preference
- Operating System Version (Optional): Windows 10
- Graphics Processor: nVidia (Modern GZDoom)
- Location: Capital of Explodistan
Re: Skulltag's (onoez) Reflection powerup type
Saw the final post a bit late, but whatever. Deciding to get off my lazy arse, I'm putting up the patch for PowerReflect that's been stagnating in ToB for far too long.
The code is, for all intents and purposes, horrible like nobody's business and most likely doesn't reflect more than one damagefactor.. but I'll let other people test that out for me, see if it works.
The code is, for all intents and purposes, horrible like nobody's business and most likely doesn't reflect more than one damagefactor.. but I'll let other people test that out for me, see if it works.
- Attachments
-
PowerReflect.zip
- PowerReflect.
- (1.6 KiB) Downloaded 53 times
- Graf Zahl
- Lead GZDoom+Raze Developer
- Posts: 49234
- Joined: Sat Jul 19, 2003 10:19 am
- Location: Germany
Re: Skulltag's (onoez) Reflection powerup type
Added, sort-of. The implementation was shit and wasted a lot of potential. It makes far more sense to actually use the damage factors as intended and read them in P_DamageMobj instead of caching just one value and using that for everything.