Updated Olympiad buffer.
Adapted from: L2jUnity free files.
This commit is contained in:
@@ -1,22 +0,0 @@
|
|||||||
<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 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>
|
|
||||||
</center>
|
|
||||||
</td></tr>
|
|
||||||
<tr><td height=34></td></tr>
|
|
||||||
</table>
|
|
||||||
</body></html>
|
|
@@ -1,23 +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>I wish all participants luck and success.</td></tr>
|
|
||||||
<tr><td height=10></td></tr>
|
|
||||||
<tr><td align=center>Please choose 5 buffs from the following.</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>
|
|
||||||
</center>
|
|
||||||
</td></tr>
|
|
||||||
<tr><td height=34></td></tr>
|
|
||||||
</table>
|
|
||||||
</body></html>
|
|
@@ -1,10 +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>All buffs have been provided.</td></tr>
|
|
||||||
<tr><td height=10></td></tr>
|
|
||||||
<tr><td align=center>May you achieve victory.</td></tr>
|
|
||||||
<tr><td height=34></td></tr>
|
|
||||||
<tr><td height=200></td></tr>
|
|
||||||
</table>
|
|
||||||
</body></html>
|
|
@@ -16,11 +16,11 @@
|
|||||||
*/
|
*/
|
||||||
package ai.others.OlyBuffer;
|
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.L2Npc;
|
||||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||||
|
import com.l2jmobius.gameserver.model.holders.SkillHolder;
|
||||||
import com.l2jmobius.gameserver.model.skills.Skill;
|
import com.l2jmobius.gameserver.model.skills.Skill;
|
||||||
|
import com.l2jmobius.gameserver.model.skills.SkillCaster;
|
||||||
|
|
||||||
import ai.AbstractNpcAI;
|
import ai.AbstractNpcAI;
|
||||||
|
|
||||||
@@ -33,17 +33,17 @@ public final class OlyBuffer extends AbstractNpcAI
|
|||||||
// NPC
|
// NPC
|
||||||
private static final int OLYMPIAD_BUFFER = 36402;
|
private static final int OLYMPIAD_BUFFER = 36402;
|
||||||
// Skills
|
// Skills
|
||||||
private static final int[] ALLOWED_BUFFS =
|
private static final SkillHolder KNIGHT = new SkillHolder(14744, 1); // Olympiad - Knight's Harmony
|
||||||
|
private static final SkillHolder WARRIOR = new SkillHolder(14745, 1); // Olympiad - Warrior's Harmony
|
||||||
|
private static final SkillHolder WIZARD = new SkillHolder(14746, 1); // Olympiad - Wizard's Harmony
|
||||||
|
private static final SkillHolder[] BUFFS =
|
||||||
{
|
{
|
||||||
14738, // Olympiad - Horn Melody
|
new SkillHolder(14738, 1), // Olympiad - Horn Melody
|
||||||
14739, // Olympiad - Drum Melody
|
new SkillHolder(14739, 1), // Olympiad - Drum Melody
|
||||||
14740, // Olympiad - Pipe Organ Melody
|
new SkillHolder(14740, 1), // Olympiad - Pipe Organ Melody
|
||||||
14741, // Olympiad - Guitar Melody
|
new SkillHolder(14741, 1), // Olympiad - Guitar Melody
|
||||||
14742, // Olympiad - Harp Melody
|
new SkillHolder(14742, 1), // Olympiad - Harp Melody
|
||||||
14743, // Olympiad - Lute Melody
|
new SkillHolder(14743, 1), // Olympiad - Lute Melody
|
||||||
14744, // Olympiad - Knight's Harmony
|
|
||||||
14745, // Olympiad - Warrior's Harmony
|
|
||||||
14746, // Olympiad - Wizard's Harmony
|
|
||||||
};
|
};
|
||||||
|
|
||||||
private OlyBuffer()
|
private OlyBuffer()
|
||||||
@@ -57,9 +57,10 @@ public final class OlyBuffer extends AbstractNpcAI
|
|||||||
public String onFirstTalk(L2Npc npc, L2PcInstance player)
|
public String onFirstTalk(L2Npc npc, L2PcInstance player)
|
||||||
{
|
{
|
||||||
String htmltext = null;
|
String htmltext = null;
|
||||||
if (npc.getScriptValue() < 5)
|
|
||||||
|
if (npc.isScriptValue(0))
|
||||||
{
|
{
|
||||||
htmltext = "OlyBuffer-index.html";
|
htmltext = "olympiad_master001.htm";
|
||||||
}
|
}
|
||||||
return htmltext;
|
return htmltext;
|
||||||
}
|
}
|
||||||
@@ -68,33 +69,42 @@ public final class OlyBuffer extends AbstractNpcAI
|
|||||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||||
{
|
{
|
||||||
String htmltext = null;
|
String htmltext = null;
|
||||||
if (event.startsWith("giveBuff;") && (npc.getScriptValue() < 5))
|
|
||||||
{
|
|
||||||
final int buffId = Integer.parseInt(event.replace("giveBuff;", ""));
|
|
||||||
if (CommonUtil.contains(ALLOWED_BUFFS, buffId))
|
|
||||||
{
|
|
||||||
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)
|
switch (event)
|
||||||
{
|
{
|
||||||
htmltext = "OlyBuffer-noMore.html";
|
case "guardian":
|
||||||
startQuestTimer("DELETE_ME", 5000, npc, null);
|
{
|
||||||
}
|
htmltext = applyBuffs(npc, player, KNIGHT.getSkill());
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "berserker":
|
||||||
|
{
|
||||||
|
htmltext = applyBuffs(npc, player, WARRIOR.getSkill());
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "magician":
|
||||||
|
{
|
||||||
|
htmltext = applyBuffs(npc, player, WIZARD.getSkill());
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (event.equals("DELETE_ME") && (npc != null))
|
npc.setScriptValue(1);
|
||||||
{
|
htmltext = "olympiad_master003.htm";
|
||||||
npc.deleteMe();
|
getTimers().addTimer("DELETE_ME", 5000, evnt -> npc.deleteMe());
|
||||||
}
|
|
||||||
return htmltext;
|
return htmltext;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String applyBuffs(L2Npc npc, L2PcInstance player, Skill skill)
|
||||||
|
{
|
||||||
|
for (SkillHolder holder : BUFFS)
|
||||||
|
{
|
||||||
|
SkillCaster.triggerCast(npc, player, holder.getSkill());
|
||||||
|
}
|
||||||
|
SkillCaster.triggerCast(npc, player, skill);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
public static void main(String[] args)
|
public static void main(String[] args)
|
||||||
{
|
{
|
||||||
new OlyBuffer();
|
new OlyBuffer();
|
||||||
|
21
L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/others/OlyBuffer/olympiad_master001.htm
vendored
Normal file
21
L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/others/OlyBuffer/olympiad_master001.htm
vendored
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
<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>I wish luck to all participants.</td></tr>
|
||||||
|
<tr><td height=10></td></tr>
|
||||||
|
<tr><td align=center>Select one of the following Supplemental Magic Sets.</td></tr>
|
||||||
|
<tr><td height=10></td></tr>
|
||||||
|
<tr><td>
|
||||||
|
<br>
|
||||||
|
<tr>
|
||||||
|
<td align=center>
|
||||||
|
<center>
|
||||||
|
<button action="bypass -h Quest OlyBuffer guardian">Guardian Set</button>
|
||||||
|
<Button action="bypass -h Quest OlyBuffer berserker">Berserker Set</Button>
|
||||||
|
<Button action="bypass -h Quest OlyBuffer magician">Magician Set</Button>
|
||||||
|
</center>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td height=34></td></tr>
|
||||||
|
</table>
|
||||||
|
</body></html>
|
10
L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/others/OlyBuffer/olympiad_master003.htm
vendored
Normal file
10
L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/others/OlyBuffer/olympiad_master003.htm
vendored
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
<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>We gave you the selected Supplemental Magic Set.</td></tr>
|
||||||
|
<tr><td height=10></td></tr>
|
||||||
|
<tr><td align=center>I wish luck to all warriors.</td></tr>
|
||||||
|
<tr><td height=34></td></tr>
|
||||||
|
<tr><td height=200></td></tr>
|
||||||
|
</table>
|
||||||
|
</body></html>
|
@@ -1,22 +0,0 @@
|
|||||||
<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 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>
|
|
||||||
</center>
|
|
||||||
</td></tr>
|
|
||||||
<tr><td height=34></td></tr>
|
|
||||||
</table>
|
|
||||||
</body></html>
|
|
@@ -1,23 +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>I wish all participants luck and success.</td></tr>
|
|
||||||
<tr><td height=10></td></tr>
|
|
||||||
<tr><td align=center>Please choose 5 buffs from the following.</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>
|
|
||||||
</center>
|
|
||||||
</td></tr>
|
|
||||||
<tr><td height=34></td></tr>
|
|
||||||
</table>
|
|
||||||
</body></html>
|
|
@@ -1,10 +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>All buffs have been provided.</td></tr>
|
|
||||||
<tr><td height=10></td></tr>
|
|
||||||
<tr><td align=center>May you achieve victory.</td></tr>
|
|
||||||
<tr><td height=34></td></tr>
|
|
||||||
<tr><td height=200></td></tr>
|
|
||||||
</table>
|
|
||||||
</body></html>
|
|
@@ -16,11 +16,11 @@
|
|||||||
*/
|
*/
|
||||||
package ai.others.OlyBuffer;
|
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.L2Npc;
|
||||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||||
|
import com.l2jmobius.gameserver.model.holders.SkillHolder;
|
||||||
import com.l2jmobius.gameserver.model.skills.Skill;
|
import com.l2jmobius.gameserver.model.skills.Skill;
|
||||||
|
import com.l2jmobius.gameserver.model.skills.SkillCaster;
|
||||||
|
|
||||||
import ai.AbstractNpcAI;
|
import ai.AbstractNpcAI;
|
||||||
|
|
||||||
@@ -33,17 +33,17 @@ public final class OlyBuffer extends AbstractNpcAI
|
|||||||
// NPC
|
// NPC
|
||||||
private static final int OLYMPIAD_BUFFER = 36402;
|
private static final int OLYMPIAD_BUFFER = 36402;
|
||||||
// Skills
|
// Skills
|
||||||
private static final int[] ALLOWED_BUFFS =
|
private static final SkillHolder KNIGHT = new SkillHolder(14744, 1); // Olympiad - Knight's Harmony
|
||||||
|
private static final SkillHolder WARRIOR = new SkillHolder(14745, 1); // Olympiad - Warrior's Harmony
|
||||||
|
private static final SkillHolder WIZARD = new SkillHolder(14746, 1); // Olympiad - Wizard's Harmony
|
||||||
|
private static final SkillHolder[] BUFFS =
|
||||||
{
|
{
|
||||||
14738, // Olympiad - Horn Melody
|
new SkillHolder(14738, 1), // Olympiad - Horn Melody
|
||||||
14739, // Olympiad - Drum Melody
|
new SkillHolder(14739, 1), // Olympiad - Drum Melody
|
||||||
14740, // Olympiad - Pipe Organ Melody
|
new SkillHolder(14740, 1), // Olympiad - Pipe Organ Melody
|
||||||
14741, // Olympiad - Guitar Melody
|
new SkillHolder(14741, 1), // Olympiad - Guitar Melody
|
||||||
14742, // Olympiad - Harp Melody
|
new SkillHolder(14742, 1), // Olympiad - Harp Melody
|
||||||
14743, // Olympiad - Lute Melody
|
new SkillHolder(14743, 1), // Olympiad - Lute Melody
|
||||||
14744, // Olympiad - Knight's Harmony
|
|
||||||
14745, // Olympiad - Warrior's Harmony
|
|
||||||
14746, // Olympiad - Wizard's Harmony
|
|
||||||
};
|
};
|
||||||
|
|
||||||
private OlyBuffer()
|
private OlyBuffer()
|
||||||
@@ -57,9 +57,10 @@ public final class OlyBuffer extends AbstractNpcAI
|
|||||||
public String onFirstTalk(L2Npc npc, L2PcInstance player)
|
public String onFirstTalk(L2Npc npc, L2PcInstance player)
|
||||||
{
|
{
|
||||||
String htmltext = null;
|
String htmltext = null;
|
||||||
if (npc.getScriptValue() < 5)
|
|
||||||
|
if (npc.isScriptValue(0))
|
||||||
{
|
{
|
||||||
htmltext = "OlyBuffer-index.html";
|
htmltext = "olympiad_master001.htm";
|
||||||
}
|
}
|
||||||
return htmltext;
|
return htmltext;
|
||||||
}
|
}
|
||||||
@@ -68,33 +69,42 @@ public final class OlyBuffer extends AbstractNpcAI
|
|||||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||||
{
|
{
|
||||||
String htmltext = null;
|
String htmltext = null;
|
||||||
if (event.startsWith("giveBuff;") && (npc.getScriptValue() < 5))
|
|
||||||
{
|
|
||||||
final int buffId = Integer.parseInt(event.replace("giveBuff;", ""));
|
|
||||||
if (CommonUtil.contains(ALLOWED_BUFFS, buffId))
|
|
||||||
{
|
|
||||||
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)
|
switch (event)
|
||||||
{
|
{
|
||||||
htmltext = "OlyBuffer-noMore.html";
|
case "guardian":
|
||||||
startQuestTimer("DELETE_ME", 5000, npc, null);
|
{
|
||||||
}
|
htmltext = applyBuffs(npc, player, KNIGHT.getSkill());
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "berserker":
|
||||||
|
{
|
||||||
|
htmltext = applyBuffs(npc, player, WARRIOR.getSkill());
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "magician":
|
||||||
|
{
|
||||||
|
htmltext = applyBuffs(npc, player, WIZARD.getSkill());
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (event.equals("DELETE_ME") && (npc != null))
|
npc.setScriptValue(1);
|
||||||
{
|
htmltext = "olympiad_master003.htm";
|
||||||
npc.deleteMe();
|
getTimers().addTimer("DELETE_ME", 5000, evnt -> npc.deleteMe());
|
||||||
}
|
|
||||||
return htmltext;
|
return htmltext;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String applyBuffs(L2Npc npc, L2PcInstance player, Skill skill)
|
||||||
|
{
|
||||||
|
for (SkillHolder holder : BUFFS)
|
||||||
|
{
|
||||||
|
SkillCaster.triggerCast(npc, player, holder.getSkill());
|
||||||
|
}
|
||||||
|
SkillCaster.triggerCast(npc, player, skill);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
public static void main(String[] args)
|
public static void main(String[] args)
|
||||||
{
|
{
|
||||||
new OlyBuffer();
|
new OlyBuffer();
|
||||||
|
21
L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/others/OlyBuffer/olympiad_master001.htm
vendored
Normal file
21
L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/others/OlyBuffer/olympiad_master001.htm
vendored
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
<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>I wish luck to all participants.</td></tr>
|
||||||
|
<tr><td height=10></td></tr>
|
||||||
|
<tr><td align=center>Select one of the following Supplemental Magic Sets.</td></tr>
|
||||||
|
<tr><td height=10></td></tr>
|
||||||
|
<tr><td>
|
||||||
|
<br>
|
||||||
|
<tr>
|
||||||
|
<td align=center>
|
||||||
|
<center>
|
||||||
|
<button action="bypass -h Quest OlyBuffer guardian">Guardian Set</button>
|
||||||
|
<Button action="bypass -h Quest OlyBuffer berserker">Berserker Set</Button>
|
||||||
|
<Button action="bypass -h Quest OlyBuffer magician">Magician Set</Button>
|
||||||
|
</center>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td height=34></td></tr>
|
||||||
|
</table>
|
||||||
|
</body></html>
|
10
L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/others/OlyBuffer/olympiad_master003.htm
vendored
Normal file
10
L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/others/OlyBuffer/olympiad_master003.htm
vendored
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
<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>We gave you the selected Supplemental Magic Set.</td></tr>
|
||||||
|
<tr><td height=10></td></tr>
|
||||||
|
<tr><td align=center>I wish luck to all warriors.</td></tr>
|
||||||
|
<tr><td height=34></td></tr>
|
||||||
|
<tr><td height=200></td></tr>
|
||||||
|
</table>
|
||||||
|
</body></html>
|
@@ -1,22 +0,0 @@
|
|||||||
<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 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>
|
|
||||||
</center>
|
|
||||||
</td></tr>
|
|
||||||
<tr><td height=34></td></tr>
|
|
||||||
</table>
|
|
||||||
</body></html>
|
|
@@ -1,23 +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>I wish all participants luck and success.</td></tr>
|
|
||||||
<tr><td height=10></td></tr>
|
|
||||||
<tr><td align=center>Please choose 5 buffs from the following.</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>
|
|
||||||
</center>
|
|
||||||
</td></tr>
|
|
||||||
<tr><td height=34></td></tr>
|
|
||||||
</table>
|
|
||||||
</body></html>
|
|
@@ -1,10 +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>All buffs have been provided.</td></tr>
|
|
||||||
<tr><td height=10></td></tr>
|
|
||||||
<tr><td align=center>May you achieve victory.</td></tr>
|
|
||||||
<tr><td height=34></td></tr>
|
|
||||||
<tr><td height=200></td></tr>
|
|
||||||
</table>
|
|
||||||
</body></html>
|
|
@@ -16,11 +16,11 @@
|
|||||||
*/
|
*/
|
||||||
package ai.others.OlyBuffer;
|
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.L2Npc;
|
||||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||||
|
import com.l2jmobius.gameserver.model.holders.SkillHolder;
|
||||||
import com.l2jmobius.gameserver.model.skills.Skill;
|
import com.l2jmobius.gameserver.model.skills.Skill;
|
||||||
|
import com.l2jmobius.gameserver.model.skills.SkillCaster;
|
||||||
|
|
||||||
import ai.AbstractNpcAI;
|
import ai.AbstractNpcAI;
|
||||||
|
|
||||||
@@ -33,17 +33,17 @@ public final class OlyBuffer extends AbstractNpcAI
|
|||||||
// NPC
|
// NPC
|
||||||
private static final int OLYMPIAD_BUFFER = 36402;
|
private static final int OLYMPIAD_BUFFER = 36402;
|
||||||
// Skills
|
// Skills
|
||||||
private static final int[] ALLOWED_BUFFS =
|
private static final SkillHolder KNIGHT = new SkillHolder(14744, 1); // Olympiad - Knight's Harmony
|
||||||
|
private static final SkillHolder WARRIOR = new SkillHolder(14745, 1); // Olympiad - Warrior's Harmony
|
||||||
|
private static final SkillHolder WIZARD = new SkillHolder(14746, 1); // Olympiad - Wizard's Harmony
|
||||||
|
private static final SkillHolder[] BUFFS =
|
||||||
{
|
{
|
||||||
14738, // Olympiad - Horn Melody
|
new SkillHolder(14738, 1), // Olympiad - Horn Melody
|
||||||
14739, // Olympiad - Drum Melody
|
new SkillHolder(14739, 1), // Olympiad - Drum Melody
|
||||||
14740, // Olympiad - Pipe Organ Melody
|
new SkillHolder(14740, 1), // Olympiad - Pipe Organ Melody
|
||||||
14741, // Olympiad - Guitar Melody
|
new SkillHolder(14741, 1), // Olympiad - Guitar Melody
|
||||||
14742, // Olympiad - Harp Melody
|
new SkillHolder(14742, 1), // Olympiad - Harp Melody
|
||||||
14743, // Olympiad - Lute Melody
|
new SkillHolder(14743, 1), // Olympiad - Lute Melody
|
||||||
14744, // Olympiad - Knight's Harmony
|
|
||||||
14745, // Olympiad - Warrior's Harmony
|
|
||||||
14746, // Olympiad - Wizard's Harmony
|
|
||||||
};
|
};
|
||||||
|
|
||||||
private OlyBuffer()
|
private OlyBuffer()
|
||||||
@@ -57,9 +57,10 @@ public final class OlyBuffer extends AbstractNpcAI
|
|||||||
public String onFirstTalk(L2Npc npc, L2PcInstance player)
|
public String onFirstTalk(L2Npc npc, L2PcInstance player)
|
||||||
{
|
{
|
||||||
String htmltext = null;
|
String htmltext = null;
|
||||||
if (npc.getScriptValue() < 5)
|
|
||||||
|
if (npc.isScriptValue(0))
|
||||||
{
|
{
|
||||||
htmltext = "OlyBuffer-index.html";
|
htmltext = "olympiad_master001.htm";
|
||||||
}
|
}
|
||||||
return htmltext;
|
return htmltext;
|
||||||
}
|
}
|
||||||
@@ -68,33 +69,42 @@ public final class OlyBuffer extends AbstractNpcAI
|
|||||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||||
{
|
{
|
||||||
String htmltext = null;
|
String htmltext = null;
|
||||||
if (event.startsWith("giveBuff;") && (npc.getScriptValue() < 5))
|
|
||||||
{
|
|
||||||
final int buffId = Integer.parseInt(event.replace("giveBuff;", ""));
|
|
||||||
if (CommonUtil.contains(ALLOWED_BUFFS, buffId))
|
|
||||||
{
|
|
||||||
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)
|
switch (event)
|
||||||
{
|
{
|
||||||
htmltext = "OlyBuffer-noMore.html";
|
case "guardian":
|
||||||
startQuestTimer("DELETE_ME", 5000, npc, null);
|
{
|
||||||
}
|
htmltext = applyBuffs(npc, player, KNIGHT.getSkill());
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "berserker":
|
||||||
|
{
|
||||||
|
htmltext = applyBuffs(npc, player, WARRIOR.getSkill());
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "magician":
|
||||||
|
{
|
||||||
|
htmltext = applyBuffs(npc, player, WIZARD.getSkill());
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (event.equals("DELETE_ME") && (npc != null))
|
npc.setScriptValue(1);
|
||||||
{
|
htmltext = "olympiad_master003.htm";
|
||||||
npc.deleteMe();
|
getTimers().addTimer("DELETE_ME", 5000, evnt -> npc.deleteMe());
|
||||||
}
|
|
||||||
return htmltext;
|
return htmltext;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String applyBuffs(L2Npc npc, L2PcInstance player, Skill skill)
|
||||||
|
{
|
||||||
|
for (SkillHolder holder : BUFFS)
|
||||||
|
{
|
||||||
|
SkillCaster.triggerCast(npc, player, holder.getSkill());
|
||||||
|
}
|
||||||
|
SkillCaster.triggerCast(npc, player, skill);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
public static void main(String[] args)
|
public static void main(String[] args)
|
||||||
{
|
{
|
||||||
new OlyBuffer();
|
new OlyBuffer();
|
||||||
|
21
L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/others/OlyBuffer/olympiad_master001.htm
vendored
Normal file
21
L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/others/OlyBuffer/olympiad_master001.htm
vendored
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
<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>I wish luck to all participants.</td></tr>
|
||||||
|
<tr><td height=10></td></tr>
|
||||||
|
<tr><td align=center>Select one of the following Supplemental Magic Sets.</td></tr>
|
||||||
|
<tr><td height=10></td></tr>
|
||||||
|
<tr><td>
|
||||||
|
<br>
|
||||||
|
<tr>
|
||||||
|
<td align=center>
|
||||||
|
<center>
|
||||||
|
<button action="bypass -h Quest OlyBuffer guardian">Guardian Set</button>
|
||||||
|
<Button action="bypass -h Quest OlyBuffer berserker">Berserker Set</Button>
|
||||||
|
<Button action="bypass -h Quest OlyBuffer magician">Magician Set</Button>
|
||||||
|
</center>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td height=34></td></tr>
|
||||||
|
</table>
|
||||||
|
</body></html>
|
10
L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/others/OlyBuffer/olympiad_master003.htm
vendored
Normal file
10
L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/others/OlyBuffer/olympiad_master003.htm
vendored
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
<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>We gave you the selected Supplemental Magic Set.</td></tr>
|
||||||
|
<tr><td height=10></td></tr>
|
||||||
|
<tr><td align=center>I wish luck to all warriors.</td></tr>
|
||||||
|
<tr><td height=34></td></tr>
|
||||||
|
<tr><td height=200></td></tr>
|
||||||
|
</table>
|
||||||
|
</body></html>
|
@@ -1,22 +0,0 @@
|
|||||||
<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 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>
|
|
||||||
</center>
|
|
||||||
</td></tr>
|
|
||||||
<tr><td height=34></td></tr>
|
|
||||||
</table>
|
|
||||||
</body></html>
|
|
@@ -1,23 +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>I wish all participants luck and success.</td></tr>
|
|
||||||
<tr><td height=10></td></tr>
|
|
||||||
<tr><td align=center>Please choose 5 buffs from the following.</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>
|
|
||||||
</center>
|
|
||||||
</td></tr>
|
|
||||||
<tr><td height=34></td></tr>
|
|
||||||
</table>
|
|
||||||
</body></html>
|
|
@@ -1,10 +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>All buffs have been provided.</td></tr>
|
|
||||||
<tr><td height=10></td></tr>
|
|
||||||
<tr><td align=center>May you achieve victory.</td></tr>
|
|
||||||
<tr><td height=34></td></tr>
|
|
||||||
<tr><td height=200></td></tr>
|
|
||||||
</table>
|
|
||||||
</body></html>
|
|
@@ -16,11 +16,11 @@
|
|||||||
*/
|
*/
|
||||||
package ai.others.OlyBuffer;
|
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.L2Npc;
|
||||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||||
|
import com.l2jmobius.gameserver.model.holders.SkillHolder;
|
||||||
import com.l2jmobius.gameserver.model.skills.Skill;
|
import com.l2jmobius.gameserver.model.skills.Skill;
|
||||||
|
import com.l2jmobius.gameserver.model.skills.SkillCaster;
|
||||||
|
|
||||||
import ai.AbstractNpcAI;
|
import ai.AbstractNpcAI;
|
||||||
|
|
||||||
@@ -33,17 +33,17 @@ public final class OlyBuffer extends AbstractNpcAI
|
|||||||
// NPC
|
// NPC
|
||||||
private static final int OLYMPIAD_BUFFER = 36402;
|
private static final int OLYMPIAD_BUFFER = 36402;
|
||||||
// Skills
|
// Skills
|
||||||
private static final int[] ALLOWED_BUFFS =
|
private static final SkillHolder KNIGHT = new SkillHolder(14744, 1); // Olympiad - Knight's Harmony
|
||||||
|
private static final SkillHolder WARRIOR = new SkillHolder(14745, 1); // Olympiad - Warrior's Harmony
|
||||||
|
private static final SkillHolder WIZARD = new SkillHolder(14746, 1); // Olympiad - Wizard's Harmony
|
||||||
|
private static final SkillHolder[] BUFFS =
|
||||||
{
|
{
|
||||||
14738, // Olympiad - Horn Melody
|
new SkillHolder(14738, 1), // Olympiad - Horn Melody
|
||||||
14739, // Olympiad - Drum Melody
|
new SkillHolder(14739, 1), // Olympiad - Drum Melody
|
||||||
14740, // Olympiad - Pipe Organ Melody
|
new SkillHolder(14740, 1), // Olympiad - Pipe Organ Melody
|
||||||
14741, // Olympiad - Guitar Melody
|
new SkillHolder(14741, 1), // Olympiad - Guitar Melody
|
||||||
14742, // Olympiad - Harp Melody
|
new SkillHolder(14742, 1), // Olympiad - Harp Melody
|
||||||
14743, // Olympiad - Lute Melody
|
new SkillHolder(14743, 1), // Olympiad - Lute Melody
|
||||||
14744, // Olympiad - Knight's Harmony
|
|
||||||
14745, // Olympiad - Warrior's Harmony
|
|
||||||
14746, // Olympiad - Wizard's Harmony
|
|
||||||
};
|
};
|
||||||
|
|
||||||
private OlyBuffer()
|
private OlyBuffer()
|
||||||
@@ -57,9 +57,10 @@ public final class OlyBuffer extends AbstractNpcAI
|
|||||||
public String onFirstTalk(L2Npc npc, L2PcInstance player)
|
public String onFirstTalk(L2Npc npc, L2PcInstance player)
|
||||||
{
|
{
|
||||||
String htmltext = null;
|
String htmltext = null;
|
||||||
if (npc.getScriptValue() < 5)
|
|
||||||
|
if (npc.isScriptValue(0))
|
||||||
{
|
{
|
||||||
htmltext = "OlyBuffer-index.html";
|
htmltext = "olympiad_master001.htm";
|
||||||
}
|
}
|
||||||
return htmltext;
|
return htmltext;
|
||||||
}
|
}
|
||||||
@@ -68,33 +69,42 @@ public final class OlyBuffer extends AbstractNpcAI
|
|||||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||||
{
|
{
|
||||||
String htmltext = null;
|
String htmltext = null;
|
||||||
if (event.startsWith("giveBuff;") && (npc.getScriptValue() < 5))
|
|
||||||
{
|
|
||||||
final int buffId = Integer.parseInt(event.replace("giveBuff;", ""));
|
|
||||||
if (CommonUtil.contains(ALLOWED_BUFFS, buffId))
|
|
||||||
{
|
|
||||||
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)
|
switch (event)
|
||||||
{
|
{
|
||||||
htmltext = "OlyBuffer-noMore.html";
|
case "guardian":
|
||||||
startQuestTimer("DELETE_ME", 5000, npc, null);
|
{
|
||||||
}
|
htmltext = applyBuffs(npc, player, KNIGHT.getSkill());
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "berserker":
|
||||||
|
{
|
||||||
|
htmltext = applyBuffs(npc, player, WARRIOR.getSkill());
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "magician":
|
||||||
|
{
|
||||||
|
htmltext = applyBuffs(npc, player, WIZARD.getSkill());
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (event.equals("DELETE_ME") && (npc != null))
|
npc.setScriptValue(1);
|
||||||
{
|
htmltext = "olympiad_master003.htm";
|
||||||
npc.deleteMe();
|
getTimers().addTimer("DELETE_ME", 5000, evnt -> npc.deleteMe());
|
||||||
}
|
|
||||||
return htmltext;
|
return htmltext;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String applyBuffs(L2Npc npc, L2PcInstance player, Skill skill)
|
||||||
|
{
|
||||||
|
for (SkillHolder holder : BUFFS)
|
||||||
|
{
|
||||||
|
SkillCaster.triggerCast(npc, player, holder.getSkill());
|
||||||
|
}
|
||||||
|
SkillCaster.triggerCast(npc, player, skill);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
public static void main(String[] args)
|
public static void main(String[] args)
|
||||||
{
|
{
|
||||||
new OlyBuffer();
|
new OlyBuffer();
|
||||||
|
21
L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/others/OlyBuffer/olympiad_master001.htm
vendored
Normal file
21
L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/others/OlyBuffer/olympiad_master001.htm
vendored
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
<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>I wish luck to all participants.</td></tr>
|
||||||
|
<tr><td height=10></td></tr>
|
||||||
|
<tr><td align=center>Select one of the following Supplemental Magic Sets.</td></tr>
|
||||||
|
<tr><td height=10></td></tr>
|
||||||
|
<tr><td>
|
||||||
|
<br>
|
||||||
|
<tr>
|
||||||
|
<td align=center>
|
||||||
|
<center>
|
||||||
|
<button action="bypass -h Quest OlyBuffer guardian">Guardian Set</button>
|
||||||
|
<Button action="bypass -h Quest OlyBuffer berserker">Berserker Set</Button>
|
||||||
|
<Button action="bypass -h Quest OlyBuffer magician">Magician Set</Button>
|
||||||
|
</center>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td height=34></td></tr>
|
||||||
|
</table>
|
||||||
|
</body></html>
|
10
L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/others/OlyBuffer/olympiad_master003.htm
vendored
Normal file
10
L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/others/OlyBuffer/olympiad_master003.htm
vendored
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
<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>We gave you the selected Supplemental Magic Set.</td></tr>
|
||||||
|
<tr><td height=10></td></tr>
|
||||||
|
<tr><td align=center>I wish luck to all warriors.</td></tr>
|
||||||
|
<tr><td height=34></td></tr>
|
||||||
|
<tr><td height=200></td></tr>
|
||||||
|
</table>
|
||||||
|
</body></html>
|
Reference in New Issue
Block a user