Tauti and Teredor html improvements.

This commit is contained in:
MobiusDev
2017-11-19 11:30:08 +00:00
parent bf030049bb
commit ece032632d
52 changed files with 416 additions and 132 deletions

View File

@@ -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>

View File

@@ -1,3 +1,3 @@
<html><body>Teleport Device:<br>
You do not have the key.<br>
(You need a key for this.)
</body></html>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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";

View 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>

View 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>

View File

@@ -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)
{

View 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>

View 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>

View 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>