DISCLAIMER: While this is a complete list of attributes and conditions list as was documented through source code, they weren't generally tested and may not work as described. Some details were dropped to decrease effort required. It was mostly written for myself.
DISCLAIMER: Not officially official documentation of a retro mod game.
DISCLAIMER: Not for amateurs, may require some basic understand of programming stuff, is some advanced sometimes maybe.

Some stuff affect bot behavior indirectly, like them trying to calculate view with modified gravity, I will ignore it for now.

Attribute class followed by explanation of what they do. Names themselves do not matter, only class and below description_format. And stored_as_integer.

The way that attributes work, code first takes a variable with certain value already set and then 'applies' attribute to it. When I write int or float value, it means that final calculation of appliance is saved. While value applied itself tends to be float (unless you set it as "stored_as_integer").
How the value is applied depends on "description_format" despite such name implying visual loadout appearance only:
1) multiplying original value by new one if their "description_format" is set to "value_is_percentage" (or negative, which is just visual info difference). Default value (when attribute is not defined) is "1.0"
2) adding new value to original one if their "description_format" is set to "value_is_additive" (or substraction or whatever it's called, which is just visual info difference). Default value (when attribute is not define) is "0"
3) strings. "attribute_type": "string", "description_format": "value_is_additive". Default value (when attribute is not defined) is "". 
(binary flags) means that game checks bits instead of whole value. Example: 33 value = ...00100001 - 6th and 1st flag on. Oh yea, and since they are kept in int, instead of unsigned int, you probably want to put negative number if you want to have most significant (32nd) digit active. Do binary signed 32-bit research.
Protip: All int values should be set as additive, by default. Float should be percentages, as in multipliers, but you can sometimes add.

Loadout info is known to only show integers, it's fine, doesn't impact actual value formats or precision.

Due to bug, spy gets to have all the weapon attributes when disguising applied to him as well.



The first description of value in the list whether it's float or int is a type of a result after calculation and applying, the attribute being applied depends on "stored_as_integer".

Effects terminology:
Weapon effect - Applies to weapon itself, looks at itself.
Wearer effect - Applies as long as you have any weapons with this attribute equipped in loadout. It can apply multiple number values per item of same attribute type in such case, summing or multiplying them up.
Active effect - Applies if you are currently holding this weapon in hands.
On hit <x> effect - Applies if weapon hits a target that is not disguised spy or building.
On kill <x> effect - Applies if weapon has killed a target that is not a building. Does not overwrite on-hit effect, they go together.
provide_on_active is a very special attribute worth mentioning here as it can easily turn wearer (and weapon) effects into active ones and worth remembering of. Very meta.

Protip:
This list is mostly unsorted so you should analyse it yourself and put into shape that you like yourself. I sure destroy anything I don't like in my private personalized copy. Every copy will be personalized.
I would even suggest you to replace every "wearer" with "!wearer!" because it's easy to mistake it for "weapon".

The max cloak is set to be a constant 100.0.
Yet uber max is 1.0.
tf_weapon_pipebomblauncher is a sticky launcher. Hello TFQW.

Warning: weapon types in TF2 use the wonders of C++ class inheritance and function override. Sometimes the child weapon type will keep attribute, sometimes it will have function like attack be overriden in a way that has attribute missing in new code block.
A complete list of attributes would be detailed enough to care for it. But I am not paid to do such extensive research.
Same goes for projectiles, quite a lot inherit from base rocket and base grenade. Darts inherit from base rockets, for example.


Working attributes list:
mult_reload_time - Float value. Weapon effect. Applies value to weapon script's reload time value in tf_weapon_tranq. Applies to third person reload animation in reverse due to bug (fixed in 2.1.0).
mult_reload_time_hidden - Float value. Weapon effect. Applies value to weapon script's reload time value in tf_weapon_tranq. Applies to third person reload animation in reverse due to bug (fixed in 2.1.0).
fast_reload - Float value. Weapon effect. Applies value to weapon script's reload time value in tf_weapon_tranq. In tf_weapon_compound_bow will apply to post fire delay value at the end of normal calculation. And to charge time, somehow. Applies to third person reload animation in reverse due to bug (fixed in 2.1.0).
mult_player_aiming_movespeed - Float value. Weapon effect. Applies value to original constant per-weapon (120.0 for tf_weapon_hunterrifle, 160.0 for tf_weapon_compound_bow, 110.0 for tf_weapon_minigun, 80.0 for tf_weapon_sniperrifle) units speed when under (scoped) TF_COND_AIMING condition in tf_weapon_hunterrifle, tf_weapon_compound_bow, tf_weapon_sniperrifle and tf_weapon_minigun. Yea, aiming speed limits other speed values. TODO better explanation.
add_civ_boost_enemies - Int value. Wearer effect. Applies to zero. If result is not zero, tf_weapon_umbrella changes Alt Fire to target enemies and only enemies. Enemies will say negative line when effect is applied, weapon owner does battle cry.
add_civ_boost_override - String value. Wearer effect. String parsed as int and float values. On non-default value, overwrites tf_weapon_umbrella Alt Fire effect when applied. The first value is condition added to targeted player. The duration of condition is tf2c_vip_boost_time (10.0) cvar multiplied by the second value (if the resulting value is -1.0, it will become permanent, but good luck with floating points rounding, dumbass). Condition provider is set to be the owner of the weapon. Condition is added in standard way, with per-condition-addition functions running.
special_taunt - Int value. Weapon effect. Applies to 0. If result is not zero, you will never get Halloween taunt while taunting with this weapon (during Halloween server event). In tf_weapon_bonesaw will also make player perform weapon taunt on Alt Fire.
mult_airblast_cost - Float value. Weapon effect (tf_weapon_flamethrower). Applies value to Alt Fire attack cost set in weapon script.
mult_airblast_refire_time - Float value. Weapon effect (tf_weapon_flamethrower). Applies value to post fire delay in weapon script on Alt Fire use.
mult_flame_ammopersec - Float value. Weapon effect (tf_weapon_flamethrower). Applies value to ammo per shot set by weapon script on Fire.
mult_airblast_cost - Float value. Weapon effect (tf_weapon_flamethrower). Applies value to ammo per shot set by weapon script on Alt Fire.
deflection_size_multiplier - Float value. Weapon effect (tf_weapon_flamethrower). Applies value to 1.0f to be later multipled onto (128.0, 128.0, 64.0) reflection box on Alt Fire.
set_flamethrower_push_disabled - Int value. Weapon effect (tf_weapon_flamethrower). Applies value to zero. If results in non-zero, disables Alt Fire.
airblast_disabled - Works same as set_flamethrower_push_disabled.
airblast_functionality_flags - Int (binary flags) value. Weapon effect (tf_weapon_flamethrower). Applies value to zero. If resulting value is not zero and if Alt Fire is enabled (above two attributes don't disable it) and this value is not set to zero, each bitflag enables a single function of airblast. 1st bitflag - airblast can push enemy. 2nd bitflag - airblast can extinguish teammates. 3rd bitflag - airblast can deflect projectiles.
mult_flame_size - Float value. Weapon effect (tf_weapon_flamethrower). Applies value to tf_flamethrower_boxsize cvar (which is doubled) in order to get box size of a single flamethrower flame.
mult_projectile_speed - Float value. Weapon effect. In tf_weapon_grenadelauncher applies value to projectile's initial velocity which is const 1200.0 units. And in projectile creations for: coils, base nails (in this case it's active effect instead of weapon effect), base rockets. So I guess it works for everything, maybe? 
mult_cloak_meter_consume_rate - Float value. Wearer effect (for some reason). When over 1.0, for invis watch, applies value to 1.0 which is then multiplied by 10.0 in order to get the cloak consumed per second while invisible. For values lower than 1.0f it performs 10.0 * (1.0 / ( 2.0 - (value applies to 1.0)) which is just inverse order of making it drain faster. You can't make it drain slower. I have no idea why it does that. wtf
mult_cloak_meter_regen_rate - Float value. Weapon effect (tf_weapon_invis) (unlike above). Applies value to 1.0, which is then multiplied by 3.3, which is then used to calculate cloak regenerated per second.
lose_cloak_on_damage - Float value. Weapon effect (tf_weapon_invis). Applies to zero. If result is positive, lose this resulting value amount of cloak when damaged while cloaked. Does not scale with damage number. Produces "Weapon_Pomson.DrainedVictim" sound to owner.
set_weapon_mode - Enum value. Weapon effect. Applies to zero. In tf_weapon_invis if set to 3 cloaking and decloaking will emit "Player.Spy_SpeedCloak" and "Player.Spy_SpeedUnCloak" sounds instead of stock. In tf_weapon_medigun if set to 1 it will changes icon, heal sound, particles to Kritzkrieg one and for some reason coded to affect the drain rate on uber when applied to multiple target (1 means it won't be affected). Latter must be a coder mistake, really.
mult_medigun_healrate - Float value. Wearer effect (tf_weapon_medigun). Applies to healing rate value that is taken from weapon script's damage.
set_charge_type - Int value. Weapon effect (tf_weapon_medigun). Applies to zero. Result sets the type of uber. 0 for normal uber, 1 for kritz uber. Answers for everything that applies to target. Charge drain on multiple targets is instead set by set_weapon_mode.
mult_medigun_overheal_uberchargerate - Float value. Wearer effect (weapon owner). Applies value to uber charge gain rate when healing target that are equal or above their normal max health. Do mind that it's still multiplied by 0.5 that is penalty for overhealed target. So set it to 2.0 if you want to remove that penalty, for example.
mult_medigun_uberchargerate - Float value. Weapon effect. Applies value to uber charge gain rate when healing. It doesn't scale Ubersaw hit gain, unless value applied to 1.0 internally results to 0, which will disable Ubersaw uber charge gain too (whether by Ubersaw taunt kill or by add_onhit_ubercharge attribute).
add_uber_time - Float value. Wearer effect. Applies to uber charge time (which is 8.0 seconds). The bigger, the longer it lasts.
mult_minigun_spinup_time - Float value. Weapon effect (tf_weapon_minigun). Applies to minigun spin up time which is 1.0 by default.
mult_minigun_spindown_time - Float value. Weapon effect (tf_weapon_minigun). Applies to minigun spin down time which is 0.5 by default.
minigun_no_spin_sounds - Int value. Weapon effect (tf_weapon_minigun). Applies value to zero. If results is 1, minigun will be silent while spinning.
set_teleporter_mode - Int value. Wearer effect. Applies value to zero. If result is 1, Engineer's will build jump pads instead of teleporters, just press jump on them. Also adds TF_COND_LAUNCHED condition on use, check below list. Game sees them as teleporters rather than separate buildings. (Unpolished prototype stuff. Like you will still take fall damage. Please be patient for 2.1.0, it will rock your butt.)
pda_remote_deploy - Int value. Wearer effect. Applies value to zero. If result is 1, all buildings that are set by Engineer will remain in dormant state until activated by PDA again.
mod_sticky_is_proxy - Int value. Weapon effect (tf_weapon_pipebomblauncher). Applies value to zero. If result is positive, sticky launcher will shoot mines that don't tumble, stick to surface and automatically detonate if enemy is near.
mod_sticky_fizzles - Int value. Weapon effect (tf_weapon_pipebomblauncher). Applies value to zero. If result is positive, sticky launcher will fizzle mines/stickies on Alt Fire instead of detonating them.
mod_sticky_no_detonation - Int value. Weapon effect (tf_weapon_pipebomblauncher). Applies value to zero. If result is positive, your Alt Fire will do nothing to set stickies/mines on sticky launcher. Has higher priority than mod_sticky_fizzles.
stickybomb_charge_rate - Float value. Weapon effect (tf_weapon_pipebomblauncher). Applies value to 4.0 in order to get time it requires to reach 100% charge while holding Fire.
add_max_pipebombs - Int value. Weapon effect (tf_weapon_pipebomblauncher). Applies value to 8 to get max stickies/mines you can have active at the same time.
unimplemented_mod_sniper_no_charge - Int value. Weapon effect (tf_weapon_sniperrifle). Applies value to zero. If result is positive, will disable zoom ability. TODO ought to test it sometimes to find out more.
mod_no_scope - Int value. Weapon effect (tf_weapon_sniperrifle). Applies value to zero. If result is not zero, implements scoping style alike Hunting Rifle - no damage charging, no sniper dot, no sniper crosshair, punchangle not random. FOV is in mod_sniper_soft_zoom tho.
mult_construction_value - Float value. Weapon effect (tf_weapon_wrench). Applies value to construction on-hit speedup. Said construction value onto which it applies has different value depending on whether tf2c_building_gun_mettle cvar it's set to 1 (2.0 additive) or 0 (1.5 multiplier). And then it will work differently with said value. Scary complicated.
mult_repair_value - Float value. Weapon effect (tf_weapon_wrench). Applies value to 1.0 which is repair value. Repair value means how much repair metal you can spend per hit. Not health-to-metal ratio. May result in different results depending on gun mettle cvar.
mult_postfiredelay - Float value. Weapon effect. Applies value to weapon's script post fire delay. For tf_weapon_compound_bow it applies value to 1.0 first before multiplying to whatever post fire delay they have.
mult_deploy_time - Float value. Wearer effect. Applies value to all weapon's script deploy time.
mult_single_wep_deploy_time - Float value. Weapon effect. Applies value to weapon's script deploy time.
mult_switch_from_wep_deploy_time - Float value. 'Last weapon held' effect, the one from which you just switched. Applies value to new weapon's script deploy time.
mult_rocketjump_deploy_time - Float value. Weapon effect. Applies value to weapon's script deploy time if done while user is under TF_COND_BLASTJUMPING condition (rocket or sticky jumping).
mod_medic_healed_deploy_time - Float value. Wearer effect. Applies value to all weapon's script deploy time as long as you are NOT being medigun healed by medic or dispenser. (All these deploy time attributes makes me think of TF2 Live balancing and modding omg)
provide_on_active - Int value. Weapon effect. Applies to zero. When result is not zero, all of the weapon's attributes will be registered only when held by player, unregistered when he switches away to holding another weapon.
mult_crit_chance - Float value. Weapon effect. Applies to random crit chance of the weapon. Mostly used to multiply to 0 so you can have `no random crits` effect, but it's generic enough that you can like double random crit chances.
mult_clipsize - Float value. Weapon effect. Applies to weapon's script of clip size. If you set it to -1 somehow, you get no clip. Unless it's already -1, then attribute doesn't apply and you can't do anything. Use mod_max_primary_clip_override.
mod_max_primary_clip_override - Int value. Weapon effect. Apply value to 0 and if result is not zero then weapon will use value of this attribute instead of weapon's script. Setting it to -1 will give you clipless weapon.
add_reload_refill_time - Float value. Weapon effect. Applies value to 0 and if result is not zero then uses value to calculate reload refill time and then does magic if not zero. Which I believe is time from start of animation at which point it will actually do gameplay clip reload. And if at zero, default, it reloads at the end of animation. One unused feature.
(ON HIT block, below stuff also works on buildings, disguised spy and activates on bleed/afterburn)
add_viewpunch_onhit - Int value. On hit weapon effect. Applies to zero. When result is not zero, randomly throws off victim's aim on hit, value does not matter. Due to code and bugs, when you hit a building with it, it will actually apply this viewpunch to you, it's absolutely hilarious (might get fixed in 2.1.0 due to indirect fixes).
(ON HIT block, below stuff also works on disguised spies and activates on bleed/afterburn)
explode_on_damage - Float value. On hit victim's on wearer effect (as in, you will do this if you got hit while having this weapon). Applies to zero. If result is positive and damage taken at a frame is over resulting value, you will do 50-60 damage explosion that will harm you and enemy. Don't use it, can result in infinite loop stack recursion crash due to bugs, sorry, it was WIP prototype.
mod_onhit_copy_victim - Int value. On hit weapon effect. Applies to zero. If result is not zero, you will copy enemy's class and loadout on hit. Another prototype that was cancelled.
mod_tranq_onhit - Float value. On hit weapon effect. Applies value to zero. Applies TF_COND_TRANQUILIZED effect on victim that lasts resulting value's duration. It's affected by hardcoded falloff, up to only doing 0.3 of duration at >= 1024 units distance range.
add_onhit_addcond - String value. On hit wearer effect (yep, wearer). Effect applies to victim. String parsed as int and float values. The first value is condition added to targeted player. The second value is duration (if the resulting value is -1.0, it will become permanent). Condition provider is set to be the owner of the weapon. Condition is added in standard way, with per-condition-addition functions running.
add_onhit_addcond_self - String value. On hit wearer effect (yep, wearer). Effect applies to attacker (you). String parsed as int and float values. The first value is condition added to targeted player. The second value is duration (if the resulting value is -1.0, it will become permanent). Condition provider is set to be the owner of the weapon. Condition is added in standard way, with per-condition-addition functions running.
add_burn_heals - Float value. On hit wearer effect (why wearer again). Applies to zero. If result non zero and damage type included DMG_BURN type bitflag, it will heal (and overheal) you by resulting value. Or damage you, if negative.
(ON HIT block that isn't special!!)
add_onhit_ubercharge - Float value. On hit weapon effect. Applies to zero and resulting value will give you an uber charge of said value. Btw, value of a fully filled uber charge is 1.0.
add_onhit_addhealth - Float value. On hit weapon effect. Applies to zero and resulting value will give you a healing of said value that doesn't overheal. It will also damage you if set to negative value.
add_onhit_addhealth_vs_burning - Float value. On hit weapon effect. The victim has to be under TF_COND_BURNING. Applies to zero and resulting value will give you a healing of said value that DOES overheal too. Or it will damage you on negative value.
add_onhit_construction - Float value. On hit wearer (ye) effect. Applies to zero. If resulting value is not zero, for every object that you own: if you own tf_weapon_wrench and they are under counstruction, they get wrench's construction hit effect. Then they also get a free repair that scales by damage done and attribute value multiplied together. And free upgrade scaled by damage done alone.
(ON HIT block ended.)
min_viewmodel_offset - String value. Weapon effect. Viewmodel offset. Has to have three float value that overwrite offset vector. Client-side only thingie, just a visual.
effectbar_recharge_rate - Float value. Weapon effect. Applies to weapon's recharge bar time. I think that tf_weapon_umbrella uses another mechanism tho.
mult_bullets_per_shot - Int value. Weapon effect (base gun). Applies to weapon's script bullets per shot. It's for hitscan bullets only.
explosive_bullets - Int value. Weapon effect (base gun). Applies to hitscan bullets, turns them into explosions at the impact point (or if hit nothing) that use weapon script's damage radius for explosion radius (not modified by any attribute). Is unpolished, not doing full damage on direct hit and using accurate hitboxes instead of hulls. (Gets polished in 2.1.0)
mult_projectile_range - Float value. Weapon effect (base gun). Applies value to 1.0 which then multiplies by weapon's script range. Is for hitscan bullets only. Yes. False advertising.
centerfire_projectile - Int value. Weapon effect (base gun). Applies to zero, if results in not zero then weapon will fire projectiles from a center of a screen on horizontal axis. (I think that it also applies to syringe-gun/nailgun on server side but not on client side, hm. Likely to get indirectly fixed in 2.1.0)
mult_explosion_radius - Float value. Weapon effect (base gun). Applies to weapon's script damage radius for explosions of projectiles. Unless it's a rocket, then this value is applied to 146.0 constant instead of weapon's script value. Hardcoded wonders.
projectile_penetration - Int value. Weapon effect (base gun). Applies to 0. If result is 1,  makes weapon's arrow type projectiles becoming penetrating type. Yes, arrow only. TODO check if it actually works.
override_projectile_type - Int enum value. Weapon effect (base gun). Applies to 0. Overwrites what projectile type the gun shoots. Values that are used: 1 - Bullet, 2 - Rocket, 3 - Pipebomb (GL), 4 - Pipebomb Remote (Stickies?), 5 - Syringe, 6 - Flare, 8 - Arrow, 14 - Pipebomb Remote Practice (same as 4), 17 - Cannonball (it will spawn nothing, maybe modders will figure out a use, lol), 29 - Nail, 30 - Dart (tranq), 31 - MIRV (TNT), 32 - Coil (coilgun).
mod_ammo_per_shot - Int value. Weapon effect (base gun). Applies to 0. If result is not zero, it will overwrite weapon's script, instead making weapon take set value of ammo per shot. Flamethrower uses its own ammo attribute. Maybe primary only but what else uses same ammo in RMB that isn't flamethrower? Coilgun uses same primary attack routine, me thinks. Kinda useless, it won't even stop you if you have only 1 ammo left in clip yet requires 5 ammo per shot.
mult_spread_scale - Float value. Weapon effect (base gun). Applies to weapon's script of spread.
mod_sniper_soft_zoom - Int value. Weapon effect (base gun). Applies to 0, if result is not zero then the FOV when zoomed in will only be double of Sniper Rifle's scoped FOV (40 vs 20).
self_mark_for_death - Float value. Weapon effect (base melee). Applies to 0. If result is not zero, then you will have TF_COND_MARKEDFORDEATH_SILENT condition applied on you of resulting value duration on every frame and on holster.
self_mark_for_death_alt - Float value. Weapon effect (base melee). Applies to 0. If result is not zero, then you will have TF_COND_MARKEDFORDEATH_SILENT condition applied on you of resulting value duration on every frame but NOT on holster. I am as lost as you, seems same. Comment from dev: Pretty much just makes it only apply if the weapon is fully out, since otherwise you could quickly switch to it and back, but holster immediately gives it to you.
self_mark_for_death_on_miss - Float value. Weapon effect (base melee). Applies to 0. If result is larger than zero, then you will have TF_COND_MARKEDFORDEATH_SILENT condition applied on you of resulting value duration if you miss your attack with it. Since result has to be larger than zero, you can't have permanent curse, sorry.
particle_on_melee_hit - String value. Weapon effect (base melee). Value is a name of particle that gets spawned on hit. I think it even precaches.
melee_bounds_multiplier - Float value. Weapon effect (base melee). Value applies to the size (double of 18.0) of melee attack detection cube hull that it throws forward if direct hitscan failed.
melee_range_multiplier - Float value. Weapon effect (base melee). Value applies to the range (48.0) of melee attack. Should add cube hall's half of size to that, really. 
mult_dmg - Float value. Weapon effect. Applies value to weapon's damage from weapon script. Unless it's scoped sniper rifle, which then applies value first to 1.0 and then multiplies to damage, just to make it messy if you use addition.
custom_projectile_model - String value. Weapon effect. Overwrites the model of the projectile as long as the projectile type if TF_PROJECTILE_BASE_ROCKET or TF_PROJECTILE_BASE_GRENADE whcih I think is all of them. But it doesn't precache? Thus only works on precached other ones that are in the game? Ugh.
or_crit_vs_playercond - Int (bitflags) value. Weapon effect. Applies to zero. It's a very fancy function. It loops through all of game's conditions and checks same id's bitflag on victim. (!)The condition list it uses are special list that is listed at the very bottom fo the file!(!) If target has said condition and bitflag is set (target is in TF_COND_BURNING or TF_COND_ZOOMED and we have ...0101 aka 5 value, for example), it crits. Using bitflag allows one to make function crit against multiple conditions at same time.
or_crit_vs_not_playercond - Int (bigflag) value. Weapon effect. Refer to or_crit_vs_playercond for reference. But now it crits if bitflags is set on certain conditions and player is not in said conditions. And for example, in case of ...0101 it will crit if targer doesn't have TF_COND_BURNING or/and (it's not exclusive AND!) if doesn't have TF_COND_ZOOMED.
crit_vs_wet_players - Int value. Weapon effect. Applies to zero. If result is not zero, the weapon will crit victim if target touched even a small pool of water in the last 5 seconds. Brutal. It doesn't check for any condition, just level geometry water. We don't have any wet-like condition anyway.
crit_vs_bleeding_players - Int value. Weapon effect. Applies to zero. If result is not zero, the weapon will crit victim who is bleeding aka under TF_COND_BLEEDING condition, as long as damage itself is not bleed damage.
mod_no_dmg_falloff - Int value. Wearer effect (wearer effect is a programmer mistake, it will become weapon effect in 2.1.0!). Applies to zero. If result is not zero, the weapon will have no falloff. It will still have rampup tho.
headshot_damage_modify - Float value. Weapon effect. Applies to crit modifier (3.0) on headshot.
set_dmgtype_ignite - Int value. Weapon effect. Applies to zero. If result is not zero, it will apply DMG_IGNITE flag to weapon's damage type, thus set victim on fire.
mod_pierce_resists_absorbs - Int value. Weapon effect. Applies to zero. If result is not zero, the weapon's damage will ignore the resistance/vulnerability modifiers that are: VIP's passive aura armor aka TF_COND_RESISTANCE_BUFF and the two below attributes. Do mind that it complete ignores both positive and negative changes, so you won't do any more damage to vulnerable targets. (I think that in 2.1.0 everything will go into piercable block)
(start of piercable)
mult_dmgtaken_from_crit - Float value. Wearer effect. Activates on you if you are a victim. Applies to bonus damage taken from enemies. Bonus damage is (total damage - base damage), aka, if you got crit with 150 damage, bonus damage is 100.
mult_dmg_vs_burning - Float value. Active effect (yes, only if you hold said weapon). And you are attacker. Applies to base damage (as in, without crit portion) done by you if enemy is under TF_COND_BURNING condition. (So if the damage dealing weapon of yours has said pierce effect than this attribute does nothing, oh joy)
(end of piercable)
mult_dmgtaken - Float value. Wearer effect. Applies to total damage (as in, both bonus and base) done to you. (In practice almost like having less/more HP but doesn't affect how much Medic has to heal you)
mult_dmgtaken_active - Float value. Active effect. Applies to total damage done to you.
dmg_from_sentry_reduced - Float value. Wearer effect. Applies to total damage done to you by sentry.
rocket_jump_dmg_reduction - Float value. Wearer effect. Applies to total self-damage done to yourself as long as it's explosive aka has DMG_BLAST flag and you hit no one else with same explosion.
no_self_blast_dmg - Float value. Weapon effect. Applies to zero. If result is not zero and it's a self-damage, the damage gets nulled. It doesn't require DMG_BLAST, no. Also plays a whistling sound if you rocket jumped with this attribute.
blast_dmg_to_self - Float value. Weapon effect. Applies to self-damage. Yes, still no DMG_BLAST requirement despite the name.
mult_wpn_burndmg - Float value. Weapon effect. Applies to afterburn damage done (which is tf2c_afterburn_damage cvar which is currently 4).
mult_wpn_burntime - Float value. Wearer effect (yes, no weapon). Applies to afterburn duration (which is tf2c_afterburn_time cvar aka 7.5 currently) that you put on others.
mult_cloak_rate - Float value. Wearer effect. Applies to time it takes to cloak (which is 1.0s).
set_quiet_unstealth - Int value. Wearer effect. Applies to zero. If result is exactly 1, the decloak will emit "Player.Spy_UnCloakReduced" sound instead of usual.
mult_decloak_rate - Float value. Wearer effect. Applies to zero. If result is positive, it will be used for multiplying decloak rate (which ends up being 2.0s by default). The bigger, the longer it takes.
mult_healing_from_medics - Float value. Wearer effect. Applies to healing amount done by all Medics currently healing you. It only means Medigun, it's for constant healing sources only. Calculated only when healing source is first registered.
add_civ_aura_override - Int value. Wearer effect. Applies to -1. If result is not -1 (which is nice as condition index starts with zero), it will overwrite TF_COND_RESISTANCE_BUFF to resulting condition ID to be added to other players in your radius if you are a VIP. Yea, that passive aura effect overwrite. All conditions added last 1.2s.
mult_player_movespeed - Float value. Wearer effect. Applies to player's movespeed. Later in calculation, it will take the minimum between resulting movespeed here and aiming-based movespeed, so this attribute can't be used to make aiming movespeed faster.
mult_player_movespeed_cloaked - Float value. Wearer effect. Applies to player's movespeed when they are in TF_COND_STEALTHED condition.
cannot_pick_up_intelligence - Int value. Wearer effect. Applies to zero. If result is positive, you aren't allowed to pick up intel/flag.
mod_teleporter_cost - Float value. Wearer effect. Applies to 1, which is then multiplied to teleporter cost.
building_cost_reduction - Float value. Wearer effect. Applies to the cost of every building (including teleporter).
mod_armor_footsteps - Int value. Wearer effect. Applies to zero. If result is not zero, your footstep sounds are overwitten to emit "TFPlayer.ArmorStepLeft" and "TFPlayer.ArmorStepRight" sounds.
cannot_pick_up_buildings - Int value. Wearer effect. Applies to zero. If result is not zero, you aren't allowed to pick up buildings. Not even with building_teleporting_pickup attribute.
building_teleporting_pickup - Int value. Weapon effect (yep, have to hold it). Applies to zero. If result is not zero, it will allow you to pick up the building withing 250 units range at a cost of resulting value of metal.
mult_maxammo_primary - Int value. Wearer effect. Applies to player's max primary weapon (TF_AMMO_PRIMARY) ammo count.
mult_maxammo_secondary - Int value. Wearer effect. Applies to player's max secondary weapon (TF_AMMO_SECONDARY) ammo count.
mult_maxammo_metal - Int value. Wearer effect. Applies to player's max metal (TF_AMMO_METAL) ammo count.
mult_maxammo_grenades1 - Int value. Wearer effect. Applies to player's max 'grenades' (TF_AMMO_GRENADES1) ammo count. Which is stuff used by things like sandvich, whatever is set in each weapon script.
rocket_lifetime - Float value. Wearer effect. For base rocket projectiles. Applies to zero and if results is not zero, sets a detonation timer for projectile after being spawned.
mod_rocket_gravity - Float value. Weapon effect. For base rocket projectiles. Applies to zero. If result is not zero, will set the resulting value as projectile's gravity value and also will produce RPG rocket whistle while flying and won't get removed nor detonated on skybox touc.
mod_use_metal_ammo_type - Int value. Weapon effect. Applies to zero. If result is not zero, weapon will be set to use metal (TF_AMMO_METAL) as a source of ammo.
mod_no_reload_display_only - Float value. Weapon effect. Applies to 1. If result is not 1, then it will be set to non-single reload (it won't force single-reload on zero, no). I am not sure how it works, TODO, need to check. But I doubt it's visual only. I think it will make one-by-one-ammo reload types weapons to reload whole clip immediately.
set_scattergun_no_reload_single - Int value. Weapon effect. Applies to 0. If result is 1, behaves same as mod_no_reload_display_only.
halloween_pumpkin_explosions - Int value. Wearer effect. Applies to 0. If result is positive, I have no idea, it does something to "sentry_rocket" visuals particle to replace them "halloween_rockettrail" and I have no idea if TF2C includes this particle. TODO check.
voice_pitch_scale - Float value. Wearer effect. Applies to 1.0. If result is not 1.0, your character's voiceline pitch will be multiplied by resulting value.
halloween_voice_modulation - Int value. Wearer effect. Applies to zero. If result is not zero, your character's voiceline pitch will be multiplied by 0.8. Whoever sneaked these halloween stuff is silly. Takes priority over voice_pitch_scale.
particle_effect_use_head_origin - Int value. Weapon effect (I guess). Applies to zero. If result is not zero, it will try to apply particle to er head/helmet/hat bone. I don't know animation codebase system, don't ask me how it works, I have no idea.
particle_effect_vertical_offset - Float value. Weapon effect (maybe). Aplies to vertical offset of particle, as long as particle_effect_use_head_origin made it attach to head bone. Maybe.
bot_medic_uber_health_threshold - Int value. Wearer effect. Bot only. Applies to zero. If result is positive, it will overwrite bot medic's health threshold underneath (or equal) at which he will pop stock (not kritz) uber. But only in case he was injured in last 1 second. And there are other conditions for medic bot, like always popping uber at 25 health. And whole "are we still being shot". So ugh, a bit too not powerful enough, yea.
bot_medic_uber_deploy_delay_duration - Int value. Wearer effect. Bot only. Applies to zero. if result is not zero, it will wait this amount of time if it decided to pop uber before actually popping it.
bot_custom_jump_particle - This value exist but it's enabled only in Mann vs Machine mode which is never. But here it goes. Int value. Wearer effect. Bot only. Applies to zero. If result is not zero, both feet will dispatch "rocketjump_smoke" particles on jump. (Won't be surprised if it gets removed instead of fixed)
mult_engy_building_health - Int value. Wearer effect. Applies to each building's base level max health, before that gets multiplied by a level.
mult_dmg_vs_buildings - Float value. Weapon effect. Applies to damage done by your weapon to a building.
upgrade_rate_mod - Float (albeit set to int var) value. Wearer effect. Applies to amount of metal you can put into building upgrade on hit (25 unless setup and all).
mult_dispenser_rate - Float value. Wearer effect. Multiplies how much ammo your dispenser gives per ammo-giving action and multiplies how much metal gets refilled in your dispenser per refill action. Dispensers don't give GRENADE1 ammo, btw, FYI.
no_primary_ammo_from_dispensers - Int value. Active effect. Applies to zero. If result is not zero, then you won't get any TF_AMMO_PRIMARY ammo from dispenser/cart. Yea, it's active weapon thing and there is not secondary weapon ammo version.
no_metal_from_dispensers_while_active - Int value. Active effect. Applies to zero. If result is not zero, then you can't get any metal from dispenser/cart.
mult_dispenser_radius - Float value. Wearer effect. Applies to your dispenser's radius of effect (which is 64.0).
mult_sapper_health - Int value. Wearer effect. Applies to your sapper's health (which is obj_sapper_health cvar that is usually 100). FYI, wrench does 65 damage to sapper, it takes wrench damage number.
set_sentry_projectile - Int value. Wearer effect. Applies to zero (which is set on zero when it spawns, but it applies to it everytime sentry goes active). If result is positive, your sentry will fire 16 damage darts instead of bullets (that also do 16).
bidirectional_teleport - Doesn't work because standing on teleporter exit won't add you to teleporter player queue list. How it would work once fixed: Int value. Wearer effect. Applies to 0. If result is positive, you can use any teleporter exit to teleport to the entrace. No, it's not a builder thing but user thing.
add_health_regen - Float value. Wearer effect. Applies to zero. If resulting value is not zero, said value will be added as a regeneration, which is scaled from 0.25 within 5 seconds since last damage up to 1.0 after 10 seconds since last damage. Also can work negatively. It is then separately summed to Medic's own regen.
allowed_in_medieval_mode - Int value. Weapon effect. Applies to zero. If resulting value is not zero, it's allowed in Medieval Mode. Melee and disguise kit are always allowed, no need for this. Has anyone ever tried to enable Engineer PDAs? It should work according to code.
experimental_weapon - Doesn't work. Int value. Weapon effect. Applies to zero. If resulting value is not zero, then trying to equip this weapon will give you stock instead. The way code is setup, at some point there was cvar to enable/disable such weapon, but it is what it is now.
sentry_build_rate_multiplier - Float value. Wearer effect. Applies to your sentrygun's base build rate.
teleporter_build_rate_multiplier - Float value. Wearer effect. Applies to your teleporter's base build rate.
dispenser_build_rate_multiplier - Float value. Wearer effect. Applies to your dispenser's base build rate.
boots_falling_stomp - Int value. Wearer effect. Applies to zero. If result is not zero, then when you land on enemy player in situation where you would otherwise take fall damage, then you don't take fall damage and enemy gets (10.0 + fall_damage * 3) damage. It seconds a wearable in your secondary slot as a weapon that dealt damage.
apply_z_velocity_on_damage - Float value. Weapon effect. Applies to zero. If result is not zero, applies said value to target's Z velocity impulse. Do mind that in Source engine Qphysics you need certain velocity impulse to get target off ground. Does not scale with damage.
apply_look_velocity_on_damage - Float value. Weapon effect. Applies to zero. If result is not zero, applies said value to vector in direction of attacker's viewangle, albeit Z axis velocity impulse can't less than zero.
bleeding_duration - Float value. Weapon effect. Applies to zero. If result is positive, applies bleed to target of value's duration, for said weapon. Yes, in TF2 logic, bleed is per-attacker-weapon thing thus victim can have multiple bleeds going on from different weapons at same time, unlike burn where there can be only one for victim. Doesn't apply on self-damage blast and on bleed itself.
mult_dmgself_push_force - Float value. Weapon effect. Applies to 1. It is then multiplied to knockback force on self-damage done by this weapon. Unless you are Soldier who somehow self-damage self with non-DMG_BLAST.
damage_force_reduction - Float value. Wearer effect. Applies to 1. It is then multiplied to knockback force that isn't self-damage done to you.
add_onkill_critboost_time - Float value. On kill weapon effect. Applies to 0. If result is not zero, it applies TF_COND_CRITBOOSTED_ON_KILL condition on you that lasts resulting value duration. Yes, crits.
heal_on_kill - Float (why) value. On kill active (why) effect. Applies to 0. If result is not zero, it will give you a heal (that can overheal) of resulting amount if positive, make you take damage if negative.
ragdolls_become_ash - Int value. On kill weapon effect. Applies to 0. If result is not zero, the killed target ragdoll will be turned into ash (alike what you see with Shock Therapy).
add_maxhealth - Int value. Wearer effect. Applies to 0. The result is then added to class max health. It will also impact the overheal max buff to be still 1.5 of max health.
set_keep_disguise - Int value. Weapon effect. Applies to 0. If result is positive, this weapon won't drop Spy disguise (TF_COND_DISGUISING and TF_COND_DISGUISED) when fired.
mult_metal_pickup - Int value. Wearer effect. Applies to metal given per ammo pack or dispenser. In case of Dispenser, it will remove the modified amount of metal from it, so no, you can't get more than usual.


On conditions:
Target can have conditions of every type at the same time. If duration of condition is -1.0, then it will be permanent unless manually removed by in-game code. When same condition is applied, the provider will be changed but the game will choose the longest duration between old and new value.

I will list only conditions that do anything. Conditions extend from 0 to 114, the ones that are set. Those that aren't listed aren't used, but they will still behave properly as blanks if you somehow put anything into them. Just telling to sourcemod makers, I guess.

A bunch of first dozens of conditions are like helper conditions for game to keep track of things, they don't do any work stand-alone and thus shouldn't be added by themselves, they won't really work.

Conditions (for add_onhit_addcond, add_onhit_addcond_self, add_civ_boost_override, add_civ_aura_override):
0 - TF_COND_AIMING - Mostly used to check on speed depending on aim, doesn't even do as much, animation checks for it. Adding/removing it manually won't call for speed change function, so better not touch it.
1 - TF_COND_ZOOMED - Required for Sniper Rifle to headshot. Animations depends on it too. Probably not something to set yourself.
2 - TF_COND_DISGUISING - DISGUISED but we aren't done disguising yet, but some effects can already take place like enemy VIP passive aura.
3 - TF_COND_DISGUISED - Pretty much the main way that game keeps up whether Spy is diguised, thus whether to apply or have sentry shoot him. Albeit maybe sentry also checks on Spy class.
4 - TF_COND_STEALTHED - Condition when you are cloaked. Consume cloak, not able to attack, call speed recalculation, maybe you get invis. Should be safe to set.
5 - TF_COND_INVULNERABLE - Uber state. Take no damage. Be shiny. Other uber-charge-related things. Better use stand-alone below.
6 - TF_COND_TELEPORTED - Pretty much one way game keeps up whether to still apply "just teleported" particle effect.
7 - TF_COND_TAUNTING - Game keeping up whether player is taunting. No reload or attack and etc. I don't think that it by itself calls taunt animation, rather taunt animations functions set this one.
8 - TF_COND_INVULNERABLE_WEARINGOFF - Add it along with any invulnerable condition so it will appear as if player is about to lose it.
9 - TF_COND_STEALTHED_BLINK - Helping condition for STEALTHED, decreases scale of player invisibility.
10 - TF_COND_SELECTED_TO_TELEPORT - Condition that game puts on player when they started teleportation but not gone yet in new coordinate.
11 - TF_COND_CRITBOOSTED - Kritz effect, yep. I think that Kritz uber may end up removing it early. Better use stand-alone below.
14 - TF_COND_PHASE - Almost unused, will block stuns and something about taunt dunno.
15 - TF_COND_STUN - Helper condition for game to keep up with stuns. But unlikely to work or do anything without additional stun flags.
21 - TF_COND_HEALTH_BUFF - Helper condition for game to keep up with players who are being healed by medigun or dispenser currently. Don't use it by itself.
22 - TF_COND_BURNING - Helper condition for game to keep up with players on fire. Airblast can remove it. And water. Uses inner variables to actually keep track of other properties, so don't set it by itself.
23 - TF_COND_HEALTH_OVERHEALED - Helper condition for characters who have more than max health. Mostly used to just give them overheal particles effect. One of those that are updated every frame so don't bother adding it.
24 - TF_COND_URINE - Just colors parts of players yellow. Gets removed faster if player being healed.
25 - TF_COND_BLEEDING - Helper condition to keep track of players who bleed. Once again doesn't work properly by itself.
27 - TF_COND_MAD_MILK - Nothing aside from being removable faster by healgun.
28 - TF_COND_MEGAHEAL - As uber or medigun charge it doesn't exist and nothing adds or removed it, but this condition can block stuns and blocks non-selfdamage knockback too. So can be used for that, nifty.
30 - TF_COND_MARKEDFORDEATH - Yep, marked for death, setting it will make it block properly. Do mind that nothing in the game makes it so you can mark only one player for death, no limits. Take minicrits, can't have medigun decrease duration.
33 - TF_COND_CRITBOOSTED_PUMPKIN - Critboosted but by pumpkin. Standard critboost effect of doing crit and having particles. Works wonderfully by itself.
34 - TF_COND_CRITBOOSTED_USER_BUFF - Same as TF_COND_CRITBOOSTED_PUMPKIN.
35 - TF_COND_CRITBOOSTED_DEMO_CHARGE - Same as TF_COND_CRITBOOSTED_PUMPKIN.
37 - TF_COND_CRITBOOSTED_FIRST_BLOOD - Same as TF_COND_CRITBOOSTED_PUMPKIN.
38 - TF_COND_CRITBOOSTED_BONUS_TIME - Same as TF_COND_CRITBOOSTED_PUMPKIN.
39 - TF_COND_CRITBOOSTED_CTF_CAPTURE - Same as TF_COND_CRITBOOSTED_PUMPKIN.
40 - TF_COND_CRITBOOSTED_ON_KILL - Same as TF_COND_CRITBOOSTED_PUMPKIN.
41 - TF_COND_CANNOT_SWITCH_FROM_MELEE - Forces player to switch to his melee and won't let go until duratio is over. Another good stand-alone.
48 - TF_COND_MARKEDFORDEATH_SILENT - Almost same as TF_COND_MARKEDFORDEATH but condition provider won't get assist if player with this condition is killed. In other words, it's a Fishwhacker hack because no one coded it so player can't assist himself in his own murder. Also has a different HUD image.
49 - TF_COND_DISGUISED_AS_DISPENSER - You will appear as dispenser to enemy players if you duck and also you run 2 times faster. Sus. Won't update speed on removal, only on add.
51 - TF_COND_INVULNERABLE_HIDE_UNLESS_DAMAGED - Invulnerable but it shows uber texture only if you took would-be-damage in the last 2 seconds. Good one to call by itself.
52 - TF_COND_INVULNERABLE_USER_BUFF - Just invulnerable like uber, but not connected to Medigun funcionality. Good one to call by itself.
53 - TF_COND_HALLOWEEN_BOMB_HEAD - Something about taunts and you also don't get slowed when in loser-state, like when scared by koth_harvest_event ghost. (Looking at this list makes me feel like I am reading in-detailed article on The Cutting Room Floor, same vibe)
54 - TF_COND_HALLOWEEN_THRILLER - Taunt helper thingie for something in single function.
56 - TF_COND_CRITBOOSTED_CARD_EFFECT - Same as TF_COND_CRITBOOSTED_PUMPKIN.
57 - TF_COND_INVULNERABLE_CARD_EFFECT - Same as TF_COND_INVULNERABLE_USER_BUFF.
64 - TF_COND_STEALTHED_USER_BUFF - Cloak-like invis but it's not tied to Spy invis watch meter or anything, can attack too. Don't think it's impacted by cloak speed attribute tho. I think. Good one to give by itself.
67 - TF_COND_BULLET_IMMUNE - Makes you immune to bullet type attacks ( DMG_BULLET | DMG_BUCKSHOT ).
68 - TF_COND_BLAST_IMMUNE - Makes you immune to blast type attacks ( DMG_BLAST ).
69 - TF_COND_FIRE_IMMUNE - Makes you immune to fire type attacks ( DMG_BURN | DMG_IGNITE ).
74 - TF_COND_HALLOWEEN_GIANT - Doubles the model scale and gives them ten times max health and sets health to it too!
75 - TF_COND_HALLOWEEN_TINY - Shrinks the model scale by two.
77 - TF_COND_HALLOWEEN_GHOST_MODE - Something about taunt too. I think those are client-side animation sanity checks.
81 - TF_COND_BLASTJUMPING - Gets added when you do rocket or sticky jump and then removed on landing. For now just interacts with deploy speed attribute one.
82 - TF_COND_HALLOWEEN_KART - Stun animation won't play. That's all. Literally Mario Kart.
105 - TF_COND_CRITBOOSTED_RUNE_TEMP - Same as TF_COND_CRITBOOSTED_PUMPKIN.
109 - TF_COND_TRANQUILIZED - TF2C Tranq effect. It fully works by itself without any other variables! 1.33 longer melee swings, reload speed, weapon deploy times, wind-up, wind-down. White-black visual, not showing ID info of crosshair target. And tf_weapon_knife will activate TF_COND_CRITBOOSTED_HIDDEN for 0.2s if it tries to hit player in this condition.
110 - TF_COND_AIRBLASTED - Flamethrower adds this to victim for 0.5s on airblast, it prevents players from moving toward airblast origin which flamethrower sets. If you add by itself, it will be the center of a map. Thus not useful by itself.
111 - TF_COND_RESISTANCE_BUFF - Damage done to players under this condition have base damage multiplied by tf2c_vip_armor cvar (0.8). Particles, sound.
112 - TF_COND_DAMAGE_BOOST - Minicrit-like condition usually given by civ. It also makes your sentries do minicrit damage and your medigun will heal 1.35 more (if tf2c_medigun_critboostable cvar is enabled). Your gun will look shiny.
113 - TF_COND_LAUNCHED - Enables same code block as boots_falling_stomp attribute, with all the quirks. Yea, fall damage is transferred to enemy on landing them. Always removed when touching ground. Usually added by jumppad.
114 - TF_COND_CRITBOOSTED_HIDDEN - Crit boost alike TF_COND_CRITBOOSTED_PUMPKIN but without shiny gun or particles visuals.

Have I reminded you yet that I haven't tested anything and just been looking at code and figuring it out from there, like a theoretic?


These cvars are just the ones that I think a modder can use for fruther balancing and tweaks, to set on their server. I didn't write 95% of descriptions, it's part of their cvars, you can check their default values at in-game console too.

cvars:
tf2c_vip_boost_time - Length of boost time for the VIP's target (this is where you change default to tf_weapon_umbrella)
tf2c_vip_boost_cooldown - Length of boost cooldown for the VIP himself (the only place where you can change cooldown of all your tf_weapon_umbrella weapons)
tf2c_vip_armor - Multiply damage taken under Civilian's morale boost by this much (affects TF_COND_RESISTANCE_BUFF condition)
tf2c_coilgun_charge_time - Time it takes to fully charge coilgun shot (all tf_weapon_coilgun)
tf2c_jumppad_speed - Horizontal speed applied to jump pad users
tf2c_jumppad_height - Vertical force applied to jump pad users
tf2c_afterburn_damage - Afterburn damage per tick (default one for all)
tf2c_afterburn_time - Afterburn duration (default one for all)
tf2c_sandvich_old - Use old Sandvich behavior (on taunt: +120HP but no recharge)
tf2c_pistol_old_firerate - Restore old semi-automatic pistol behavior.
tf2c_spy_gun_mettle - Toggles Spy's higher move speed, debuff reduction while cloaked, and damage to sapped Sentries
tf2c_building_gun_mettle - Toggles Engineer's hauling move speed, construction, deploy speed for certain buildings, building costs, and minigun resistance
obj_sapper_health - Sapper health
obj_sapper_amount - Amount of health inflicted by a Sapper object per second (these two had no flag, do they even work?)
tf_weapon_criticals_distance_falloff - Critical weapon damage will take distance into account.
tf_weapon_minicrits_distance_falloff - Mini-crit weapon damage will take distance into account.
tf2c_sticky_rampup_mindmg - Initial stickybomb damage factor
tf2c_sticky_rampup_time - Seconds after arm time to ramp up to full damage
tf2c_sticky_touch_fix - 0 = off, 1 = stickybombs attach to static func_brush and func_breakable, 2 = also attach to static func_door
tf2c_sticky_rampup_minradius - Initial stickybomb explosion radius factor
tf2c_building_hauling - Toggle Engineer's building hauling ability
tf2c_projectile_ally_collide - If enabled, projectiles start colliding with teammates 0.25s after being fired or reflected.
tf2c_ctf_touch_return - If enabled, flags instantly return to their base when touched by a teammate.
tf2c_ctf_reset_time_decay - Carried flags remember their reset time (instead of resetting to full)
tf2c_spy_cloak_ammo_refill - Allows Spy to re-fill his cloak charge from ammo pickups
tf2c_ctf_attacker_bonus - CTF players respawn faster when far away from their flag base
tf2c_ctf_attacker_bonus_dist - Minimum distance from own flag base to qualify for fast respawn
tf2c_vip_bonus_time - Length of crit time for the VIP killer
tf2c_vip_abilities - Abilities the VIP can use (0 = Disabled, 1 = Resistance Buff, 2 = Damage Boost, 3 = Resistance Buff + Damage Boost)
tf_medieval - Enable Medieval Mode.
tf2c_falldamage_disablespread - Toggles random 20% fall damage spread
tf2c_allow_special_classes - Enables gamemode specific classes (Civilian, ...) in normal gameplay (1 = Enabled, 2 = Enabled + Special Class Disguising)
tf2c_item_testing - Enables item testing features (after which you can do cl_reload_schema and sv_reload_schema and all while changing items_game outside to have it immediately affect game)
tf2c_building_upgrades - Toggles the ability to upgrade buildings other than Sentry Gun.
tf2c_pumpkin_loot_drop_rate - Sets drop percentage for pumpkin loot on Halloween maps.
tf_damage_disablespread - Toggles the random damage spread applied to all player damage
tf2c_infinite_ammo - Enabled infinite ammo for all players. Weapons still need to be reloaded
tf2c_ctf_carry_slow - Makes flags slow down their carrier. 0 = DISABLED, 1 = ENABLED, 2 = BASED ON MULTIPLIER (1 means per-class thingie, go 2)
tf2c_ctf_carry_slow_mult - Slows down flag carriers by a specified percentage
tf2c_ctf_carry_slow_blastjumps - Also reduce blast jump force of flag carriers
tf2c_spywalk - Allows Disguised Spies to use their regular movement speed rather than their disguise's by using +SPEED
tf2c_randomizer - Enables Randomizer Mode, players will spawn with random classes and/or loadouts and/or attributes\n(0 = Disabled, 1 = Classes, 2 = Items, 3 = Classes + Items, 4 = Attributes, 5 = Classes + Attributes, 6 = Items + Attributes, 7 = Classes + Items + Attributes)
tf2c_randomizer_script - Script file that Randomizer Mode will load its data from
tf2c_airblast - Enable/Disable the Airblast function of the Flamethrower.
tf2c_airblast_players - Enable/Disable the Airblast pushing players.
tf2c_flamethrower_wallslide - Whether flame entities slide along hit walls.
tf2c_airblast_gracetime - How long Airblast reflect hitbox lingers
tf2c_medigun_setup_uber - Grants the medigun an increased charge rate during setup
tf2c_medigun_multi_uber_drain - Increases the medigun drain rate when charging multiple teammates
tf2c_medigun_critboostable - Grants the medigun increased charge and heal rate under (mini)crits (yes, 3x under normal critboost too)
tf_weapon_criticals - Whether or not random crits are enabled.
tf2c_weapon_noreload - Disables reloading for all weapons.
tf2c_vip_criticals - Whether or not random crits are enabled in VIP mode.
tf_use_fixed_weaponspreads - If set to 1, weapons that fire multiple pellets per shot will use a non-random pellet distribution.
tf_weapon_criticals_melee - Controls random crits for melee weapons. 0 - Melee weapons do not randomly crit. 1 - Melee weapons can randomly crit only if tf_weapon_criticals is also enabled. 2 - Melee weapons can always randomly crit regardless of the tf_weapon_criticals setting.
tf2c_homing_rockets - What is "Rocket + x = Death"?
tf2c_homing_deflected_rockets - Homing Crit Rockets 2: Back with Vengeance
tf2c_bouncing_rockets - ROCKET STORM! (yea, leaving the description of the last three cvars as is, is silly)

Thank god for coffee and chocolate.

List of conditions that is used by or_crit_vs_playercond and or_crit_vs_not_playercond, by their int value (not bitflag):
1 - TF_COND_BURNING (in normal attributes list it's under slot 22, in case you want to give it and then have weapon crit against)
2 - TF_COND_AIMING (0)
4 - TF_COND_ZOOMED (1)
8 - TF_COND_DISGUISING (2)
16 - TF_COND_DISGUISED (3)
32 - TF_COND_STEALTHED (4)
64 - TF_COND_INVULNERABLE (5) (roflmao why)
128 - TF_COND_TELEPORTED (6)
256 - TF_COND_TAUNTING (7)
512 - TF_COND_INVULNERABLE_WEARINGOFF (8)
1024 - TF_COND_STEALTHED_BLINK (9)
2048 - TF_COND_SELECTED_TO_TELEPORT (10)
4096 - TF_COND_CRITBOOSTED (11)
8192 - TF_COND_TMPDAMAGEBONUS (yea, unused one) (12)
16384 - TF_COND_FEIGN_DEATH (unused too, etc) (13)
32768 - TF_COND_PHASE (14)
65536 - TF_COND_STUNNED (15)
131072 - TF_COND_HEALTH_BUFF (21)
262144 - TF_COND_HEALTH_OVERHEALED (23)
524288 - TF_COND_URINE (24)
1048576 - TF_COND_ENERGY_BUFF (19)