Vote kick has been suggested many times before. Typically these suggestions have had one massive flaw, which is the potential for vote kick to be used as a method of griefing.
Since the burried treasure update however, the game has introduced a mechanic that could fix that one flaw - rewarding progress to people not currently in sessions, as seen with the buried treasure maps.
How it would work:
-
Upon the pick up of loot by a crew for the first time, flag it with every player on that crew's ID
-
Allow crews to vote kick their members, only when a voyage/tall tale is inactive and the ship isn't within the vicinity of a world event (especially including megs - to prevent shrouded ghost griefing)
-
When a crew sells an item, loop through the item's flags. If a player is on the flags and on the crew just reward them as normal. If a player on the list of flags has been kicked, reward them through the same process that buried loot follows (but with gold as well). If a player is on the list of flags, but not ingame and hasn't been kicked, reward the loot they would have earned to another member of the crew (if they exist and haven't already been rewarded through this process).
I will write step 3 out again in pseudo(ish) code to hopefully make it a bit clearer for those that way inclined:
EVENT loot_sell:
........INT loot_rewarded = 0
........ARRAYLIST(of whatever type user IDs are stored as) awaiting_reward = []
........FOR i IN UNION OF crew AND loot_flags:
................IF i is in crew AND i is in loot_flags :
........................reward i as normal
........................loot_rewarded += 1
................IF i has been kicked AND i is in loot_flags:
........................reward i through buried treasure style process
........................loot_rewarded += 1
................IF i is on crew AND i is NOT in loot_flags:
........................awaiting_reward.append(i)
........FOR i IN awaiting_reward:
................IF loot_rewarded LESS THAN ship_size:
........................reward i as normal
........................loot_rewarded += 1
there is the potential for awaiting_reward to be random shuffled first idk.
This does complicate things somewhat, but is necessary to ensure the feature couldn't be abused by players to obtain more gold than ship limits usually allow.
Edit: all this being said I am very understanding if people don't like this idea, it's more a proposal of a way to get around the obvious objection to vote kick, rather than something I necessarily think is without flaw. I'm going to try and keep my replies here to clarifying and correcting things about the idea rather than outright defending it :)
