Currently in the game files there sits an unused 10th class index, named "civilian". As of right now, it is a barebones class with 200 max health that moves at 250 HU/s, using the Scout model with no voice lines. It also has no weapons and 0 max ammo across for everything. While the health, move speed, player model and weapons could be easily changed using VScript, there is no way to multiply the max ammo with attributes when the max ammo is 0.
I think there can be a lot of potential into converting this unused class to be a template class, basically adding fully customizable classes that are separate from the normal playable 9. So to make this work, I think the following should be changed:
Setting the 10th class to use any .ctx class file, specified by VScript. This can be custom .ctx files packed into maps, and should also be synced to clients. This should let the server freely define max health, move speed, max ammo, models, and localized class name (usually for the MVP panel). View height should also be defined in this file, as currently the 10th class uses the Scout's view height.
Adding generic response rules for the 10th class to have it's voice lines replaced via VScript (so it's not stuck with no voice lines)
Fixing many UI bugs. Currently lots of client crashes with this! Hitting M (or executing the command "open_charinfo_direct") as the 10th class crashes the game, the 3D portrait instantly crashes the game after the 64-bit update, and invalid materials are used as the 2D icon on the match status bar and scoreboard (uses dead scout icons for it's alive icon, and missing textures for it's dead icon). To fix these, the "open_charinfo_direct" command should be blocked when playing as the 10th class index, the 2D portraits could be defined in the .ctx file, and the 3D portrait should display it's custom defined player model instead of attempting to display no model.
Of course, this is just a proposal. It's probably a bit confusing to reason and it definitely is a lot of work to implement, but I think the payoff could be very much worth it in the end. Thank you for reading!
Currently in the game files there sits an unused 10th class index, named "civilian". As of right now, it is a barebones class with 200 max health that moves at 250 HU/s, using the Scout model with no voice lines. It also has no weapons and 0 max ammo across for everything. While the health, move speed, player model and weapons could be easily changed using VScript, there is no way to multiply the max ammo with attributes when the max ammo is 0.
I think there can be a lot of potential into converting this unused class to be a template class, basically adding fully customizable classes that are separate from the normal playable 9. So to make this work, I think the following should be changed:
Of course, this is just a proposal. It's probably a bit confusing to reason and it definitely is a lot of work to implement, but I think the payoff could be very much worth it in the end. Thank you for reading!