nosoop / SM-TFAttributeSupport

A SourceMod plugin that improves support for official TF2 attributes.
GNU General Public License v3.0
12 stars 4 forks source link

Set DamageType Ignite not allowing Afterburn durations past 10 seconds #4

Open SoulBlast35 opened 3 years ago

SoulBlast35 commented 3 years ago

The fix for this attribute works perfectly fine, even with the MvM Populator, but no matter what value you set it, it will not allow more than 10 seconds of afterburn. "afterburn duration bonus" and "weapon burn time increased" also do not allow the afterburn duration to exceed 10 seconds.

nosoop commented 3 years ago

I think that's a limitation coded in specifically for the Flamethrower. Not sure if there's an elegant way to modify that without allowing afterburn in its entirety to last longer than 10 seconds (or adding an independent afterburn-tracking system), but I haven't taken a deep look at post-JI disassembly to see if they added support for that.

Definitely a valid issue though.

nosoop commented 3 years ago

For what it's worth, the afterburn duration clamping is only set during CTFPlayerShared::Burn() (as opposed to recalculated on every game tick), and tf2utils just got TF2Util_SetPlayerBurnDuration(), which can bypass the clamping. In general, unclamped durations are possible.

Remaining issues then are:

  1. Intending to add tf2utils as a dependency requirement for this plugin (which seems beneficial regardless, there's already a fair bit of overlap in the functions being called)
  2. Bikeshedding on the cleanest way to fix this, without changing existing uses
  3. Finding the time to actually work on this
SoulBlast35 commented 3 years ago

Sounds good to me. Also, "bikeshedding"? Never heard that euphemism before.