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

Sharetool: Voting to allow override any protection #25

Open
1 of 8 tasks
S-S-X opened this issue Jun 7, 2020 · 3 comments
Open
1 of 8 tasks

Sharetool: Voting to allow override any protection #25

S-S-X opened this issue Jun 7, 2020 · 3 comments
Labels
question Further information is requested Tool Tool issues

Comments

@S-S-X
Copy link
Owner

S-S-X commented Jun 7, 2020

Allow players to vote if some node should be owned by shared account and therefore managed by moderators.

This idea was one possible way to solve conflicts like one where:

  • Player 1 added travelnet somewhere
  • Player 2 disagree and claim that area is construction site for new city
  • Player 2 protects area and player 1 disagrees with that

Who is right here? Depends on exact situation, can be either player 1 or player 2 and there is no direct way to make perfect decision about situation and how to handle it.
However, things already done also is not good situation so something must be done.

Proposal for handling conflicts like this:

  • Allow moderators to start voting by using sharetool on protected node
  • Moderators or player with certain privileges or xp level can vote to move conflicting nodes to shared account
  • Require server admin or at least 2 moderators to close voting and either leave nodes alone or transfer to shared account

This could also be used to remove conflicting areas or protector blocks where action to do so would require more than single moderator to actually make final decision about how things should be in the end.

To do, break down to separate tasks:

@S-S-X S-S-X added question Further information is requested Tool Tool issues labels Jun 7, 2020
@6r1d
Copy link
Collaborator

6r1d commented Jun 7, 2020

Thanks, I think it is a step in a right direction, at the very least: some people just create accounts, walk a bit, protect something near a city and leave.
(Just look at Mystic.)

@S-S-X
Copy link
Owner Author

S-S-X commented Jun 11, 2020

Selecting any node (allows selecting areas for example)

How this could possibly be integrated into single tool that also has other functions (sharetool):

Changes required for API:

Special wildcard name for node registration:

  • Must not be any registered node name
  • Using something like metatool:nodedef_wildcard or metatool:* is probably best option for this

How to register that special wildcard node:

  • No need to add another parameter for tool registration
  • Just register node with identifier metatool:* and API can check if that exists

Implementing voting

Not sure if this should go into API or should be implemented specifically for tool.
Both can be done, API only makes sense if it is possible to make this generic enough.

If integrated into API it should then have separate voting API that can be used to start voting, add votes, remove votes, close voting, execute callback action with voting results.

Could be better and easier to create custom voting specifically for sharetool and finish metatool chat command registration API for this so that sharetool can register commands like

/sharetool:vote <vote_id> <answer>
/sharetool:vote:close <vote_id>
/sharetool:vote:close <vote_id> <answer>

Voting should have possibility to add any number of answers from beginning, not just yep/nope, as this wont add any significant complexity but allows a lot more flexible voting.

@S-S-X
Copy link
Owner Author

S-S-X commented Jun 21, 2020

Basic formspec API is done and that could be used to configure voting session: https://github.com/S-S-X/metatool/blob/master/metatool/formspec.lua

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested Tool Tool issues
Projects
None yet
Development

No branches or pull requests

2 participants