Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Punishment Command #4

Open
Wyzards opened this issue May 14, 2022 · 0 comments
Open

Add Punishment Command #4

Wyzards opened this issue May 14, 2022 · 0 comments
Labels
enhancement New feature or request
Milestone

Comments

@Wyzards
Copy link
Member

Wyzards commented May 14, 2022

Task Title

Task: Add Punishment Command

Task Description

This task will add the /punishment command, which moderators will use to automatically punish players according to our punishment protocol. The command experience for the moderator will be as follows:

  1. Do /punish
  2. A GUI will open, with an item for each rule the player may have broken. It will also contain an item to see the punishment history for the player.
  3. The moderator will click each item corresponding to what rules the player has broken. They can select multiple.
  4. The moderator will click the confirm button, and the GUI will close
  5. The moderator will be prompted to type the player's name in chat as a final confirmation
  6. The punishment will be added to the players punishment history, and a ban or mute will be applied for a given duration depending on the punishment protocol below.

There should be a table for punishments in the MySQL database, and there should be an efficient method to find all punishments of a player.

##Punishment Protocol:
Each offense will give the player a certain number of punishment points. The quantity of points depends on the rule broken, and how many times they have committed that offense before.

Format:
punishment ~ 1st offence/2nd offence/3rd offence/any offence after
Ex: spam ~ 10/15/20/30
In this scenario, on my third account of spamming, I would receive 20 punishment points.

It should be very easy to hard code new punishment reasons, and modify points. For now, start by adding the following reasons and point totals.

Spam ~ 10/15/25/40
Hacking ~ 20/40/60/80
Harassment ~ 15/30/45/50

At the end of a punishment, a player will receive all their points. Depending on how many points they have total now, they will receive one of the following punishments.

3 points = User receives a 3 hours mute.
5 points = User receives a 5 hours mute.
8 points = User receives a 8 hours mute.
10 points = User receives a 16 hours mute.
13 points = User receives a 24 hours mute.
17 points = User receives a 48 hours mute.
20 points = User receives a 96 hours mute.
24 points = User receives a one week mute.
30 points = User receives a 24 hour ban.
35 points = User receives a 48 hour ban.
40 points = User receives a 96 hour ban.
45 points = User receives a one week ban.
50 points = User receives a two week ban.
55 points = User receives a one month ban.
60 points = User receives a two month ban.
65 points = User receives a three month ban.
70 points = User receives a three month ban.
75 points = User receives a three month ban.
80 points = User receives a six month ban.
85 points = User receives a six month ban.
90 points = User receives a six month ban.
95 points = User receives a twelve month ban.
100 points = User receives a permanent IP ban.

For points >= 3 and not listed in the set above, user receives a 3 hour mute.
For points >= 10 and not listed in the set above, user receives a 8 hour mute.
For points >= 25 and not listed in the set above, user receives a 16 hour mute.
For points >= 30 and not listed in the set above, user receives a 24 hour mute.
For points >= 40 and not listed in the set above, user receives a 48 hour mute.
For points >= 50 and not listed in the set above. user receives a 72 hour mute.
For points >= 60 and not listed in the set above, user receives a one week mute.

It should be easy to change these by modifying code in this github at any time. No configuration files should be used.

Epic Parent

Feature: Epic Issue Title

@Wyzards Wyzards added the enhancement New feature or request label May 14, 2022
@Wyzards Wyzards added this to the Release milestone May 14, 2022
This was referenced May 14, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants