Tauti and Teredor html improvements.
This commit is contained in:
parent
bf030049bb
commit
ece032632d
@ -1,7 +1,7 @@
|
||||
<html><body>Sizrak:<br>
|
||||
You'd like to challenge <font color="LEVEL">Tauti</font>, eh? We would as well.<br>
|
||||
<font color="LEVEL"> (In order to challenge Tauti, you need an alliance with parties that are level 97 or above. Maximum of 35 people can join at once. You can enter the Instanced Zone through the alliance leader. Every member must also have a Mark of Resistance.) </font><br>
|
||||
<button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest TautiWarzone enterEasyInstance">"I am ready to fight. (Normal)"</button>
|
||||
<button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest TautiWarzone enterExtremeInstance">"I will make him pay! (Extreme)"</button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 0">Back</button>
|
||||
<button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest TautiWarzone enterEasyInstance">"I am ready to fight. (Normal)"</button>
|
||||
<button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest TautiWarzone enterExtremeInstance">"I will make him pay! (Extreme)"</button>
|
||||
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h npc_%objectId%_Chat 0">Back</button>
|
||||
</body></html>
|
@ -9,10 +9,15 @@
|
||||
<exit type="ORIGIN" />
|
||||
</locations>
|
||||
<conditions>
|
||||
<condition type="Party" />
|
||||
<condition type="PartyLeader" />
|
||||
<condition type="GroupMin">
|
||||
<param name="limit" value="5" />
|
||||
<condition type="Party" showMessageAndHtml="true">
|
||||
<param name="html" value="condNoParty.html"/>
|
||||
</condition>
|
||||
<condition type="PartyLeader" showMessageAndHtml="true">
|
||||
<param name="html" value="condNoPartyLeader.html"/>
|
||||
</condition>
|
||||
<condition type="GroupMin" showMessageAndHtml="true">
|
||||
<param name="limit" value="5"/>
|
||||
<param name="html" value="condMinLimit.html"/>
|
||||
</condition>
|
||||
<condition type="GroupMax">
|
||||
<param name="limit" value="7" />
|
||||
|
@ -1,4 +1,4 @@
|
||||
<html><body>Finaria:<br>
|
||||
Welcome back! I've been waiting for you. A fierce battle between the <font color="LEVEL">Revolutionaries</font> and <font color="LEVEL">Kundas</font>.<br>
|
||||
Be careful! If all the <font color="LEVEL">Revolutionaries</font> fall, our plans to the end! Help <font color="LEVEL">Revolutionaries</font> to beat <font color="LEVEL">Kunda</font>. Before everyone power <font color="LEVEL">Revolutionaries</font> run out of, you must immediately kill <font color="LEVEL">Tauti</font>!<br>
|
||||
<html><body>Pinaria:<br>
|
||||
Welcome. I've been waiting for you. We <font color="LEVEL">Revolutionaries</font> are fighting the <font color="LEVEL">Kunda</font>.<br>
|
||||
We must not fail! Please, lend your aid to our cause and join us in fighting the <font color="LEVEL">Kunda</font>, or kill <font color="LEVEL">Tauti</font> before all of the <font color="LEVEL">Revolutionaries</font> fall.
|
||||
</body></html>
|
@ -1,3 +1,3 @@
|
||||
<html><body>Teleport Device:<br>
|
||||
You do not have the key.<br>
|
||||
(You need a key for this.)
|
||||
</body></html>
|
@ -1,4 +1,4 @@
|
||||
<html><body>Teleport Device:<br>
|
||||
Mechanical device. Requires key.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest TautiWarzone useKey">"Use key"</Button>
|
||||
(There is a keyhole.)<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest TautiWarzone useKey">"I have the key."</Button>
|
||||
</body></html>
|
@ -1,4 +1,4 @@
|
||||
<html><body>Teleport Device:<br>
|
||||
Teleport Device is now working.<br>
|
||||
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h Quest TautiWarzone teleport">"Move"</Button>
|
||||
Operative.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest TautiWarzone teleport">Go upstairs</Button>
|
||||
</body></html>
|
@ -24,6 +24,7 @@ import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2MonsterInstance;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.model.instancezone.Instance;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.OnEventTrigger;
|
||||
|
||||
import instances.AbstractInstance;
|
||||
|
||||
@ -84,6 +85,7 @@ public final class TautiWarzone extends AbstractInstance
|
||||
{
|
||||
takeItems(player, KEY_OF_DARKNESS, -1);
|
||||
world.setStatus(3);
|
||||
npc.broadcastPacket(new OnEventTrigger(15235001, true));
|
||||
return "33678-3.htm";
|
||||
}
|
||||
return "33678-1.htm";
|
||||
|
6
L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/bosses/Teredor/30535-01.html
vendored
Normal file
6
L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/bosses/Teredor/30535-01.html
vendored
Normal file
@ -0,0 +1,6 @@
|
||||
<html><body>Filaur of the Gray Pillar:<br>
|
||||
When you're ready, say <font color="LEVEL">Elder Filaur is awesome!!</font> <font color="LEVEL">Loudly</font>. I'll take that as the signal to send you to the home of Teredor.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest TeredorWarzone 30535-02.html">"This is not the time for foolishness."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest TeredorWarzone 30535-02.html">(Haltingly) "A... Amer... is amazing..."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest TeredorWarzone enterInstance">(Loudly) "Elder Filaur is awesome!!!"</Button>
|
||||
</body></html>
|
5
L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/bosses/Teredor/30535-02.html
vendored
Normal file
5
L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/bosses/Teredor/30535-02.html
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
<html><body>Filaur of the Gray Pillar:<br>
|
||||
I'm not kidding around either! I will let you enter when you say <font color="LEVEL">Elder Filaur is awesome!!</font>. My job is pretty thankless, and I need all the ego boosts I can get.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest TeredorWarzone 30535-02.html">(Haltingly) "A... Amer... is amazing..."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest TeredorWarzone enterInstance">(Loudly) "Elder Filaur is awesome!!!"</Button>
|
||||
</body></html>
|
@ -22,6 +22,7 @@ import java.util.Map;
|
||||
import com.l2jmobius.gameserver.ai.CtrlIntention;
|
||||
import com.l2jmobius.gameserver.instancemanager.WalkingManager;
|
||||
import com.l2jmobius.gameserver.model.L2Object;
|
||||
import com.l2jmobius.gameserver.model.L2Party;
|
||||
import com.l2jmobius.gameserver.model.Location;
|
||||
import com.l2jmobius.gameserver.model.StatsSet;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Attackable;
|
||||
@ -68,6 +69,7 @@ public final class TeredorWarzone extends AbstractInstance
|
||||
private static final SkillHolder TEREDOR_CANCEL = new SkillHolder(5902, 1);
|
||||
// Misc
|
||||
private static final int TEMPLATE_ID = 160;
|
||||
private static final int MIN_PLAYERS = 5;
|
||||
//@formatter:off
|
||||
private static final Map<Integer, String[]> WALKING_DATA = new HashMap<>();
|
||||
static
|
||||
@ -88,7 +90,7 @@ public final class TeredorWarzone extends AbstractInstance
|
||||
super(TEMPLATE_ID);
|
||||
addStartNpc(FILAUR);
|
||||
addTalkId(FILAUR);
|
||||
addSpawnId(BEETLE, POS_CHECKER, EGG_2, FAKE_TEREDOR, TEREDOR);
|
||||
addSpawnId(BEETLE, POS_CHECKER, EGG_2, FAKE_TEREDOR, TEREDOR, TEREDOR_POISON);
|
||||
addSpellFinishedId(BEETLE);
|
||||
addEventReceivedId(EGG_2);
|
||||
addAttackId(TEREDOR);
|
||||
@ -116,16 +118,13 @@ public final class TeredorWarzone extends AbstractInstance
|
||||
}
|
||||
case "FAKE_TEREDOR_POISON_TIMER":
|
||||
{
|
||||
final L2Npc minion = addSpawn(TEREDOR_POISON, npc.getX(), npc.getY(), npc.getZ(), 0, false, 0, false, instance.getId());
|
||||
|
||||
getTimers().addTimer("POISON_TIMER", 5000, minion, null);
|
||||
getTimers().addTimer("POISON_TIMER", 10000, minion, null);
|
||||
getTimers().addTimer("POISON_TIMER", 15000, minion, null);
|
||||
getTimers().addTimer("POISON_TIMER", 20000, minion, null);
|
||||
getTimers().addTimer("DELETE_ME", 22000, minion, null);
|
||||
addSpawn(TEREDOR_POISON, npc.getX(), npc.getY(), npc.getZ(), 0, false, 0, false, instance.getId());
|
||||
break;
|
||||
}
|
||||
case "POISON_TIMER":
|
||||
case "POISON_TIMER_1":
|
||||
case "POISON_TIMER_2":
|
||||
case "POISON_TIMER_3":
|
||||
case "POISON_TIMER_4":
|
||||
{
|
||||
addSkillCastDesire(npc, npc, POISON_SKILL, 23);
|
||||
break;
|
||||
@ -160,7 +159,7 @@ public final class TeredorWarzone extends AbstractInstance
|
||||
}
|
||||
else
|
||||
{
|
||||
// myself->CreateOnePrivateEx(18998, "trajan_poison_dummy", 0, 0, gg->FloatToInt(myself->sm->x), gg->FloatToInt(myself->sm->y), gg->FloatToInt(myself->sm->z), 0, 0, 0, 0); //TODO:
|
||||
addSpawn(TEREDOR_POISON, npc.getX(), npc.getY(), npc.getZ(), 0, false, 0, false, instance.getId());
|
||||
getTimers().addTimer("TEREDOR_POISON_TIMER", 2000, npc, null);
|
||||
}
|
||||
break;
|
||||
@ -182,11 +181,47 @@ public final class TeredorWarzone extends AbstractInstance
|
||||
@Override
|
||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
if (event.equals("enterInstance"))
|
||||
String htmltext = null;
|
||||
|
||||
switch (event)
|
||||
{
|
||||
enterInstance(player, npc, TEMPLATE_ID);
|
||||
case "enterInstance":
|
||||
{
|
||||
enterInstance(player, npc, TEMPLATE_ID);
|
||||
break;
|
||||
}
|
||||
case "checkConditions":
|
||||
{
|
||||
final Instance playerInstance = getPlayerInstance(player);
|
||||
final L2Party playerParty = player.getParty();
|
||||
|
||||
if ((playerInstance != null) && (playerInstance.getTemplateId() == TEMPLATE_ID))
|
||||
{
|
||||
enterInstance(player, npc, TEMPLATE_ID);
|
||||
}
|
||||
else if (playerParty == null)
|
||||
{
|
||||
htmltext = "condNoParty.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
if (playerParty.getLeader() == player)
|
||||
{
|
||||
htmltext = (playerParty.getMemberCount() >= MIN_PLAYERS ? "30535-01.html" : "condMinLimit.html");
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "condNoPartyLeader.html";
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "30535-02.html":
|
||||
{
|
||||
htmltext = event;
|
||||
}
|
||||
}
|
||||
return super.onAdvEvent(event, npc, player);
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -224,6 +259,15 @@ public final class TeredorWarzone extends AbstractInstance
|
||||
getTimers().addTimer("FAKE_TEREDOR_POISON_TIMER", 3000, npc, null);
|
||||
break;
|
||||
}
|
||||
case TEREDOR_POISON:
|
||||
{
|
||||
getTimers().addTimer("POISON_TIMER_1", 5000, npc, null);
|
||||
getTimers().addTimer("POISON_TIMER_2", 10000, npc, null);
|
||||
getTimers().addTimer("POISON_TIMER_3", 15000, npc, null);
|
||||
getTimers().addTimer("POISON_TIMER_4", 20000, npc, null);
|
||||
getTimers().addTimer("DELETE_ME", 22000, npc, null);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
npc.initSeenCreatures();
|
||||
@ -429,7 +473,7 @@ public final class TeredorWarzone extends AbstractInstance
|
||||
if ((npc.distFromMe(attacker) > 450) && (getRandom(100) < 5))
|
||||
{
|
||||
addSkillCastDesire(npc, attacker, TEREDOR_POISON_SKILL, 23);
|
||||
// myself->CreateOnePrivateEx(18998, "trajan_poison_dummy", 0, 0, gg->FloatToInt(attacker->x), gg->FloatToInt(attacker->y), gg->FloatToInt(attacker->z), 0, 0, 0, 0);
|
||||
addSpawn(TEREDOR_POISON, attacker.getX(), attacker.getY(), attacker.getZ(), 0, false, 0, false, instance.getId());
|
||||
}
|
||||
|
||||
if ((hpPer <= 80) && (hpPer >= 60))
|
||||
@ -454,7 +498,7 @@ public final class TeredorWarzone extends AbstractInstance
|
||||
else if (getRandom(100) < 1)
|
||||
{
|
||||
addSkillCastDesire(npc, attacker, TEREDOR_POISON_SKILL, 23);
|
||||
// myself->CreateOnePrivateEx(18998, "trajan_poison_dummy", 0, 0, gg->FloatToInt(attacker->x), gg->FloatToInt(attacker->y), gg->FloatToInt(attacker->z), 0, 0, 0, 0);
|
||||
addSpawn(TEREDOR_POISON, attacker.getX(), attacker.getY(), attacker.getZ(), 0, false, 0, false, instance.getId());
|
||||
}
|
||||
}
|
||||
else if ((hpPer <= 60) && (hpPer >= 40))
|
||||
@ -480,7 +524,7 @@ public final class TeredorWarzone extends AbstractInstance
|
||||
else if (getRandom(100) < 3)
|
||||
{
|
||||
addSkillCastDesire(npc, attacker, TEREDOR_POISON_SKILL, 23);
|
||||
// myself->CreateOnePrivateEx(18998, "trajan_poison_dummy", 0, 0, gg->FloatToInt(attacker->x), gg->FloatToInt(attacker->y), gg->FloatToInt(attacker->z), 0, 0, 0, 0);
|
||||
addSpawn(TEREDOR_POISON, attacker.getX(), attacker.getY(), attacker.getZ(), 0, false, 0, false, instance.getId());
|
||||
}
|
||||
}
|
||||
else if ((hpPer <= 40) && (hpPer >= 20))
|
||||
@ -519,7 +563,7 @@ public final class TeredorWarzone extends AbstractInstance
|
||||
else if (getRandom(100) < 5)
|
||||
{
|
||||
addSkillCastDesire(npc, attacker, TEREDOR_POISON_SKILL, 23);
|
||||
// myself->CreateOnePrivateEx(18998, "trajan_poison_dummy", 0, 0, gg->FloatToInt(attacker->x), gg->FloatToInt(attacker->y), gg->FloatToInt(attacker->z), 0, 0, 0, 0);
|
||||
addSpawn(TEREDOR_POISON, attacker.getX(), attacker.getY(), attacker.getZ(), 0, false, 0, false, instance.getId());
|
||||
}
|
||||
}
|
||||
else if (hpPer < 20)
|
||||
@ -560,7 +604,7 @@ public final class TeredorWarzone extends AbstractInstance
|
||||
else if (getRandom(100) < 5)
|
||||
{
|
||||
addSkillCastDesire(npc, attacker, TEREDOR_POISON_SKILL_2, 23);
|
||||
// myself->CreateOnePrivateEx(18998, "trajan_poison_dummy", 0, 0, gg->FloatToInt(attacker->x), gg->FloatToInt(attacker->y), gg->FloatToInt(attacker->z), 0, 0, 0, 0);
|
||||
addSpawn(TEREDOR_POISON, attacker.getX(), attacker.getY(), attacker.getZ(), 0, false, 0, false, instance.getId());
|
||||
}
|
||||
else if (getRandom(100) < 5)
|
||||
{
|
||||
|
3
L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/bosses/Teredor/condMinLimit.html
vendored
Normal file
3
L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/bosses/Teredor/condMinLimit.html
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>Filaur of the Gray Pillar:<br>
|
||||
You need at least 5 people to face Teredor. Because, well, it's hard otherwise. Bring 5.
|
||||
</body></html>
|
3
L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/bosses/Teredor/condNoParty.html
vendored
Normal file
3
L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/bosses/Teredor/condNoParty.html
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>Elder Filaur:<br>
|
||||
No, no, no! You can only go in here if you have allies with you. Why are you alone? Surely you're not that much of a loser? That would be so sad.
|
||||
</body></html>
|
3
L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/bosses/Teredor/condNoPartyLeader.html
vendored
Normal file
3
L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/bosses/Teredor/condNoPartyLeader.html
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>Elder Filaur:<br>
|
||||
I see you have allies with you, but I need to speak to your captain.
|
||||
</body></html>
|
@ -1,7 +1,7 @@
|
||||
<html><body>Sizrak:<br>
|
||||
You'd like to challenge <font color="LEVEL">Tauti</font>, eh? We would as well.<br>
|
||||
<font color="LEVEL"> (In order to challenge Tauti, you need an alliance with parties that are level 97 or above. Maximum of 35 people can join at once. You can enter the Instanced Zone through the alliance leader. Every member must also have a Mark of Resistance.) </font><br>
|
||||
<button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest TautiWarzone enterEasyInstance">"I am ready to fight. (Normal)"</button>
|
||||
<button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest TautiWarzone enterExtremeInstance">"I will make him pay! (Extreme)"</button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 0">Back</button>
|
||||
<button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest TautiWarzone enterEasyInstance">"I am ready to fight. (Normal)"</button>
|
||||
<button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest TautiWarzone enterExtremeInstance">"I will make him pay! (Extreme)"</button>
|
||||
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h npc_%objectId%_Chat 0">Back</button>
|
||||
</body></html>
|
@ -9,10 +9,15 @@
|
||||
<exit type="ORIGIN" />
|
||||
</locations>
|
||||
<conditions>
|
||||
<condition type="Party" />
|
||||
<condition type="PartyLeader" />
|
||||
<condition type="GroupMin">
|
||||
<param name="limit" value="5" />
|
||||
<condition type="Party" showMessageAndHtml="true">
|
||||
<param name="html" value="condNoParty.html"/>
|
||||
</condition>
|
||||
<condition type="PartyLeader" showMessageAndHtml="true">
|
||||
<param name="html" value="condNoPartyLeader.html"/>
|
||||
</condition>
|
||||
<condition type="GroupMin" showMessageAndHtml="true">
|
||||
<param name="limit" value="5"/>
|
||||
<param name="html" value="condMinLimit.html"/>
|
||||
</condition>
|
||||
<condition type="GroupMax">
|
||||
<param name="limit" value="7" />
|
||||
|
@ -1,4 +1,4 @@
|
||||
<html><body>Finaria:<br>
|
||||
Welcome back! I've been waiting for you. A fierce battle between the <font color="LEVEL">Revolutionaries</font> and <font color="LEVEL">Kundas</font>.<br>
|
||||
Be careful! If all the <font color="LEVEL">Revolutionaries</font> fall, our plans to the end! Help <font color="LEVEL">Revolutionaries</font> to beat <font color="LEVEL">Kunda</font>. Before everyone power <font color="LEVEL">Revolutionaries</font> run out of, you must immediately kill <font color="LEVEL">Tauti</font>!<br>
|
||||
<html><body>Pinaria:<br>
|
||||
Welcome. I've been waiting for you. We <font color="LEVEL">Revolutionaries</font> are fighting the <font color="LEVEL">Kunda</font>.<br>
|
||||
We must not fail! Please, lend your aid to our cause and join us in fighting the <font color="LEVEL">Kunda</font>, or kill <font color="LEVEL">Tauti</font> before all of the <font color="LEVEL">Revolutionaries</font> fall.
|
||||
</body></html>
|
@ -1,3 +1,3 @@
|
||||
<html><body>Teleport Device:<br>
|
||||
You do not have the key.<br>
|
||||
(You need a key for this.)
|
||||
</body></html>
|
@ -1,4 +1,4 @@
|
||||
<html><body>Teleport Device:<br>
|
||||
Mechanical device. Requires key.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest TautiWarzone useKey">"Use key"</Button>
|
||||
(There is a keyhole.)<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest TautiWarzone useKey">"I have the key."</Button>
|
||||
</body></html>
|
@ -1,4 +1,4 @@
|
||||
<html><body>Teleport Device:<br>
|
||||
Teleport Device is now working.<br>
|
||||
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h Quest TautiWarzone teleport">"Move"</Button>
|
||||
Operative.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest TautiWarzone teleport">Go upstairs</Button>
|
||||
</body></html>
|
@ -24,6 +24,7 @@ import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2MonsterInstance;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.model.instancezone.Instance;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.OnEventTrigger;
|
||||
|
||||
import instances.AbstractInstance;
|
||||
|
||||
@ -84,6 +85,7 @@ public final class TautiWarzone extends AbstractInstance
|
||||
{
|
||||
takeItems(player, KEY_OF_DARKNESS, -1);
|
||||
world.setStatus(3);
|
||||
npc.broadcastPacket(new OnEventTrigger(15235001, true));
|
||||
return "33678-3.htm";
|
||||
}
|
||||
return "33678-1.htm";
|
||||
|
6
L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/bosses/Teredor/30535-01.html
vendored
Normal file
6
L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/bosses/Teredor/30535-01.html
vendored
Normal file
@ -0,0 +1,6 @@
|
||||
<html><body>Filaur of the Gray Pillar:<br>
|
||||
When you're ready, say <font color="LEVEL">Elder Filaur is awesome!!</font> <font color="LEVEL">Loudly</font>. I'll take that as the signal to send you to the home of Teredor.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest TeredorWarzone 30535-02.html">"This is not the time for foolishness."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest TeredorWarzone 30535-02.html">(Haltingly) "A... Amer... is amazing..."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest TeredorWarzone enterInstance">(Loudly) "Elder Filaur is awesome!!!"</Button>
|
||||
</body></html>
|
5
L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/bosses/Teredor/30535-02.html
vendored
Normal file
5
L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/bosses/Teredor/30535-02.html
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
<html><body>Filaur of the Gray Pillar:<br>
|
||||
I'm not kidding around either! I will let you enter when you say <font color="LEVEL">Elder Filaur is awesome!!</font>. My job is pretty thankless, and I need all the ego boosts I can get.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest TeredorWarzone 30535-02.html">(Haltingly) "A... Amer... is amazing..."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest TeredorWarzone enterInstance">(Loudly) "Elder Filaur is awesome!!!"</Button>
|
||||
</body></html>
|
@ -22,6 +22,7 @@ import java.util.Map;
|
||||
import com.l2jmobius.gameserver.ai.CtrlIntention;
|
||||
import com.l2jmobius.gameserver.instancemanager.WalkingManager;
|
||||
import com.l2jmobius.gameserver.model.L2Object;
|
||||
import com.l2jmobius.gameserver.model.L2Party;
|
||||
import com.l2jmobius.gameserver.model.Location;
|
||||
import com.l2jmobius.gameserver.model.StatsSet;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Attackable;
|
||||
@ -68,6 +69,7 @@ public final class TeredorWarzone extends AbstractInstance
|
||||
private static final SkillHolder TEREDOR_CANCEL = new SkillHolder(5902, 1);
|
||||
// Misc
|
||||
private static final int TEMPLATE_ID = 160;
|
||||
private static final int MIN_PLAYERS = 5;
|
||||
//@formatter:off
|
||||
private static final Map<Integer, String[]> WALKING_DATA = new HashMap<>();
|
||||
static
|
||||
@ -88,7 +90,7 @@ public final class TeredorWarzone extends AbstractInstance
|
||||
super(TEMPLATE_ID);
|
||||
addStartNpc(FILAUR);
|
||||
addTalkId(FILAUR);
|
||||
addSpawnId(BEETLE, POS_CHECKER, EGG_2, FAKE_TEREDOR, TEREDOR);
|
||||
addSpawnId(BEETLE, POS_CHECKER, EGG_2, FAKE_TEREDOR, TEREDOR, TEREDOR_POISON);
|
||||
addSpellFinishedId(BEETLE);
|
||||
addEventReceivedId(EGG_2);
|
||||
addAttackId(TEREDOR);
|
||||
@ -116,16 +118,13 @@ public final class TeredorWarzone extends AbstractInstance
|
||||
}
|
||||
case "FAKE_TEREDOR_POISON_TIMER":
|
||||
{
|
||||
final L2Npc minion = addSpawn(TEREDOR_POISON, npc.getX(), npc.getY(), npc.getZ(), 0, false, 0, false, instance.getId());
|
||||
|
||||
getTimers().addTimer("POISON_TIMER", 5000, minion, null);
|
||||
getTimers().addTimer("POISON_TIMER", 10000, minion, null);
|
||||
getTimers().addTimer("POISON_TIMER", 15000, minion, null);
|
||||
getTimers().addTimer("POISON_TIMER", 20000, minion, null);
|
||||
getTimers().addTimer("DELETE_ME", 22000, minion, null);
|
||||
addSpawn(TEREDOR_POISON, npc.getX(), npc.getY(), npc.getZ(), 0, false, 0, false, instance.getId());
|
||||
break;
|
||||
}
|
||||
case "POISON_TIMER":
|
||||
case "POISON_TIMER_1":
|
||||
case "POISON_TIMER_2":
|
||||
case "POISON_TIMER_3":
|
||||
case "POISON_TIMER_4":
|
||||
{
|
||||
addSkillCastDesire(npc, npc, POISON_SKILL, 23);
|
||||
break;
|
||||
@ -160,7 +159,7 @@ public final class TeredorWarzone extends AbstractInstance
|
||||
}
|
||||
else
|
||||
{
|
||||
// myself->CreateOnePrivateEx(18998, "trajan_poison_dummy", 0, 0, gg->FloatToInt(myself->sm->x), gg->FloatToInt(myself->sm->y), gg->FloatToInt(myself->sm->z), 0, 0, 0, 0); //TODO:
|
||||
addSpawn(TEREDOR_POISON, npc.getX(), npc.getY(), npc.getZ(), 0, false, 0, false, instance.getId());
|
||||
getTimers().addTimer("TEREDOR_POISON_TIMER", 2000, npc, null);
|
||||
}
|
||||
break;
|
||||
@ -182,11 +181,47 @@ public final class TeredorWarzone extends AbstractInstance
|
||||
@Override
|
||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
if (event.equals("enterInstance"))
|
||||
String htmltext = null;
|
||||
|
||||
switch (event)
|
||||
{
|
||||
enterInstance(player, npc, TEMPLATE_ID);
|
||||
case "enterInstance":
|
||||
{
|
||||
enterInstance(player, npc, TEMPLATE_ID);
|
||||
break;
|
||||
}
|
||||
case "checkConditions":
|
||||
{
|
||||
final Instance playerInstance = getPlayerInstance(player);
|
||||
final L2Party playerParty = player.getParty();
|
||||
|
||||
if ((playerInstance != null) && (playerInstance.getTemplateId() == TEMPLATE_ID))
|
||||
{
|
||||
enterInstance(player, npc, TEMPLATE_ID);
|
||||
}
|
||||
else if (playerParty == null)
|
||||
{
|
||||
htmltext = "condNoParty.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
if (playerParty.getLeader() == player)
|
||||
{
|
||||
htmltext = (playerParty.getMemberCount() >= MIN_PLAYERS ? "30535-01.html" : "condMinLimit.html");
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "condNoPartyLeader.html";
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "30535-02.html":
|
||||
{
|
||||
htmltext = event;
|
||||
}
|
||||
}
|
||||
return super.onAdvEvent(event, npc, player);
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -224,6 +259,15 @@ public final class TeredorWarzone extends AbstractInstance
|
||||
getTimers().addTimer("FAKE_TEREDOR_POISON_TIMER", 3000, npc, null);
|
||||
break;
|
||||
}
|
||||
case TEREDOR_POISON:
|
||||
{
|
||||
getTimers().addTimer("POISON_TIMER_1", 5000, npc, null);
|
||||
getTimers().addTimer("POISON_TIMER_2", 10000, npc, null);
|
||||
getTimers().addTimer("POISON_TIMER_3", 15000, npc, null);
|
||||
getTimers().addTimer("POISON_TIMER_4", 20000, npc, null);
|
||||
getTimers().addTimer("DELETE_ME", 22000, npc, null);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
npc.initSeenCreatures();
|
||||
@ -429,7 +473,7 @@ public final class TeredorWarzone extends AbstractInstance
|
||||
if ((npc.distFromMe(attacker) > 450) && (getRandom(100) < 5))
|
||||
{
|
||||
addSkillCastDesire(npc, attacker, TEREDOR_POISON_SKILL, 23);
|
||||
// myself->CreateOnePrivateEx(18998, "trajan_poison_dummy", 0, 0, gg->FloatToInt(attacker->x), gg->FloatToInt(attacker->y), gg->FloatToInt(attacker->z), 0, 0, 0, 0);
|
||||
addSpawn(TEREDOR_POISON, attacker.getX(), attacker.getY(), attacker.getZ(), 0, false, 0, false, instance.getId());
|
||||
}
|
||||
|
||||
if ((hpPer <= 80) && (hpPer >= 60))
|
||||
@ -454,7 +498,7 @@ public final class TeredorWarzone extends AbstractInstance
|
||||
else if (getRandom(100) < 1)
|
||||
{
|
||||
addSkillCastDesire(npc, attacker, TEREDOR_POISON_SKILL, 23);
|
||||
// myself->CreateOnePrivateEx(18998, "trajan_poison_dummy", 0, 0, gg->FloatToInt(attacker->x), gg->FloatToInt(attacker->y), gg->FloatToInt(attacker->z), 0, 0, 0, 0);
|
||||
addSpawn(TEREDOR_POISON, attacker.getX(), attacker.getY(), attacker.getZ(), 0, false, 0, false, instance.getId());
|
||||
}
|
||||
}
|
||||
else if ((hpPer <= 60) && (hpPer >= 40))
|
||||
@ -480,7 +524,7 @@ public final class TeredorWarzone extends AbstractInstance
|
||||
else if (getRandom(100) < 3)
|
||||
{
|
||||
addSkillCastDesire(npc, attacker, TEREDOR_POISON_SKILL, 23);
|
||||
// myself->CreateOnePrivateEx(18998, "trajan_poison_dummy", 0, 0, gg->FloatToInt(attacker->x), gg->FloatToInt(attacker->y), gg->FloatToInt(attacker->z), 0, 0, 0, 0);
|
||||
addSpawn(TEREDOR_POISON, attacker.getX(), attacker.getY(), attacker.getZ(), 0, false, 0, false, instance.getId());
|
||||
}
|
||||
}
|
||||
else if ((hpPer <= 40) && (hpPer >= 20))
|
||||
@ -519,7 +563,7 @@ public final class TeredorWarzone extends AbstractInstance
|
||||
else if (getRandom(100) < 5)
|
||||
{
|
||||
addSkillCastDesire(npc, attacker, TEREDOR_POISON_SKILL, 23);
|
||||
// myself->CreateOnePrivateEx(18998, "trajan_poison_dummy", 0, 0, gg->FloatToInt(attacker->x), gg->FloatToInt(attacker->y), gg->FloatToInt(attacker->z), 0, 0, 0, 0);
|
||||
addSpawn(TEREDOR_POISON, attacker.getX(), attacker.getY(), attacker.getZ(), 0, false, 0, false, instance.getId());
|
||||
}
|
||||
}
|
||||
else if (hpPer < 20)
|
||||
@ -560,7 +604,7 @@ public final class TeredorWarzone extends AbstractInstance
|
||||
else if (getRandom(100) < 5)
|
||||
{
|
||||
addSkillCastDesire(npc, attacker, TEREDOR_POISON_SKILL_2, 23);
|
||||
// myself->CreateOnePrivateEx(18998, "trajan_poison_dummy", 0, 0, gg->FloatToInt(attacker->x), gg->FloatToInt(attacker->y), gg->FloatToInt(attacker->z), 0, 0, 0, 0);
|
||||
addSpawn(TEREDOR_POISON, attacker.getX(), attacker.getY(), attacker.getZ(), 0, false, 0, false, instance.getId());
|
||||
}
|
||||
else if (getRandom(100) < 5)
|
||||
{
|
||||
|
3
L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/bosses/Teredor/condMinLimit.html
vendored
Normal file
3
L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/bosses/Teredor/condMinLimit.html
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>Filaur of the Gray Pillar:<br>
|
||||
You need at least 5 people to face Teredor. Because, well, it's hard otherwise. Bring 5.
|
||||
</body></html>
|
3
L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/bosses/Teredor/condNoParty.html
vendored
Normal file
3
L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/bosses/Teredor/condNoParty.html
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>Elder Filaur:<br>
|
||||
No, no, no! You can only go in here if you have allies with you. Why are you alone? Surely you're not that much of a loser? That would be so sad.
|
||||
</body></html>
|
3
L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/bosses/Teredor/condNoPartyLeader.html
vendored
Normal file
3
L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/bosses/Teredor/condNoPartyLeader.html
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>Elder Filaur:<br>
|
||||
I see you have allies with you, but I need to speak to your captain.
|
||||
</body></html>
|
@ -1,7 +1,7 @@
|
||||
<html><body>Sizrak:<br>
|
||||
You'd like to challenge <font color="LEVEL">Tauti</font>, eh? We would as well.<br>
|
||||
<font color="LEVEL"> (In order to challenge Tauti, you need an alliance with parties that are level 97 or above. Maximum of 35 people can join at once. You can enter the Instanced Zone through the alliance leader. Every member must also have a Mark of Resistance.) </font><br>
|
||||
<button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest TautiWarzone enterEasyInstance">"I am ready to fight. (Normal)"</button>
|
||||
<button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest TautiWarzone enterExtremeInstance">"I will make him pay! (Extreme)"</button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 0">Back</button>
|
||||
<button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest TautiWarzone enterEasyInstance">"I am ready to fight. (Normal)"</button>
|
||||
<button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest TautiWarzone enterExtremeInstance">"I will make him pay! (Extreme)"</button>
|
||||
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h npc_%objectId%_Chat 0">Back</button>
|
||||
</body></html>
|
@ -9,10 +9,15 @@
|
||||
<exit type="ORIGIN" />
|
||||
</locations>
|
||||
<conditions>
|
||||
<condition type="Party" />
|
||||
<condition type="PartyLeader" />
|
||||
<condition type="GroupMin">
|
||||
<param name="limit" value="5" />
|
||||
<condition type="Party" showMessageAndHtml="true">
|
||||
<param name="html" value="condNoParty.html"/>
|
||||
</condition>
|
||||
<condition type="PartyLeader" showMessageAndHtml="true">
|
||||
<param name="html" value="condNoPartyLeader.html"/>
|
||||
</condition>
|
||||
<condition type="GroupMin" showMessageAndHtml="true">
|
||||
<param name="limit" value="5"/>
|
||||
<param name="html" value="condMinLimit.html"/>
|
||||
</condition>
|
||||
<condition type="GroupMax">
|
||||
<param name="limit" value="7" />
|
||||
|
@ -1,4 +1,4 @@
|
||||
<html><body>Finaria:<br>
|
||||
Welcome back! I've been waiting for you. A fierce battle between the <font color="LEVEL">Revolutionaries</font> and <font color="LEVEL">Kundas</font>.<br>
|
||||
Be careful! If all the <font color="LEVEL">Revolutionaries</font> fall, our plans to the end! Help <font color="LEVEL">Revolutionaries</font> to beat <font color="LEVEL">Kunda</font>. Before everyone power <font color="LEVEL">Revolutionaries</font> run out of, you must immediately kill <font color="LEVEL">Tauti</font>!<br>
|
||||
<html><body>Pinaria:<br>
|
||||
Welcome. I've been waiting for you. We <font color="LEVEL">Revolutionaries</font> are fighting the <font color="LEVEL">Kunda</font>.<br>
|
||||
We must not fail! Please, lend your aid to our cause and join us in fighting the <font color="LEVEL">Kunda</font>, or kill <font color="LEVEL">Tauti</font> before all of the <font color="LEVEL">Revolutionaries</font> fall.
|
||||
</body></html>
|
@ -1,3 +1,3 @@
|
||||
<html><body>Teleport Device:<br>
|
||||
You do not have the key.<br>
|
||||
(You need a key for this.)
|
||||
</body></html>
|
@ -1,4 +1,4 @@
|
||||
<html><body>Teleport Device:<br>
|
||||
Mechanical device. Requires key.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest TautiWarzone useKey">"Use key"</Button>
|
||||
(There is a keyhole.)<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest TautiWarzone useKey">"I have the key."</Button>
|
||||
</body></html>
|
@ -1,4 +1,4 @@
|
||||
<html><body>Teleport Device:<br>
|
||||
Teleport Device is now working.<br>
|
||||
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h Quest TautiWarzone teleport">"Move"</Button>
|
||||
Operative.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest TautiWarzone teleport">Go upstairs</Button>
|
||||
</body></html>
|
@ -24,6 +24,7 @@ import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2MonsterInstance;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.model.instancezone.Instance;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.OnEventTrigger;
|
||||
|
||||
import instances.AbstractInstance;
|
||||
|
||||
@ -84,6 +85,7 @@ public final class TautiWarzone extends AbstractInstance
|
||||
{
|
||||
takeItems(player, KEY_OF_DARKNESS, -1);
|
||||
world.setStatus(3);
|
||||
npc.broadcastPacket(new OnEventTrigger(15235001, true));
|
||||
return "33678-3.htm";
|
||||
}
|
||||
return "33678-1.htm";
|
||||
|
6
L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/bosses/Teredor/30535-01.html
vendored
Normal file
6
L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/bosses/Teredor/30535-01.html
vendored
Normal file
@ -0,0 +1,6 @@
|
||||
<html><body>Filaur of the Gray Pillar:<br>
|
||||
When you're ready, say <font color="LEVEL">Elder Filaur is awesome!!</font> <font color="LEVEL">Loudly</font>. I'll take that as the signal to send you to the home of Teredor.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest TeredorWarzone 30535-02.html">"This is not the time for foolishness."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest TeredorWarzone 30535-02.html">(Haltingly) "A... Amer... is amazing..."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest TeredorWarzone enterInstance">(Loudly) "Elder Filaur is awesome!!!"</Button>
|
||||
</body></html>
|
5
L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/bosses/Teredor/30535-02.html
vendored
Normal file
5
L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/bosses/Teredor/30535-02.html
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
<html><body>Filaur of the Gray Pillar:<br>
|
||||
I'm not kidding around either! I will let you enter when you say <font color="LEVEL">Elder Filaur is awesome!!</font>. My job is pretty thankless, and I need all the ego boosts I can get.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest TeredorWarzone 30535-02.html">(Haltingly) "A... Amer... is amazing..."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest TeredorWarzone enterInstance">(Loudly) "Elder Filaur is awesome!!!"</Button>
|
||||
</body></html>
|
@ -22,6 +22,7 @@ import java.util.Map;
|
||||
import com.l2jmobius.gameserver.ai.CtrlIntention;
|
||||
import com.l2jmobius.gameserver.instancemanager.WalkingManager;
|
||||
import com.l2jmobius.gameserver.model.L2Object;
|
||||
import com.l2jmobius.gameserver.model.L2Party;
|
||||
import com.l2jmobius.gameserver.model.Location;
|
||||
import com.l2jmobius.gameserver.model.StatsSet;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Attackable;
|
||||
@ -68,6 +69,7 @@ public final class TeredorWarzone extends AbstractInstance
|
||||
private static final SkillHolder TEREDOR_CANCEL = new SkillHolder(5902, 1);
|
||||
// Misc
|
||||
private static final int TEMPLATE_ID = 160;
|
||||
private static final int MIN_PLAYERS = 5;
|
||||
//@formatter:off
|
||||
private static final Map<Integer, String[]> WALKING_DATA = new HashMap<>();
|
||||
static
|
||||
@ -88,7 +90,7 @@ public final class TeredorWarzone extends AbstractInstance
|
||||
super(TEMPLATE_ID);
|
||||
addStartNpc(FILAUR);
|
||||
addTalkId(FILAUR);
|
||||
addSpawnId(BEETLE, POS_CHECKER, EGG_2, FAKE_TEREDOR, TEREDOR);
|
||||
addSpawnId(BEETLE, POS_CHECKER, EGG_2, FAKE_TEREDOR, TEREDOR, TEREDOR_POISON);
|
||||
addSpellFinishedId(BEETLE);
|
||||
addEventReceivedId(EGG_2);
|
||||
addAttackId(TEREDOR);
|
||||
@ -116,16 +118,13 @@ public final class TeredorWarzone extends AbstractInstance
|
||||
}
|
||||
case "FAKE_TEREDOR_POISON_TIMER":
|
||||
{
|
||||
final L2Npc minion = addSpawn(TEREDOR_POISON, npc.getX(), npc.getY(), npc.getZ(), 0, false, 0, false, instance.getId());
|
||||
|
||||
getTimers().addTimer("POISON_TIMER", 5000, minion, null);
|
||||
getTimers().addTimer("POISON_TIMER", 10000, minion, null);
|
||||
getTimers().addTimer("POISON_TIMER", 15000, minion, null);
|
||||
getTimers().addTimer("POISON_TIMER", 20000, minion, null);
|
||||
getTimers().addTimer("DELETE_ME", 22000, minion, null);
|
||||
addSpawn(TEREDOR_POISON, npc.getX(), npc.getY(), npc.getZ(), 0, false, 0, false, instance.getId());
|
||||
break;
|
||||
}
|
||||
case "POISON_TIMER":
|
||||
case "POISON_TIMER_1":
|
||||
case "POISON_TIMER_2":
|
||||
case "POISON_TIMER_3":
|
||||
case "POISON_TIMER_4":
|
||||
{
|
||||
addSkillCastDesire(npc, npc, POISON_SKILL, 23);
|
||||
break;
|
||||
@ -160,7 +159,7 @@ public final class TeredorWarzone extends AbstractInstance
|
||||
}
|
||||
else
|
||||
{
|
||||
// myself->CreateOnePrivateEx(18998, "trajan_poison_dummy", 0, 0, gg->FloatToInt(myself->sm->x), gg->FloatToInt(myself->sm->y), gg->FloatToInt(myself->sm->z), 0, 0, 0, 0); //TODO:
|
||||
addSpawn(TEREDOR_POISON, npc.getX(), npc.getY(), npc.getZ(), 0, false, 0, false, instance.getId());
|
||||
getTimers().addTimer("TEREDOR_POISON_TIMER", 2000, npc, null);
|
||||
}
|
||||
break;
|
||||
@ -182,11 +181,47 @@ public final class TeredorWarzone extends AbstractInstance
|
||||
@Override
|
||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
if (event.equals("enterInstance"))
|
||||
String htmltext = null;
|
||||
|
||||
switch (event)
|
||||
{
|
||||
enterInstance(player, npc, TEMPLATE_ID);
|
||||
case "enterInstance":
|
||||
{
|
||||
enterInstance(player, npc, TEMPLATE_ID);
|
||||
break;
|
||||
}
|
||||
case "checkConditions":
|
||||
{
|
||||
final Instance playerInstance = getPlayerInstance(player);
|
||||
final L2Party playerParty = player.getParty();
|
||||
|
||||
if ((playerInstance != null) && (playerInstance.getTemplateId() == TEMPLATE_ID))
|
||||
{
|
||||
enterInstance(player, npc, TEMPLATE_ID);
|
||||
}
|
||||
else if (playerParty == null)
|
||||
{
|
||||
htmltext = "condNoParty.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
if (playerParty.getLeader() == player)
|
||||
{
|
||||
htmltext = (playerParty.getMemberCount() >= MIN_PLAYERS ? "30535-01.html" : "condMinLimit.html");
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "condNoPartyLeader.html";
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "30535-02.html":
|
||||
{
|
||||
htmltext = event;
|
||||
}
|
||||
}
|
||||
return super.onAdvEvent(event, npc, player);
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -224,6 +259,15 @@ public final class TeredorWarzone extends AbstractInstance
|
||||
getTimers().addTimer("FAKE_TEREDOR_POISON_TIMER", 3000, npc, null);
|
||||
break;
|
||||
}
|
||||
case TEREDOR_POISON:
|
||||
{
|
||||
getTimers().addTimer("POISON_TIMER_1", 5000, npc, null);
|
||||
getTimers().addTimer("POISON_TIMER_2", 10000, npc, null);
|
||||
getTimers().addTimer("POISON_TIMER_3", 15000, npc, null);
|
||||
getTimers().addTimer("POISON_TIMER_4", 20000, npc, null);
|
||||
getTimers().addTimer("DELETE_ME", 22000, npc, null);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
npc.initSeenCreatures();
|
||||
@ -429,7 +473,7 @@ public final class TeredorWarzone extends AbstractInstance
|
||||
if ((npc.distFromMe(attacker) > 450) && (getRandom(100) < 5))
|
||||
{
|
||||
addSkillCastDesire(npc, attacker, TEREDOR_POISON_SKILL, 23);
|
||||
// myself->CreateOnePrivateEx(18998, "trajan_poison_dummy", 0, 0, gg->FloatToInt(attacker->x), gg->FloatToInt(attacker->y), gg->FloatToInt(attacker->z), 0, 0, 0, 0);
|
||||
addSpawn(TEREDOR_POISON, attacker.getX(), attacker.getY(), attacker.getZ(), 0, false, 0, false, instance.getId());
|
||||
}
|
||||
|
||||
if ((hpPer <= 80) && (hpPer >= 60))
|
||||
@ -454,7 +498,7 @@ public final class TeredorWarzone extends AbstractInstance
|
||||
else if (getRandom(100) < 1)
|
||||
{
|
||||
addSkillCastDesire(npc, attacker, TEREDOR_POISON_SKILL, 23);
|
||||
// myself->CreateOnePrivateEx(18998, "trajan_poison_dummy", 0, 0, gg->FloatToInt(attacker->x), gg->FloatToInt(attacker->y), gg->FloatToInt(attacker->z), 0, 0, 0, 0);
|
||||
addSpawn(TEREDOR_POISON, attacker.getX(), attacker.getY(), attacker.getZ(), 0, false, 0, false, instance.getId());
|
||||
}
|
||||
}
|
||||
else if ((hpPer <= 60) && (hpPer >= 40))
|
||||
@ -480,7 +524,7 @@ public final class TeredorWarzone extends AbstractInstance
|
||||
else if (getRandom(100) < 3)
|
||||
{
|
||||
addSkillCastDesire(npc, attacker, TEREDOR_POISON_SKILL, 23);
|
||||
// myself->CreateOnePrivateEx(18998, "trajan_poison_dummy", 0, 0, gg->FloatToInt(attacker->x), gg->FloatToInt(attacker->y), gg->FloatToInt(attacker->z), 0, 0, 0, 0);
|
||||
addSpawn(TEREDOR_POISON, attacker.getX(), attacker.getY(), attacker.getZ(), 0, false, 0, false, instance.getId());
|
||||
}
|
||||
}
|
||||
else if ((hpPer <= 40) && (hpPer >= 20))
|
||||
@ -519,7 +563,7 @@ public final class TeredorWarzone extends AbstractInstance
|
||||
else if (getRandom(100) < 5)
|
||||
{
|
||||
addSkillCastDesire(npc, attacker, TEREDOR_POISON_SKILL, 23);
|
||||
// myself->CreateOnePrivateEx(18998, "trajan_poison_dummy", 0, 0, gg->FloatToInt(attacker->x), gg->FloatToInt(attacker->y), gg->FloatToInt(attacker->z), 0, 0, 0, 0);
|
||||
addSpawn(TEREDOR_POISON, attacker.getX(), attacker.getY(), attacker.getZ(), 0, false, 0, false, instance.getId());
|
||||
}
|
||||
}
|
||||
else if (hpPer < 20)
|
||||
@ -560,7 +604,7 @@ public final class TeredorWarzone extends AbstractInstance
|
||||
else if (getRandom(100) < 5)
|
||||
{
|
||||
addSkillCastDesire(npc, attacker, TEREDOR_POISON_SKILL_2, 23);
|
||||
// myself->CreateOnePrivateEx(18998, "trajan_poison_dummy", 0, 0, gg->FloatToInt(attacker->x), gg->FloatToInt(attacker->y), gg->FloatToInt(attacker->z), 0, 0, 0, 0);
|
||||
addSpawn(TEREDOR_POISON, attacker.getX(), attacker.getY(), attacker.getZ(), 0, false, 0, false, instance.getId());
|
||||
}
|
||||
else if (getRandom(100) < 5)
|
||||
{
|
||||
|
3
L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/bosses/Teredor/condMinLimit.html
vendored
Normal file
3
L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/bosses/Teredor/condMinLimit.html
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>Filaur of the Gray Pillar:<br>
|
||||
You need at least 5 people to face Teredor. Because, well, it's hard otherwise. Bring 5.
|
||||
</body></html>
|
3
L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/bosses/Teredor/condNoParty.html
vendored
Normal file
3
L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/bosses/Teredor/condNoParty.html
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>Elder Filaur:<br>
|
||||
No, no, no! You can only go in here if you have allies with you. Why are you alone? Surely you're not that much of a loser? That would be so sad.
|
||||
</body></html>
|
3
L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/bosses/Teredor/condNoPartyLeader.html
vendored
Normal file
3
L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/bosses/Teredor/condNoPartyLeader.html
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>Elder Filaur:<br>
|
||||
I see you have allies with you, but I need to speak to your captain.
|
||||
</body></html>
|
@ -1,7 +1,7 @@
|
||||
<html><body>Sizrak:<br>
|
||||
You'd like to challenge <font color="LEVEL">Tauti</font>, eh? We would as well.<br>
|
||||
<font color="LEVEL"> (In order to challenge Tauti, you need an alliance with parties that are level 97 or above. Maximum of 35 people can join at once. You can enter the Instanced Zone through the alliance leader. Every member must also have a Mark of Resistance.) </font><br>
|
||||
<button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest TautiWarzone enterEasyInstance">"I am ready to fight. (Normal)"</button>
|
||||
<button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest TautiWarzone enterExtremeInstance">"I will make him pay! (Extreme)"</button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 0">Back</button>
|
||||
<button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest TautiWarzone enterEasyInstance">"I am ready to fight. (Normal)"</button>
|
||||
<button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest TautiWarzone enterExtremeInstance">"I will make him pay! (Extreme)"</button>
|
||||
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h npc_%objectId%_Chat 0">Back</button>
|
||||
</body></html>
|
@ -9,10 +9,15 @@
|
||||
<exit type="ORIGIN" />
|
||||
</locations>
|
||||
<conditions>
|
||||
<condition type="Party" />
|
||||
<condition type="PartyLeader" />
|
||||
<condition type="GroupMin">
|
||||
<param name="limit" value="5" />
|
||||
<condition type="Party" showMessageAndHtml="true">
|
||||
<param name="html" value="condNoParty.html"/>
|
||||
</condition>
|
||||
<condition type="PartyLeader" showMessageAndHtml="true">
|
||||
<param name="html" value="condNoPartyLeader.html"/>
|
||||
</condition>
|
||||
<condition type="GroupMin" showMessageAndHtml="true">
|
||||
<param name="limit" value="5"/>
|
||||
<param name="html" value="condMinLimit.html"/>
|
||||
</condition>
|
||||
<condition type="GroupMax">
|
||||
<param name="limit" value="7" />
|
||||
|
@ -1,4 +1,4 @@
|
||||
<html><body>Finaria:<br>
|
||||
Welcome back! I've been waiting for you. A fierce battle between the <font color="LEVEL">Revolutionaries</font> and <font color="LEVEL">Kundas</font>.<br>
|
||||
Be careful! If all the <font color="LEVEL">Revolutionaries</font> fall, our plans to the end! Help <font color="LEVEL">Revolutionaries</font> to beat <font color="LEVEL">Kunda</font>. Before everyone power <font color="LEVEL">Revolutionaries</font> run out of, you must immediately kill <font color="LEVEL">Tauti</font>!<br>
|
||||
<html><body>Pinaria:<br>
|
||||
Welcome. I've been waiting for you. We <font color="LEVEL">Revolutionaries</font> are fighting the <font color="LEVEL">Kunda</font>.<br>
|
||||
We must not fail! Please, lend your aid to our cause and join us in fighting the <font color="LEVEL">Kunda</font>, or kill <font color="LEVEL">Tauti</font> before all of the <font color="LEVEL">Revolutionaries</font> fall.
|
||||
</body></html>
|
@ -1,3 +1,3 @@
|
||||
<html><body>Teleport Device:<br>
|
||||
You do not have the key.<br>
|
||||
(You need a key for this.)
|
||||
</body></html>
|
@ -1,4 +1,4 @@
|
||||
<html><body>Teleport Device:<br>
|
||||
Mechanical device. Requires key.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest TautiWarzone useKey">"Use key"</Button>
|
||||
(There is a keyhole.)<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest TautiWarzone useKey">"I have the key."</Button>
|
||||
</body></html>
|
@ -1,4 +1,4 @@
|
||||
<html><body>Teleport Device:<br>
|
||||
Teleport Device is now working.<br>
|
||||
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h Quest TautiWarzone teleport">"Move"</Button>
|
||||
Operative.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest TautiWarzone teleport">Go upstairs</Button>
|
||||
</body></html>
|
@ -24,6 +24,7 @@ import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2MonsterInstance;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.model.instancezone.Instance;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.OnEventTrigger;
|
||||
|
||||
import instances.AbstractInstance;
|
||||
|
||||
@ -84,6 +85,7 @@ public final class TautiWarzone extends AbstractInstance
|
||||
{
|
||||
takeItems(player, KEY_OF_DARKNESS, -1);
|
||||
world.setStatus(3);
|
||||
npc.broadcastPacket(new OnEventTrigger(15235001, true));
|
||||
return "33678-3.htm";
|
||||
}
|
||||
return "33678-1.htm";
|
||||
|
6
L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/bosses/Teredor/30535-01.html
vendored
Normal file
6
L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/bosses/Teredor/30535-01.html
vendored
Normal file
@ -0,0 +1,6 @@
|
||||
<html><body>Filaur of the Gray Pillar:<br>
|
||||
When you're ready, say <font color="LEVEL">Elder Filaur is awesome!!</font> <font color="LEVEL">Loudly</font>. I'll take that as the signal to send you to the home of Teredor.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest TeredorWarzone 30535-02.html">"This is not the time for foolishness."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest TeredorWarzone 30535-02.html">(Haltingly) "A... Amer... is amazing..."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest TeredorWarzone enterInstance">(Loudly) "Elder Filaur is awesome!!!"</Button>
|
||||
</body></html>
|
5
L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/bosses/Teredor/30535-02.html
vendored
Normal file
5
L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/bosses/Teredor/30535-02.html
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
<html><body>Filaur of the Gray Pillar:<br>
|
||||
I'm not kidding around either! I will let you enter when you say <font color="LEVEL">Elder Filaur is awesome!!</font>. My job is pretty thankless, and I need all the ego boosts I can get.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest TeredorWarzone 30535-02.html">(Haltingly) "A... Amer... is amazing..."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest TeredorWarzone enterInstance">(Loudly) "Elder Filaur is awesome!!!"</Button>
|
||||
</body></html>
|
@ -22,6 +22,7 @@ import java.util.Map;
|
||||
import com.l2jmobius.gameserver.ai.CtrlIntention;
|
||||
import com.l2jmobius.gameserver.instancemanager.WalkingManager;
|
||||
import com.l2jmobius.gameserver.model.L2Object;
|
||||
import com.l2jmobius.gameserver.model.L2Party;
|
||||
import com.l2jmobius.gameserver.model.Location;
|
||||
import com.l2jmobius.gameserver.model.StatsSet;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Attackable;
|
||||
@ -68,6 +69,7 @@ public final class TeredorWarzone extends AbstractInstance
|
||||
private static final SkillHolder TEREDOR_CANCEL = new SkillHolder(5902, 1);
|
||||
// Misc
|
||||
private static final int TEMPLATE_ID = 160;
|
||||
private static final int MIN_PLAYERS = 5;
|
||||
//@formatter:off
|
||||
private static final Map<Integer, String[]> WALKING_DATA = new HashMap<>();
|
||||
static
|
||||
@ -88,7 +90,7 @@ public final class TeredorWarzone extends AbstractInstance
|
||||
super(TEMPLATE_ID);
|
||||
addStartNpc(FILAUR);
|
||||
addTalkId(FILAUR);
|
||||
addSpawnId(BEETLE, POS_CHECKER, EGG_2, FAKE_TEREDOR, TEREDOR);
|
||||
addSpawnId(BEETLE, POS_CHECKER, EGG_2, FAKE_TEREDOR, TEREDOR, TEREDOR_POISON);
|
||||
addSpellFinishedId(BEETLE);
|
||||
addEventReceivedId(EGG_2);
|
||||
addAttackId(TEREDOR);
|
||||
@ -116,16 +118,13 @@ public final class TeredorWarzone extends AbstractInstance
|
||||
}
|
||||
case "FAKE_TEREDOR_POISON_TIMER":
|
||||
{
|
||||
final L2Npc minion = addSpawn(TEREDOR_POISON, npc.getX(), npc.getY(), npc.getZ(), 0, false, 0, false, instance.getId());
|
||||
|
||||
getTimers().addTimer("POISON_TIMER", 5000, minion, null);
|
||||
getTimers().addTimer("POISON_TIMER", 10000, minion, null);
|
||||
getTimers().addTimer("POISON_TIMER", 15000, minion, null);
|
||||
getTimers().addTimer("POISON_TIMER", 20000, minion, null);
|
||||
getTimers().addTimer("DELETE_ME", 22000, minion, null);
|
||||
addSpawn(TEREDOR_POISON, npc.getX(), npc.getY(), npc.getZ(), 0, false, 0, false, instance.getId());
|
||||
break;
|
||||
}
|
||||
case "POISON_TIMER":
|
||||
case "POISON_TIMER_1":
|
||||
case "POISON_TIMER_2":
|
||||
case "POISON_TIMER_3":
|
||||
case "POISON_TIMER_4":
|
||||
{
|
||||
addSkillCastDesire(npc, npc, POISON_SKILL, 23);
|
||||
break;
|
||||
@ -160,7 +159,7 @@ public final class TeredorWarzone extends AbstractInstance
|
||||
}
|
||||
else
|
||||
{
|
||||
// myself->CreateOnePrivateEx(18998, "trajan_poison_dummy", 0, 0, gg->FloatToInt(myself->sm->x), gg->FloatToInt(myself->sm->y), gg->FloatToInt(myself->sm->z), 0, 0, 0, 0); //TODO:
|
||||
addSpawn(TEREDOR_POISON, npc.getX(), npc.getY(), npc.getZ(), 0, false, 0, false, instance.getId());
|
||||
getTimers().addTimer("TEREDOR_POISON_TIMER", 2000, npc, null);
|
||||
}
|
||||
break;
|
||||
@ -182,11 +181,47 @@ public final class TeredorWarzone extends AbstractInstance
|
||||
@Override
|
||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
if (event.equals("enterInstance"))
|
||||
String htmltext = null;
|
||||
|
||||
switch (event)
|
||||
{
|
||||
enterInstance(player, npc, TEMPLATE_ID);
|
||||
case "enterInstance":
|
||||
{
|
||||
enterInstance(player, npc, TEMPLATE_ID);
|
||||
break;
|
||||
}
|
||||
case "checkConditions":
|
||||
{
|
||||
final Instance playerInstance = getPlayerInstance(player);
|
||||
final L2Party playerParty = player.getParty();
|
||||
|
||||
if ((playerInstance != null) && (playerInstance.getTemplateId() == TEMPLATE_ID))
|
||||
{
|
||||
enterInstance(player, npc, TEMPLATE_ID);
|
||||
}
|
||||
else if (playerParty == null)
|
||||
{
|
||||
htmltext = "condNoParty.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
if (playerParty.getLeader() == player)
|
||||
{
|
||||
htmltext = (playerParty.getMemberCount() >= MIN_PLAYERS ? "30535-01.html" : "condMinLimit.html");
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "condNoPartyLeader.html";
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "30535-02.html":
|
||||
{
|
||||
htmltext = event;
|
||||
}
|
||||
}
|
||||
return super.onAdvEvent(event, npc, player);
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -224,6 +259,15 @@ public final class TeredorWarzone extends AbstractInstance
|
||||
getTimers().addTimer("FAKE_TEREDOR_POISON_TIMER", 3000, npc, null);
|
||||
break;
|
||||
}
|
||||
case TEREDOR_POISON:
|
||||
{
|
||||
getTimers().addTimer("POISON_TIMER_1", 5000, npc, null);
|
||||
getTimers().addTimer("POISON_TIMER_2", 10000, npc, null);
|
||||
getTimers().addTimer("POISON_TIMER_3", 15000, npc, null);
|
||||
getTimers().addTimer("POISON_TIMER_4", 20000, npc, null);
|
||||
getTimers().addTimer("DELETE_ME", 22000, npc, null);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
npc.initSeenCreatures();
|
||||
@ -429,7 +473,7 @@ public final class TeredorWarzone extends AbstractInstance
|
||||
if ((npc.distFromMe(attacker) > 450) && (getRandom(100) < 5))
|
||||
{
|
||||
addSkillCastDesire(npc, attacker, TEREDOR_POISON_SKILL, 23);
|
||||
// myself->CreateOnePrivateEx(18998, "trajan_poison_dummy", 0, 0, gg->FloatToInt(attacker->x), gg->FloatToInt(attacker->y), gg->FloatToInt(attacker->z), 0, 0, 0, 0);
|
||||
addSpawn(TEREDOR_POISON, attacker.getX(), attacker.getY(), attacker.getZ(), 0, false, 0, false, instance.getId());
|
||||
}
|
||||
|
||||
if ((hpPer <= 80) && (hpPer >= 60))
|
||||
@ -454,7 +498,7 @@ public final class TeredorWarzone extends AbstractInstance
|
||||
else if (getRandom(100) < 1)
|
||||
{
|
||||
addSkillCastDesire(npc, attacker, TEREDOR_POISON_SKILL, 23);
|
||||
// myself->CreateOnePrivateEx(18998, "trajan_poison_dummy", 0, 0, gg->FloatToInt(attacker->x), gg->FloatToInt(attacker->y), gg->FloatToInt(attacker->z), 0, 0, 0, 0);
|
||||
addSpawn(TEREDOR_POISON, attacker.getX(), attacker.getY(), attacker.getZ(), 0, false, 0, false, instance.getId());
|
||||
}
|
||||
}
|
||||
else if ((hpPer <= 60) && (hpPer >= 40))
|
||||
@ -480,7 +524,7 @@ public final class TeredorWarzone extends AbstractInstance
|
||||
else if (getRandom(100) < 3)
|
||||
{
|
||||
addSkillCastDesire(npc, attacker, TEREDOR_POISON_SKILL, 23);
|
||||
// myself->CreateOnePrivateEx(18998, "trajan_poison_dummy", 0, 0, gg->FloatToInt(attacker->x), gg->FloatToInt(attacker->y), gg->FloatToInt(attacker->z), 0, 0, 0, 0);
|
||||
addSpawn(TEREDOR_POISON, attacker.getX(), attacker.getY(), attacker.getZ(), 0, false, 0, false, instance.getId());
|
||||
}
|
||||
}
|
||||
else if ((hpPer <= 40) && (hpPer >= 20))
|
||||
@ -519,7 +563,7 @@ public final class TeredorWarzone extends AbstractInstance
|
||||
else if (getRandom(100) < 5)
|
||||
{
|
||||
addSkillCastDesire(npc, attacker, TEREDOR_POISON_SKILL, 23);
|
||||
// myself->CreateOnePrivateEx(18998, "trajan_poison_dummy", 0, 0, gg->FloatToInt(attacker->x), gg->FloatToInt(attacker->y), gg->FloatToInt(attacker->z), 0, 0, 0, 0);
|
||||
addSpawn(TEREDOR_POISON, attacker.getX(), attacker.getY(), attacker.getZ(), 0, false, 0, false, instance.getId());
|
||||
}
|
||||
}
|
||||
else if (hpPer < 20)
|
||||
@ -560,7 +604,7 @@ public final class TeredorWarzone extends AbstractInstance
|
||||
else if (getRandom(100) < 5)
|
||||
{
|
||||
addSkillCastDesire(npc, attacker, TEREDOR_POISON_SKILL_2, 23);
|
||||
// myself->CreateOnePrivateEx(18998, "trajan_poison_dummy", 0, 0, gg->FloatToInt(attacker->x), gg->FloatToInt(attacker->y), gg->FloatToInt(attacker->z), 0, 0, 0, 0);
|
||||
addSpawn(TEREDOR_POISON, attacker.getX(), attacker.getY(), attacker.getZ(), 0, false, 0, false, instance.getId());
|
||||
}
|
||||
else if (getRandom(100) < 5)
|
||||
{
|
||||
|
3
L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/bosses/Teredor/condMinLimit.html
vendored
Normal file
3
L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/bosses/Teredor/condMinLimit.html
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>Filaur of the Gray Pillar:<br>
|
||||
You need at least 5 people to face Teredor. Because, well, it's hard otherwise. Bring 5.
|
||||
</body></html>
|
3
L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/bosses/Teredor/condNoParty.html
vendored
Normal file
3
L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/bosses/Teredor/condNoParty.html
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>Elder Filaur:<br>
|
||||
No, no, no! You can only go in here if you have allies with you. Why are you alone? Surely you're not that much of a loser? That would be so sad.
|
||||
</body></html>
|
3
L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/bosses/Teredor/condNoPartyLeader.html
vendored
Normal file
3
L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/bosses/Teredor/condNoPartyLeader.html
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>Elder Filaur:<br>
|
||||
I see you have allies with you, but I need to speak to your captain.
|
||||
</body></html>
|
Loading…
Reference in New Issue
Block a user