All pastes #46511 Raw Edit

Mine

public text v1 · immutable
#46511 ·published 2006-03-21 17:59 UTC
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;