Page 1 of 1

Spawnkill Revenge

Posted: Tue Oct 23, 2018 11:43 pm
by Agatha
Description:
Spawnkills are gamebreaking in several ways. This plugin discourages them by auto-killing the perpetrators of spawnkills. Best-used on CTF maps with separated spawn zones. See README for much more discussion.

Version:
Tested with 2.4.18. Probably requires 2.4.3+.

All development is on Github.
Any future changes (none anticipated; the plugin has been validated through testing, and already contains all features I currently feel up to implementing) will be automatically reflected here, as the following links are direct:
[ GitHub Project and Downloads | README | License (MIT) ]

Re: Spawnkill Revenge

Posted: Sat Oct 27, 2018 2:05 pm
by Ratfink
Neat idea! I can think of a few possible modifications which may or may not improve the plugin:
  • Don't reduce the score of the spawnkilled player.
  • Add an optional mode where spawnkilling just reduces the killer's score rather than killing the killer (might be a better behavior on FFA maps).
  • Perhaps another option where after a certain number of point penalties for spawnkilling, the killer is killed (note this is actually a generalization of the current behaviour and the previous bullet point).
  • A really fancy idea: kill the killer only after some number of spawnkills as in the previous bullet point, but only if those spawnkills all occur within some configured time interval. Then start a cooldown timer so that the spawnkiller is killed for any spawnkill until they manage to not spawnkill for the cooldown period. After the timer expires, the spawnkiller just gets point penalties again. Basically, you would be punished more severely if you spawnkill a lot, but only gently if you spawnkill once or twice by accident.

Re: Spawnkill Revenge

Posted: Sun Oct 28, 2018 1:07 am
by Zehra
Ratfink wrote: Sat Oct 27, 2018 2:05 pm
  • Don't reduce the score of the spawnkilled player.
  • Add an optional mode where spawnkilling just reduces the killer's score rather than killing the killer (might be a better behavior on FFA maps).
  • Perhaps another option where after a certain number of point penalties for spawnkilling, the killer is killed (note this is actually a generalization of the current behaviour and the previous bullet point).
  • A really fancy idea: kill the killer only after some number of spawnkills as in the previous bullet point, but only if those spawnkills all occur within some configured time interval. Then start a cooldown timer so that the spawnkiller is killed for any spawnkill until they manage to not spawnkill for the cooldown period. After the timer expires, the spawnkiller just gets point penalties again. Basically, you would be punished more severely if you spawnkill a lot, but only gently if you spawnkill once or twice by accident.
  • This is not possible, but you can either increase the score by 1 point or decrease death by a negative point.(If I remember correctly.)
    Either of which simulates a non-decrease of points.(The following bit of code seems to do the best simulation, if the logic is done well.)

    Code: Select all

    bz_incrementPlayerLosses(Data->playerID, -1);
  • Easy and shouldn't require too much effort, just requires changing a function and some code which is shown below:

    Code: Select all

    bz_killPlayer(data->killerID,true);
    
    And

    Code: Select all

    bz_sendTextMessage(
    	     BZ_SERVER, data->killerID,
    	     "Spawnkill detected.  If this seemed necessary tactically, change the approach you're taking strategically."
    );
    
  • Modification should be simple enough, implementation will vary, depending on the overall idea.
  • This is not really fancy, but should mostly involve logic, as long as the logic is well written, should work fine.
Overall, excellent work on taking an idea which has been tossed around for a long time and implementing as an open-source plug-in.

-Zehra