\r
yesVoters.add(p.getName());\r
\r
- if ( checkRatio( ) )\r
+ if ( ((float) yesVoters.size() / (float) plugin.getServer().getOnlinePlayers().length ) >= getRequired() )\r
{\r
applyVote( voteType );\r
return true;\r
return voteType;\r
}\r
\r
+ public void removeVote(Player player )\r
+ {\r
+ if ( ! voteRunning || (voteType == null ) )\r
+ return;\r
+\r
+ if ( yesVoters.contains(player.getName()) )\r
+ yesVoters.remove(player.getName());\r
+\r
+ if ( noVoters.contains(player.getName()) )\r
+ noVoters.remove(player.getName());\r
+\r
+ if ( yesVoters.size() + noVoters.size() == 0 )\r
+ cancelVote();\r
+\r
+ else if ( ((float) yesVoters.size() / (float) (plugin.getServer().getOnlinePlayers().length - 1) ) >= getRequired() )\r
+ applyVote( voteType );\r
+ }\r
+\r
public boolean addVote(Player player, boolean yes) \r
{\r
if ( ! voteRunning || (voteType == null ) )\r
if (yes == true) yesVoters.add(player.getName());\r
else noVoters.add(player.getName());\r
\r
- if ( (yes == true) && checkRatio( ) )\r
+ if ( ( yes == true) && ( ((float) yesVoters.size() / (float) plugin.getServer().getOnlinePlayers().length ) >= getRequired() ) )\r
{\r
applyVote( voteType );\r
return true;\r
clearState();\r
}\r
\r
- private boolean checkRatio( )\r
+ private float getRequired( )\r
{\r
- float required = 0.5F;\r
+ float req = 0.0f;\r
if ( voteType.equalsIgnoreCase("sun") || voteType.equalsIgnoreCase("rain") || voteType.equalsIgnoreCase("storm") )\r
- required = (float)plugin.getConfig().getInt("vote.weather.requiredPercent") / 100.0F;\r
+ req = (float)plugin.getConfig().getInt("vote.weather.requiredPercent") / 100.0F;\r
else if ( voteType.equalsIgnoreCase("day") || voteType.equalsIgnoreCase("night") )\r
- required = (float)plugin.getConfig().getInt("vote.time.requiredPercent") / 100.0F;\r
- \r
- float ratio = (float) yesVoters.size() / (float) plugin.getServer().getOnlinePlayers().length;\r
- if ( ratio > required ) return true;\r
- return false;\r
+ req = (float)plugin.getConfig().getInt("vote.time.requiredPercent") / 100.0F;\r
+\r
+ return req;\r
}\r
\r
private void clearState()\r