Deleted the teleports in favor of a trigger_multiple with OnTrigger output. (Thanks @Pdan4 !)
This reduces the needed entities for this logic by like, 96+.
Place this over the spawn room and it'll work as intended.
Deleted the relay that strips all weapons at once.
This has been organized into triggers that delete weapons per-class basis.
Fixed bug where Heavy, Pyro and Engineer would pick up ammo when they didn't have a weapon.
Also, added feature to add player attributes to characters on respawn.
Fixed bug where Thermal Thruster's and Quick-Fix' backpacks would appear on other characters when sent Kill input
Done by sending ClearParent, AddOutput effects 32, and AddOutput classname whatever to said entities.
Fixed bug where Sapper would be usable on Spy
This happens because the Engineer and Spy share the entity tf_weapon_builder, for their PDA and Sapper, respectively. Renaming the classname for the tf_weapon_builder entity will disable for Spy and not Engineer. (I don't know but it does)
Added filter to not kill players (necessary because Source, but really sometimes the trigger sends the kill input to the player and not the weapons)
Updated all logic to support class-specific weapon stripping, instead of sending Kill input to all weapons each and every time.
Added a "cheat" locker to prevent weapons from being deleted (while also letting you keep whatever loadout you'd normally have).
This works by naming the weapon and filtering that weapon out so it isn't deleted when other players are stripped of their loadouts.
Additionally there is a glitch that might occur if someone stays within this prefab's normal resupply locker, then someone touches the "cheat" locker, then that first person walks away from the "normal" locker. This will let that person who didn't touch the cheat locker, to keep their weapons.
Added version history and these same update notes to the prefab.
In MvM, you can switch teams of weapons using TeamNum (any team number) and it works. In PvP, however, this does NOT work and is tied to your character's team.
Tying into the last point, in PvP you can filter which team loses the weapons based on that character's team. In MvM though, you can still filter the weapon but it isn't tied to your character but rather, the team number of the weapon.
In PvP, your weapon will always be tied to your class. So even if you "cheat" by naming your weapon and filtering by non-named weapons, you keep your weapon between lives.
EDIT: To anyone that updates their map and doesn't want to reinstall my logic, all you need to do is set an input on all "playerspawn_teleport" brush entities, and add "OnStartTouch !activator FireUser1 0.01 -1" to the I/O system on all.