Olympiad changes to match retail.

This commit is contained in:
MobiusDev 2017-07-30 10:13:11 +00:00
parent 82bface478
commit 2931105275
12 changed files with 225 additions and 212 deletions

View File

@ -1,20 +1,20 @@
<html><head><body scroll="no">
<table border=0 cellpadding=0 cellspacing=0 width=292 height=358 background="L2UI_CH3.refinewnd_back_Pattern">
<tr><td height=34></td></tr>
<tr><td align=center>Please choose buff skills from below.<br>
(Harmony buffs are not stackable.)</td></tr>
<tr><td align=center>Please choose buff skills from below.</td></tr>
<tr><td height=10></td></tr>
<tr><td><center></center><br>
<center>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest OlyBuffer giveBuff;14738">Horn Melody Lv1</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest OlyBuffer giveBuff;14739">Drum Melody Lv1</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest OlyBuffer giveBuff;14740">Pipe Organ Melody Lv1</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest OlyBuffer giveBuff;14741">Guitar Melody Lv1</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest OlyBuffer giveBuff;14742">Harp Melody Lv1</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest OlyBuffer giveBuff;14743">Lute Melody Lv1</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest OlyBuffer giveBuff;14744">Knight's Harmony Lv1</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest OlyBuffer giveBuff;14745">Warrior's Harmony Lv1</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest OlyBuffer giveBuff;14746">Wizard's Harmony Lv1</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest OlyBuffer giveBuff;0">Haste Lv2</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest OlyBuffer giveBuff;1">Wind Walk Lv2</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest OlyBuffer giveBuff;2">Empower Lv3</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest OlyBuffer giveBuff;3">Acumen Lv3</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest OlyBuffer giveBuff;4">Concentration Lv6</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest OlyBuffer giveBuff;5">Might Lv3</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest OlyBuffer giveBuff;6">Guidance Lv3</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest OlyBuffer giveBuff;7">Focus Lv3</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest OlyBuffer giveBuff;8">Death Whisper Lv3</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest OlyBuffer giveBuff;9">Berserker Spirit Lv2</Button>
</center>
</td></tr>
<tr><td height=34></td></tr>

View File

@ -7,15 +7,16 @@
<tr><td height=10></td></tr>
<tr><td><center></center><br>
<center>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest OlyBuffer giveBuff;14738">Horn Melody Lv1</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest OlyBuffer giveBuff;14739">Drum Melody Lv1</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest OlyBuffer giveBuff;14740">Pipe Organ Melody Lv1</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest OlyBuffer giveBuff;14741">Guitar Melody Lv1</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest OlyBuffer giveBuff;14742">Harp Melody Lv1</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest OlyBuffer giveBuff;14743">Lute Melody Lv1</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest OlyBuffer giveBuff;14744">Knight's Harmony Lv1</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest OlyBuffer giveBuff;14745">Warrior's Harmony Lv1</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest OlyBuffer giveBuff;14746">Wizard's Harmony Lv1</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest OlyBuffer giveBuff;0">Haste Lv2</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest OlyBuffer giveBuff;1">Wind Walk Lv2</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest OlyBuffer giveBuff;2">Empower Lv3</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest OlyBuffer giveBuff;3">Acumen Lv3</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest OlyBuffer giveBuff;4">Concentration Lv6</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest OlyBuffer giveBuff;5">Might Lv3</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest OlyBuffer giveBuff;6">Guidance Lv3</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest OlyBuffer giveBuff;7">Focus Lv3</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest OlyBuffer giveBuff;8">Death Whisper Lv3</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest OlyBuffer giveBuff;9">Berserker Spirit Lv2</Button>
</center>
</td></tr>
<tr><td height=34></td></tr>

View File

@ -16,11 +16,9 @@
*/
package ai.others.OlyBuffer;
import com.l2jmobius.commons.util.CommonUtil;
import com.l2jmobius.gameserver.data.xml.impl.SkillData;
import com.l2jmobius.gameserver.model.actor.L2Npc;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.skills.Skill;
import com.l2jmobius.gameserver.model.holders.SkillHolder;
import ai.AbstractNpcAI;
@ -33,17 +31,18 @@ public final class OlyBuffer extends AbstractNpcAI
// NPC
private static final int OLYMPIAD_BUFFER = 36402;
// Skills
private static final int[] ALLOWED_BUFFS =
private static final SkillHolder[] ALLOWED_BUFFS =
{
14738, // Olympiad - Horn Melody
14739, // Olympiad - Drum Melody
14740, // Olympiad - Pipe Organ Melody
14741, // Olympiad - Guitar Melody
14742, // Olympiad - Harp Melody
14743, // Olympiad - Lute Melody
14744, // Olympiad - Knight's Harmony
14745, // Olympiad - Warrior's Harmony
14746, // Olympiad - Wizard's Harmony
new SkillHolder(4357, 2), // Haste Lv2
new SkillHolder(4342, 2), // Wind Walk Lv2
new SkillHolder(4356, 3), // Empower Lv3
new SkillHolder(4355, 3), // Acumen Lv3
new SkillHolder(4351, 6), // Concentration Lv6
new SkillHolder(4345, 3), // Might Lv3
new SkillHolder(4358, 3), // Guidance Lv3
new SkillHolder(4359, 3), // Focus Lv3
new SkillHolder(4360, 3), // Death Whisper Lv3
new SkillHolder(4352, 2), // Berserker Spirit Lv2
};
private OlyBuffer()
@ -71,21 +70,16 @@ public final class OlyBuffer extends AbstractNpcAI
if (event.startsWith("giveBuff;") && (npc.getScriptValue() < 5))
{
final int buffId = Integer.parseInt(event.replace("giveBuff;", ""));
if (CommonUtil.contains(ALLOWED_BUFFS, buffId))
if (ALLOWED_BUFFS[buffId] != null)
{
final Skill buff = SkillData.getInstance().getSkill(buffId, 1);
if (buff != null)
{
npc.setScriptValue(npc.getScriptValue() + 1);
addSkillCastDesire(npc, player, buff, 23);
htmltext = "OlyBuffer-afterBuff.html";
}
if (npc.getScriptValue() >= 5)
{
htmltext = "OlyBuffer-noMore.html";
getTimers().addTimer("DELETE_ME", 5000, evnt -> npc.deleteMe());
}
npc.setScriptValue(npc.getScriptValue() + 1);
addSkillCastDesire(npc, player, ALLOWED_BUFFS[buffId], 23);
htmltext = "OlyBuffer-afterBuff.html";
}
if (npc.getScriptValue() >= 5)
{
htmltext = "OlyBuffer-noMore.html";
getTimers().addTimer("DELETE_ME", 5000, evnt -> npc.deleteMe());
}
}
return htmltext;

View File

@ -1,11 +0,0 @@
<html><body scroll="no">
<table border=0 cellpadding=0 cellspacing=0 width=292 height=358 background="L2UI_CH3.refinewnd_back_Pattern">
<tr><td height=34></td></tr>
<tr><td align=center>(Only level 85 or higher Noblesse characters of an Awakened class</td></tr>
<tr><td height=10></td></tr>
<tr><td align=center>can participate in the Olympiad games.)</td></tr>
<tr><td height=34></td></tr>
<tr><td align=center><button action="bypass -h Quest OlyManager joinMatch" value="Back" width=200 height=31 back="L2UI_CT1.OlympiadWnd_DF_Back_Down" fore="L2UI_CT1.OlympiadWnd_DF_Back"></td></tr>
<tr><td height=200></td></tr>
</table>
</body></html>

View File

@ -1,11 +1,9 @@
<html><body>Grand Olympiad Manager:<br>
Before partaking in the Olympiad,<br1>
why don't you learn about some of its history, rules, and point system?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest OlyManager OlyManager-infoHistory.html">"Ok, so what's the history?"</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest OlyManager OlyManager-infoRules.html">"Let's skip to the rules."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest OlyManager OlyManager-infoPoints.html">"Points sound important. What are they?"</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest OlyManager OlyManager-infoPointsCalc.html">"How are my points calculated?"</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest OlyManager OlyManager-rank.html">"I want to see the rankings for the last Olympiad."</Button>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest OlyManager index">Back</Button>
<html><body scroll="no">Olympiad Manager:<br>
Here you can get familiar with the rules of the Olympiad.<br>
Learn about the Olympiad Points and then proceed to the competitions. <br><br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest OlyManager OlyManager-infoHistory.html">Learn general information (history)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest OlyManager OlyManager-infoRules.html">Learn about the competition rules</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest OlyManager OlyManager-infoPoints.html">Learn about the Olympiad Points</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest OlyManager OlyManager-infoPointsCalc.html">Learn the rules of calculating points</Button>
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest OlyManager index">Return</Button>
</body></html>

View File

@ -1,9 +1,8 @@
<html><body scroll="no">Grand Olympiad Manager:<br><br>
<html><body scroll="no">Olympiad Manager:<br><br>
<center>
This is the Grand Olympiad.<br>
Do you know much about its history?<br>
No?<br>
Well, during the mythical era of giants, the arena was created to foster peace and understanding among the races.<br><br>
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest OlyManager OlyManager-info.html">Back</Button>
</center>
</body></html>
The Olympiad is famous for its ancient hystory.<br>
In the legendary times of Giants,<br>
there was a competition held in order to establish peace and harmony between the tribes.<br>
This was what we know as the Grand Olympiad.<br><br>
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest OlyManager OlyManager-info.html">Home</Button>
</body></html>

View File

@ -1,6 +1,4 @@
<html><body scroll="no">Grand Olympiad Manager:<br>
In order to become a hero, you must earn more Grand Olympiad Points in the time period than any other contestant. If you participate in a certain number of games, you can also exchange Grand Olympiad Points for Olympiad Tokens.<br>
<center>
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest OlyManager OlyManager-info.html">Back</Button>
</center>
<html><body scroll="no">Olympiad Manager:<br>
Grand Olympiad Points are required to become a hero. A Character who collects the largest amount of points among his or her class representatives becomes a hero of the current period. If you participate in the competitions more times than allowed, then you can receive Grand Olympiad Points as Marks of Battle.<br>
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest OlyManager OlyManager-info.html">Home</Button>
</body></html>

View File

@ -1,30 +1,14 @@
<html><body>Grand Olympiad Manager:<br>
Once the Olympiad cycle ends, participating Noblesse are ranked by their Olympiad Points and given new points according to rank. You must participate in 10 or more matches within one Olympiad cycle in order to earn points. You can exchange 1 Olympiad Point for 20 Marks of Battle. For example, 45 Points are worth 900 Marks of Battle.<br>
Heroes, and those qualified to become one, receive additional Olympiad Tokens equivalent to 30 Marks of Battle. Those who win at least once in one cycle receive 10 bonus points.<br><br>
<center>
<table border="1" color="white" width=200 height=150>
<tr><td align="center">Rank</td>
<td align="center">Criteria</td>
<td align="center">Points</td>
</tr><tr><td align="center">1st Place</td>
<td>Top 1%</td><td align="center">60 pts</td>
</tr><tr><td align="center">2nd Place</td>
<td>Top 10%</td><td align="center">50 points</td>
</tr><tr> <td align="center">3rd Place</td>
<td>Top 25%</td> <td align="center">45 pts</td>
</tr><tr><td align="center">4th Place</td>
<td>Top 50%</td><td align="center">40 points</td>
</tr><tr><td align="center">5th Place</td>
<td>Bottom 50%</td><td align="center">30 pts</td>
</tr><tr><td align="center">1 or more wins in one cycle</td>
<td>Bonus</td><td align="center">10 pts</td>
</tr><tr><td align="center">No wins in one cycle</td>
<td>Bonus</td> <td align="center">5 pts</td>
</tr>
</table>
</center>
<br><br>
<center>
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest OlyManager OlyManager-info.html">Back</Button>
</center>
<html><body>Olympiad Manager:<br>
After the Olympiad is over, Points of all participants are compared, and ranks are assigned, according to which the reward is allocated as points. To receive the Olympiad Points, you have to participate in 10 or more competitions in 1 month. The Olympiad Points you receive can be exchanged for Battle Marks. 20 Marks of Battle are issued per each Olympiad Point. For example, a participant earned Rank 3 and 50 Olympiad Points. If he or she receives the reward as Battle Marks, it will be 1,000 Battle Marks.<br>Heroes and the characters who obtained the right to become a hero are given an additional reward as Battle Marks which is equal to 300 Points. And those who gained at least one victory receive 10 Bonus Points.<br><br>
<table border="1" color="white" width=200 height=150>
<tr><td align="center">Ranking</td><td align="center">Lv.</td><td align="center">Points</td></tr>
<tr><td align="center">Rank 1</td><td>1% higher</td><td align="center">200 Points</td></tr>
<tr><td align="center">Rank 2</td><td>10% higher</td><td align="center">80 Points</td></tr>
<tr><td align="center">Rank 3</td><td>25% higher</td><td align="center">50 Points</td></tr>
<tr><td align="center">Rank 4</td><td>50% higher</td><td align="center">30 Points</td></tr>
<tr><td align="center">Rank 5</td><td>50% higher</td><td align="center">15 Points</td></tr>
<tr><td align="center">More than 1 victory</td><td>Combination Bonus</td><td align="center">10 Points</td></tr>
<tr><td align="center">Complete Defeat</td><td>Combination Bonus</td><td align="center">0 Points</td></tr>
</table><br><br>
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest OlyManager OlyManager-info.html">Home</Button>
</body></html>

View File

@ -1,13 +1,9 @@
<html><body>Grand Olympiad Manager:<br>
The Grand Olympiad has the following rules:<br>
The Olympiad is only available from 20:00 to 23:40 every Friday and Saturday.<br>
There are two types of Olympiad matches: class-specific, and free-for-all.<br>
To become a hero of the Grand Olympiad, you must win the highest number of matches. The person or team who inflicts the most damage on their opponent -- not on the opponent's servitor, golem, or pet -- will be declared the winner.<br>
The winner of a match takes Olympiad Points from the loser, amounting to 1/5th of the total points belonging to whoever had less at the beginning.<br1>
For example, if one participant has 60 points and the other has 40, the winner of the match would receive 8 points (1/5th of 40), while the loser would lose 8 points. In a draw, each would lose 1/5 of their own points.<br>
The maximum number of points at stake is capped at 10.<br>
At the beginning of the Olympiad, and at regular intervals throughout the contest, all participants will be awarded a small amount of points. Contestants must have at least 1 point in order to compete in a match.<br>
<center>
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest OlyManager OlyManager-info.html">Back</Button>
</center>
</body></html>
<html><body>Olympiad Manager:<br>
Every participant of the Grand Olympiad must know its rules.<br>
The Olympiad is held every week, on Fridays and Saturdays from 8:00 p.m. till 11:40 p.m.<br>
In order to become a hero at the Grand Olympiad, you must gain numerous victories. The winner is determined by the amount of damage dealt. Damage inflicted on a pet has no effect upon the victory.<br>
The winner takes a certain amount of Olympiad Points from the loser. The number of points transferred from the loser to the winner is determined as follows: the number of points of the winner and loser is compared, and then the winner receives 1/5 of points of the smaller amount. The same amount is subtracted from the loser's score. If the result is a draw, both parties lose 1/5 of their points.<br>
The maximum number of added/subtracted points for winning/losing is 10.<br>
Olympiad Points are earned during the Olympiad season and allocated at certain intervals. At least one Olympiad Point is required to participate in the fights.<br>
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest OlyManager OlyManager-info.html">Home</Button>
</body></html>

View File

@ -1,19 +1,23 @@
<html><body scroll="no">
<table border=0 cellpadding=0 cellspacing=0 width=292 height=358 background="L2UI_CH3.refinewnd_back_Pattern">
<tr><td valign="top" align="center">
<!-- Olympiad Emblem -->
<table border=0 cellpadding=0 cellspacing=0>
<tr><td width=256 height=185 background="L2UI_CT1.OlympiadWnd_DF_GrandTexture"></td></tr>
</table>
<!-- // Olympiad Emblem -->
<table border=0 cellpadding=0 cellspacing=0>
<tr><td align=center>Welcome to the Olympiad.</td></tr>
<tr><td height=10></td></tr>
<tr><td align=center>(Only level 85 or higher Noblesse characters of an Awakened class</td></tr>
<tr><td align=center>can participate in the games.)</td></tr>
<tr><td height=40></td></tr>
<tr><td align=center><button action="bypass -h npc_%objectId%_watchmatch" value="Watch Match" width=200 height=31 back="L2UI_CT1.OlympiadWnd_DF_Watch_Down" fore="L2UI_CT1.OlympiadWnd_DF_Watch"></td></tr>
<tr><td align=center><button action="bypass -h Quest OlyManager OlyManager-info.html" value="Examine" width=200 height=31 back="L2UI_CT1.OlympiadWnd_DF_Info_Down" fore="L2UI_CT1.OlympiadWnd_DF_Info"></td></tr>
</table>
<!-- Grand Olympiad Emblem -->
<table border=0 cellpadding=0 cellspacing=0>
<tr><td width=256 height=185 background="L2UI_CT1.OlympiadWnd_DF_GrandTexture"></td></tr>
</table>
<!-- // Grand Olympiad Emblem -->
<table border=0 cellpadding=0 cellspacing=0>
<tr><td align=center>Welcome to the Olympiad!</td></tr>
<tr><td height=20></td></tr>
<tr><td align=center>(You have to reach Lv. 55 and complete </td></tr>
<tr><td align=center> the 2nd Class Transfer to participate.)</td></tr>
<tr><td height=40></td></tr>
<tr><td align=center>
<button action="bypass -h npc_%objectId%_watchmatch" value="View the battle" width="200" height="31" back="L2UI_CT1.OlympiadWnd_DF_Watch_Down" fore="L2UI_CT1.OlympiadWnd_DF_Watch">
</td></tr>
<tr><td align=center>
<button action="bypass -h Quest OlyManager OlyManager-info.html" value="View the results" width="200" height="31" back="L2UI_CT1.OlympiadWnd_DF_Info_Down" fore="L2UI_CT1.OlympiadWnd_DF_Info">
</td></tr>
</table>
</td></tr></table>
</body></html>

View File

@ -1,42 +1,67 @@
<html><body><center><br><br>
Olympiad Ranking <img src="L2UI.SquareWhite" width=270 height=1> <img src="L2UI.SquareBlank" width=1 height=3>
<table width=270 border=0>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_148">Sigel Phoenix Knight</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_149">Sigel Hell Knight</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_150">Sigel Eva's Templar </button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_151">Sigel Shillien Templar</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_152">Tyrr Duelist</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_153">Tyrr Dreadnought</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_154">Tyrr Titan</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_155">Tyrr Grand Khavatari</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_156">Tyrr Maestro</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_157">Tyrr Doombringer</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_158">Othell Adventurer</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_159">Othell Wind Rider</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_160">Othell Ghost Hunter</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_161">Othell Fortune Seeker</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_162">Yul Sagittarius</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_163">Yul Moonlight Sentinel</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_164">Yul Ghost Sentinel</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_165">Yul Trickster</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_166">Feoh Archmage</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_167">Feoh Soultaker</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_168">Feoh Mystic Muse</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_169">Feoh Storm Screamer</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_170">Feoh Soul Hound</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_171">Iss Hierophant</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_172">Iss Sword Muse</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_173">Iss Spectral Dancer</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_174">Iss Dominator</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_175">Iss Doomcryer</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_176">Wynn Arcana Lord</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_177">Wynn Elemental Master</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_178">Wynn Spectral Master</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_179">Aeore Cardinal</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_180">Aeore Eva's Saint</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_181">Aeore Shillien Saint</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_188">Eviscerator</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_189">Sayha's Seer</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_2">Gladiator</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_3">Warlord</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_5">Paladin</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_6">Dark Avenger</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_8">Treasure Hunter</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_9">Hawkeye</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_12">Sorcerer</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_13">Necromancer</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_14">Warlock</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_16">Bishop</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_17">Prophet</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_20">Temple Knight</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_21">Sword Singer</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_23">Plains Walker</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_24">Silver Ranger</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_27">Spellsinger</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_28">Elemental Summoner</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_30">Elven Elder</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_33">Shillien Knight</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_34">Bladedancer</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_36">Abyss Walker</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_37">Phantom Ranger</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_40">Spellhowler</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_41">Phantom Summoner</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_43">Shillien Elder</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_46">Destroyer</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_48">Tyrant</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_51">Overlord</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_52">Warcryer</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_55">Bounty Hunter</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_88">Duelist</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_89">Dreadnought</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_90">Phoenix Knight</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_91">Hell Knight</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_92">Sagittarius</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_93">Adventurer</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_94">Archmage</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_95">Soultaker</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_96">Arcana Lord</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_97">Cardinal</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_98">Hierophant</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_99">Eva's Templar</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_100">Sword Muse</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_101">Wind Rider</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_102">Moonlight Sentinel</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_103">Mystic Muse</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_104">Elemental Master</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_105">Eva's Saint</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_106">Shillien Templar</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_107">Spectral Dancer</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_108">Ghost Hunter</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_109">Ghost Sentinel</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_110">Storm Screamer</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_111">Spectral Master</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_112">Shillien Saint</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_113">Titan</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_114">Grand Khavatari</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_115">Dominator</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_116">Doom Cryer</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_117">Fortune Seeker</button></td></tr>
<tr><td fixwidth=135 align=center><Button ALIGN=center action="bypass -h Quest OlyManager rank_118">Maestro</button></td></tr>
</table>
<img src="L2UI.SquareWhite" width=270 height=1> <img src="L2UI.SquareBlank" width=1 height=3>
<table width=270 border=0 cellpadding=0 cellspacing=0>

View File

@ -144,9 +144,9 @@ public final class OlyManager extends AbstractNpcAI implements IBypassHandler
{
htmltext = "OlyManager-subclass.html";
}
else if (!player.isInCategory(CategoryType.AWAKEN_GROUP))
else if ((!player.isInCategory(CategoryType.THIRD_CLASS_GROUP) && !player.isInCategory(CategoryType.FOURTH_CLASS_GROUP)) || (player.getLevel() < 55)) // avoid exploits
{
htmltext = "OlyManager-awaken.html";
htmltext = "OlyManager-noNoble.html";
}
else if (Olympiad.getInstance().getNoblePoints(player) <= 0)
{
@ -241,42 +241,67 @@ public final class OlyManager extends AbstractNpcAI implements IBypassHandler
}
break;
}
case "rank_148": // Sigel Phoenix Knight
case "rank_149": // Sigel Hell Knight
case "rank_150": // Sigel Eva's Templar
case "rank_151": // Sigel Shillien Templar
case "rank_152": // Tyrr Duelist
case "rank_153": // Tyrr Dreadnought
case "rank_154": // Tyrr Titan
case "rank_155": // Tyrr Grand Khavatari
case "rank_156": // Tyrr Maestro
case "rank_157": // Tyrr Doombringer
case "rank_158": // Othell Adventurer
case "rank_159": // Othell Wind Rider
case "rank_160": // Othell Ghost Hunter
case "rank_161": // Othell Fortune Seeker
case "rank_162": // Yul Sagittarius
case "rank_163": // Yul Moonlight Sentinel
case "rank_164": // Yul Ghost Sentinel
case "rank_165": // Yul Trickster
case "rank_166": // Feoh Archmage
case "rank_167": // Feoh Soultaker
case "rank_168": // Feoh Mystic Muse
case "rank_169": // Feoh Storm Screamer
case "rank_170": // Feoh Soul Hound
case "rank_171": // Iss Hierophant
case "rank_172": // Iss Sword Muse
case "rank_173": // Iss Spectral Dancer
case "rank_174": // Iss Dominator
case "rank_175": // Iss Doomcryer
case "rank_176": // Wynn Arcana Lord
case "rank_177": // Wynn Elemental Master
case "rank_178": // Wynn Spectral Master
case "rank_179": // Aeore Cardinal
case "rank_180": // Aeore Eva's Saint
case "rank_181": // Aeore Shillien Saint
case "rank_188": // Eviscerator
case "rank_189": // Sayha's Seer
case "rank_2": // Gladiator
case "rank_3": // Warlord
case "rank_5": // Paladin
case "rank_6": // Dark Avenger
case "rank_8": // Treasure Hunter
case "rank_9": // Hawkeye
case "rank_12": // Sorcerer
case "rank_13": // Necromancer
case "rank_14": // Warlock
case "rank_16": // Bishop
case "rank_17": // Prophet
case "rank_20": // Temple Knight
case "rank_21": // Sword Singer
case "rank_23": // Plains Walker
case "rank_24": // Silver Ranger
case "rank_27": // Spellsinger
case "rank_28": // Elemental Summoner
case "rank_30": // Elven Elder
case "rank_33": // Shillien Knight
case "rank_34": // Bladedancer
case "rank_36": // Abyss Walker
case "rank_37": // Phantom Ranger
case "rank_40": // Spellhowler
case "rank_41": // Phantom Summoner
case "rank_43": // Shillien Elder
case "rank_46": // Destroyer
case "rank_48": // Tyrant
case "rank_51": // Overlord
case "rank_52": // Warcryer
case "rank_55": // Bounty Hunter
case "rank_88": // Duelist
case "rank_89": // Dreadnought
case "rank_90": // Phoenix Knight
case "rank_91": // Hell Knight
case "rank_92": // Sagittarius
case "rank_93": // Adventurer
case "rank_94": // Archmage
case "rank_95": // Soultaker
case "rank_96": // Arcana Lord
case "rank_97": // Cardinal
case "rank_98": // Hierophant
case "rank_99": // Eva's Templar
case "rank_100": // Sword Muse
case "rank_101": // Wind Rider
case "rank_102": // Moonlight Sentinel
case "rank_103": // Mystic Muse
case "rank_104": // Elemental Master
case "rank_105": // Eva's Saint
case "rank_106": // Shillien Templar
case "rank_107": // Spectral Dancer
case "rank_108": // Ghost Hunter
case "rank_109": // Ghost Sentinel
case "rank_110": // Storm Screamer
case "rank_111": // Spectral Master
case "rank_112": // Shillien Saint
case "rank_113": // Titan
case "rank_114": // Grand Khavatari
case "rank_115": // Dominator
case "rank_116": // Doom Cryer
case "rank_117": // Fortune Seeker
case "rank_118": // Maestro
{
final int classId = Integer.parseInt(event.replace("rank_", ""));
final List<String> names = Olympiad.getInstance().getClassLeaderBoard(classId);
@ -311,7 +336,7 @@ public final class OlyManager extends AbstractNpcAI implements IBypassHandler
if (!player.isCursedWeaponEquipped())
{
htmltext = player.isNoble() ? "OlyManager-noble.html" : "OlyManager-noNoble.html";
htmltext = (!player.isInCategory(CategoryType.THIRD_CLASS_GROUP) && !player.isInCategory(CategoryType.FOURTH_CLASS_GROUP)) || (player.getLevel() < 55) ? "OlyManager-noNoble.html" : "OlyManager-noble.html";
}
else
{