Index: java/net/sf/l2j/gameserver/model/actor/instance/L2NpcInstance.java =================================================================== --- java/net/sf/l2j/gameserver/model/actor/instance/L2NpcInstance.java (revision 1775) +++ java/net/sf/l2j/gameserver/model/actor/instance/L2NpcInstance.java (working copy) @@ -1373,75 +1373,75 @@ html.setFile(filename); html.replace("1race",""+Lottery.getInstance().getId()); html.replace("0adena",""+Lottery.getInstance().getPrize()); - } + } else if (val > 24){ int lotonumber = Lottery.getInstance().getId(); - L2ItemInstance item = player.getInventory().getItemByObjectId(val); - if (item == null || item.getItemId()!=4442 || item.getCustomType1()>=lotonumber) - return; - int[] check = Lottery.getInstance().checkTicket(item); + L2ItemInstance item = player.getInventory().getItemByObjectId(val); + if (item == null || item.getItemId()!=4442 || item.getCustomType1()>=lotonumber) + return; + int[] check = Lottery.getInstance().checkTicket(item); sm = new SystemMessage(SystemMessage.DISSAPEARED_ITEM); sm.addItemName(4442); player.sendPacket(sm); - int adena = check[1]; - if (adena<=0) - adena = 1; + int adena = check[1]; + if (adena<=0) + adena = 1; player.addAdena("Loto", adena, this, true); - player.destroyItem("Loto", item, this, false); - return; - } + player.destroyItem("Loto", item, this, false); + return; + } else if (val == 24){ - int found = 0; + int found = 0; int lotonumber = Lottery.getInstance().getId(); - String message = ""; - for (L2ItemInstance item : player.getInventory().getItems()) - { - if (item == null) - continue; - if (item.getItemId() == 4442 && item.getCustomType1()"+item.getCustomType1()+" Event Number "; - int[] numbers = Lottery.getInstance().decodeNumbers(item.getEnchantLevel(),item.getCustomType2()); - for (int i=0;i<5;i++){ - message += numbers[i]+" "; - } - int[] check = Lottery.getInstance().checkTicket(item); - if (check[0]>0) - { - switch (check[0]){ - case 1: message += "- 1st Prize";break; - case 2: message += "- 2nd Prize";break; - case 3: message += "- 3th Prize";break; - case 4: message += "- 4th Prize";break; - } - message += " "+check[1]+"a."; - } - message += ""; - } - } - if (found > 0) - { - message += "
Return"; - html.setHtml(message); - } - else - { + String message = ""; + for (L2ItemInstance item : player.getInventory().getItems()) + { + if (item == null) + continue; + if (item.getItemId() == 4442 && item.getCustomType1()"+item.getCustomType1()+" Event Number "; + int[] numbers = Lottery.getInstance().decodeNumbers(item.getEnchantLevel(),item.getCustomType2()); + for (int i=0;i<5;i++){ + message += numbers[i]+" "; + } + int[] check = Lottery.getInstance().checkTicket(item); + if (check[0]>0) + { + switch (check[0]){ + case 1: message += "- 1st Prize";break; + case 2: message += "- 2nd Prize";break; + case 3: message += "- 3th Prize";break; + case 4: message += "- 4th Prize";break; + } + message += " "+check[1]+"a."; + } + message += ""; + } + } + if (found > 0) + { + message += "
Return"; + html.setHtml(message); + } + else + { filename = (getHtmlPath(npcId, 4)); html.setFile(filename); - } - } + } + } else if (val != 21){ - if (!Lottery.getInstance().isStarted()){ - //tickets can't be sold - player.sendPacket(new SystemMessage(930)); - return; - } - if (!Lottery.getInstance().isSellableTickets()){ - //tickets can't be sold - player.sendPacket(new SystemMessage(784)); - return; - } + if (!Lottery.getInstance().isStarted()){ + //tickets can't be sold + player.sendPacket(new SystemMessage(930)); + return; + } + if (!Lottery.getInstance().isSellableTickets()){ + //tickets can't be sold + player.sendPacket(new SystemMessage(784)); + return; + } filename = (getHtmlPath(npcId, 5)); // Send a Server->Client NpcHtmlMessage containing the text of the L2NpcInstance to the L2PcInstance html.setFile(filename); @@ -1479,16 +1479,16 @@ html.replace(search,replace); } } else { - if (!Lottery.getInstance().isStarted()){ - //tickets can't be sold - player.sendPacket(new SystemMessage(930)); - return; - } - if (!Lottery.getInstance().isSellableTickets()){ - //tickets can't be sold - player.sendPacket(new SystemMessage(784)); - return; - } + if (!Lottery.getInstance().isStarted()){ + //tickets can't be sold + player.sendPacket(new SystemMessage(930)); + return; + } + if (!Lottery.getInstance().isSellableTickets()){ + //tickets can't be sold + player.sendPacket(new SystemMessage(784)); + return; + } int price = 2000; int lotonumber = Lottery.getInstance().getId(); @@ -1511,7 +1511,7 @@ return; } if (!player.reduceAdena("Loto", price, this, true)) return; - Lottery.getInstance().increasePrize(price); + Lottery.getInstance().increasePrize(price); sm = new SystemMessage(SystemMessage.ACQUIRED); sm.addNumber(lotonumber); sm.addItemName(4442); @@ -1651,6 +1651,8 @@ /* For use with Seven Signs implementation */ String filename = SevenSigns.SEVEN_SIGNS_HTML_PATH; + int sealAvariceOwner = SevenSigns.getInstance().getSealOwner(SevenSigns.SEAL_AVARICE); + int sealGnosisOwner = SevenSigns.getInstance().getSealOwner(SevenSigns.SEAL_GNOSIS); int playerCabal = SevenSigns.getInstance().getPlayerCabal(player); boolean isSealValidationPeriod = SevenSigns.getInstance().isSealValidationPeriod(); int compWinner = SevenSigns.getInstance().getCabalHighestScore(); @@ -1664,11 +1666,15 @@ case 8083: case 8084: case 8168: - switch (playerCabal) { + switch (playerCabal) + { case SevenSigns.CABAL_DAWN: if (isSealValidationPeriod) if (compWinner == SevenSigns.CABAL_DAWN) - filename += "dawn_priest_2a.htm"; + if (compWinner == sealGnosisOwner) + filename += "dawn_priest_2c.htm"; + else + filename += "dawn_priest_2a.htm"; else filename += "dawn_priest_2b.htm"; else @@ -1699,11 +1705,15 @@ case 8090: case 8091: case 8169: - switch (playerCabal) { + switch (playerCabal) + { case SevenSigns.CABAL_DUSK: if (isSealValidationPeriod) if (compWinner == SevenSigns.CABAL_DUSK) - filename += "dusk_priest_2a.htm"; + if (compWinner == sealGnosisOwner) + filename += "dusk_priest_2c.htm"; + else + filename += "dusk_priest_2a.htm"; else filename += "dusk_priest_2b.htm"; else @@ -1734,18 +1744,22 @@ case 8100: // case 8101: // case 8102: // - if (isSealValidationPeriod) { - if (compWinner == SevenSigns.CABAL_DAWN && playerCabal != SevenSigns.CABAL_DAWN) + if (isSealValidationPeriod) + { + if (compWinner == SevenSigns.CABAL_DAWN && playerCabal != SevenSigns.CABAL_DAWN || sealAvariceOwner != SevenSigns.CABAL_DAWN) player.sendPacket(new SystemMessage(1301)); - else if (compWinner == SevenSigns.CABAL_DUSK && playerCabal != SevenSigns.CABAL_DUSK) + else if (compWinner == SevenSigns.CABAL_DUSK && playerCabal != SevenSigns.CABAL_DUSK || sealAvariceOwner != SevenSigns.CABAL_DUSK) player.sendPacket(new SystemMessage(1302)); if (compWinner != playerCabal) filename += "necro_no.htm"; - else - filename = (getHtmlPath(npcId, val)); // do the default! + else if (sealAvariceOwner != playerCabal) + filename += "necro_no.htm"; + else + filename = (getHtmlPath(npcId, val)); // do the default! } - else { + else + { if (playerCabal == SevenSigns.CABAL_NULL) filename += "necro_no.htm"; else @@ -1758,18 +1772,22 @@ case 8117: // case 8118: // case 8119: // - if (isSealValidationPeriod) { - if (compWinner == SevenSigns.CABAL_DAWN && playerCabal != SevenSigns.CABAL_DAWN) + if (isSealValidationPeriod) + { + if (compWinner == SevenSigns.CABAL_DAWN && playerCabal != SevenSigns.CABAL_DAWN || sealGnosisOwner != SevenSigns.CABAL_DAWN) player.sendPacket(new SystemMessage(1301)); - else if (compWinner == SevenSigns.CABAL_DUSK && playerCabal != SevenSigns.CABAL_DUSK) + else if (compWinner == SevenSigns.CABAL_DUSK && playerCabal != SevenSigns.CABAL_DUSK || sealGnosisOwner != SevenSigns.CABAL_DUSK) player.sendPacket(new SystemMessage(1302)); if (compWinner != playerCabal) filename += "cata_no.htm"; - else + else if (sealGnosisOwner != playerCabal) + filename += "cata_no.htm"; + else filename = (getHtmlPath(npcId, val)); // do the default! } - else { + else + { if (playerCabal == SevenSigns.CABAL_NULL) filename += "cata_no.htm"; else @@ -1777,21 +1795,29 @@ } break; case 8111: // Gatekeeper Spirit (Disciples) - if (isSealValidationPeriod) - { - int sealAvariceOwner = SevenSigns.getInstance().getSealOwner(SevenSigns.SEAL_AVARICE); - - if (sealAvariceOwner == SevenSigns.CABAL_DUSK) - filename += "spirit_dusk.htm"; - else if (sealAvariceOwner == SevenSigns.CABAL_DAWN) - filename += "spirit_dawn.htm"; - else - filename += "spirit_null.htm"; - } - else { - filename += "spirit_null.htm"; - } + if (playerCabal == sealAvariceOwner && playerCabal == compWinner) + { + switch (sealAvariceOwner) + { + case SevenSigns.CABAL_DAWN: + filename += "spirit_dawn.htm"; + break; + case SevenSigns.CABAL_DUSK: + filename += "spirit_dusk.htm"; + break; + case SevenSigns.CABAL_NULL: + filename += "spirit_null.htm"; + break; + } + } + else + { + filename += "spirit_null.htm"; + } break; + case 8112: // Gatekeeper Spirit (Disciples) + filename += "spirit_exit.htm"; + break; case 8127: // case 8128: // case 8129: // Dawn Festival Guides @@ -1806,6 +1832,15 @@ case 8141: // filename += "festival/dusk_guide.htm"; break; + case 8092: // Black Marketeer of Mammon + filename += "blkmrkt_1.htm"; + break; + case 8113: // Merchant of Mammon + filename += "mammmerch_1.htm"; + break; + case 8126: // Blacksmith of Mammon + filename += "mammblack_1.htm"; + break; default: if ((npcId >= 8093 && npcId <= 8094) || (npcId >= 8172 && npcId <= 8201) || @@ -1954,8 +1989,8 @@ _spawn.decreaseCount(this); // Reset the _decayTask for this L2NpcInstance - if (_decayTask != null) - _decayTask.cancel(false); + if (_decayTask != null) + _decayTask.cancel(false); _decayTask = null; } @@ -2002,7 +2037,7 @@ return; _decayTask.cancel(true); - _decayTask = null; + _decayTask = null; this.onDecay(); }