Note: You are viewing an old revision of this page. View the current version.
DavidLucifer: I suggest we leave everything after this comment to an amendment. Voting on the voting rules is urgent. Figuring out how vote history should or should not affect reputation can be left for another day.
New Suggestion 3: Virians shall receive 100% of their voting equity on casting their first vote. From then on, should a Virian not vote in a "compulsory" election, they will lose 25% of their voting equity for each election missed during the last 4 elections closed. Each vote placed (including the current vote) will earn back 25% of their voting equity up to 100% of their voting equity.
As an example, consider the following (assume all existing voters have 100% at start, votes which are not closed have unknown voter equity)
|Vote Count|Vote Status|Voter 1|Voter 2|Voter 3|Voter 4|Voter 5 |Vote 1 |Open|Voted ?|No Vote ?| | |No Vote ? |Vote 2 |Closed|Voted 100% |No Vote 75%| |(Joins - 100%)|No Vote 75% |Vote 3 |Closed|Voted 100% |No Vote 50%|(Joins - 100%)|No Vote 75%|Vote 100% |Vote 4 |Closed|Voted 100% |No Vote 25% |Voted 100% |No Vote 50%|No Vote 75% |Vote 5 |Open|Voted ? |No Vote ?|Voted ?|No Vote ?|No Vote ? |Vote 6 |Closed|Voted 100% |No Vote 0%|Voted 100% |No Vote 25%|No Vote 50%
Vote 7 is now called.
Voter 1 will have 100% of equity available. Voter 2 has no equity available, but voting in vote 7 will give them 25% of equity. They could also vote in 1, 5 and 7 and restore 75% of equity. Voter 3 has 100% of equity available. Voter 4 has 25% of equity available, and voting in 7 will give them 50% of equity. Voting in 1, 5 and 7 will restore 100% of equity. Voter 5 has 50% of equity available, and voting in 7 will give them 75% of equity. Voting in 1, 5 and 7 will restore 100% of equity.
For each eligible Voter
If not (Voter.!VoteHistory.!ThisVote.!VotedForMotion AND Voter.!VoteHistory.!ThisVote.!VotedAgainstMotion AND Voter.!VoteHistory.!ThisVote.!VoterAbstained)
Voter.Equity = Ceiling(0%,Voter.Equity - 25%)
EndIf
Voter.!VoteHistory.!ThisVote.!VoteEquity = Voter.Equity Voter.!VoteHistory.!ThisVote.Voted = 0 && (Voter.!VoteHistory.!ThisVote.!VotedForMotion AND Voter.!VoteHistory.!ThisVote.!VotedAgainstMotion AND Voter.!VoteHistory.!ThisVote.!VoterAbstained)
Voter.!VoteHistory.!ThisVote.Voted = (-1 * Voter.!VoteHistory.!ThisVote.!VotedAgainstMotion) + (1 * Voter.!VoteHistory.!ThisVote.!VotedForMotion)
Next
!OnEvent: Vote (NB Not Revote)
Voter.Equity = Floor(100%,Voter.Equity + 25%)
EquityPossible = 0 ; !VotesForMotion = 0 ; !VotesAgainstMotion = 0 ; !VotesAbstain = 0
For each eligible Voter
EquityPossible = !EquityPossible + Voter.Equity
VotesForMotion = !VotesForMotion + (Voter.!VotedForMotion * Voter.Equity)
VotesAgainstMotion = !VotesAgainstMotion + (Voter.!VotedAgainstMotion * Voter.Equity)
VotesAbstain = !VotesAbstain + (Voter.!VoterAbstained * Voter.Equity)
Next
NB:
Floor returns the lowest valued parameter
Ceiling returns the highest valued parameter
&& is a bitwise AND