=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
ping=1
poll=1
raffleend=1
rafflejoin=1
rafflespin=1
rafflestart=1
+1
View File
@@ -27,6 +27,7 @@ shutdown=
boop=
tony, stark, dontfeelgood, dontfeelsogood=
role=
raffleend=
ping=
roll=
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("rafflestart"), new CommandRaffleStart(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
manager.Register(LocCommands.Stub("fetch"), new CommandFetch(KittyRole.General, KittyRating.Safe));
+5
View File
@@ -0,0 +1,5 @@
package dataStructures;
public class KittyCharacter {
}
+10 -15
View File
@@ -1,8 +1,6 @@
package dataStructures;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Random;
import core.DatabaseManager;
import core.DatabaseTrackedObject;
@@ -23,7 +21,8 @@ public class KittyGuild extends DatabaseTrackedObject
public ArrayList<String> emoji = new ArrayList<String>();
public ArrayList <KittyPoll> choices = new ArrayList<KittyPoll>();
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
private final String roleListName = "guildRoles";
@@ -111,6 +110,8 @@ public class KittyGuild extends DatabaseTrackedObject
{
raffleCost = 0;
raffling = false;
raffleUsersChosen.removeAll(raffleUsersChosen);
raffleUsersUnchosen.removeAll(raffleUsersUnchosen);
return true;
}
return false;
@@ -118,10 +119,10 @@ public class KittyGuild extends DatabaseTrackedObject
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);
raffleUsers.put(user, true);
raffleUsersUnchosen.add(user);
return true;
}
return false;
@@ -129,19 +130,13 @@ public class KittyGuild extends DatabaseTrackedObject
public KittyUser chooseRaffleWinner()
{
if(!raffleUsers.isEmpty())
if(!raffleUsersUnchosen.isEmpty())
{
KittyUser chosen = (KittyUser) raffleUsers.keySet().toArray()[new Random().nextInt(raffleUsers.keySet().toArray().length)];
for(int i = 0; i < 10; i ++)
{
if(raffleUsers.get(chosen))
{
raffleUsers.replace(chosen, false);
KittyUser chosen = raffleUsersUnchosen.get((int) (Math.random() * raffleUsersUnchosen.size()));
raffleUsersUnchosen.remove(chosen);
raffleUsersChosen.add(chosen);
return chosen;
}
}
}
return null;
}