I'd improve idea 1 as follows:
> If player blocks the cannon and doesn't move from the cannon in the next 3 seconds, and dies,
don't count it as a team-kill. The distance should be in a radius around the cannon + the distance in-front of the cannon. (So the troll won't just stand next to the cannon and jump in while you're about to fire, or stand a little bit further in-front of the cannon and do the same).
> Lock cannon for 15 seconds unless you're in the same clan or run away. (server should have the ability to set time or remove that)
Idea for instantly unlocking:
- Add an option to instantly unlock the cannon by hitting it twice.
con: takes long
or
- Switch to a weapon (thus forcing the player to be unarmed when using a cannon)
con: accidental switch
If the artillery class is added, than I think only the artillery should be able to use cannons in the first place. Any other class would get the message "Your class isn't trained to use cannons". However, I don't think anyone should be able to take away your control over a cannon.
The only exception to that would be the clan's current round officer, where the officer class can take over anything (from the same clan member)
Idea 1 gives a troll cannon player an opportunity to teamkill without penalty, however this solution is better because everyone else can just back off where the penalty will count again.
=====
Additional idea: (Not just for cannons)
It would also be nice to set some factors, as in log warnings, for players with suspicious activity. This would help admins to supervise their server and make sure everyone follows the server's rules.
For instance, the admin looks at the logs and sees the following warnings:
REPORT: Suspicious activity from %playername%. (Hit same teammate 5 times with %weaponname%)
REPORT: Player %playername% killed an enemy officer %officername%
REPORT: Suspicious activity from %playername%. (Moved in-front of cannon 3 times)
and to not start looking for the players, I would recommend the following:
> Spectate a player instantly by selecting their name in the player list (tab)
> Right click on the player menu to choose what actions to take against the player.
The con here is quite obvious: Possible spam in the logs. But the more choices the host has over what type of errors he can see, the better. It would also be nice to have the ability to show these reports or not while in-game.