NPE checks for Ceremony of Chaos.

This commit is contained in:
MobiusDevelopment 2019-05-24 08:40:58 +00:00
parent 8f1c260c79
commit 80ea69c1ac
7 changed files with 595 additions and 553 deletions

View File

@ -282,7 +282,7 @@ public class CeremonyOfChaosEvent extends AbstractEvent<CeremonyOfChaosMember>
final List<CeremonyOfChaosMember> winners = getWinners(); final List<CeremonyOfChaosMember> winners = getWinners();
final List<CeremonyOfChaosMember> members = new ArrayList<>(getMembers().size()); final List<CeremonyOfChaosMember> members = new ArrayList<>(getMembers().size());
final SystemMessage msg; SystemMessage msg = null;
if (winners.isEmpty() || (winners.size() > 1)) if (winners.isEmpty() || (winners.size() > 1))
{ {
msg = SystemMessage.getSystemMessage(SystemMessageId.THERE_IS_NO_VICTOR_THE_MATCH_ENDS_IN_A_TIE); msg = SystemMessage.getSystemMessage(SystemMessageId.THERE_IS_NO_VICTOR_THE_MATCH_ENDS_IN_A_TIE);
@ -290,92 +290,95 @@ public class CeremonyOfChaosEvent extends AbstractEvent<CeremonyOfChaosMember>
else else
{ {
final PlayerInstance winner = winners.get(0).getPlayer(); final PlayerInstance winner = winners.get(0).getPlayer();
msg = SystemMessage.getSystemMessage(SystemMessageId.CONGRATULATIONS_C1_YOU_WIN_THE_MATCH); if (winner != null)
msg.addString(winner.getName());
// Rewards according to https://l2wiki.com/Ceremony_of_Chaos
final int marksRewarded = Rnd.get(2, 4);
winner.addItem("CoC-Winner", 34900, marksRewarded, winner, true); // Mysterious Marks
// Possible additional rewards
// Improved Life Stone
if (Rnd.get(10) < 3) // Chance to get reward (30%)
{ {
switch (Rnd.get(4)) msg = SystemMessage.getSystemMessage(SystemMessageId.CONGRATULATIONS_C1_YOU_WIN_THE_MATCH);
msg.addString(winner.getName());
// Rewards according to https://l2wiki.com/Ceremony_of_Chaos
final int marksRewarded = Rnd.get(2, 4);
winner.addItem("CoC-Winner", 34900, marksRewarded, winner, true); // Mysterious Marks
// Possible additional rewards
// Improved Life Stone
if (Rnd.get(10) < 3) // Chance to get reward (30%)
{ {
case 0: switch (Rnd.get(4))
{ {
winner.addItem("CoC-Winner", 18570, 1, winner, true); // Improved Life Stone (R95-grade) case 0:
break; {
} winner.addItem("CoC-Winner", 18570, 1, winner, true); // Improved Life Stone (R95-grade)
case 1: break;
{ }
winner.addItem("CoC-Winner", 18571, 1, winner, true); // Improved Life Stone (R95-grade) case 1:
break; {
} winner.addItem("CoC-Winner", 18571, 1, winner, true); // Improved Life Stone (R95-grade)
case 2: break;
{ }
winner.addItem("CoC-Winner", 18575, 1, winner, true); // Improved Life Stone (R99-grade) case 2:
break; {
} winner.addItem("CoC-Winner", 18575, 1, winner, true); // Improved Life Stone (R99-grade)
case 3: break;
{ }
winner.addItem("CoC-Winner", 18576, 1, winner, true); // Improved Life Stone (R99-grade) case 3:
break; {
winner.addItem("CoC-Winner", 18576, 1, winner, true); // Improved Life Stone (R99-grade)
break;
}
} }
} }
} // Soul Crystal Fragment
// Soul Crystal Fragment else if (Rnd.get(10) < 3) // Chance to get reward (30%)
else if (Rnd.get(10) < 3) // Chance to get reward (30%)
{
switch (Rnd.get(6))
{ {
case 0: switch (Rnd.get(6))
{ {
winner.addItem("CoC-Winner", 19467, 1, winner, true); // Yellow Soul Crystal Fragment (R99-Grade) case 0:
break; {
} winner.addItem("CoC-Winner", 19467, 1, winner, true); // Yellow Soul Crystal Fragment (R99-Grade)
case 1: break;
{ }
winner.addItem("CoC-Winner", 19468, 1, winner, true); // Teal Soul Crystal Fragment (R99-Grade) case 1:
break; {
} winner.addItem("CoC-Winner", 19468, 1, winner, true); // Teal Soul Crystal Fragment (R99-Grade)
case 2: break;
{ }
winner.addItem("CoC-Winner", 19469, 1, winner, true); // Purple Soul Crystal Fragment (R99-Grade) case 2:
break; {
} winner.addItem("CoC-Winner", 19469, 1, winner, true); // Purple Soul Crystal Fragment (R99-Grade)
case 3: break;
{ }
winner.addItem("CoC-Winner", 19511, 1, winner, true); // Yellow Soul Crystal Fragment (R95-Grade) case 3:
break; {
} winner.addItem("CoC-Winner", 19511, 1, winner, true); // Yellow Soul Crystal Fragment (R95-Grade)
case 4: break;
{ }
winner.addItem("CoC-Winner", 19512, 1, winner, true); // Teal Soul Crystal Fragment (R95-Grade) case 4:
break; {
} winner.addItem("CoC-Winner", 19512, 1, winner, true); // Teal Soul Crystal Fragment (R95-Grade)
case 5: break;
{ }
winner.addItem("CoC-Winner", 19513, 1, winner, true); // Purple Soul Crystal Fragment (R95-Grade) case 5:
break; {
winner.addItem("CoC-Winner", 19513, 1, winner, true); // Purple Soul Crystal Fragment (R95-Grade)
break;
}
} }
} }
} // Mysterious Belt
// Mysterious Belt else if (Rnd.get(10) < 1) // Chance to get reward (10%)
else if (Rnd.get(10) < 1) // Chance to get reward (10%) {
{ winner.addItem("CoC-Winner", 35565, 1, winner, true); // Mysterious Belt
winner.addItem("CoC-Winner", 35565, 1, winner, true); // Mysterious Belt }
}
// Save monthly progress. // Save monthly progress.
final int totalMarks = winner.getVariables().getInt(PlayerVariables.CEREMONY_OF_CHAOS_MARKS, 0) + marksRewarded; final int totalMarks = winner.getVariables().getInt(PlayerVariables.CEREMONY_OF_CHAOS_MARKS, 0) + marksRewarded;
winner.getVariables().set(PlayerVariables.CEREMONY_OF_CHAOS_MARKS, totalMarks); winner.getVariables().set(PlayerVariables.CEREMONY_OF_CHAOS_MARKS, totalMarks);
if (totalMarks > GlobalVariablesManager.getInstance().getInt(GlobalVariablesManager.COC_TOP_MARKS, 0)) if (totalMarks > GlobalVariablesManager.getInstance().getInt(GlobalVariablesManager.COC_TOP_MARKS, 0))
{ {
GlobalVariablesManager.getInstance().set(GlobalVariablesManager.COC_TOP_MARKS, totalMarks); GlobalVariablesManager.getInstance().set(GlobalVariablesManager.COC_TOP_MARKS, totalMarks);
GlobalVariablesManager.getInstance().set(GlobalVariablesManager.COC_TOP_MEMBER, winner.getObjectId()); GlobalVariablesManager.getInstance().set(GlobalVariablesManager.COC_TOP_MEMBER, winner.getObjectId());
}
} }
} }
@ -385,7 +388,10 @@ public class CeremonyOfChaosEvent extends AbstractEvent<CeremonyOfChaosMember>
if (player != null) if (player != null)
{ {
// Send winner message // Send winner message
player.sendPacket(msg); if (msg != null)
{
player.sendPacket(msg);
}
// Send result // Send result
player.sendPacket(new ExCuriousHouseResult(member.getResultType(), this)); player.sendPacket(new ExCuriousHouseResult(member.getResultType(), this));

View File

@ -282,7 +282,7 @@ public class CeremonyOfChaosEvent extends AbstractEvent<CeremonyOfChaosMember>
final List<CeremonyOfChaosMember> winners = getWinners(); final List<CeremonyOfChaosMember> winners = getWinners();
final List<CeremonyOfChaosMember> members = new ArrayList<>(getMembers().size()); final List<CeremonyOfChaosMember> members = new ArrayList<>(getMembers().size());
final SystemMessage msg; SystemMessage msg = null;
if (winners.isEmpty() || (winners.size() > 1)) if (winners.isEmpty() || (winners.size() > 1))
{ {
msg = SystemMessage.getSystemMessage(SystemMessageId.THERE_IS_NO_VICTOR_THE_MATCH_ENDS_IN_A_TIE); msg = SystemMessage.getSystemMessage(SystemMessageId.THERE_IS_NO_VICTOR_THE_MATCH_ENDS_IN_A_TIE);
@ -290,92 +290,95 @@ public class CeremonyOfChaosEvent extends AbstractEvent<CeremonyOfChaosMember>
else else
{ {
final PlayerInstance winner = winners.get(0).getPlayer(); final PlayerInstance winner = winners.get(0).getPlayer();
msg = SystemMessage.getSystemMessage(SystemMessageId.CONGRATULATIONS_C1_YOU_WIN_THE_MATCH); if (winner != null)
msg.addString(winner.getName());
// Rewards according to https://l2wiki.com/Ceremony_of_Chaos
final int marksRewarded = Rnd.get(2, 4);
winner.addItem("CoC-Winner", 34900, marksRewarded, winner, true); // Mysterious Marks
// Possible additional rewards
// Improved Life Stone
if (Rnd.get(10) < 3) // Chance to get reward (30%)
{ {
switch (Rnd.get(4)) msg = SystemMessage.getSystemMessage(SystemMessageId.CONGRATULATIONS_C1_YOU_WIN_THE_MATCH);
msg.addString(winner.getName());
// Rewards according to https://l2wiki.com/Ceremony_of_Chaos
final int marksRewarded = Rnd.get(2, 4);
winner.addItem("CoC-Winner", 34900, marksRewarded, winner, true); // Mysterious Marks
// Possible additional rewards
// Improved Life Stone
if (Rnd.get(10) < 3) // Chance to get reward (30%)
{ {
case 0: switch (Rnd.get(4))
{ {
winner.addItem("CoC-Winner", 18570, 1, winner, true); // Improved Life Stone (R95-grade) case 0:
break; {
} winner.addItem("CoC-Winner", 18570, 1, winner, true); // Improved Life Stone (R95-grade)
case 1: break;
{ }
winner.addItem("CoC-Winner", 18571, 1, winner, true); // Improved Life Stone (R95-grade) case 1:
break; {
} winner.addItem("CoC-Winner", 18571, 1, winner, true); // Improved Life Stone (R95-grade)
case 2: break;
{ }
winner.addItem("CoC-Winner", 18575, 1, winner, true); // Improved Life Stone (R99-grade) case 2:
break; {
} winner.addItem("CoC-Winner", 18575, 1, winner, true); // Improved Life Stone (R99-grade)
case 3: break;
{ }
winner.addItem("CoC-Winner", 18576, 1, winner, true); // Improved Life Stone (R99-grade) case 3:
break; {
winner.addItem("CoC-Winner", 18576, 1, winner, true); // Improved Life Stone (R99-grade)
break;
}
} }
} }
} // Soul Crystal Fragment
// Soul Crystal Fragment else if (Rnd.get(10) < 3) // Chance to get reward (30%)
else if (Rnd.get(10) < 3) // Chance to get reward (30%)
{
switch (Rnd.get(6))
{ {
case 0: switch (Rnd.get(6))
{ {
winner.addItem("CoC-Winner", 19467, 1, winner, true); // Yellow Soul Crystal Fragment (R99-Grade) case 0:
break; {
} winner.addItem("CoC-Winner", 19467, 1, winner, true); // Yellow Soul Crystal Fragment (R99-Grade)
case 1: break;
{ }
winner.addItem("CoC-Winner", 19468, 1, winner, true); // Teal Soul Crystal Fragment (R99-Grade) case 1:
break; {
} winner.addItem("CoC-Winner", 19468, 1, winner, true); // Teal Soul Crystal Fragment (R99-Grade)
case 2: break;
{ }
winner.addItem("CoC-Winner", 19469, 1, winner, true); // Purple Soul Crystal Fragment (R99-Grade) case 2:
break; {
} winner.addItem("CoC-Winner", 19469, 1, winner, true); // Purple Soul Crystal Fragment (R99-Grade)
case 3: break;
{ }
winner.addItem("CoC-Winner", 19511, 1, winner, true); // Yellow Soul Crystal Fragment (R95-Grade) case 3:
break; {
} winner.addItem("CoC-Winner", 19511, 1, winner, true); // Yellow Soul Crystal Fragment (R95-Grade)
case 4: break;
{ }
winner.addItem("CoC-Winner", 19512, 1, winner, true); // Teal Soul Crystal Fragment (R95-Grade) case 4:
break; {
} winner.addItem("CoC-Winner", 19512, 1, winner, true); // Teal Soul Crystal Fragment (R95-Grade)
case 5: break;
{ }
winner.addItem("CoC-Winner", 19513, 1, winner, true); // Purple Soul Crystal Fragment (R95-Grade) case 5:
break; {
winner.addItem("CoC-Winner", 19513, 1, winner, true); // Purple Soul Crystal Fragment (R95-Grade)
break;
}
} }
} }
} // Mysterious Belt
// Mysterious Belt else if (Rnd.get(10) < 1) // Chance to get reward (10%)
else if (Rnd.get(10) < 1) // Chance to get reward (10%) {
{ winner.addItem("CoC-Winner", 35565, 1, winner, true); // Mysterious Belt
winner.addItem("CoC-Winner", 35565, 1, winner, true); // Mysterious Belt }
}
// Save monthly progress. // Save monthly progress.
final int totalMarks = winner.getVariables().getInt(PlayerVariables.CEREMONY_OF_CHAOS_MARKS, 0) + marksRewarded; final int totalMarks = winner.getVariables().getInt(PlayerVariables.CEREMONY_OF_CHAOS_MARKS, 0) + marksRewarded;
winner.getVariables().set(PlayerVariables.CEREMONY_OF_CHAOS_MARKS, totalMarks); winner.getVariables().set(PlayerVariables.CEREMONY_OF_CHAOS_MARKS, totalMarks);
if (totalMarks > GlobalVariablesManager.getInstance().getInt(GlobalVariablesManager.COC_TOP_MARKS, 0)) if (totalMarks > GlobalVariablesManager.getInstance().getInt(GlobalVariablesManager.COC_TOP_MARKS, 0))
{ {
GlobalVariablesManager.getInstance().set(GlobalVariablesManager.COC_TOP_MARKS, totalMarks); GlobalVariablesManager.getInstance().set(GlobalVariablesManager.COC_TOP_MARKS, totalMarks);
GlobalVariablesManager.getInstance().set(GlobalVariablesManager.COC_TOP_MEMBER, winner.getObjectId()); GlobalVariablesManager.getInstance().set(GlobalVariablesManager.COC_TOP_MEMBER, winner.getObjectId());
}
} }
} }
@ -385,7 +388,10 @@ public class CeremonyOfChaosEvent extends AbstractEvent<CeremonyOfChaosMember>
if (player != null) if (player != null)
{ {
// Send winner message // Send winner message
player.sendPacket(msg); if (msg != null)
{
player.sendPacket(msg);
}
// Send result // Send result
player.sendPacket(new ExCuriousHouseResult(member.getResultType(), this)); player.sendPacket(new ExCuriousHouseResult(member.getResultType(), this));

View File

@ -282,7 +282,7 @@ public class CeremonyOfChaosEvent extends AbstractEvent<CeremonyOfChaosMember>
final List<CeremonyOfChaosMember> winners = getWinners(); final List<CeremonyOfChaosMember> winners = getWinners();
final List<CeremonyOfChaosMember> members = new ArrayList<>(getMembers().size()); final List<CeremonyOfChaosMember> members = new ArrayList<>(getMembers().size());
final SystemMessage msg; SystemMessage msg = null;
if (winners.isEmpty() || (winners.size() > 1)) if (winners.isEmpty() || (winners.size() > 1))
{ {
msg = SystemMessage.getSystemMessage(SystemMessageId.THERE_IS_NO_VICTOR_THE_MATCH_ENDS_IN_A_TIE); msg = SystemMessage.getSystemMessage(SystemMessageId.THERE_IS_NO_VICTOR_THE_MATCH_ENDS_IN_A_TIE);
@ -290,92 +290,95 @@ public class CeremonyOfChaosEvent extends AbstractEvent<CeremonyOfChaosMember>
else else
{ {
final PlayerInstance winner = winners.get(0).getPlayer(); final PlayerInstance winner = winners.get(0).getPlayer();
msg = SystemMessage.getSystemMessage(SystemMessageId.CONGRATULATIONS_C1_YOU_WIN_THE_MATCH); if (winner != null)
msg.addString(winner.getName());
// Rewards according to https://l2wiki.com/Ceremony_of_Chaos
final int marksRewarded = Rnd.get(2, 4);
winner.addItem("CoC-Winner", 34900, marksRewarded, winner, true); // Mysterious Marks
// Possible additional rewards
// Improved Life Stone
if (Rnd.get(10) < 3) // Chance to get reward (30%)
{ {
switch (Rnd.get(4)) msg = SystemMessage.getSystemMessage(SystemMessageId.CONGRATULATIONS_C1_YOU_WIN_THE_MATCH);
msg.addString(winner.getName());
// Rewards according to https://l2wiki.com/Ceremony_of_Chaos
final int marksRewarded = Rnd.get(2, 4);
winner.addItem("CoC-Winner", 34900, marksRewarded, winner, true); // Mysterious Marks
// Possible additional rewards
// Improved Life Stone
if (Rnd.get(10) < 3) // Chance to get reward (30%)
{ {
case 0: switch (Rnd.get(4))
{ {
winner.addItem("CoC-Winner", 18570, 1, winner, true); // Improved Life Stone (R95-grade) case 0:
break; {
} winner.addItem("CoC-Winner", 18570, 1, winner, true); // Improved Life Stone (R95-grade)
case 1: break;
{ }
winner.addItem("CoC-Winner", 18571, 1, winner, true); // Improved Life Stone (R95-grade) case 1:
break; {
} winner.addItem("CoC-Winner", 18571, 1, winner, true); // Improved Life Stone (R95-grade)
case 2: break;
{ }
winner.addItem("CoC-Winner", 18575, 1, winner, true); // Improved Life Stone (R99-grade) case 2:
break; {
} winner.addItem("CoC-Winner", 18575, 1, winner, true); // Improved Life Stone (R99-grade)
case 3: break;
{ }
winner.addItem("CoC-Winner", 18576, 1, winner, true); // Improved Life Stone (R99-grade) case 3:
break; {
winner.addItem("CoC-Winner", 18576, 1, winner, true); // Improved Life Stone (R99-grade)
break;
}
} }
} }
} // Soul Crystal Fragment
// Soul Crystal Fragment else if (Rnd.get(10) < 3) // Chance to get reward (30%)
else if (Rnd.get(10) < 3) // Chance to get reward (30%)
{
switch (Rnd.get(6))
{ {
case 0: switch (Rnd.get(6))
{ {
winner.addItem("CoC-Winner", 19467, 1, winner, true); // Yellow Soul Crystal Fragment (R99-Grade) case 0:
break; {
} winner.addItem("CoC-Winner", 19467, 1, winner, true); // Yellow Soul Crystal Fragment (R99-Grade)
case 1: break;
{ }
winner.addItem("CoC-Winner", 19468, 1, winner, true); // Teal Soul Crystal Fragment (R99-Grade) case 1:
break; {
} winner.addItem("CoC-Winner", 19468, 1, winner, true); // Teal Soul Crystal Fragment (R99-Grade)
case 2: break;
{ }
winner.addItem("CoC-Winner", 19469, 1, winner, true); // Purple Soul Crystal Fragment (R99-Grade) case 2:
break; {
} winner.addItem("CoC-Winner", 19469, 1, winner, true); // Purple Soul Crystal Fragment (R99-Grade)
case 3: break;
{ }
winner.addItem("CoC-Winner", 19511, 1, winner, true); // Yellow Soul Crystal Fragment (R95-Grade) case 3:
break; {
} winner.addItem("CoC-Winner", 19511, 1, winner, true); // Yellow Soul Crystal Fragment (R95-Grade)
case 4: break;
{ }
winner.addItem("CoC-Winner", 19512, 1, winner, true); // Teal Soul Crystal Fragment (R95-Grade) case 4:
break; {
} winner.addItem("CoC-Winner", 19512, 1, winner, true); // Teal Soul Crystal Fragment (R95-Grade)
case 5: break;
{ }
winner.addItem("CoC-Winner", 19513, 1, winner, true); // Purple Soul Crystal Fragment (R95-Grade) case 5:
break; {
winner.addItem("CoC-Winner", 19513, 1, winner, true); // Purple Soul Crystal Fragment (R95-Grade)
break;
}
} }
} }
} // Mysterious Belt
// Mysterious Belt else if (Rnd.get(10) < 1) // Chance to get reward (10%)
else if (Rnd.get(10) < 1) // Chance to get reward (10%) {
{ winner.addItem("CoC-Winner", 35565, 1, winner, true); // Mysterious Belt
winner.addItem("CoC-Winner", 35565, 1, winner, true); // Mysterious Belt }
}
// Save monthly progress. // Save monthly progress.
final int totalMarks = winner.getVariables().getInt(PlayerVariables.CEREMONY_OF_CHAOS_MARKS, 0) + marksRewarded; final int totalMarks = winner.getVariables().getInt(PlayerVariables.CEREMONY_OF_CHAOS_MARKS, 0) + marksRewarded;
winner.getVariables().set(PlayerVariables.CEREMONY_OF_CHAOS_MARKS, totalMarks); winner.getVariables().set(PlayerVariables.CEREMONY_OF_CHAOS_MARKS, totalMarks);
if (totalMarks > GlobalVariablesManager.getInstance().getInt(GlobalVariablesManager.COC_TOP_MARKS, 0)) if (totalMarks > GlobalVariablesManager.getInstance().getInt(GlobalVariablesManager.COC_TOP_MARKS, 0))
{ {
GlobalVariablesManager.getInstance().set(GlobalVariablesManager.COC_TOP_MARKS, totalMarks); GlobalVariablesManager.getInstance().set(GlobalVariablesManager.COC_TOP_MARKS, totalMarks);
GlobalVariablesManager.getInstance().set(GlobalVariablesManager.COC_TOP_MEMBER, winner.getObjectId()); GlobalVariablesManager.getInstance().set(GlobalVariablesManager.COC_TOP_MEMBER, winner.getObjectId());
}
} }
} }
@ -385,7 +388,10 @@ public class CeremonyOfChaosEvent extends AbstractEvent<CeremonyOfChaosMember>
if (player != null) if (player != null)
{ {
// Send winner message // Send winner message
player.sendPacket(msg); if (msg != null)
{
player.sendPacket(msg);
}
// Send result // Send result
player.sendPacket(new ExCuriousHouseResult(member.getResultType(), this)); player.sendPacket(new ExCuriousHouseResult(member.getResultType(), this));

View File

@ -282,7 +282,7 @@ public class CeremonyOfChaosEvent extends AbstractEvent<CeremonyOfChaosMember>
final List<CeremonyOfChaosMember> winners = getWinners(); final List<CeremonyOfChaosMember> winners = getWinners();
final List<CeremonyOfChaosMember> members = new ArrayList<>(getMembers().size()); final List<CeremonyOfChaosMember> members = new ArrayList<>(getMembers().size());
final SystemMessage msg; SystemMessage msg = null;
if (winners.isEmpty() || (winners.size() > 1)) if (winners.isEmpty() || (winners.size() > 1))
{ {
msg = SystemMessage.getSystemMessage(SystemMessageId.THERE_IS_NO_VICTOR_THE_MATCH_ENDS_IN_A_TIE); msg = SystemMessage.getSystemMessage(SystemMessageId.THERE_IS_NO_VICTOR_THE_MATCH_ENDS_IN_A_TIE);
@ -290,92 +290,95 @@ public class CeremonyOfChaosEvent extends AbstractEvent<CeremonyOfChaosMember>
else else
{ {
final PlayerInstance winner = winners.get(0).getPlayer(); final PlayerInstance winner = winners.get(0).getPlayer();
msg = SystemMessage.getSystemMessage(SystemMessageId.CONGRATULATIONS_C1_YOU_WIN_THE_MATCH); if (winner != null)
msg.addString(winner.getName());
// Rewards according to https://l2wiki.com/Ceremony_of_Chaos
final int marksRewarded = Rnd.get(2, 4);
winner.addItem("CoC-Winner", 34900, marksRewarded, winner, true); // Mysterious Marks
// Possible additional rewards
// Improved Life Stone
if (Rnd.get(10) < 3) // Chance to get reward (30%)
{ {
switch (Rnd.get(4)) msg = SystemMessage.getSystemMessage(SystemMessageId.CONGRATULATIONS_C1_YOU_WIN_THE_MATCH);
msg.addString(winner.getName());
// Rewards according to https://l2wiki.com/Ceremony_of_Chaos
final int marksRewarded = Rnd.get(2, 4);
winner.addItem("CoC-Winner", 34900, marksRewarded, winner, true); // Mysterious Marks
// Possible additional rewards
// Improved Life Stone
if (Rnd.get(10) < 3) // Chance to get reward (30%)
{ {
case 0: switch (Rnd.get(4))
{ {
winner.addItem("CoC-Winner", 18570, 1, winner, true); // Improved Life Stone (R95-grade) case 0:
break; {
} winner.addItem("CoC-Winner", 18570, 1, winner, true); // Improved Life Stone (R95-grade)
case 1: break;
{ }
winner.addItem("CoC-Winner", 18571, 1, winner, true); // Improved Life Stone (R95-grade) case 1:
break; {
} winner.addItem("CoC-Winner", 18571, 1, winner, true); // Improved Life Stone (R95-grade)
case 2: break;
{ }
winner.addItem("CoC-Winner", 18575, 1, winner, true); // Improved Life Stone (R99-grade) case 2:
break; {
} winner.addItem("CoC-Winner", 18575, 1, winner, true); // Improved Life Stone (R99-grade)
case 3: break;
{ }
winner.addItem("CoC-Winner", 18576, 1, winner, true); // Improved Life Stone (R99-grade) case 3:
break; {
winner.addItem("CoC-Winner", 18576, 1, winner, true); // Improved Life Stone (R99-grade)
break;
}
} }
} }
} // Soul Crystal Fragment
// Soul Crystal Fragment else if (Rnd.get(10) < 3) // Chance to get reward (30%)
else if (Rnd.get(10) < 3) // Chance to get reward (30%)
{
switch (Rnd.get(6))
{ {
case 0: switch (Rnd.get(6))
{ {
winner.addItem("CoC-Winner", 19467, 1, winner, true); // Yellow Soul Crystal Fragment (R99-Grade) case 0:
break; {
} winner.addItem("CoC-Winner", 19467, 1, winner, true); // Yellow Soul Crystal Fragment (R99-Grade)
case 1: break;
{ }
winner.addItem("CoC-Winner", 19468, 1, winner, true); // Teal Soul Crystal Fragment (R99-Grade) case 1:
break; {
} winner.addItem("CoC-Winner", 19468, 1, winner, true); // Teal Soul Crystal Fragment (R99-Grade)
case 2: break;
{ }
winner.addItem("CoC-Winner", 19469, 1, winner, true); // Purple Soul Crystal Fragment (R99-Grade) case 2:
break; {
} winner.addItem("CoC-Winner", 19469, 1, winner, true); // Purple Soul Crystal Fragment (R99-Grade)
case 3: break;
{ }
winner.addItem("CoC-Winner", 19511, 1, winner, true); // Yellow Soul Crystal Fragment (R95-Grade) case 3:
break; {
} winner.addItem("CoC-Winner", 19511, 1, winner, true); // Yellow Soul Crystal Fragment (R95-Grade)
case 4: break;
{ }
winner.addItem("CoC-Winner", 19512, 1, winner, true); // Teal Soul Crystal Fragment (R95-Grade) case 4:
break; {
} winner.addItem("CoC-Winner", 19512, 1, winner, true); // Teal Soul Crystal Fragment (R95-Grade)
case 5: break;
{ }
winner.addItem("CoC-Winner", 19513, 1, winner, true); // Purple Soul Crystal Fragment (R95-Grade) case 5:
break; {
winner.addItem("CoC-Winner", 19513, 1, winner, true); // Purple Soul Crystal Fragment (R95-Grade)
break;
}
} }
} }
} // Mysterious Belt
// Mysterious Belt else if (Rnd.get(10) < 1) // Chance to get reward (10%)
else if (Rnd.get(10) < 1) // Chance to get reward (10%) {
{ winner.addItem("CoC-Winner", 35565, 1, winner, true); // Mysterious Belt
winner.addItem("CoC-Winner", 35565, 1, winner, true); // Mysterious Belt }
}
// Save monthly progress. // Save monthly progress.
final int totalMarks = winner.getVariables().getInt(PlayerVariables.CEREMONY_OF_CHAOS_MARKS, 0) + marksRewarded; final int totalMarks = winner.getVariables().getInt(PlayerVariables.CEREMONY_OF_CHAOS_MARKS, 0) + marksRewarded;
winner.getVariables().set(PlayerVariables.CEREMONY_OF_CHAOS_MARKS, totalMarks); winner.getVariables().set(PlayerVariables.CEREMONY_OF_CHAOS_MARKS, totalMarks);
if (totalMarks > GlobalVariablesManager.getInstance().getInt(GlobalVariablesManager.COC_TOP_MARKS, 0)) if (totalMarks > GlobalVariablesManager.getInstance().getInt(GlobalVariablesManager.COC_TOP_MARKS, 0))
{ {
GlobalVariablesManager.getInstance().set(GlobalVariablesManager.COC_TOP_MARKS, totalMarks); GlobalVariablesManager.getInstance().set(GlobalVariablesManager.COC_TOP_MARKS, totalMarks);
GlobalVariablesManager.getInstance().set(GlobalVariablesManager.COC_TOP_MEMBER, winner.getObjectId()); GlobalVariablesManager.getInstance().set(GlobalVariablesManager.COC_TOP_MEMBER, winner.getObjectId());
}
} }
} }
@ -385,7 +388,10 @@ public class CeremonyOfChaosEvent extends AbstractEvent<CeremonyOfChaosMember>
if (player != null) if (player != null)
{ {
// Send winner message // Send winner message
player.sendPacket(msg); if (msg != null)
{
player.sendPacket(msg);
}
// Send result // Send result
player.sendPacket(new ExCuriousHouseResult(member.getResultType(), this)); player.sendPacket(new ExCuriousHouseResult(member.getResultType(), this));

View File

@ -282,7 +282,7 @@ public class CeremonyOfChaosEvent extends AbstractEvent<CeremonyOfChaosMember>
final List<CeremonyOfChaosMember> winners = getWinners(); final List<CeremonyOfChaosMember> winners = getWinners();
final List<CeremonyOfChaosMember> members = new ArrayList<>(getMembers().size()); final List<CeremonyOfChaosMember> members = new ArrayList<>(getMembers().size());
final SystemMessage msg; SystemMessage msg = null;
if (winners.isEmpty() || (winners.size() > 1)) if (winners.isEmpty() || (winners.size() > 1))
{ {
msg = SystemMessage.getSystemMessage(SystemMessageId.THERE_IS_NO_VICTOR_THE_MATCH_ENDS_IN_A_TIE); msg = SystemMessage.getSystemMessage(SystemMessageId.THERE_IS_NO_VICTOR_THE_MATCH_ENDS_IN_A_TIE);
@ -290,92 +290,95 @@ public class CeremonyOfChaosEvent extends AbstractEvent<CeremonyOfChaosMember>
else else
{ {
final PlayerInstance winner = winners.get(0).getPlayer(); final PlayerInstance winner = winners.get(0).getPlayer();
msg = SystemMessage.getSystemMessage(SystemMessageId.CONGRATULATIONS_C1_YOU_WIN_THE_MATCH); if (winner != null)
msg.addString(winner.getName());
// Rewards according to https://l2wiki.com/Ceremony_of_Chaos
final int marksRewarded = Rnd.get(2, 4);
winner.addItem("CoC-Winner", 34900, marksRewarded, winner, true); // Mysterious Marks
// Possible additional rewards
// Improved Life Stone
if (Rnd.get(10) < 3) // Chance to get reward (30%)
{ {
switch (Rnd.get(4)) msg = SystemMessage.getSystemMessage(SystemMessageId.CONGRATULATIONS_C1_YOU_WIN_THE_MATCH);
msg.addString(winner.getName());
// Rewards according to https://l2wiki.com/Ceremony_of_Chaos
final int marksRewarded = Rnd.get(2, 4);
winner.addItem("CoC-Winner", 34900, marksRewarded, winner, true); // Mysterious Marks
// Possible additional rewards
// Improved Life Stone
if (Rnd.get(10) < 3) // Chance to get reward (30%)
{ {
case 0: switch (Rnd.get(4))
{ {
winner.addItem("CoC-Winner", 18570, 1, winner, true); // Improved Life Stone (R95-grade) case 0:
break; {
} winner.addItem("CoC-Winner", 18570, 1, winner, true); // Improved Life Stone (R95-grade)
case 1: break;
{ }
winner.addItem("CoC-Winner", 18571, 1, winner, true); // Improved Life Stone (R95-grade) case 1:
break; {
} winner.addItem("CoC-Winner", 18571, 1, winner, true); // Improved Life Stone (R95-grade)
case 2: break;
{ }
winner.addItem("CoC-Winner", 18575, 1, winner, true); // Improved Life Stone (R99-grade) case 2:
break; {
} winner.addItem("CoC-Winner", 18575, 1, winner, true); // Improved Life Stone (R99-grade)
case 3: break;
{ }
winner.addItem("CoC-Winner", 18576, 1, winner, true); // Improved Life Stone (R99-grade) case 3:
break; {
winner.addItem("CoC-Winner", 18576, 1, winner, true); // Improved Life Stone (R99-grade)
break;
}
} }
} }
} // Soul Crystal Fragment
// Soul Crystal Fragment else if (Rnd.get(10) < 3) // Chance to get reward (30%)
else if (Rnd.get(10) < 3) // Chance to get reward (30%)
{
switch (Rnd.get(6))
{ {
case 0: switch (Rnd.get(6))
{ {
winner.addItem("CoC-Winner", 19467, 1, winner, true); // Yellow Soul Crystal Fragment (R99-Grade) case 0:
break; {
} winner.addItem("CoC-Winner", 19467, 1, winner, true); // Yellow Soul Crystal Fragment (R99-Grade)
case 1: break;
{ }
winner.addItem("CoC-Winner", 19468, 1, winner, true); // Teal Soul Crystal Fragment (R99-Grade) case 1:
break; {
} winner.addItem("CoC-Winner", 19468, 1, winner, true); // Teal Soul Crystal Fragment (R99-Grade)
case 2: break;
{ }
winner.addItem("CoC-Winner", 19469, 1, winner, true); // Purple Soul Crystal Fragment (R99-Grade) case 2:
break; {
} winner.addItem("CoC-Winner", 19469, 1, winner, true); // Purple Soul Crystal Fragment (R99-Grade)
case 3: break;
{ }
winner.addItem("CoC-Winner", 19511, 1, winner, true); // Yellow Soul Crystal Fragment (R95-Grade) case 3:
break; {
} winner.addItem("CoC-Winner", 19511, 1, winner, true); // Yellow Soul Crystal Fragment (R95-Grade)
case 4: break;
{ }
winner.addItem("CoC-Winner", 19512, 1, winner, true); // Teal Soul Crystal Fragment (R95-Grade) case 4:
break; {
} winner.addItem("CoC-Winner", 19512, 1, winner, true); // Teal Soul Crystal Fragment (R95-Grade)
case 5: break;
{ }
winner.addItem("CoC-Winner", 19513, 1, winner, true); // Purple Soul Crystal Fragment (R95-Grade) case 5:
break; {
winner.addItem("CoC-Winner", 19513, 1, winner, true); // Purple Soul Crystal Fragment (R95-Grade)
break;
}
} }
} }
} // Mysterious Belt
// Mysterious Belt else if (Rnd.get(10) < 1) // Chance to get reward (10%)
else if (Rnd.get(10) < 1) // Chance to get reward (10%) {
{ winner.addItem("CoC-Winner", 35565, 1, winner, true); // Mysterious Belt
winner.addItem("CoC-Winner", 35565, 1, winner, true); // Mysterious Belt }
}
// Save monthly progress. // Save monthly progress.
final int totalMarks = winner.getVariables().getInt(PlayerVariables.CEREMONY_OF_CHAOS_MARKS, 0) + marksRewarded; final int totalMarks = winner.getVariables().getInt(PlayerVariables.CEREMONY_OF_CHAOS_MARKS, 0) + marksRewarded;
winner.getVariables().set(PlayerVariables.CEREMONY_OF_CHAOS_MARKS, totalMarks); winner.getVariables().set(PlayerVariables.CEREMONY_OF_CHAOS_MARKS, totalMarks);
if (totalMarks > GlobalVariablesManager.getInstance().getInt(GlobalVariablesManager.COC_TOP_MARKS, 0)) if (totalMarks > GlobalVariablesManager.getInstance().getInt(GlobalVariablesManager.COC_TOP_MARKS, 0))
{ {
GlobalVariablesManager.getInstance().set(GlobalVariablesManager.COC_TOP_MARKS, totalMarks); GlobalVariablesManager.getInstance().set(GlobalVariablesManager.COC_TOP_MARKS, totalMarks);
GlobalVariablesManager.getInstance().set(GlobalVariablesManager.COC_TOP_MEMBER, winner.getObjectId()); GlobalVariablesManager.getInstance().set(GlobalVariablesManager.COC_TOP_MEMBER, winner.getObjectId());
}
} }
} }
@ -385,7 +388,10 @@ public class CeremonyOfChaosEvent extends AbstractEvent<CeremonyOfChaosMember>
if (player != null) if (player != null)
{ {
// Send winner message // Send winner message
player.sendPacket(msg); if (msg != null)
{
player.sendPacket(msg);
}
// Send result // Send result
player.sendPacket(new ExCuriousHouseResult(member.getResultType(), this)); player.sendPacket(new ExCuriousHouseResult(member.getResultType(), this));

View File

@ -282,7 +282,7 @@ public class CeremonyOfChaosEvent extends AbstractEvent<CeremonyOfChaosMember>
final List<CeremonyOfChaosMember> winners = getWinners(); final List<CeremonyOfChaosMember> winners = getWinners();
final List<CeremonyOfChaosMember> members = new ArrayList<>(getMembers().size()); final List<CeremonyOfChaosMember> members = new ArrayList<>(getMembers().size());
final SystemMessage msg; SystemMessage msg = null;
if (winners.isEmpty() || (winners.size() > 1)) if (winners.isEmpty() || (winners.size() > 1))
{ {
msg = SystemMessage.getSystemMessage(SystemMessageId.THERE_IS_NO_VICTOR_THE_MATCH_ENDS_IN_A_TIE); msg = SystemMessage.getSystemMessage(SystemMessageId.THERE_IS_NO_VICTOR_THE_MATCH_ENDS_IN_A_TIE);
@ -290,92 +290,95 @@ public class CeremonyOfChaosEvent extends AbstractEvent<CeremonyOfChaosMember>
else else
{ {
final PlayerInstance winner = winners.get(0).getPlayer(); final PlayerInstance winner = winners.get(0).getPlayer();
msg = SystemMessage.getSystemMessage(SystemMessageId.CONGRATULATIONS_C1_YOU_WIN_THE_MATCH); if (winner != null)
msg.addString(winner.getName());
// Rewards according to https://l2wiki.com/Ceremony_of_Chaos
final int marksRewarded = Rnd.get(2, 4);
winner.addItem("CoC-Winner", 34900, marksRewarded, winner, true); // Mysterious Marks
// Possible additional rewards
// Improved Life Stone
if (Rnd.get(10) < 3) // Chance to get reward (30%)
{ {
switch (Rnd.get(4)) msg = SystemMessage.getSystemMessage(SystemMessageId.CONGRATULATIONS_C1_YOU_WIN_THE_MATCH);
msg.addString(winner.getName());
// Rewards according to https://l2wiki.com/Ceremony_of_Chaos
final int marksRewarded = Rnd.get(2, 4);
winner.addItem("CoC-Winner", 34900, marksRewarded, winner, true); // Mysterious Marks
// Possible additional rewards
// Improved Life Stone
if (Rnd.get(10) < 3) // Chance to get reward (30%)
{ {
case 0: switch (Rnd.get(4))
{ {
winner.addItem("CoC-Winner", 18570, 1, winner, true); // Improved Life Stone (R95-grade) case 0:
break; {
} winner.addItem("CoC-Winner", 18570, 1, winner, true); // Improved Life Stone (R95-grade)
case 1: break;
{ }
winner.addItem("CoC-Winner", 18571, 1, winner, true); // Improved Life Stone (R95-grade) case 1:
break; {
} winner.addItem("CoC-Winner", 18571, 1, winner, true); // Improved Life Stone (R95-grade)
case 2: break;
{ }
winner.addItem("CoC-Winner", 18575, 1, winner, true); // Improved Life Stone (R99-grade) case 2:
break; {
} winner.addItem("CoC-Winner", 18575, 1, winner, true); // Improved Life Stone (R99-grade)
case 3: break;
{ }
winner.addItem("CoC-Winner", 18576, 1, winner, true); // Improved Life Stone (R99-grade) case 3:
break; {
winner.addItem("CoC-Winner", 18576, 1, winner, true); // Improved Life Stone (R99-grade)
break;
}
} }
} }
} // Soul Crystal Fragment
// Soul Crystal Fragment else if (Rnd.get(10) < 3) // Chance to get reward (30%)
else if (Rnd.get(10) < 3) // Chance to get reward (30%)
{
switch (Rnd.get(6))
{ {
case 0: switch (Rnd.get(6))
{ {
winner.addItem("CoC-Winner", 19467, 1, winner, true); // Yellow Soul Crystal Fragment (R99-Grade) case 0:
break; {
} winner.addItem("CoC-Winner", 19467, 1, winner, true); // Yellow Soul Crystal Fragment (R99-Grade)
case 1: break;
{ }
winner.addItem("CoC-Winner", 19468, 1, winner, true); // Teal Soul Crystal Fragment (R99-Grade) case 1:
break; {
} winner.addItem("CoC-Winner", 19468, 1, winner, true); // Teal Soul Crystal Fragment (R99-Grade)
case 2: break;
{ }
winner.addItem("CoC-Winner", 19469, 1, winner, true); // Purple Soul Crystal Fragment (R99-Grade) case 2:
break; {
} winner.addItem("CoC-Winner", 19469, 1, winner, true); // Purple Soul Crystal Fragment (R99-Grade)
case 3: break;
{ }
winner.addItem("CoC-Winner", 19511, 1, winner, true); // Yellow Soul Crystal Fragment (R95-Grade) case 3:
break; {
} winner.addItem("CoC-Winner", 19511, 1, winner, true); // Yellow Soul Crystal Fragment (R95-Grade)
case 4: break;
{ }
winner.addItem("CoC-Winner", 19512, 1, winner, true); // Teal Soul Crystal Fragment (R95-Grade) case 4:
break; {
} winner.addItem("CoC-Winner", 19512, 1, winner, true); // Teal Soul Crystal Fragment (R95-Grade)
case 5: break;
{ }
winner.addItem("CoC-Winner", 19513, 1, winner, true); // Purple Soul Crystal Fragment (R95-Grade) case 5:
break; {
winner.addItem("CoC-Winner", 19513, 1, winner, true); // Purple Soul Crystal Fragment (R95-Grade)
break;
}
} }
} }
} // Mysterious Belt
// Mysterious Belt else if (Rnd.get(10) < 1) // Chance to get reward (10%)
else if (Rnd.get(10) < 1) // Chance to get reward (10%) {
{ winner.addItem("CoC-Winner", 35565, 1, winner, true); // Mysterious Belt
winner.addItem("CoC-Winner", 35565, 1, winner, true); // Mysterious Belt }
}
// Save monthly progress. // Save monthly progress.
final int totalMarks = winner.getVariables().getInt(PlayerVariables.CEREMONY_OF_CHAOS_MARKS, 0) + marksRewarded; final int totalMarks = winner.getVariables().getInt(PlayerVariables.CEREMONY_OF_CHAOS_MARKS, 0) + marksRewarded;
winner.getVariables().set(PlayerVariables.CEREMONY_OF_CHAOS_MARKS, totalMarks); winner.getVariables().set(PlayerVariables.CEREMONY_OF_CHAOS_MARKS, totalMarks);
if (totalMarks > GlobalVariablesManager.getInstance().getInt(GlobalVariablesManager.COC_TOP_MARKS, 0)) if (totalMarks > GlobalVariablesManager.getInstance().getInt(GlobalVariablesManager.COC_TOP_MARKS, 0))
{ {
GlobalVariablesManager.getInstance().set(GlobalVariablesManager.COC_TOP_MARKS, totalMarks); GlobalVariablesManager.getInstance().set(GlobalVariablesManager.COC_TOP_MARKS, totalMarks);
GlobalVariablesManager.getInstance().set(GlobalVariablesManager.COC_TOP_MEMBER, winner.getObjectId()); GlobalVariablesManager.getInstance().set(GlobalVariablesManager.COC_TOP_MEMBER, winner.getObjectId());
}
} }
} }
@ -385,7 +388,10 @@ public class CeremonyOfChaosEvent extends AbstractEvent<CeremonyOfChaosMember>
if (player != null) if (player != null)
{ {
// Send winner message // Send winner message
player.sendPacket(msg); if (msg != null)
{
player.sendPacket(msg);
}
// Send result // Send result
player.sendPacket(new ExCuriousHouseResult(member.getResultType(), this)); player.sendPacket(new ExCuriousHouseResult(member.getResultType(), this));

View File

@ -282,7 +282,7 @@ public class CeremonyOfChaosEvent extends AbstractEvent<CeremonyOfChaosMember>
final List<CeremonyOfChaosMember> winners = getWinners(); final List<CeremonyOfChaosMember> winners = getWinners();
final List<CeremonyOfChaosMember> members = new ArrayList<>(getMembers().size()); final List<CeremonyOfChaosMember> members = new ArrayList<>(getMembers().size());
final SystemMessage msg; SystemMessage msg = null;
if (winners.isEmpty() || (winners.size() > 1)) if (winners.isEmpty() || (winners.size() > 1))
{ {
msg = SystemMessage.getSystemMessage(SystemMessageId.THERE_IS_NO_VICTOR_THE_MATCH_ENDS_IN_A_TIE); msg = SystemMessage.getSystemMessage(SystemMessageId.THERE_IS_NO_VICTOR_THE_MATCH_ENDS_IN_A_TIE);
@ -290,92 +290,95 @@ public class CeremonyOfChaosEvent extends AbstractEvent<CeremonyOfChaosMember>
else else
{ {
final PlayerInstance winner = winners.get(0).getPlayer(); final PlayerInstance winner = winners.get(0).getPlayer();
msg = SystemMessage.getSystemMessage(SystemMessageId.CONGRATULATIONS_C1_YOU_WIN_THE_MATCH); if (winner != null)
msg.addString(winner.getName());
// Rewards according to https://l2wiki.com/Ceremony_of_Chaos
final int marksRewarded = Rnd.get(2, 4);
winner.addItem("CoC-Winner", 34900, marksRewarded, winner, true); // Mysterious Marks
// Possible additional rewards
// Improved Life Stone
if (Rnd.get(10) < 3) // Chance to get reward (30%)
{ {
switch (Rnd.get(4)) msg = SystemMessage.getSystemMessage(SystemMessageId.CONGRATULATIONS_C1_YOU_WIN_THE_MATCH);
msg.addString(winner.getName());
// Rewards according to https://l2wiki.com/Ceremony_of_Chaos
final int marksRewarded = Rnd.get(2, 4);
winner.addItem("CoC-Winner", 34900, marksRewarded, winner, true); // Mysterious Marks
// Possible additional rewards
// Improved Life Stone
if (Rnd.get(10) < 3) // Chance to get reward (30%)
{ {
case 0: switch (Rnd.get(4))
{ {
winner.addItem("CoC-Winner", 18570, 1, winner, true); // Improved Life Stone (R95-grade) case 0:
break; {
} winner.addItem("CoC-Winner", 18570, 1, winner, true); // Improved Life Stone (R95-grade)
case 1: break;
{ }
winner.addItem("CoC-Winner", 18571, 1, winner, true); // Improved Life Stone (R95-grade) case 1:
break; {
} winner.addItem("CoC-Winner", 18571, 1, winner, true); // Improved Life Stone (R95-grade)
case 2: break;
{ }
winner.addItem("CoC-Winner", 18575, 1, winner, true); // Improved Life Stone (R99-grade) case 2:
break; {
} winner.addItem("CoC-Winner", 18575, 1, winner, true); // Improved Life Stone (R99-grade)
case 3: break;
{ }
winner.addItem("CoC-Winner", 18576, 1, winner, true); // Improved Life Stone (R99-grade) case 3:
break; {
winner.addItem("CoC-Winner", 18576, 1, winner, true); // Improved Life Stone (R99-grade)
break;
}
} }
} }
} // Soul Crystal Fragment
// Soul Crystal Fragment else if (Rnd.get(10) < 3) // Chance to get reward (30%)
else if (Rnd.get(10) < 3) // Chance to get reward (30%)
{
switch (Rnd.get(6))
{ {
case 0: switch (Rnd.get(6))
{ {
winner.addItem("CoC-Winner", 19467, 1, winner, true); // Yellow Soul Crystal Fragment (R99-Grade) case 0:
break; {
} winner.addItem("CoC-Winner", 19467, 1, winner, true); // Yellow Soul Crystal Fragment (R99-Grade)
case 1: break;
{ }
winner.addItem("CoC-Winner", 19468, 1, winner, true); // Teal Soul Crystal Fragment (R99-Grade) case 1:
break; {
} winner.addItem("CoC-Winner", 19468, 1, winner, true); // Teal Soul Crystal Fragment (R99-Grade)
case 2: break;
{ }
winner.addItem("CoC-Winner", 19469, 1, winner, true); // Purple Soul Crystal Fragment (R99-Grade) case 2:
break; {
} winner.addItem("CoC-Winner", 19469, 1, winner, true); // Purple Soul Crystal Fragment (R99-Grade)
case 3: break;
{ }
winner.addItem("CoC-Winner", 19511, 1, winner, true); // Yellow Soul Crystal Fragment (R95-Grade) case 3:
break; {
} winner.addItem("CoC-Winner", 19511, 1, winner, true); // Yellow Soul Crystal Fragment (R95-Grade)
case 4: break;
{ }
winner.addItem("CoC-Winner", 19512, 1, winner, true); // Teal Soul Crystal Fragment (R95-Grade) case 4:
break; {
} winner.addItem("CoC-Winner", 19512, 1, winner, true); // Teal Soul Crystal Fragment (R95-Grade)
case 5: break;
{ }
winner.addItem("CoC-Winner", 19513, 1, winner, true); // Purple Soul Crystal Fragment (R95-Grade) case 5:
break; {
winner.addItem("CoC-Winner", 19513, 1, winner, true); // Purple Soul Crystal Fragment (R95-Grade)
break;
}
} }
} }
} // Mysterious Belt
// Mysterious Belt else if (Rnd.get(10) < 1) // Chance to get reward (10%)
else if (Rnd.get(10) < 1) // Chance to get reward (10%) {
{ winner.addItem("CoC-Winner", 35565, 1, winner, true); // Mysterious Belt
winner.addItem("CoC-Winner", 35565, 1, winner, true); // Mysterious Belt }
}
// Save monthly progress. // Save monthly progress.
final int totalMarks = winner.getVariables().getInt(PlayerVariables.CEREMONY_OF_CHAOS_MARKS, 0) + marksRewarded; final int totalMarks = winner.getVariables().getInt(PlayerVariables.CEREMONY_OF_CHAOS_MARKS, 0) + marksRewarded;
winner.getVariables().set(PlayerVariables.CEREMONY_OF_CHAOS_MARKS, totalMarks); winner.getVariables().set(PlayerVariables.CEREMONY_OF_CHAOS_MARKS, totalMarks);
if (totalMarks > GlobalVariablesManager.getInstance().getInt(GlobalVariablesManager.COC_TOP_MARKS, 0)) if (totalMarks > GlobalVariablesManager.getInstance().getInt(GlobalVariablesManager.COC_TOP_MARKS, 0))
{ {
GlobalVariablesManager.getInstance().set(GlobalVariablesManager.COC_TOP_MARKS, totalMarks); GlobalVariablesManager.getInstance().set(GlobalVariablesManager.COC_TOP_MARKS, totalMarks);
GlobalVariablesManager.getInstance().set(GlobalVariablesManager.COC_TOP_MEMBER, winner.getObjectId()); GlobalVariablesManager.getInstance().set(GlobalVariablesManager.COC_TOP_MEMBER, winner.getObjectId());
}
} }
} }
@ -385,7 +388,10 @@ public class CeremonyOfChaosEvent extends AbstractEvent<CeremonyOfChaosMember>
if (player != null) if (player != null)
{ {
// Send winner message // Send winner message
player.sendPacket(msg); if (msg != null)
{
player.sendPacket(msg);
}
// Send result // Send result
player.sendPacket(new ExCuriousHouseResult(member.getResultType(), this)); player.sendPacket(new ExCuriousHouseResult(member.getResultType(), this));