rendered paste body stoneType = Integer.parseInt(command.substring(13));
L2ItemInstance redStones = player.getInventory().getItemByItemId(SevenSigns.SEAL_STONE_RED_ID);
int redStoneCount = redStones == null ? 0 : redStones.getCount();
L2ItemInstance greenStones = player.getInventory().getItemByItemId(SevenSigns.SEAL_STONE_GREEN_ID);
int greenStoneCount = greenStones == null ? 0 : greenStones.getCount();
L2ItemInstance blueStones = player.getInventory().getItemByItemId(SevenSigns.SEAL_STONE_BLUE_ID);
int blueStoneCount = blueStones == null ? 0 : blueStones.getCount();
int contribScore = SevenSigns.getInstance().getPlayerContribScore(player);
boolean stonesFound = false;
if (contribScore == SevenSigns.MAXIMUM_PLAYER_CONTRIB)
{
player.sendPacket(new SystemMessage(SystemMessage.CONTRIB_SCORE_EXCEEDED));
break;
}
else
{
int redContribCount = 0;
int greenContribCount = 0;
int blueContribCount = 0;
switch (stoneType)
{
case 1:
blueContribCount = (SevenSigns.MAXIMUM_PLAYER_CONTRIB - contribScore) / SevenSigns.BLUE_CONTRIB_POINTS;
if (blueContribCount > blueStoneCount)
blueContribCount = blueStoneCount;
break;
case 2:
greenContribCount = (SevenSigns.MAXIMUM_PLAYER_CONTRIB - contribScore) / SevenSigns.GREEN_CONTRIB_POINTS;
if (greenContribCount > greenStoneCount)
greenContribCount = greenStoneCount;
break;
case 3:
redContribCount = (SevenSigns.MAXIMUM_PLAYER_CONTRIB - contribScore) / SevenSigns.RED_CONTRIB_POINTS;
if (redContribCount > redStoneCount)
redContribCount = redStoneCount;
break;
case 4:
int tempContribScore = contribScore;
redContribCount = (SevenSigns.MAXIMUM_PLAYER_CONTRIB - tempContribScore) / SevenSigns.RED_CONTRIB_POINTS;
if (redContribCount > redStoneCount)
redContribCount = redStoneCount;
tempContribScore += redContribCount * SevenSigns.RED_CONTRIB_POINTS;
greenContribCount = (SevenSigns.MAXIMUM_PLAYER_CONTRIB - tempContribScore) / SevenSigns.GREEN_CONTRIB_POINTS;
if (greenContribCount > greenStoneCount)
greenContribCount = greenStoneCount;
tempContribScore += greenContribCount * SevenSigns.GREEN_CONTRIB_POINTS;
blueContribCount = (SevenSigns.MAXIMUM_PLAYER_CONTRIB - tempContribScore) / SevenSigns.BLUE_CONTRIB_POINTS;
if (blueContribCount > blueStoneCount)
blueContribCount = blueStoneCount;
break;
}
contribScore = SevenSigns.getInstance().addPlayerStoneContrib(player, blueContribCount, greenContribCount, redContribCount);
if (redContribCount > 0)
{
player.destroyItem("SevenSigns", redStones.getObjectId(), redContribCount, this, false);
stonesFound = true;
}
if (greenContribCount > 0)
{
player.destroyItem("SevenSigns", greenStones.getObjectId(), greenContribCount, this, false);
stonesFound = true;
}
if (blueContribCount > 0)
{
player.destroyItem("SevenSigns", blueStones.getObjectId(), blueContribCount, this, false);
stonesFound = true;
}
if (!stonesFound)
{
player.sendMessage("You do not have any seal stones of that type.");
break;
}
sm = new SystemMessage(SystemMessage.CONTRIB_SCORE_INCREASED);
sm.addNumber(contribScore);
player.sendPacket(sm);
showChatWindow(player, 6, null, false);
}
break;