=Fixed Raffling system and started char database

This commit is contained in:
Alex
2019-06-01 23:52:06 -04:00
parent 99bd35611e
commit 3b8e8c7f01
5 changed files with 19 additions and 16 deletions
+1
View File
@@ -29,6 +29,7 @@ map=1
perish, thenperish=1 perish, thenperish=1
ping=1 ping=1
poll=1 poll=1
raffleend=1
rafflejoin=1 rafflejoin=1
rafflespin=1 rafflespin=1
rafflestart=1 rafflestart=1
+1
View File
@@ -27,6 +27,7 @@ shutdown=
boop= boop=
tony, stark, dontfeelgood, dontfeelsogood= tony, stark, dontfeelgood, dontfeelsogood=
role= role=
raffleend=
ping= ping=
roll= roll=
blur= blur=
+1
View File
@@ -350,6 +350,7 @@ public class ObjectBuilderFactory
manager.Register(LocCommands.Stub("rpg"), new CommandRPG(KittyRole.Mod, KittyRating.Safe)); manager.Register(LocCommands.Stub("rpg"), new CommandRPG(KittyRole.Mod, KittyRating.Safe));
manager.Register(LocCommands.Stub("rafflestart"), new CommandRaffleStart(KittyRole.Mod, KittyRating.Safe)); manager.Register(LocCommands.Stub("rafflestart"), new CommandRaffleStart(KittyRole.Mod, KittyRating.Safe));
manager.Register(LocCommands.Stub("rafflespin"), new CommandRaffleSpin(KittyRole.Mod, KittyRating.Safe)); manager.Register(LocCommands.Stub("rafflespin"), new CommandRaffleSpin(KittyRole.Mod, KittyRating.Safe));
manager.Register(LocCommands.Stub("raffleend"), new CommandRaffleEnd(KittyRole.Mod, KittyRating.Safe));
// General // General
manager.Register(LocCommands.Stub("fetch"), new CommandFetch(KittyRole.General, KittyRating.Safe)); manager.Register(LocCommands.Stub("fetch"), new CommandFetch(KittyRole.General, KittyRating.Safe));
+5
View File
@@ -0,0 +1,5 @@
package dataStructures;
public class KittyCharacter {
}
+11 -16
View File
@@ -1,8 +1,6 @@
package dataStructures; package dataStructures;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap;
import java.util.Random;
import core.DatabaseManager; import core.DatabaseManager;
import core.DatabaseTrackedObject; import core.DatabaseTrackedObject;
@@ -23,7 +21,8 @@ public class KittyGuild extends DatabaseTrackedObject
public ArrayList<String> emoji = new ArrayList<String>(); public ArrayList<String> emoji = new ArrayList<String>();
public ArrayList <KittyPoll> choices = new ArrayList<KittyPoll>(); public ArrayList <KittyPoll> choices = new ArrayList<KittyPoll>();
public AdminControl control; public AdminControl control;
public HashMap <KittyUser, Boolean> raffleUsers = new HashMap<KittyUser, Boolean>(); public ArrayList <KittyUser> raffleUsersUnchosen = new ArrayList<KittyUser>();
public ArrayList <KittyUser> raffleUsersChosen = new ArrayList<KittyUser>();
// Database synced info // Database synced info
private final String roleListName = "guildRoles"; private final String roleListName = "guildRoles";
@@ -111,6 +110,8 @@ public class KittyGuild extends DatabaseTrackedObject
{ {
raffleCost = 0; raffleCost = 0;
raffling = false; raffling = false;
raffleUsersChosen.removeAll(raffleUsersChosen);
raffleUsersUnchosen.removeAll(raffleUsersUnchosen);
return true; return true;
} }
return false; return false;
@@ -118,10 +119,10 @@ public class KittyGuild extends DatabaseTrackedObject
public boolean joinRaffle(KittyUser user) public boolean joinRaffle(KittyUser user)
{ {
if(!raffleUsers.containsKey(user) && user.GetBeans() > raffleCost && raffling) if(!raffleUsersChosen.contains(user) && !raffleUsersUnchosen.contains(user) && user.GetBeans() > raffleCost && raffling)
{ {
user.ChangeBeans(raffleCost); user.ChangeBeans(raffleCost);
raffleUsers.put(user, true); raffleUsersUnchosen.add(user);
return true; return true;
} }
return false; return false;
@@ -129,18 +130,12 @@ public class KittyGuild extends DatabaseTrackedObject
public KittyUser chooseRaffleWinner() public KittyUser chooseRaffleWinner()
{ {
if(!raffleUsers.isEmpty()) if(!raffleUsersUnchosen.isEmpty())
{ {
KittyUser chosen = (KittyUser) raffleUsers.keySet().toArray()[new Random().nextInt(raffleUsers.keySet().toArray().length)]; KittyUser chosen = raffleUsersUnchosen.get((int) (Math.random() * raffleUsersUnchosen.size()));
for(int i = 0; i < 10; i ++) raffleUsersUnchosen.remove(chosen);
{ raffleUsersChosen.add(chosen);
if(raffleUsers.get(chosen)) return chosen;
{
raffleUsers.replace(chosen, false);
return chosen;
}
}
} }
return null; return null;
} }