Wow.
This is amazing. How did you find the commands?
The possibilities are endless... just after a quick test I've found you can make any class disguise (if you also set the appropriate props).
Great work.
EDIT:
From my quick testing:
0 = Civilian
1 = Sniper Scope (doesn't zoom in)
2 = Start of Disguise sequence
3 = Disguise (set m_nDisguiseTeam, etc. after applying to select the team/class/player/weapon)
4 = Cloak (only seems to work with Spy)
5 = Uber
6 = Glow from recently using a teleporter
7 = Useless (this is used for when you taunt)
8 = Unknown
9 = Unknown (probably useless since it doesn't alter your condition)
10 = Unknown
11 = Kritz (seems to disable when you kill someone)
12 = Unknown
13 = Unknown (probably useless since it doesn't alter your condition)
14 = Bonk'd (only lasts 5 seconds for Scout; interesting note: if you taunt you stay in third person even with sv_cheats 0)
15 = Useless (this is used for when you are slowed after drinking Bonk and when you're stunned)
16 = Unknown
17 = Useless (this is used for when you are ignited, makes you say fire voice response)
18 = Unknown
19 = Jarate
Example code to disguise as your class on the enemy team (after adding condition 3):
Code:
SetEntProp(client, Prop_Send, "m_nDisguiseClass", TF2_GetPlayerClass(client));
SetEntProp(client, Prop_Send, "m_nDisguiseTeam", GetClientTeam(client) == 2 ? 3 : 2);