Team Fortress 2

Team Fortress 2

Ei tarpeeksi arvosteluja
Charging medic's shield from patient's damage (MvM)
Tekijä Fission Power ja 1 osanottajaa
or why heavy + medic = BFF even more than you thought
   
Palkinto
Lisää suosikkeihin
Lisätty suosikkeihin
Poista suosikeista
Intro
It is a little guide which describes one interesting ability of medic. It's actually translated (maybe poorly, whatever) guide, and do you know why I decided to translate it? I didn't find any information about this ability and its attributes, even on English language! Well, better I will be first.
Description
For everyone who tl;dr this whole guide.
https://www.youtube.com/watch?v=W476-8JetW8


So, what do we know about such a great upgrade as medic's shield? You all know its attibutes - it can destroy all enemy's projectiles (except Bison's projectiles and fire) and deal damage to robots when it touches them.
Yeah, but I'm talking about charging the shield, how medic can charge it? The best known way is healing your teammates. You need to heal or overheal 400 units of health (only 40 units while pre-wave, and 200 units when reviving) and you will charge your personal 12 seconds of universal protection. It's a great Valve's decision, making medic much more useful, powerful, able to offense, when he is successfully healing teammates. And most all, this shield makes a medic much less vulnerable.

However there is another not so well known way to charge medic's shield. When you heal someone who deals damage to robots, your shield's charge will increase, and the more DPS (damage per second) he will deal (with limitation), the more charge will increase - approximately 0.025% per 1 damage. It works with any lethal weapon and any type of damage, not only with bullet and rockets. For example, you can charge your shield from:
- damage from sentries (when you healing engineer who build it);
- damage from any melee weapon;
- when special effects deal damage, like afterburn and bleed, when you heal the person who made this effect;
- killing taunts;
- from other medic, when he deals damage by his shield and you heal him (slightly revers, huh?)
etc.
4000, but...
Yeah. 4k, or 4* 10^3, or 6*666 (almost), or FA0 - it's an amount of damage your patient must deal to charge your shield. But there is a limitation which prevent fast charging.

When your one-hit damage at ONE robot is more than 250, it will add the same amount of shield charge as 250 damage - approximately 6,25%.
That means you can't charge your healer's shield by 8 critted and +100% damage rockets by shooting at ONE enemy, because 540> 250, so you need to deal more damage. Amount of charge from two and more targets is indepenent from each target and additive, even when that targets were hurted by one projectile. So, you need to hit target minimum 16 times (or 16 targets) to charge your healer's shield.
For example, you hit 3 targets by one crit grenade and deal 300 damage to first target and 150 to other. What amount of shield will receive medic, which healed you? Well, as far as I know, medic will charge 6,25% from first target (because 300 > 250, so he cannot charge more than 6,25% from one target by one hit), and 150 ⋅ 0,025 = 3,75% from second and third target. And medic will charge summary 6,25 + 3,75 + 3,75 = 13,75% amount of shield. Not bad, right? 8 grenades - and medic will fully charge his shield.

Important note: hitting tanks by your patient will not increase your charge, remember this.
Source code
After TF2 source code leak in 22.04.2022 we finally can watch how TF2 works from inside, and I managed to find code chunk that is responsible for aforementioned features. And I daresay - it's pretty compact! Talk about "spaghetti code"...

// Give the attacker's medic Energy based on damage done CBaseEntity *pProvider = pTFAttacker->m_Shared.GetConditionProvider( TF_COND_HEALTH_BUFF ); if ( pProvider ) { CTFPlayer *pTFProvider = ToTFPlayer( pProvider ); if ( pTFProvider && pTFProvider->IsPlayerClass( TF_CLASS_MEDIC ) ) { // Cap to prevent insane values coming from headshots and backstabs float flAmount = Min( realDamage, 250.f ) / 10.f; HandleRageGain( ToTFPlayer( pProvider ), kRageBuffFlag_OnHeal, flAmount, 1.f );
So?
Well, medic will be an efficient unit with any team. Of course, pocketing engineer will be more difficult than pocketing heavy, but you still can charge your shield by sentry's damage and then protect it by shield. You can also protect a skilled sniper, charging your shield from his damage - in some situations it will be more effective.

Crits heavily increase damage, so charging shield by damage will be much faster if patient is under crits, But! Watch out for limitation of 250. So:
Heavy and pyro can not deal more than 250 damage per one hit (miniguns shoot 10 separate bullets every second; flamethrowers "shoot" ~23 separate "flames" per second), so this limit can't be reached by them. But pyro in MvM is more rare than heavy, and he have not so much DPS, so the easiest way to charge shield is assisting heavy, so you will charge shield both from healing and overhealing such a big guy and also from his damage! Oh yeah, remember all this kghm... naughty jokes about heavy + medic? Well, this ability is one more reason for their existing.

Tactic "shield -> ubercharge -> shield", giving at least half of minute of protection, works not only for Quick-Fix, but also for Kritskrieg. When you run out of shield but still have crits and under intensive fire, charge heavy or pyro, maybe soldier, if he attacks group of robots, and he will charge your shield very quickly (жust фor you, тovarиch!) The biggest DPS for heavy is ~8000, so he literally can charge shield in half of second!
Conclusion
Well, medic is even more effective im MvM than I thought. Use all of his abilities to be the angel-savior for you team. Not, you know, mercy... ugh. Real angel-savior.
English is not my native language, so there are can be lexical and other mistakes. If you find one, don't evaluate my language abilites, just point on the mistake.
2 kommenttia
Intestinal Evisceration 29.3.2024 klo 10.49 
good info- few people know this
Fission Power  [tekijä] 31.8.2022 klo 16.43 
Added source code.