Why does swapping .ctx files not fully convert the weapon

team-fortress-2

I wanted to mess around with TF2's weapons, so I extracted the files, and tried to modify the .ctx files. I don't have a converter, so I decided just to swap some around. I copied the file tf_weapon_bat_wood (the Sandman) into a folder under the "custom" directory, and renamed it to tf_weapon_bat (the stock Bat). When I started a local game as Scout with the Bat, it had 1 ammo, but I couldn't launch it. I then tried swapping the Wrench with the Gunslinger (couldn't use it), the Engineer's Shotgun with the Rescue Ranger (dropped Huntsman arrows where I stood), and the SMG with the Jarate (creates an SMG I can throw, but nothing happens and it doesn't recharge.)

Why is this happening? I thought the .ctx files were the entire weapon files, and swapping them would cause a full conversion. Did I do something wrong?

Best Answer

A lot of TF2's item properties are done through item attributes. Item attributes are controlled by the Item schema, a copy of which exists in the resources directory as items_game.txt.

However, TF2 validates the item schema every time you start the game so it's actually quite difficult to modify.