Skip to content
Snippets Groups Projects
Commit e9b0c738 authored by St3eT's avatar St3eT
Browse files

BETA: Misc fixes:

* Fixed exploit in '''!CastleChamberlain'''.
 * Reported by: malyelfik
 * Reviewed by: Adry_85, !UnAfraid
 
* Match list shouldn't show when olympiad don't run.
 * Reviewed by: Adry_85, !UnAfraid
 
* Fixed {{{ClassCastException}}} in '''!PrimevalIsle''' AI.
 * Reported by: d!g0
 * Reviewed by: xban1x, Adry_85, !UnAfraid
 
* Fixed little typo in HTML.
 * Reviewed by: Adry_85, !UnAfraid
parent 6226224d
No related branches found
No related tags found
No related merge requests found
<html><body>Guard Weston:<br> <html><body>Guard Weston:<br>
The town of<font color="LEVEL">Oren</font> is like its name implies, a part of<font color="LEVEL">Oren</font>. And as you may know, the Hunters Village and the Enchanted Valley are part of Aden. Don't be mistaken.<br> The town of <font color="LEVEL">Oren</font> is like its name implies, a part of <font color="LEVEL">Oren</font>. And as you may know, the Hunters Village and the Enchanted Valley are part of Aden. Don't be mistaken.<br>
<a action="bypass -h npc_%objectId%_Chat 1">Ask about the town of Oren.</a><br> <a action="bypass -h npc_%objectId%_Chat 1">Ask about the town of Oren.</a><br>
<a action="bypass -h npc_%objectId%_Chat 2">Ask about Oren.</a><br> <a action="bypass -h npc_%objectId%_Chat 2">Ask about Oren.</a><br>
<a action="bypass -h npc_%objectId%_Quest">Quest</a> <a action="bypass -h npc_%objectId%_Quest">Quest</a>
......
...@@ -358,7 +358,7 @@ public final class PrimevalIsle extends AbstractNpcAI ...@@ -358,7 +358,7 @@ public final class PrimevalIsle extends AbstractNpcAI
else if (Util.contains(TREX, npc.getId())) else if (Util.contains(TREX, npc.getId()))
{ {
final L2Attackable mob = (L2Attackable) npc; final L2Attackable mob = (L2Attackable) npc;
final L2PcInstance target = (L2PcInstance) mob.getMostHated(); final L2Character target = mob.getMostHated();
if (((npc.getCurrentHp() / npc.getMaxHp()) * 100) <= 30) if (((npc.getCurrentHp() / npc.getMaxHp()) * 100) <= 30)
{ {
...@@ -419,7 +419,7 @@ public final class PrimevalIsle extends AbstractNpcAI ...@@ -419,7 +419,7 @@ public final class PrimevalIsle extends AbstractNpcAI
} }
else else
{ {
L2PcInstance target = null; L2Character target = null;
final int probPhysicalSpecial1 = npc.getTemplate().getParameters().getInt("ProbPhysicalSpecial1", 0); final int probPhysicalSpecial1 = npc.getTemplate().getParameters().getInt("ProbPhysicalSpecial1", 0);
final int probPhysicalSpecial2 = npc.getTemplate().getParameters().getInt("ProbPhysicalSpecial2", 0); final int probPhysicalSpecial2 = npc.getTemplate().getParameters().getInt("ProbPhysicalSpecial2", 0);
final SkillHolder selfRangeBuff1 = npc.getTemplate().getParameters().getObject("SelfRangeBuff1", SkillHolder.class); final SkillHolder selfRangeBuff1 = npc.getTemplate().getParameters().getObject("SelfRangeBuff1", SkillHolder.class);
...@@ -438,13 +438,14 @@ public final class PrimevalIsle extends AbstractNpcAI ...@@ -438,13 +438,14 @@ public final class PrimevalIsle extends AbstractNpcAI
if ((((npc.getCurrentHp() / npc.getMaxHp()) * 100) <= 30) && (npc.getVariables().getInt("SELFBUFF_USED") == 0)) if ((((npc.getCurrentHp() / npc.getMaxHp()) * 100) <= 30) && (npc.getVariables().getInt("SELFBUFF_USED") == 0))
{ {
final L2Attackable mob = (L2Attackable) npc; final L2Attackable mob = (L2Attackable) npc;
target = (L2PcInstance) mob.getMostHated(); target = mob.getMostHated();
mob.clearAggroList(); mob.clearAggroList();
if (!npc.isSkillDisabled(selfRangeBuff1.getSkillId())) if (!npc.isSkillDisabled(selfRangeBuff1.getSkillId()))
{ {
npc.getVariables().set("SELFBUFF_USED", 1); npc.getVariables().set("SELFBUFF_USED", 1);
npc.doCast(selfRangeBuff1.getSkill()); npc.doCast(selfRangeBuff1.getSkill());
attackPlayer(mob, target); npc.setIsRunning(true);
npc.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, target);
} }
} }
......
...@@ -385,7 +385,7 @@ public final class CastleChamberlain extends AbstractNpcAI ...@@ -385,7 +385,7 @@ public final class CastleChamberlain extends AbstractNpcAI
private final boolean isOwner(final L2PcInstance player, final L2Npc npc) private final boolean isOwner(final L2PcInstance player, final L2Npc npc)
{ {
return player.canOverrideCond(PcCondOverride.CASTLE_CONDITIONS) || npc.isMyLord(player) || (player.getClanId() == npc.getCastle().getOwnerId()); return player.canOverrideCond(PcCondOverride.CASTLE_CONDITIONS) || (player.getClanId() == npc.getCastle().getOwnerId());
} }
@Override @Override
......
...@@ -52,6 +52,12 @@ public class OlympiadObservation implements IBypassHandler ...@@ -52,6 +52,12 @@ public class OlympiadObservation implements IBypassHandler
if (command.startsWith(COMMANDS[0])) // list if (command.startsWith(COMMANDS[0])) // list
{ {
if (!Olympiad.getInstance().inCompPeriod())
{
activeChar.sendPacket(SystemMessageId.THE_OLYMPIAD_GAME_IS_NOT_CURRENTLY_IN_PROGRESS);
return false;
}
activeChar.sendPacket(new ExOlympiadMatchList()); activeChar.sendPacket(new ExOlympiadMatchList());
} }
else else
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment