*/
public int setPlayerInfo(int charObjId, int chosenCabal, int chosenSeal)
{
ThreadConnection con = null;
FiltredPreparedStatement statement = null;
StatsSet currPlayer = null;
if(hasRegisteredBefore(charObjId))
{
// If the seal validation period has passed,
// cabal information was removed and so "re-register" player
currPlayer = _signsPlayerData.get(charObjId);
currPlayer.set("cabal", chosenCabal);
currPlayer.set("seal", chosenSeal);
_signsPlayerData.put(charObjId, currPlayer);
}
else
{
currPlayer = new StatsSet();
currPlayer.set("char_obj_id", charObjId);
currPlayer.set("cabal", chosenCabal);
currPlayer.set("seal", chosenSeal);
currPlayer.set("dawn_red_stones", 0);
currPlayer.set("dawn_green_stones", 0);
currPlayer.set("dawn_blue_stones", 0);
currPlayer.set("dawn_ancient_adena_amount", 0);
currPlayer.set("dawn_contribution_score", 0);
currPlayer.set("dusk_red_stones", 0);
currPlayer.set("dusk_green_stones", 0);
currPlayer.set("dusk_blue_stones", 0);
currPlayer.set("dusk_ancient_adena_amount", 0);
currPlayer.set("dusk_contribution_score", 0);
_signsPlayerData.put(charObjId, currPlayer);
// Update data in database, as we have a new player signing up.
try
{
con = L2DatabaseFactory.getInstance().getConnection();
statement = con.prepareStatement("INSERT INTO seven_signs (char_obj_id, cabal, seal) VALUES (?,?,?)");
statement.setInt(1, charObjId);
statement.setString(2, getCabalShortName(chosenCabal));
statement.setInt(3, chosenSeal);
statement.execute();
}
catch(SQLException e)
{
_log.severe("SevenSigns: Failed to save data: " + e);
}
finally
{
DatabaseUtils.closeDatabaseCS(con, statement);
}
}
long contribScore = 0;
switch(chosenCabal)
{
case CABAL_DAWN:
contribScore = calcContributionScore(currPlayer.getInteger("dawn_blue_stones"), currPlayer.getInteger("dawn_green_stones"), currPlayer.getInteger("dawn_red_stones"));
_dawnStoneScore += contribScore;
break;
case CABAL_DUSK:
contribScore = calcContributionScore(currPlayer.getInteger("dusk_blue_stones"), currPlayer.getInteger("dusk_green_stones"), currPlayer.getInteger("dusk_red_stones"));
_duskStoneScore += contribScore;
break;
}
// Increasing Seal total score for the player chosen Seal.
if(currPlayer.getInteger("cabal") == CABAL_DAWN)
{
_signsDawnSealTotals.put(chosenSeal, _signsDawnSealTotals.get(chosenSeal) + 1);
}
else
{