Chdata / Versus-Saxton-Hale

The presuccessor of FF2(FF2 is the successor of VSH)
GNU General Public License v3.0
11 stars 6 forks source link

Fixed Ubercharge ending too early on Medics #12

Open Starblaster64 opened 8 years ago

Starblaster64 commented 8 years ago

Uses hidden CVAR that controls Uber drain rate to fix the issue of Ubercharge ending too early on Medics. Lasts for 12 second as before, however the actual drain rate has been reduced by 33%. Uber meter is no longer altered on Uber activation. Third Degree can grant Ubercharge only up to 100% instead of 150% as a result.

EDIT: Probably going to squash all these commits before the merge is accepted (if requested), would be rather messy otherwise.

Chdata commented 8 years ago

Setting max to 1.0 if m_bChargeReleased is true is pointless, you can remove the max variable altogether. (I'd comment that stuff out).

Starblaster64 commented 8 years ago

What, the Third Degree thing? No it isn't, stops TD getting Ubercharge over 100% while it's draining. With the Uber drain rate change, you'll gain 3.33% Uber per hit. Nothing else in the game lets you obtain over 100% Ubercharge, and with this change nothing in VSH will either.

EDIT: I think I see what you meant. You want to remove the part that sets the max var during Ubercharge, since it's defined beforehand already. And then remove that too since it's a static number.

Chdata commented 8 years ago

yes the static number

Starblaster64 commented 8 years ago

Put this PR on the back burner for the moment. Someone pointed out on Reddit that Medic-chains are affected by this bug too. Which is to say, if we have two Medics (A & B), and A pops Uber on B, then B pops their Uber halfway through, if A stops healing B or simply waits until their Uber runs out, B's Uber will be cancelled out along with it.

This PR change wouldn't solve that. Also, now that it has been posted on Reddit there's a chance that Valve will give some priority to the issue, and we may see it patched in a future update (hopefully soon).

Chdata commented 8 years ago

lol

shadow93 commented 8 years ago

Nah, lets put it on the degreaser.

Starblaster64 commented 8 years ago

OK, after the Tough Break update it's still broken. Valve has allegedly fixed the issue in MvM at least, so I'm going to attempt using the attribute again, since that would present itself more clearly to players than modifying the CVAR would.

EDIT: Nope, probably only fixed it while the gamemode logic is MvM or whatever.

Starblaster64 commented 8 years ago

Here's an idea, what if we leave everything as it is, and just add a ClientTimer check onto the Medic?

To elaborate: A Medic who has their Medigun out, and Ubercharge draining above 0% will have the Uber condition constantly applied to them for an Infinite duration. When their Ubercharge reaches 0%, the game will take over and remove condition 5 after 1 second, and add the Uber flicker condition during that time. Weapon switch wouldn't need to be considered, since switching weapons would 'reset' the Uber automatic removal thing, and, upon switching to another weapon the game automatically removes condition 5 (Uber) from the Medic. The heal target wouldn't need to be considered, since they are unaffected by the bug (with the exception of a very small interruption of Uber, only a few frames).

EDIT: Tested this method and found no issues so far.

Chdata commented 8 years ago

It's interesting that that worked.

Starblaster64 commented 8 years ago

Why's that?

Chdata commented 8 years ago

i forget

shadow93 commented 8 years ago

frog

Chdata commented 8 years ago

i froget