Spawnkill Revenge

Expand and mod your server.
Post Reply
User avatar
Agatha
Private First Class
Private First Class
Posts: 26
Joined: Thu Jul 13, 2017 2:20 am

Spawnkill Revenge

Post 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) ]
-> Stagnation is playing the same map for literal decades. Take down Apoc/Urban/HiX/Duc!
-> "It takes losing a lot to learn how to win a little bit." / My guide to strategy.
-> My statistics and avatar artwork.
Ratfink
Private First Class
Private First Class
Posts: 9
Joined: Sat Nov 01, 2008 2:05 pm

Re: Spawnkill Revenge

Post 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.
User avatar
Zehra
Private First Class
Private First Class
Posts: 915
Joined: Sun Oct 18, 2015 3:36 pm
Location: Within the BZFS API and Beyond it
Contact:

Re: Spawnkill Revenge

Post 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
Those who are critical of me, I'll likely be the same of them. ~Zehra
The decisions we make are the ones we look forward too and the ones we regret. ~Zehra
There's a difference between knowing my name and knowing me, one shows respect to my name and the other is to who I am. ~Zehra

See where I've last been active at Strayers.
Visit BZList.net for a modern HTML5 server stats site.

Click here to view the 101 Leaderboard & Score Summaries Last updated 2021-01-12 (YYYY-MM-DD)
Latest 101 thread
Post Reply