Four Sepulchers rework.
Thanks to Stayway and gigilo1968.
This commit is contained in:
parent
df9d1379fd
commit
49d0d680a0
File diff suppressed because it is too large
Load Diff
20
trunk/dist/game/config/General.ini
vendored
20
trunk/dist/game/config/General.ini
vendored
@ -638,26 +638,6 @@ CommanderCost = 30
|
||||
HeroCost = 33
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Four Sepulchers
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
# Default: 50
|
||||
TimeOfAttack = 50
|
||||
|
||||
# Default: 5
|
||||
TimeOfCoolDown = 5
|
||||
|
||||
# Default: 3
|
||||
TimeOfEntry = 3
|
||||
|
||||
# Default: 2
|
||||
TimeOfWarmUp = 2
|
||||
|
||||
# Default: 4
|
||||
NumberOfNecessaryPartyMembers = 4
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Punishment
|
||||
# ---------------------------------------------------------------------------
|
||||
|
@ -1,5 +0,0 @@
|
||||
<html><body>Nameless Soul:<br>
|
||||
This is the final resting place of the ancient emperors of the Elmoreden Empire! There are four major sepulchers. They are the Sepulcher of Conquerors, the Sepulcher of Rulers, the Sepulcher of Great Sages and the Sepulcher of Judges, respectively. Together they are known as the Four Sepulchers.<br>
|
||||
But this sacred place is ultimately...<br>
|
||||
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
|
||||
</body></html>
|
@ -1,4 +1,4 @@
|
||||
<html><body>Ghost of Wigoth:<br>
|
||||
You've destroyed the Shadow of Halisha! Good job!<br>
|
||||
You've destroyed Halisha's Shadow! Good job!<br>
|
||||
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
|
||||
</body></html>
|
5
trunk/dist/game/data/scripts/ai/areas/ImperialTomb/FourSepulchers/31453.html
vendored
Normal file
5
trunk/dist/game/data/scripts/ai/areas/ImperialTomb/FourSepulchers/31453.html
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
<html><body>Nameless Spirit:<br>
|
||||
This is the final resting place of the ancient emperors of the Elmoreden Empire! There are four major sepulchers. They are the Sepulcher of Conquerors, the Sepulcher of Rulers, the Sepulcher of Great Sages and the Sepulcher of Judges, respectively. Together they are known as the Four Sepulchers.<br>
|
||||
But this sacred place is ultimately...<br>
|
||||
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
|
||||
</body></html>
|
@ -1,4 +1,4 @@
|
||||
<html><body>Baron's Hall Gatekeeper:<br>
|
||||
I guard the gate connected to the hall of a Baron.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_open_gate">Open the gate.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest FourSepulchers OpenGate">Open the gate.</Button>
|
||||
</body></html>
|
@ -1,4 +1,4 @@
|
||||
<html><body>Viscount's Hall Gatekeeper:<br>
|
||||
I guard the gate connected to the hall of a Viscount.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_open_gate">Open the gate.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest FourSepulchers OpenGate">Open the gate.</Button>
|
||||
</body></html>
|
@ -1,4 +1,4 @@
|
||||
<html><body>Count's Hall Gatekeeper:<br>
|
||||
I guard the gate connected to the hall of a Count.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_open_gate">Open the gate.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest FourSepulchers OpenGate">Open the gate.</Button>
|
||||
</body></html>
|
@ -1,4 +1,4 @@
|
||||
<html><body>Marquis' Hall Gatekeeper:<br>
|
||||
I guard the gate connected to the Marquis' Hall.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_open_gate">Open the gate.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest FourSepulchers OpenGate">Open the gate.</Button>
|
||||
</body></html>
|
@ -1,4 +1,4 @@
|
||||
<html><body>Duke's Hall Gatekeeper:<br>
|
||||
I guard the gate connected to the tomb of the Emperor.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_open_gate">Open gate</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest FourSepulchers OpenGate">Open the gate.</Button>
|
||||
</body></html>
|
@ -1,4 +1,4 @@
|
||||
<html><body>Baron's Hall Gatekeeper:<br>
|
||||
I guard the gate connected to the hall of a Baron.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_open_gate">Open the gate.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest FourSepulchers OpenGate">Open the gate.</Button>
|
||||
</body></html>
|
@ -1,4 +1,4 @@
|
||||
<html><body>Viscount's Hall Gatekeeper:<br>
|
||||
I guard the gate connected to the hall of a Viscount.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_open_gate">Open the gate.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest FourSepulchers OpenGate">Open the gate.</Button>
|
||||
</body></html>
|
@ -1,4 +1,4 @@
|
||||
<html><body>Count's Hall Gatekeeper:<br>
|
||||
I guard the gate connected to the hall of a Count.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_open_gate">Open the gate.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest FourSepulchers OpenGate">Open the gate.</Button>
|
||||
</body></html>
|
@ -1,4 +1,4 @@
|
||||
<html><body>Marquis' Hall Gatekeeper:<br>
|
||||
I guard the gate connected to the Marquis' Hall.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_open_gate">Open the gate.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest FourSepulchers OpenGate">Open the gate.</Button>
|
||||
</body></html>
|
@ -1,4 +1,4 @@
|
||||
<html><body>Duke's Hall Gatekeeper:<br>
|
||||
I guard the gate connected to the tomb of the Emperor.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_open_gate">Open gate</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest FourSepulchers OpenGate">Open the gate.</Button>
|
||||
</body></html>
|
@ -1,4 +1,4 @@
|
||||
<html><body>Baron's Hall Gatekeeper:<br>
|
||||
I guard the gate connected to the hall of a Baron.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_open_gate">Open the gate.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest FourSepulchers OpenGate">Open the gate.</Button>
|
||||
</body></html>
|
@ -1,4 +1,4 @@
|
||||
<html><body>Viscount's Hall Gatekeeper:<br>
|
||||
I guard the gate connected to the hall of a Viscount.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_open_gate">Open the gate.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest FourSepulchers OpenGate">Open the gate.</Button>
|
||||
</body></html>
|
@ -1,4 +1,4 @@
|
||||
<html><body>Count's Hall Gatekeeper:<br>
|
||||
I guard the gate connected to the hall of a Count.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_open_gate">Open the gate.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest FourSepulchers OpenGate">Open the gate.</Button>
|
||||
</body></html>
|
@ -1,4 +1,4 @@
|
||||
<html><body>Marquis' Hall Gatekeeper:<br>
|
||||
I guard the gate connected to the Marquis' Hall.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_open_gate">Open the gate.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest FourSepulchers OpenGate">Open the gate.</Button>
|
||||
</body></html>
|
@ -1,4 +1,4 @@
|
||||
<html><body>Duke's Hall Gatekeeper:<br>
|
||||
I guard the gate connected to the tomb of the Emperor.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_open_gate">Open gate</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest FourSepulchers OpenGate">Open the gate.</Button>
|
||||
</body></html>
|
@ -1,4 +1,4 @@
|
||||
<html><body>Baron's Hall Gatekeeper:<br>
|
||||
I guard the gate connected to the hall of a Baron.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_open_gate">Open the gate.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest FourSepulchers OpenGate">Open the gate.</Button>
|
||||
</body></html>
|
@ -1,4 +1,4 @@
|
||||
<html><body>Viscount's Hall Gatekeeper:<br>
|
||||
I guard the gate connected to the hall of a Viscount.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_open_gate">Open the gate.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest FourSepulchers OpenGate">Open the gate.</Button>
|
||||
</body></html>
|
@ -1,4 +1,4 @@
|
||||
<html><body>Count's Hall Gatekeeper:<br>
|
||||
I guard the gate connected to the hall of a Count.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_open_gate">Open the gate.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest FourSepulchers OpenGate">Open the gate.</Button>
|
||||
</body></html>
|
@ -1,4 +1,4 @@
|
||||
<html><body>Marquis' Hall Gatekeeper:<br>
|
||||
I guard the gate connected to the Marquis' Hall.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_open_gate">Open the gate.</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest FourSepulchers OpenGate">Open the gate.</Button>
|
||||
</body></html>
|
@ -1,4 +1,4 @@
|
||||
<html><body>Duke's Hall Gatekeeper:<br>
|
||||
I guard the gate connected to the tomb of the Emperor.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_open_gate">Open gate</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest FourSepulchers OpenGate">Open the gate.</Button>
|
||||
</body></html>
|
1429
trunk/dist/game/data/scripts/ai/areas/ImperialTomb/FourSepulchers/FourSepulchers.java
vendored
Normal file
1429
trunk/dist/game/data/scripts/ai/areas/ImperialTomb/FourSepulchers/FourSepulchers.java
vendored
Normal file
File diff suppressed because it is too large
Load Diff
@ -251,6 +251,10 @@ public final class MinionSpawnManager extends AbstractNpcAI
|
||||
NPC.add(25322); // Demon's Agent Falston
|
||||
NPC.add(25325); // Flame of Splendor Barakiel
|
||||
NPC.add(25328); // Eilhalder von Hellmann
|
||||
NPC.add(25339); // Halisha's Shadow
|
||||
NPC.add(25342); // Halisha's Shadow
|
||||
NPC.add(25346); // Halisha's Shadow
|
||||
NPC.add(25349); // Halisha's Shadow
|
||||
NPC.add(25352); // Giant Wasteland Basilisk
|
||||
NPC.add(25354); // Gargoyle Lord Sirocco
|
||||
NPC.add(25357); // Sukar Wererat Chief
|
||||
|
@ -1,4 +1,4 @@
|
||||
<html><body>Conquerors' Sepulcher Manager:<br>
|
||||
Hark! Who goes there?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00620_FourGoblets Enter">Touch the stone statue and concentrate...</button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest FourSepulchers Enter">Touch the stone statue and concentrate...</button>
|
||||
</body></html>
|
@ -1,4 +1,4 @@
|
||||
<html><body>Emperors' Sepulcher Manager:<br>
|
||||
Enter if you dare!<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00620_FourGoblets Enter">Place your hand on the stone statue and concentrate.</button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest FourSepulchers Enter">Place your hand on the stone statue and concentrate.</button>
|
||||
</body></html>
|
@ -1,4 +1,4 @@
|
||||
<html><body>Great Sages' Sepulcher Manager:<br>
|
||||
Enter at your own risk.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00620_FourGoblets Enter">Place hands on statue and concentrate</button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest FourSepulchers Enter">Place hands on statue and concentrate</button>
|
||||
</body></html>
|
@ -1,4 +1,4 @@
|
||||
<html><body>Judges' Sepulcher Manager:<br>
|
||||
Enter if you dare!<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00620_FourGoblets Enter">Place hands on the stone statue and concentrate...</button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest FourSepulchers Enter">Place hands on the stone statue and concentrate...</button>
|
||||
</body></html>
|
@ -18,7 +18,6 @@ package quests.Q00620_FourGoblets;
|
||||
|
||||
import com.l2jmobius.commons.util.Rnd;
|
||||
import com.l2jmobius.gameserver.enums.QuestSound;
|
||||
import com.l2jmobius.gameserver.instancemanager.FourSepulchersManager;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.model.quest.Quest;
|
||||
@ -1006,15 +1005,6 @@ public class Q00620_FourGoblets extends Quest
|
||||
htmltext = "31454-17.htm";
|
||||
break;
|
||||
}
|
||||
case "Enter":
|
||||
{
|
||||
if (st.getCond() > 0)
|
||||
{
|
||||
FourSepulchersManager.getInstance().tryEntry(npc, player);
|
||||
return null;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
@ -1156,33 +1146,33 @@ public class Q00620_FourGoblets extends Quest
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case CONQ_SM:
|
||||
{
|
||||
htmltext = "31921-E.htm";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case EMPER_SM:
|
||||
{
|
||||
htmltext = "31922-E.htm";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case SAGES_SM:
|
||||
{
|
||||
htmltext = "31923-E.htm";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case JUDGE_SM:
|
||||
{
|
||||
htmltext = "31924-E.htm";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case GHOST_CHAMBERLAIN_1:
|
||||
{
|
||||
htmltext = "31919-1.htm";
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
160
trunk/dist/game/data/stats/npcs/18100-18199.xml
vendored
160
trunk/dist/game/data/stats/npcs/18100-18199.xml
vendored
@ -899,7 +899,7 @@
|
||||
<height normal="21" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18120" level="78" type="L2SepulcherMonster" name="Halisha's Officer">
|
||||
<npc id="18120" level="78" type="L2Monster" name="Halisha's Officer">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="85" />
|
||||
@ -960,7 +960,7 @@
|
||||
<height normal="36" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18121" level="78" type="L2SepulcherMonster" name="Halisha's Officer">
|
||||
<npc id="18121" level="78" type="L2Monster" name="Halisha's Officer">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="85" />
|
||||
@ -1021,7 +1021,7 @@
|
||||
<height normal="36" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18122" level="78" type="L2SepulcherMonster" name="Halisha's Officer">
|
||||
<npc id="18122" level="78" type="L2Monster" name="Halisha's Officer">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="85" />
|
||||
@ -1080,7 +1080,7 @@
|
||||
<height normal="36" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18123" level="78" type="L2SepulcherMonster" name="Halisha's Officer">
|
||||
<npc id="18123" level="78" type="L2Monster" name="Halisha's Officer">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="85" />
|
||||
@ -1141,7 +1141,7 @@
|
||||
<height normal="36" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18124" level="78" type="L2SepulcherMonster" name="Halisha's Officer">
|
||||
<npc id="18124" level="78" type="L2Monster" name="Halisha's Officer">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="85" />
|
||||
@ -1202,7 +1202,7 @@
|
||||
<height normal="36" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18125" level="78" type="L2SepulcherMonster" name="Halisha's Officer">
|
||||
<npc id="18125" level="78" type="L2Monster" name="Halisha's Officer">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="85" />
|
||||
@ -1261,7 +1261,7 @@
|
||||
<height normal="36" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18126" level="78" type="L2SepulcherMonster" name="Halisha's Officer">
|
||||
<npc id="18126" level="78" type="L2Monster" name="Halisha's Officer">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="85" />
|
||||
@ -1322,7 +1322,7 @@
|
||||
<height normal="36" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18127" level="78" type="L2SepulcherMonster" name="Halisha's Officer">
|
||||
<npc id="18127" level="78" type="L2Monster" name="Halisha's Officer">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="85" />
|
||||
@ -1383,7 +1383,7 @@
|
||||
<height normal="36" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18128" level="78" type="L2SepulcherMonster" name="Halisha's Officer">
|
||||
<npc id="18128" level="78" type="L2Monster" name="Halisha's Officer">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="85" />
|
||||
@ -1442,7 +1442,7 @@
|
||||
<height normal="36" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18129" level="78" type="L2SepulcherMonster" name="Halisha's Officer">
|
||||
<npc id="18129" level="78" type="L2Monster" name="Halisha's Officer">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="85" />
|
||||
@ -1503,7 +1503,7 @@
|
||||
<height normal="36" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18130" level="78" type="L2SepulcherMonster" name="Halisha's Officer">
|
||||
<npc id="18130" level="78" type="L2Monster" name="Halisha's Officer">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="85" />
|
||||
@ -1564,7 +1564,7 @@
|
||||
<height normal="36" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18131" level="78" type="L2SepulcherMonster" name="Halisha's Officer">
|
||||
<npc id="18131" level="78" type="L2Monster" name="Halisha's Officer">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="85" />
|
||||
@ -1623,7 +1623,7 @@
|
||||
<height normal="36" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18132" level="78" type="L2SepulcherMonster" name="Imperial Healer">
|
||||
<npc id="18132" level="78" type="L2Monster" name="Imperial Healer">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="80" />
|
||||
@ -1676,7 +1676,7 @@
|
||||
<height normal="54.5" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18133" level="78" type="L2SepulcherMonster" name="Imperial Mosaic">
|
||||
<npc id="18133" level="78" type="L2Monster" name="Imperial Mosaic">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="85" />
|
||||
@ -1724,7 +1724,7 @@
|
||||
<height normal="66" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18134" level="78" type="L2SepulcherMonster" name="Imperial Mosaic">
|
||||
<npc id="18134" level="78" type="L2Monster" name="Imperial Mosaic">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="85" />
|
||||
@ -1772,7 +1772,7 @@
|
||||
<height normal="66" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18135" level="78" type="L2SepulcherMonster" name="Imperial Mosaic">
|
||||
<npc id="18135" level="78" type="L2Monster" name="Imperial Mosaic">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="85" />
|
||||
@ -1821,7 +1821,7 @@
|
||||
<height normal="66" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18136" level="78" type="L2SepulcherMonster" name="Imperial Mosaic">
|
||||
<npc id="18136" level="78" type="L2Monster" name="Imperial Mosaic">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="85" />
|
||||
@ -1870,7 +1870,7 @@
|
||||
<height normal="66" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18137" level="78" type="L2SepulcherMonster" name="Imperial Mosaic">
|
||||
<npc id="18137" level="78" type="L2Monster" name="Imperial Mosaic">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="65" />
|
||||
@ -1920,7 +1920,7 @@
|
||||
<height normal="22" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18138" level="78" type="L2SepulcherMonster" name="Imperial Mosaic">
|
||||
<npc id="18138" level="78" type="L2Monster" name="Imperial Mosaic">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="65" />
|
||||
@ -1971,7 +1971,7 @@
|
||||
<height normal="22" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18139" level="78" type="L2SepulcherMonster" name="Imperial Mosaic">
|
||||
<npc id="18139" level="78" type="L2Monster" name="Imperial Mosaic">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="65" />
|
||||
@ -2022,7 +2022,7 @@
|
||||
<height normal="22" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18140" level="78" type="L2SepulcherMonster" name="Imperial Mosaic">
|
||||
<npc id="18140" level="78" type="L2Monster" name="Imperial Mosaic">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="65" />
|
||||
@ -2071,7 +2071,7 @@
|
||||
<height normal="22" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18141" level="78" type="L2SepulcherMonster" name="Beetle of Grave">
|
||||
<npc id="18141" level="78" type="L2Monster" name="Beetle of Grave">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="65" />
|
||||
@ -2125,7 +2125,7 @@
|
||||
<height normal="22" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18142" level="78" type="L2SepulcherMonster" name="Beetle of Grave">
|
||||
<npc id="18142" level="78" type="L2Monster" name="Beetle of Grave">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="65" />
|
||||
@ -2179,7 +2179,7 @@
|
||||
<height normal="22" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18143" level="78" type="L2SepulcherMonster" name="Beetle of Grave">
|
||||
<npc id="18143" level="78" type="L2Monster" name="Beetle of Grave">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="65" />
|
||||
@ -2233,7 +2233,7 @@
|
||||
<height normal="22" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18144" level="78" type="L2SepulcherMonster" name="Beetle of Grave">
|
||||
<npc id="18144" level="78" type="L2Monster" name="Beetle of Grave">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="65" />
|
||||
@ -2287,7 +2287,7 @@
|
||||
<height normal="22" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18145" level="78" type="L2SepulcherMonster" name="Beetle of Grave">
|
||||
<npc id="18145" level="78" type="L2Monster" name="Beetle of Grave">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="65" />
|
||||
@ -2339,7 +2339,7 @@
|
||||
<height normal="22" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18146" level="78" type="L2SepulcherMonster" name="Beetle of Grave">
|
||||
<npc id="18146" level="78" type="L2Monster" name="Beetle of Grave">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="65" />
|
||||
@ -2389,7 +2389,7 @@
|
||||
<height normal="22" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18147" level="78" type="L2SepulcherMonster" name="Beetle of Grave">
|
||||
<npc id="18147" level="78" type="L2Monster" name="Beetle of Grave">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="65" />
|
||||
@ -2439,7 +2439,7 @@
|
||||
<height normal="22" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18148" level="78" type="L2SepulcherMonster" name="Beetle of Grave">
|
||||
<npc id="18148" level="78" type="L2Monster" name="Beetle of Grave">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="65" />
|
||||
@ -2489,7 +2489,7 @@
|
||||
<height normal="22" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18149" level="78" type="L2SepulcherMonster" name="Beetle of Grave">
|
||||
<npc id="18149" level="78" type="L2Monster" name="Beetle of Grave">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="65" />
|
||||
@ -2539,7 +2539,7 @@
|
||||
<height normal="22" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18150" level="78" type="L2SepulcherMonster" name="Victim">
|
||||
<npc id="18150" level="78" type="L2Monster" name="Victim">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="KeyBox" value="31455" />
|
||||
@ -2583,7 +2583,7 @@
|
||||
<height normal="23" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18151" level="78" type="L2SepulcherMonster" name="Victim">
|
||||
<npc id="18151" level="78" type="L2Monster" name="Victim">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="KeyBox" value="31455" />
|
||||
@ -2627,7 +2627,7 @@
|
||||
<height normal="23" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18152" level="78" type="L2SepulcherMonster" name="Victim">
|
||||
<npc id="18152" level="78" type="L2Monster" name="Victim">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="KeyBox" value="31455" />
|
||||
@ -2671,7 +2671,7 @@
|
||||
<height normal="23" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18153" level="78" type="L2SepulcherMonster" name="Victim">
|
||||
<npc id="18153" level="78" type="L2Monster" name="Victim">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="KeyBox" value="31455" />
|
||||
@ -2715,7 +2715,7 @@
|
||||
<height normal="23" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18154" level="78" type="L2SepulcherMonster" name="Victim">
|
||||
<npc id="18154" level="78" type="L2Monster" name="Victim">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="KeyBox" value="31455" />
|
||||
@ -2759,7 +2759,7 @@
|
||||
<height normal="23" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18155" level="78" type="L2SepulcherMonster" name="Victim">
|
||||
<npc id="18155" level="78" type="L2Monster" name="Victim">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="KeyBox" value="31455" />
|
||||
@ -2803,7 +2803,7 @@
|
||||
<height normal="23" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18156" level="78" type="L2SepulcherMonster" name="Victim">
|
||||
<npc id="18156" level="78" type="L2Monster" name="Victim">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="KeyBox" value="31455" />
|
||||
@ -2847,7 +2847,7 @@
|
||||
<height normal="23" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18157" level="78" type="L2SepulcherMonster" name="Victim">
|
||||
<npc id="18157" level="78" type="L2Monster" name="Victim">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="KeyBox" value="31455" />
|
||||
@ -2891,7 +2891,7 @@
|
||||
<height normal="23" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18158" level="78" type="L2SepulcherMonster" name="Executioner of Halisha">
|
||||
<npc id="18158" level="78" type="L2Monster" name="Executioner of Halisha">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="90" />
|
||||
@ -2943,7 +2943,7 @@
|
||||
<height normal="50" grown="60" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18159" level="78" type="L2SepulcherMonster" name="Executioner of Halisha">
|
||||
<npc id="18159" level="78" type="L2Monster" name="Executioner of Halisha">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="90" />
|
||||
@ -2995,7 +2995,7 @@
|
||||
<height normal="50" grown="60" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18160" level="78" type="L2SepulcherMonster" name="Executioner of Halisha">
|
||||
<npc id="18160" level="78" type="L2Monster" name="Executioner of Halisha">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="90" />
|
||||
@ -3047,7 +3047,7 @@
|
||||
<height normal="50" grown="60" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18161" level="78" type="L2SepulcherMonster" name="Executioner of Halisha">
|
||||
<npc id="18161" level="78" type="L2Monster" name="Executioner of Halisha">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="90" />
|
||||
@ -3099,7 +3099,7 @@
|
||||
<height normal="50" grown="60" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18162" level="78" type="L2SepulcherMonster" name="Executioner of Halisha">
|
||||
<npc id="18162" level="78" type="L2Monster" name="Executioner of Halisha">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="90" />
|
||||
@ -3151,7 +3151,7 @@
|
||||
<height normal="50" grown="60" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18163" level="78" type="L2SepulcherMonster" name="Executioner of Halisha">
|
||||
<npc id="18163" level="78" type="L2Monster" name="Executioner of Halisha">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="90" />
|
||||
@ -3203,7 +3203,7 @@
|
||||
<height normal="50" grown="60" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18164" level="78" type="L2SepulcherMonster" name="Executioner of Halisha">
|
||||
<npc id="18164" level="78" type="L2Monster" name="Executioner of Halisha">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="90" />
|
||||
@ -3255,7 +3255,7 @@
|
||||
<height normal="50" grown="60" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18165" level="78" type="L2SepulcherMonster" name="Executioner of Halisha">
|
||||
<npc id="18165" level="78" type="L2Monster" name="Executioner of Halisha">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="90" />
|
||||
@ -3307,7 +3307,7 @@
|
||||
<height normal="50" grown="60" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18166" level="78" type="L2SepulcherMonster" name="Imperial Guard">
|
||||
<npc id="18166" level="78" type="L2Monster" name="Imperial Guard">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="74" />
|
||||
@ -3359,7 +3359,7 @@
|
||||
<height normal="31" grown="36" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18167" level="78" type="L2SepulcherMonster" name="Imperial Guard">
|
||||
<npc id="18167" level="78" type="L2Monster" name="Imperial Guard">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="74" />
|
||||
@ -3411,7 +3411,7 @@
|
||||
<height normal="31" grown="36" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18168" level="78" type="L2SepulcherMonster" name="Imperial Guard">
|
||||
<npc id="18168" level="78" type="L2Monster" name="Imperial Guard">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="74" />
|
||||
@ -3464,7 +3464,7 @@
|
||||
<height normal="31" grown="36" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18169" level="78" type="L2SepulcherMonster" name="Imperial Guard">
|
||||
<npc id="18169" level="78" type="L2Monster" name="Imperial Guard">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="74" />
|
||||
@ -3517,7 +3517,7 @@
|
||||
<height normal="31" grown="36" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18170" level="78" type="L2SepulcherMonster" name="Imperial Guard">
|
||||
<npc id="18170" level="78" type="L2Monster" name="Imperial Guard">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="0" />
|
||||
@ -3569,7 +3569,7 @@
|
||||
<height normal="42" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18171" level="78" type="L2SepulcherMonster" name="Imperial Guard">
|
||||
<npc id="18171" level="78" type="L2Monster" name="Imperial Guard">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="0" />
|
||||
@ -3622,7 +3622,7 @@
|
||||
<height normal="42" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18172" level="78" type="L2SepulcherMonster" name="Imperial Guard">
|
||||
<npc id="18172" level="78" type="L2Monster" name="Imperial Guard">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="0" />
|
||||
@ -3673,7 +3673,7 @@
|
||||
<height normal="42" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18173" level="78" type="L2SepulcherMonster" name="Halisha's Foreman">
|
||||
<npc id="18173" level="78" type="L2Monster" name="Halisha's Foreman">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="108" />
|
||||
@ -3729,7 +3729,7 @@
|
||||
<height normal="40" grown="48" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18174" level="78" type="L2SepulcherMonster" name="Halisha's Foreman">
|
||||
<npc id="18174" level="78" type="L2Monster" name="Halisha's Foreman">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="108" />
|
||||
@ -3789,7 +3789,7 @@
|
||||
<height normal="40" grown="48" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18175" level="78" type="L2SepulcherMonster" name="Halisha's Foreman">
|
||||
<npc id="18175" level="78" type="L2Monster" name="Halisha's Foreman">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="108" />
|
||||
@ -3847,7 +3847,7 @@
|
||||
<height normal="40" grown="48" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18176" level="78" type="L2SepulcherMonster" name="Halisha's Foreman">
|
||||
<npc id="18176" level="78" type="L2Monster" name="Halisha's Foreman">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="108" />
|
||||
@ -3903,7 +3903,7 @@
|
||||
<height normal="40" grown="48" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18177" level="78" type="L2SepulcherMonster" name="Halisha's Foreman">
|
||||
<npc id="18177" level="78" type="L2Monster" name="Halisha's Foreman">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="108" />
|
||||
@ -3963,7 +3963,7 @@
|
||||
<height normal="40" grown="48" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18178" level="78" type="L2SepulcherMonster" name="Halisha's Foreman">
|
||||
<npc id="18178" level="78" type="L2Monster" name="Halisha's Foreman">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="108" />
|
||||
@ -4021,7 +4021,7 @@
|
||||
<height normal="40" grown="48" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18179" level="78" type="L2SepulcherMonster" name="Halisha's Foreman">
|
||||
<npc id="18179" level="78" type="L2Monster" name="Halisha's Foreman">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="108" />
|
||||
@ -4077,7 +4077,7 @@
|
||||
<height normal="40" grown="48" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18180" level="78" type="L2SepulcherMonster" name="Halisha's Foreman">
|
||||
<npc id="18180" level="78" type="L2Monster" name="Halisha's Foreman">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="108" />
|
||||
@ -4137,7 +4137,7 @@
|
||||
<height normal="40" grown="48" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18181" level="78" type="L2SepulcherMonster" name="Halisha's Foreman">
|
||||
<npc id="18181" level="78" type="L2Monster" name="Halisha's Foreman">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="108" />
|
||||
@ -4195,7 +4195,7 @@
|
||||
<height normal="40" grown="48" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18182" level="78" type="L2SepulcherMonster" name="Halisha's Foreman">
|
||||
<npc id="18182" level="78" type="L2Monster" name="Halisha's Foreman">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="108" />
|
||||
@ -4251,7 +4251,7 @@
|
||||
<height normal="40" grown="48" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18183" level="78" type="L2SepulcherMonster" name="Halisha's Foreman">
|
||||
<npc id="18183" level="78" type="L2Monster" name="Halisha's Foreman">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="108" />
|
||||
@ -4311,7 +4311,7 @@
|
||||
<height normal="40" grown="48" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18184" level="78" type="L2SepulcherMonster" name="Halisha's Foreman">
|
||||
<npc id="18184" level="78" type="L2Monster" name="Halisha's Foreman">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="108" />
|
||||
@ -4369,7 +4369,7 @@
|
||||
<height normal="40" grown="48" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18185" level="78" type="L2SepulcherMonster" name="Evil Astrologer">
|
||||
<npc id="18185" level="78" type="L2Monster" name="Evil Astrologer">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="50" />
|
||||
@ -4423,7 +4423,7 @@
|
||||
<height normal="12" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18186" level="78" type="L2SepulcherMonster" name="Evil Astrologer">
|
||||
<npc id="18186" level="78" type="L2Monster" name="Evil Astrologer">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="50" />
|
||||
@ -4479,7 +4479,7 @@
|
||||
<height normal="12" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18187" level="78" type="L2SepulcherMonster" name="Knight of Darkness">
|
||||
<npc id="18187" level="78" type="L2Monster" name="Knight of Darkness">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="0" />
|
||||
@ -4530,7 +4530,7 @@
|
||||
<height normal="40" grown="48" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18188" level="78" type="L2SepulcherMonster" name="Knight of Darkness">
|
||||
<npc id="18188" level="78" type="L2Monster" name="Knight of Darkness">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="0" />
|
||||
@ -4580,7 +4580,7 @@
|
||||
<height normal="40" grown="48" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18189" level="78" type="L2SepulcherMonster" name="Knight of Darkness">
|
||||
<npc id="18189" level="78" type="L2Monster" name="Knight of Darkness">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="0" />
|
||||
@ -4632,7 +4632,7 @@
|
||||
<height normal="40" grown="48" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18190" level="78" type="L2SepulcherMonster" name="Knight of Darkness">
|
||||
<npc id="18190" level="78" type="L2Monster" name="Knight of Darkness">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="0" />
|
||||
@ -4684,7 +4684,7 @@
|
||||
<height normal="40" grown="48" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18191" level="78" type="L2SepulcherMonster" name="Witch of dust">
|
||||
<npc id="18191" level="78" type="L2Monster" name="Witch of dust">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="0" />
|
||||
@ -4736,7 +4736,7 @@
|
||||
<height normal="23" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18192" level="78" type="L2SepulcherMonster" name="Witch of dust">
|
||||
<npc id="18192" level="78" type="L2Monster" name="Witch of dust">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="0" />
|
||||
@ -4790,7 +4790,7 @@
|
||||
<height normal="23" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18193" level="78" type="L2SepulcherMonster" name="Witch of dust">
|
||||
<npc id="18193" level="78" type="L2Monster" name="Witch of dust">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="0" />
|
||||
@ -4844,7 +4844,7 @@
|
||||
<height normal="23" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18194" level="78" type="L2SepulcherMonster" name="Witch of dust">
|
||||
<npc id="18194" level="78" type="L2Monster" name="Witch of dust">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="0" />
|
||||
@ -4896,7 +4896,7 @@
|
||||
<height normal="23" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18195" level="78" type="L2SepulcherMonster" name="Signet of Emperor">
|
||||
<npc id="18195" level="78" type="L2Monster" name="Signet of Emperor">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="115" />
|
||||
@ -4946,7 +4946,7 @@
|
||||
<height normal="8" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18196" level="78" type="L2SepulcherMonster" name="Charm of Corner">
|
||||
<npc id="18196" level="78" type="L2Monster" name="Charm of Corner">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="AreaName" value="conquerors_weakness" />
|
||||
@ -4994,7 +4994,7 @@
|
||||
<height normal="75" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18197" level="78" type="L2SepulcherMonster" name="Charm of Corner">
|
||||
<npc id="18197" level="78" type="L2Monster" name="Charm of Corner">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="AreaName" value="conquerors_pddown" />
|
||||
@ -5042,7 +5042,7 @@
|
||||
<height normal="75" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18198" level="78" type="L2SepulcherMonster" name="Charm of Corner">
|
||||
<npc id="18198" level="78" type="L2Monster" name="Charm of Corner">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="AreaName" value="conquerors_poison" />
|
||||
@ -5090,7 +5090,7 @@
|
||||
<height normal="75" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18199" level="78" type="L2SepulcherMonster" name="Charm of Corner">
|
||||
<npc id="18199" level="78" type="L2Monster" name="Charm of Corner">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="AreaName" value="conquerors_nonheal" />
|
||||
|
114
trunk/dist/game/data/stats/npcs/18200-18299.xml
vendored
114
trunk/dist/game/data/stats/npcs/18200-18299.xml
vendored
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../xsd/npcs.xsd">
|
||||
<npc id="18200" level="78" type="L2SepulcherMonster" name="Charm of Corner">
|
||||
<npc id="18200" level="78" type="L2Monster" name="Charm of Corner">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="AreaName" value="lords_weakness" />
|
||||
@ -48,7 +48,7 @@
|
||||
<height normal="75" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18201" level="78" type="L2SepulcherMonster" name="Charm of Corner">
|
||||
<npc id="18201" level="78" type="L2Monster" name="Charm of Corner">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="AreaName" value="lords_pddown" />
|
||||
@ -96,7 +96,7 @@
|
||||
<height normal="75" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18202" level="78" type="L2SepulcherMonster" name="Charm of Corner">
|
||||
<npc id="18202" level="78" type="L2Monster" name="Charm of Corner">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="AreaName" value="lords_poison" />
|
||||
@ -144,7 +144,7 @@
|
||||
<height normal="75" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18203" level="78" type="L2SepulcherMonster" name="Charm of Corner">
|
||||
<npc id="18203" level="78" type="L2Monster" name="Charm of Corner">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="AreaName" value="lords_nonheal" />
|
||||
@ -192,7 +192,7 @@
|
||||
<height normal="75" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18204" level="78" type="L2SepulcherMonster" name="Charm of Corner">
|
||||
<npc id="18204" level="78" type="L2Monster" name="Charm of Corner">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="AreaName" value="savants_weakness" />
|
||||
@ -240,7 +240,7 @@
|
||||
<height normal="75" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18205" level="78" type="L2SepulcherMonster" name="Charm of Corner">
|
||||
<npc id="18205" level="78" type="L2Monster" name="Charm of Corner">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="AreaName" value="savants_pddown" />
|
||||
@ -288,7 +288,7 @@
|
||||
<height normal="75" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18206" level="78" type="L2SepulcherMonster" name="Charm of Corner">
|
||||
<npc id="18206" level="78" type="L2Monster" name="Charm of Corner">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="AreaName" value="savants_poison" />
|
||||
@ -336,7 +336,7 @@
|
||||
<height normal="75" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18207" level="78" type="L2SepulcherMonster" name="Charm of Corner">
|
||||
<npc id="18207" level="78" type="L2Monster" name="Charm of Corner">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="AreaName" value="savants_nonheal" />
|
||||
@ -384,7 +384,7 @@
|
||||
<height normal="75" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18208" level="78" type="L2SepulcherMonster" name="Charm of Corner">
|
||||
<npc id="18208" level="78" type="L2Monster" name="Charm of Corner">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="AreaName" value="magistrates_weakness" />
|
||||
@ -432,7 +432,7 @@
|
||||
<height normal="75" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18209" level="78" type="L2SepulcherMonster" name="Charm of Corner">
|
||||
<npc id="18209" level="78" type="L2Monster" name="Charm of Corner">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="AreaName" value="magistrates_pddown" />
|
||||
@ -480,7 +480,7 @@
|
||||
<height normal="75" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18210" level="78" type="L2SepulcherMonster" name="Charm of Corner">
|
||||
<npc id="18210" level="78" type="L2Monster" name="Charm of Corner">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="AreaName" value="magistrates_poison" />
|
||||
@ -528,7 +528,7 @@
|
||||
<height normal="75" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18211" level="78" type="L2SepulcherMonster" name="Charm of Corner">
|
||||
<npc id="18211" level="78" type="L2Monster" name="Charm of Corner">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="AreaName" value="magistrates_nonheal" />
|
||||
@ -576,7 +576,7 @@
|
||||
<height normal="75" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18212" level="78" type="L2SepulcherMonster" name="Archon of Halisha">
|
||||
<npc id="18212" level="78" type="L2Monster" name="Archon of Halisha">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="100" />
|
||||
@ -633,7 +633,7 @@
|
||||
<height normal="57.75" grown="69" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18213" level="78" type="L2SepulcherMonster" name="Archon of Halisha">
|
||||
<npc id="18213" level="78" type="L2Monster" name="Archon of Halisha">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="100" />
|
||||
@ -690,7 +690,7 @@
|
||||
<height normal="57.75" grown="69" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18214" level="78" type="L2SepulcherMonster" name="Archon of Halisha">
|
||||
<npc id="18214" level="78" type="L2Monster" name="Archon of Halisha">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="100" />
|
||||
@ -747,7 +747,7 @@
|
||||
<height normal="57.75" grown="69" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18215" level="78" type="L2SepulcherMonster" name="Archon of Halisha">
|
||||
<npc id="18215" level="78" type="L2Monster" name="Archon of Halisha">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="100" />
|
||||
@ -804,7 +804,7 @@
|
||||
<height normal="57.75" grown="69" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18216" level="78" type="L2SepulcherMonster" name="Archon of Halisha">
|
||||
<npc id="18216" level="78" type="L2Monster" name="Archon of Halisha">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="100" />
|
||||
@ -861,7 +861,7 @@
|
||||
<height normal="57.75" grown="69" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18217" level="78" type="L2SepulcherMonster" name="Archon of Halisha">
|
||||
<npc id="18217" level="78" type="L2Monster" name="Archon of Halisha">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="100" />
|
||||
@ -918,7 +918,7 @@
|
||||
<height normal="57.75" grown="69" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18218" level="78" type="L2SepulcherMonster" name="Archon of Halisha">
|
||||
<npc id="18218" level="78" type="L2Monster" name="Archon of Halisha">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="100" />
|
||||
@ -975,7 +975,7 @@
|
||||
<height normal="57.75" grown="69" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18219" level="78" type="L2SepulcherMonster" name="Archon of Halisha">
|
||||
<npc id="18219" level="78" type="L2Monster" name="Archon of Halisha">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="100" />
|
||||
@ -1032,7 +1032,7 @@
|
||||
<height normal="57.75" grown="69" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18220" level="78" type="L2SepulcherMonster" name="Shaman of Darkness">
|
||||
<npc id="18220" level="78" type="L2Monster" name="Shaman of Darkness">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="0" />
|
||||
@ -1088,7 +1088,7 @@
|
||||
<height normal="23" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18221" level="78" type="L2SepulcherMonster" name="Shaman of Darkness">
|
||||
<npc id="18221" level="78" type="L2Monster" name="Shaman of Darkness">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="0" />
|
||||
@ -1146,7 +1146,7 @@
|
||||
<height normal="23" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18222" level="78" type="L2SepulcherMonster" name="Assassin of Darkness">
|
||||
<npc id="18222" level="78" type="L2Monster" name="Assassin of Darkness">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="100" />
|
||||
@ -1196,7 +1196,7 @@
|
||||
<height normal="37.5" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18223" level="78" type="L2SepulcherMonster" name="Assassin of Darkness">
|
||||
<npc id="18223" level="78" type="L2Monster" name="Assassin of Darkness">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="100" />
|
||||
@ -1245,7 +1245,7 @@
|
||||
<height normal="37.5" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18224" level="78" type="L2SepulcherMonster" name="Assassin of Darkness">
|
||||
<npc id="18224" level="78" type="L2Monster" name="Assassin of Darkness">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="100" />
|
||||
@ -1296,7 +1296,7 @@
|
||||
<height normal="37.5" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18225" level="78" type="L2SepulcherMonster" name="Assassin of Darkness">
|
||||
<npc id="18225" level="78" type="L2Monster" name="Assassin of Darkness">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="100" />
|
||||
@ -1347,7 +1347,7 @@
|
||||
<height normal="37.5" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18226" level="78" type="L2SepulcherMonster" name="Caster of Darkness">
|
||||
<npc id="18226" level="78" type="L2Monster" name="Caster of Darkness">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="114" />
|
||||
@ -1398,7 +1398,7 @@
|
||||
<height normal="40" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18227" level="78" type="L2SepulcherMonster" name="Caster of Darkness">
|
||||
<npc id="18227" level="78" type="L2Monster" name="Caster of Darkness">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="114" />
|
||||
@ -1451,7 +1451,7 @@
|
||||
<height normal="40" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18228" level="78" type="L2SepulcherMonster" name="Caster of Darkness">
|
||||
<npc id="18228" level="78" type="L2Monster" name="Caster of Darkness">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="114" />
|
||||
@ -1504,7 +1504,7 @@
|
||||
<height normal="40" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18229" level="78" type="L2SepulcherMonster" name="Caster of Darkness">
|
||||
<npc id="18229" level="78" type="L2Monster" name="Caster of Darkness">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="114" />
|
||||
@ -1555,7 +1555,7 @@
|
||||
<height normal="40" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18230" level="78" type="L2SepulcherMonster" name="Signet of Emperor">
|
||||
<npc id="18230" level="78" type="L2Monster" name="Signet of Emperor">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="115" />
|
||||
@ -1605,7 +1605,7 @@
|
||||
<height normal="8" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18231" level="78" type="L2SepulcherMonster" name="Statue of Protection">
|
||||
<npc id="18231" level="78" type="L2Monster" name="Statue of Protection">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="0" />
|
||||
@ -1651,7 +1651,7 @@
|
||||
<height normal="42" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18232" level="78" type="L2SepulcherMonster" name="Statue of Protection">
|
||||
<npc id="18232" level="78" type="L2Monster" name="Statue of Protection">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="0" />
|
||||
@ -1697,7 +1697,7 @@
|
||||
<height normal="42" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18233" level="78" type="L2SepulcherMonster" name="Statue of Protection">
|
||||
<npc id="18233" level="78" type="L2Monster" name="Statue of Protection">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="0" />
|
||||
@ -1743,7 +1743,7 @@
|
||||
<height normal="42" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18234" level="78" type="L2SepulcherMonster" name="Statue of Protection">
|
||||
<npc id="18234" level="78" type="L2Monster" name="Statue of Protection">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="0" />
|
||||
@ -1789,7 +1789,7 @@
|
||||
<height normal="42" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18235" level="78" type="L2SepulcherMonster" name="Statue of Protection">
|
||||
<npc id="18235" level="78" type="L2Monster" name="Statue of Protection">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="0" />
|
||||
@ -1835,7 +1835,7 @@
|
||||
<height normal="42" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18236" level="78" type="L2SepulcherMonster" name="Statue of Protection">
|
||||
<npc id="18236" level="78" type="L2Monster" name="Statue of Protection">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="0" />
|
||||
@ -1881,7 +1881,7 @@
|
||||
<height normal="42" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18237" level="78" type="L2SepulcherMonster" name="Statue of Protection">
|
||||
<npc id="18237" level="78" type="L2Monster" name="Statue of Protection">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="0" />
|
||||
@ -1927,7 +1927,7 @@
|
||||
<height normal="42" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18238" level="78" type="L2SepulcherMonster" name="Statue of Protection">
|
||||
<npc id="18238" level="78" type="L2Monster" name="Statue of Protection">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="0" />
|
||||
@ -1973,7 +1973,7 @@
|
||||
<height normal="42" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18239" level="78" type="L2SepulcherMonster" name="Statue of Protection">
|
||||
<npc id="18239" level="78" type="L2Monster" name="Statue of Protection">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="0" />
|
||||
@ -2019,7 +2019,7 @@
|
||||
<height normal="42" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18240" level="78" type="L2SepulcherMonster" name="Statue of Protection">
|
||||
<npc id="18240" level="78" type="L2Monster" name="Statue of Protection">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="0" />
|
||||
@ -2065,7 +2065,7 @@
|
||||
<height normal="42" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18241" level="78" type="L2SepulcherMonster" name="Statue of Protection">
|
||||
<npc id="18241" level="78" type="L2Monster" name="Statue of Protection">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="0" />
|
||||
@ -2111,7 +2111,7 @@
|
||||
<height normal="42" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18242" level="78" type="L2SepulcherMonster" name="Statue of Protection">
|
||||
<npc id="18242" level="78" type="L2Monster" name="Statue of Protection">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="0" />
|
||||
@ -2157,7 +2157,7 @@
|
||||
<height normal="42" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18243" level="78" type="L2SepulcherMonster" name="Statue of Protection">
|
||||
<npc id="18243" level="78" type="L2Monster" name="Statue of Protection">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="0" />
|
||||
@ -2213,7 +2213,7 @@
|
||||
<height normal="42" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18244" level="78" type="L2SepulcherMonster" name="Watchman of Grave">
|
||||
<npc id="18244" level="78" type="L2Monster" name="Watchman of Grave">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<skill name="afflict_skill1" id="4614" level="9" />
|
||||
@ -2262,7 +2262,7 @@
|
||||
<height normal="20" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18245" level="78" type="L2SepulcherMonster" name="Watchman of Grave">
|
||||
<npc id="18245" level="78" type="L2Monster" name="Watchman of Grave">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<skill name="afflict_skill1" id="4614" level="9" />
|
||||
@ -2311,7 +2311,7 @@
|
||||
<height normal="20" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18246" level="78" type="L2SepulcherMonster" name="Watchman of Grave">
|
||||
<npc id="18246" level="78" type="L2Monster" name="Watchman of Grave">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<skill name="afflict_skill1" id="4614" level="9" />
|
||||
@ -2360,7 +2360,7 @@
|
||||
<height normal="20" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18247" level="78" type="L2SepulcherMonster" name="Watchman of Grave">
|
||||
<npc id="18247" level="78" type="L2Monster" name="Watchman of Grave">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<skill name="afflict_skill1" id="4614" level="9" />
|
||||
@ -2409,7 +2409,7 @@
|
||||
<height normal="20" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18248" level="78" type="L2SepulcherMonster" name="Watchman of Grave">
|
||||
<npc id="18248" level="78" type="L2Monster" name="Watchman of Grave">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<skill name="afflict_skill1" id="4614" level="9" />
|
||||
@ -2458,7 +2458,7 @@
|
||||
<height normal="20" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18249" level="78" type="L2SepulcherMonster" name="Watchman of Grave">
|
||||
<npc id="18249" level="78" type="L2Monster" name="Watchman of Grave">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<skill name="afflict_skill1" id="4614" level="9" />
|
||||
@ -2507,7 +2507,7 @@
|
||||
<height normal="20" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18250" level="78" type="L2SepulcherMonster" name="Watchman of Grave">
|
||||
<npc id="18250" level="78" type="L2Monster" name="Watchman of Grave">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<skill name="afflict_skill1" id="4614" level="9" />
|
||||
@ -2556,7 +2556,7 @@
|
||||
<height normal="20" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18251" level="78" type="L2SepulcherMonster" name="Watchman of Grave">
|
||||
<npc id="18251" level="78" type="L2Monster" name="Watchman of Grave">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<skill name="afflict_skill1" id="4614" level="9" />
|
||||
@ -2605,7 +2605,7 @@
|
||||
<height normal="20" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18252" level="78" type="L2SepulcherMonster" name="Watchman of Grave">
|
||||
<npc id="18252" level="78" type="L2Monster" name="Watchman of Grave">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<skill name="afflict_skill1" id="4614" level="9" />
|
||||
@ -2654,7 +2654,7 @@
|
||||
<height normal="20" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18253" level="78" type="L2SepulcherMonster" name="Watchman of Grave">
|
||||
<npc id="18253" level="78" type="L2Monster" name="Watchman of Grave">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<skill name="afflict_skill1" id="4614" level="9" />
|
||||
@ -2703,7 +2703,7 @@
|
||||
<height normal="20" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18254" level="78" type="L2SepulcherMonster" name="Watchman of Grave">
|
||||
<npc id="18254" level="78" type="L2Monster" name="Watchman of Grave">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<skill name="afflict_skill1" id="4614" level="9" />
|
||||
@ -2752,7 +2752,7 @@
|
||||
<height normal="20" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18255" level="78" type="L2SepulcherMonster" name="Watchman of Grave">
|
||||
<npc id="18255" level="78" type="L2Monster" name="Watchman of Grave">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<skill name="afflict_skill1" id="4614" level="9" />
|
||||
@ -2801,7 +2801,7 @@
|
||||
<height normal="20" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="18256" level="78" type="L2SepulcherMonster" name="Halisha's Treasure Chest">
|
||||
<npc id="18256" level="78" type="L2Monster" name="Halisha's Treasure Chest">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<race>CONSTRUCT</race>
|
||||
<sex>MALE</sex>
|
||||
|
18
trunk/dist/game/data/stats/npcs/25300-25399.xml
vendored
18
trunk/dist/game/data/stats/npcs/25300-25399.xml
vendored
@ -1724,12 +1724,12 @@
|
||||
<height normal="90" grown="109" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="25339" level="80" type="L2SepulcherMonster" name="Halisha's Shadow" title="Ruler of Sepulcher">
|
||||
<npc id="25339" level="80" type="L2Monster" name="Halisha's Shadow" title="Ruler of Sepulcher">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<minions name="Privates">
|
||||
<npc id="25340" count="2" respawnTime="360" weightPoint="1" />
|
||||
<npc id="25341" count="2" respawnTime="360" weightPoint="1" />
|
||||
<npc id="25340" count="1" respawnTime="360" weightPoint="1" />
|
||||
<npc id="25341" count="1" respawnTime="360" weightPoint="1" />
|
||||
</minions>
|
||||
<param name="RaidSpawnMusic" value="Rm03_A" />
|
||||
<skill name="RangeDDMagic_a" id="4178" level="9" />
|
||||
@ -1855,13 +1855,13 @@
|
||||
<height normal="35" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="25342" level="80" type="L2SepulcherMonster" name="Halisha's Shadow" title="Ruler of Sepulcher">
|
||||
<npc id="25342" level="80" type="L2Monster" name="Halisha's Shadow" title="Ruler of Sepulcher">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<minions name="Privates">
|
||||
<npc id="25343" count="1" respawnTime="360" weightPoint="1" />
|
||||
<npc id="25345" count="1" respawnTime="360" weightPoint="1" />
|
||||
<npc id="25344" count="2" respawnTime="360" weightPoint="1" />
|
||||
<npc id="25344" count="1" respawnTime="360" weightPoint="1" />
|
||||
</minions>
|
||||
<param name="RaidSpawnMusic" value="Rm02_A" />
|
||||
<skill name="PhysicalSpecial_b" id="4748" level="9" />
|
||||
@ -2030,11 +2030,11 @@
|
||||
<height normal="34" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="25346" level="80" type="L2SepulcherMonster" name="Halisha's Shadow" title="Ruler of Sepulcher">
|
||||
<npc id="25346" level="80" type="L2Monster" name="Halisha's Shadow" title="Ruler of Sepulcher">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<minions name="Privates">
|
||||
<npc id="25347" count="3" respawnTime="360" weightPoint="1" />
|
||||
<npc id="25347" count="1" respawnTime="360" weightPoint="1" />
|
||||
<npc id="25348" count="1" respawnTime="360" weightPoint="1" />
|
||||
</minions>
|
||||
<param name="RaidSpawnMusic" value="Rm01_A" />
|
||||
@ -2168,11 +2168,11 @@
|
||||
<height normal="40" grown="48" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="25349" level="80" type="L2SepulcherMonster" name="Halisha's Shadow" title="Ruler of Sepulcher">
|
||||
<npc id="25349" level="80" type="L2Monster" name="Halisha's Shadow" title="Ruler of Sepulcher">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<minions name="Privates">
|
||||
<npc id="25350" count="3" respawnTime="360" weightPoint="1" />
|
||||
<npc id="25350" count="1" respawnTime="360" weightPoint="1" />
|
||||
<npc id="25351" count="1" respawnTime="360" weightPoint="1" />
|
||||
</minions>
|
||||
<param name="RaidSpawnMusic" value="Rm03_A" />
|
||||
|
72
trunk/dist/game/data/stats/npcs/31400-31499.xml
vendored
72
trunk/dist/game/data/stats/npcs/31400-31499.xml
vendored
@ -1804,7 +1804,7 @@
|
||||
<height normal="17.5" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="31452" level="70" type="L2SepulcherNpc" name="Ghost of Wigoth">
|
||||
<npc id="31452" level="70" type="L2Npc" name="Ghost of Wigoth">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="0" />
|
||||
@ -1845,7 +1845,7 @@
|
||||
<height normal="22.5" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="31453" level="70" type="L2SepulcherNpc" name="Nameless Spirit">
|
||||
<npc id="31453" level="70" type="L2Npc" name="Nameless Spirit">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="0" />
|
||||
@ -1886,7 +1886,7 @@
|
||||
<height normal="21" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="31454" level="70" type="L2SepulcherNpc" name="Ghost of Wigoth">
|
||||
<npc id="31454" level="70" type="L2Npc" name="Ghost of Wigoth">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="0" />
|
||||
@ -1927,7 +1927,7 @@
|
||||
<height normal="22.5" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="31455" level="70" type="L2SepulcherNpc" name="Key Box">
|
||||
<npc id="31455" level="70" type="L2Npc" name="Key Box">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<race>CONSTRUCT</race>
|
||||
<sex>MALE</sex>
|
||||
@ -1966,7 +1966,7 @@
|
||||
<height normal="8.5" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="31456" level="70" type="L2SepulcherNpc" name="Key Box">
|
||||
<npc id="31456" level="70" type="L2Npc" name="Key Box">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<race>CONSTRUCT</race>
|
||||
<sex>MALE</sex>
|
||||
@ -2005,7 +2005,7 @@
|
||||
<height normal="8.5" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="31457" level="70" type="L2SepulcherNpc" name="Key Box">
|
||||
<npc id="31457" level="70" type="L2Npc" name="Key Box">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<race>CONSTRUCT</race>
|
||||
<sex>MALE</sex>
|
||||
@ -2044,7 +2044,7 @@
|
||||
<height normal="8.5" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="31458" level="70" type="L2SepulcherNpc" name="Key Box">
|
||||
<npc id="31458" level="70" type="L2Npc" name="Key Box">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<race>CONSTRUCT</race>
|
||||
<sex>MALE</sex>
|
||||
@ -2083,7 +2083,7 @@
|
||||
<height normal="8.5" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="31459" level="70" type="L2SepulcherNpc" name="Key Box">
|
||||
<npc id="31459" level="70" type="L2Npc" name="Key Box">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<race>CONSTRUCT</race>
|
||||
<sex>MALE</sex>
|
||||
@ -2122,7 +2122,7 @@
|
||||
<height normal="8.5" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="31460" level="70" type="L2SepulcherNpc" name="Key Box">
|
||||
<npc id="31460" level="70" type="L2Npc" name="Key Box">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<race>CONSTRUCT</race>
|
||||
<sex>MALE</sex>
|
||||
@ -2161,7 +2161,7 @@
|
||||
<height normal="8.5" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="31461" level="70" type="L2SepulcherNpc" name="Key Box">
|
||||
<npc id="31461" level="70" type="L2Npc" name="Key Box">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<race>CONSTRUCT</race>
|
||||
<sex>MALE</sex>
|
||||
@ -2200,7 +2200,7 @@
|
||||
<height normal="8.5" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="31462" level="70" type="L2SepulcherNpc" name="Key Box">
|
||||
<npc id="31462" level="70" type="L2Npc" name="Key Box">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<race>CONSTRUCT</race>
|
||||
<sex>MALE</sex>
|
||||
@ -2239,7 +2239,7 @@
|
||||
<height normal="8.5" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="31463" level="70" type="L2SepulcherNpc" name="Key Box">
|
||||
<npc id="31463" level="70" type="L2Npc" name="Key Box">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<race>CONSTRUCT</race>
|
||||
<sex>MALE</sex>
|
||||
@ -2278,7 +2278,7 @@
|
||||
<height normal="8.5" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="31464" level="70" type="L2SepulcherNpc" name="Key Box">
|
||||
<npc id="31464" level="70" type="L2Npc" name="Key Box">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<race>CONSTRUCT</race>
|
||||
<sex>MALE</sex>
|
||||
@ -2317,7 +2317,7 @@
|
||||
<height normal="8.5" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="31465" level="70" type="L2SepulcherNpc" name="Key Box">
|
||||
<npc id="31465" level="70" type="L2Npc" name="Key Box">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<race>CONSTRUCT</race>
|
||||
<sex>MALE</sex>
|
||||
@ -2356,7 +2356,7 @@
|
||||
<height normal="8.5" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="31466" level="70" type="L2SepulcherNpc" name="Key Box">
|
||||
<npc id="31466" level="70" type="L2Npc" name="Key Box">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<race>CONSTRUCT</race>
|
||||
<sex>MALE</sex>
|
||||
@ -2395,7 +2395,7 @@
|
||||
<height normal="8.5" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="31467" level="70" type="L2SepulcherNpc" name="Key Box">
|
||||
<npc id="31467" level="70" type="L2Npc" name="Key Box">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<race>CONSTRUCT</race>
|
||||
<sex>MALE</sex>
|
||||
@ -2434,7 +2434,7 @@
|
||||
<height normal="8.5" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="31468" level="70" type="L2SepulcherNpc" name="Mysterious Box">
|
||||
<npc id="31468" level="70" type="L2Npc" name="Mysterious Box">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="RoomIDX" value="1" />
|
||||
@ -2479,7 +2479,7 @@
|
||||
<height normal="8.5" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="31469" level="70" type="L2SepulcherNpc" name="Mysterious Box">
|
||||
<npc id="31469" level="70" type="L2Npc" name="Mysterious Box">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="RoomIDX" value="2" />
|
||||
@ -2523,7 +2523,7 @@
|
||||
<height normal="8.5" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="31470" level="70" type="L2SepulcherNpc" name="Mysterious Box">
|
||||
<npc id="31470" level="70" type="L2Npc" name="Mysterious Box">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="RoomIDX" value="3" />
|
||||
@ -2567,7 +2567,7 @@
|
||||
<height normal="8.5" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="31471" level="70" type="L2SepulcherNpc" name="Mysterious Box">
|
||||
<npc id="31471" level="70" type="L2Npc" name="Mysterious Box">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="RoomIDX" value="4" />
|
||||
@ -2612,7 +2612,7 @@
|
||||
<height normal="8.5" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="31472" level="70" type="L2SepulcherNpc" name="Mysterious Box">
|
||||
<npc id="31472" level="70" type="L2Npc" name="Mysterious Box">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="RoomIDX" value="5" />
|
||||
@ -2656,7 +2656,7 @@
|
||||
<height normal="8.5" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="31473" level="70" type="L2SepulcherNpc" name="Mysterious Box">
|
||||
<npc id="31473" level="70" type="L2Npc" name="Mysterious Box">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="RoomIDX" value="1" />
|
||||
@ -2701,7 +2701,7 @@
|
||||
<height normal="8.5" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="31474" level="70" type="L2SepulcherNpc" name="Mysterious Box">
|
||||
<npc id="31474" level="70" type="L2Npc" name="Mysterious Box">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="RoomIDX" value="2" />
|
||||
@ -2745,7 +2745,7 @@
|
||||
<height normal="8.5" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="31475" level="70" type="L2SepulcherNpc" name="Mysterious Box">
|
||||
<npc id="31475" level="70" type="L2Npc" name="Mysterious Box">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="RoomIDX" value="3" />
|
||||
@ -2789,7 +2789,7 @@
|
||||
<height normal="8.5" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="31476" level="70" type="L2SepulcherNpc" name="Mysterious Box">
|
||||
<npc id="31476" level="70" type="L2Npc" name="Mysterious Box">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="RoomIDX" value="4" />
|
||||
@ -2834,7 +2834,7 @@
|
||||
<height normal="8.5" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="31477" level="70" type="L2SepulcherNpc" name="Mysterious Box">
|
||||
<npc id="31477" level="70" type="L2Npc" name="Mysterious Box">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="RoomIDX" value="5" />
|
||||
@ -2878,7 +2878,7 @@
|
||||
<height normal="8.5" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="31478" level="70" type="L2SepulcherNpc" name="Mysterious Box">
|
||||
<npc id="31478" level="70" type="L2Npc" name="Mysterious Box">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="RoomIDX" value="1" />
|
||||
@ -2923,7 +2923,7 @@
|
||||
<height normal="8.5" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="31479" level="70" type="L2SepulcherNpc" name="Mysterious Box">
|
||||
<npc id="31479" level="70" type="L2Npc" name="Mysterious Box">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="RoomIDX" value="2" />
|
||||
@ -2967,7 +2967,7 @@
|
||||
<height normal="8.5" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="31480" level="70" type="L2SepulcherNpc" name="Mysterious Box">
|
||||
<npc id="31480" level="70" type="L2Npc" name="Mysterious Box">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="RoomIDX" value="3" />
|
||||
@ -3011,7 +3011,7 @@
|
||||
<height normal="8.5" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="31481" level="70" type="L2SepulcherNpc" name="Mysterious Box">
|
||||
<npc id="31481" level="70" type="L2Npc" name="Mysterious Box">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="RoomIDX" value="4" />
|
||||
@ -3056,7 +3056,7 @@
|
||||
<height normal="8.5" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="31482" level="70" type="L2SepulcherNpc" name="Mysterious Box">
|
||||
<npc id="31482" level="70" type="L2Npc" name="Mysterious Box">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="RoomIDX" value="5" />
|
||||
@ -3100,7 +3100,7 @@
|
||||
<height normal="8.5" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="31483" level="70" type="L2SepulcherNpc" name="Mysterious Box">
|
||||
<npc id="31483" level="70" type="L2Npc" name="Mysterious Box">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="RoomIDX" value="1" />
|
||||
@ -3145,7 +3145,7 @@
|
||||
<height normal="8.5" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="31484" level="70" type="L2SepulcherNpc" name="Mysterious Box">
|
||||
<npc id="31484" level="70" type="L2Npc" name="Mysterious Box">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="RoomIDX" value="2" />
|
||||
@ -3189,7 +3189,7 @@
|
||||
<height normal="8.5" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="31485" level="70" type="L2SepulcherNpc" name="Mysterious Box">
|
||||
<npc id="31485" level="70" type="L2Npc" name="Mysterious Box">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="RoomIDX" value="3" />
|
||||
@ -3233,7 +3233,7 @@
|
||||
<height normal="8.5" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="31486" level="70" type="L2SepulcherNpc" name="Mysterious Box">
|
||||
<npc id="31486" level="70" type="L2Npc" name="Mysterious Box">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="RoomIDX" value="4" />
|
||||
@ -3278,7 +3278,7 @@
|
||||
<height normal="8.5" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="31487" level="70" type="L2SepulcherNpc" name="Mysterious Box">
|
||||
<npc id="31487" level="70" type="L2Npc" name="Mysterious Box">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="RoomIDX" value="5" />
|
||||
|
50
trunk/dist/game/data/stats/npcs/31900-31999.xml
vendored
50
trunk/dist/game/data/stats/npcs/31900-31999.xml
vendored
@ -817,7 +817,7 @@
|
||||
<height normal="15" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="31919" level="70" type="L2SepulcherNpc" name="Ghost Chamberlain of Elmoreden">
|
||||
<npc id="31919" level="70" type="L2Npc" name="Ghost Chamberlain of Elmoreden">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="0" />
|
||||
@ -911,7 +911,7 @@
|
||||
<height normal="23" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="31921" level="70" type="L2SepulcherNpc" name="Conquerors' Sepulcher Manager">
|
||||
<npc id="31921" level="70" type="L2Npc" name="Conquerors' Sepulcher Manager">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="0" />
|
||||
@ -996,7 +996,7 @@
|
||||
<height normal="21" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="31922" level="70" type="L2SepulcherNpc" name="Emperors' Sepulcher Manager">
|
||||
<npc id="31922" level="70" type="L2Npc" name="Emperors' Sepulcher Manager">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="0" />
|
||||
@ -1081,7 +1081,7 @@
|
||||
<height normal="21" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="31923" level="70" type="L2SepulcherNpc" name="Great Sages' Sepulcher Manager">
|
||||
<npc id="31923" level="70" type="L2Npc" name="Great Sages' Sepulcher Manager">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="0" />
|
||||
@ -1166,7 +1166,7 @@
|
||||
<height normal="21" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="31924" level="70" type="L2SepulcherNpc" name="Judges' Sepulcher Manager">
|
||||
<npc id="31924" level="70" type="L2Npc" name="Judges' Sepulcher Manager">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="0" />
|
||||
@ -1251,7 +1251,7 @@
|
||||
<height normal="21" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="31925" level="70" type="L2SepulcherNpc" name="Baron's Hall Gatekeeper">
|
||||
<npc id="31925" level="70" type="L2Npc" name="Baron's Hall Gatekeeper">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="RoomIDX" value="1" />
|
||||
@ -1303,7 +1303,7 @@
|
||||
<height normal="29" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="31926" level="70" type="L2SepulcherNpc" name="Viscount's Hall Gatekeeper">
|
||||
<npc id="31926" level="70" type="L2Npc" name="Viscount's Hall Gatekeeper">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="RoomIDX" value="2" />
|
||||
@ -1355,7 +1355,7 @@
|
||||
<height normal="29" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="31927" level="70" type="L2SepulcherNpc" name="Count's Hall Gatekeeper">
|
||||
<npc id="31927" level="70" type="L2Npc" name="Count's Hall Gatekeeper">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="RoomIDX" value="3" />
|
||||
@ -1407,7 +1407,7 @@
|
||||
<height normal="29" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="31928" level="70" type="L2SepulcherNpc" name="Marquis' Hall Gatekeeper">
|
||||
<npc id="31928" level="70" type="L2Npc" name="Marquis' Hall Gatekeeper">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="RoomIDX" value="4" />
|
||||
@ -1459,7 +1459,7 @@
|
||||
<height normal="29" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="31929" level="70" type="L2SepulcherNpc" name="Duke's Hall Gatekeeper">
|
||||
<npc id="31929" level="70" type="L2Npc" name="Duke's Hall Gatekeeper">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="RoomIDX" value="5" />
|
||||
@ -1511,7 +1511,7 @@
|
||||
<height normal="29" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="31930" level="70" type="L2SepulcherNpc" name="Baron's Hall Gatekeeper">
|
||||
<npc id="31930" level="70" type="L2Npc" name="Baron's Hall Gatekeeper">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="RoomIDX" value="1" />
|
||||
@ -1563,7 +1563,7 @@
|
||||
<height normal="29" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="31931" level="70" type="L2SepulcherNpc" name="Viscount's Hall Gatekeeper">
|
||||
<npc id="31931" level="70" type="L2Npc" name="Viscount's Hall Gatekeeper">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="RoomIDX" value="2" />
|
||||
@ -1615,7 +1615,7 @@
|
||||
<height normal="29" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="31932" level="70" type="L2SepulcherNpc" name="Count's Hall Gatekeeper">
|
||||
<npc id="31932" level="70" type="L2Npc" name="Count's Hall Gatekeeper">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="RoomIDX" value="3" />
|
||||
@ -1667,7 +1667,7 @@
|
||||
<height normal="29" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="31933" level="70" type="L2SepulcherNpc" name="Marquis' Hall Gatekeeper">
|
||||
<npc id="31933" level="70" type="L2Npc" name="Marquis' Hall Gatekeeper">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="RoomIDX" value="4" />
|
||||
@ -1719,7 +1719,7 @@
|
||||
<height normal="29" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="31934" level="70" type="L2SepulcherNpc" name="Duke's Hall Gatekeeper">
|
||||
<npc id="31934" level="70" type="L2Npc" name="Duke's Hall Gatekeeper">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="RoomIDX" value="5" />
|
||||
@ -1771,7 +1771,7 @@
|
||||
<height normal="29" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="31935" level="70" type="L2SepulcherNpc" name="Baron's Hall Gatekeeper">
|
||||
<npc id="31935" level="70" type="L2Npc" name="Baron's Hall Gatekeeper">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="RoomIDX" value="1" />
|
||||
@ -1823,7 +1823,7 @@
|
||||
<height normal="29" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="31936" level="70" type="L2SepulcherNpc" name="Viscount's Hall Gatekeeper">
|
||||
<npc id="31936" level="70" type="L2Npc" name="Viscount's Hall Gatekeeper">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="RoomIDX" value="2" />
|
||||
@ -1875,7 +1875,7 @@
|
||||
<height normal="29" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="31937" level="70" type="L2SepulcherNpc" name="Count's Hall Gatekeeper">
|
||||
<npc id="31937" level="70" type="L2Npc" name="Count's Hall Gatekeeper">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="RoomIDX" value="3" />
|
||||
@ -1927,7 +1927,7 @@
|
||||
<height normal="29" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="31938" level="70" type="L2SepulcherNpc" name="Marquis' Hall Gatekeeper">
|
||||
<npc id="31938" level="70" type="L2Npc" name="Marquis' Hall Gatekeeper">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="RoomIDX" value="4" />
|
||||
@ -1979,7 +1979,7 @@
|
||||
<height normal="29" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="31939" level="70" type="L2SepulcherNpc" name="Duke's Hall Gatekeeper">
|
||||
<npc id="31939" level="70" type="L2Npc" name="Duke's Hall Gatekeeper">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="RoomIDX" value="5" />
|
||||
@ -2031,7 +2031,7 @@
|
||||
<height normal="29" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="31940" level="70" type="L2SepulcherNpc" name="Baron's Hall Gatekeeper">
|
||||
<npc id="31940" level="70" type="L2Npc" name="Baron's Hall Gatekeeper">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="RoomIDX" value="1" />
|
||||
@ -2083,7 +2083,7 @@
|
||||
<height normal="29" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="31941" level="70" type="L2SepulcherNpc" name="Viscount's Hall Gatekeeper">
|
||||
<npc id="31941" level="70" type="L2Npc" name="Viscount's Hall Gatekeeper">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="RoomIDX" value="2" />
|
||||
@ -2135,7 +2135,7 @@
|
||||
<height normal="29" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="31942" level="70" type="L2SepulcherNpc" name="Count's Hall Gatekeeper">
|
||||
<npc id="31942" level="70" type="L2Npc" name="Count's Hall Gatekeeper">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="RoomIDX" value="3" />
|
||||
@ -2187,7 +2187,7 @@
|
||||
<height normal="29" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="31943" level="70" type="L2SepulcherNpc" name="Marquis' Hall Gatekeeper">
|
||||
<npc id="31943" level="70" type="L2Npc" name="Marquis' Hall Gatekeeper">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="RoomIDX" value="4" />
|
||||
@ -2239,7 +2239,7 @@
|
||||
<height normal="29" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="31944" level="70" type="L2SepulcherNpc" name="Duke's Hall Gatekeeper">
|
||||
<npc id="31944" level="70" type="L2Npc" name="Duke's Hall Gatekeeper">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="RoomIDX" value="5" />
|
||||
|
24
trunk/dist/game/data/zones/custom_script.xml
vendored
24
trunk/dist/game/data/zones/custom_script.xml
vendored
@ -710,4 +710,28 @@
|
||||
<node X="-40647" Y="90710" />
|
||||
<node X="-40329" Y="91280" />
|
||||
</zone>
|
||||
<zone name="royal_rush_script_1" id="200221" type="ScriptZone" shape="NPoly" minZ="-7263" maxZ="-7063">
|
||||
<node X="181198" Y="-86516" />
|
||||
<node X="192394" Y="-86521" />
|
||||
<node X="192391" Y="-84626" />
|
||||
<node X="181193" Y="-84622" />
|
||||
</zone>
|
||||
<zone name="royal_rush_script_2" id="200222" type="ScriptZone" shape="NPoly" minZ="-7263" maxZ="-7063">
|
||||
<node X="179511" Y="-89903" />
|
||||
<node X="190707" Y="-89908" />
|
||||
<node X="190704" Y="-88013" />
|
||||
<node X="179506" Y="-88009" />
|
||||
</zone>
|
||||
<zone name="royal_rush_script_3" id="200223" type="ScriptZone" shape="NPoly" minZ="-7263" maxZ="-7063">
|
||||
<node X="174498" Y="-82751" />
|
||||
<node X="176622" Y="-82751" />
|
||||
<node X="176616" Y="-71304" />
|
||||
<node X="174489" Y="-71303" />
|
||||
</zone>
|
||||
<zone name="royal_rush_script_4" id="200224" type="ScriptZone" shape="NPoly" minZ="-7263" maxZ="-7063">
|
||||
<node X="172183" Y="-86660" />
|
||||
<node X="174307" Y="-86661" />
|
||||
<node X="174301" Y="-75214" />
|
||||
<node X="172174" Y="-75213" />
|
||||
</zone>
|
||||
</list>
|
@ -526,11 +526,6 @@ public final class Config
|
||||
public static boolean ALT_ITEM_AUCTION_ENABLED;
|
||||
public static int ALT_ITEM_AUCTION_EXPIRED_AFTER;
|
||||
public static long ALT_ITEM_AUCTION_TIME_EXTENDS_ON_BID;
|
||||
public static int FS_TIME_ATTACK;
|
||||
public static int FS_TIME_COOLDOWN;
|
||||
public static int FS_TIME_ENTRY;
|
||||
public static int FS_TIME_WARMUP;
|
||||
public static int FS_PARTY_MEMBER_COUNT;
|
||||
public static int RIFT_MIN_PARTY_SIZE;
|
||||
public static int RIFT_SPAWN_DELAY;
|
||||
public static int RIFT_MAX_JUMPS;
|
||||
@ -1728,31 +1723,6 @@ public final class Config
|
||||
ALT_ITEM_AUCTION_ENABLED = General.getBoolean("AltItemAuctionEnabled", true);
|
||||
ALT_ITEM_AUCTION_EXPIRED_AFTER = General.getInt("AltItemAuctionExpiredAfter", 14);
|
||||
ALT_ITEM_AUCTION_TIME_EXTENDS_ON_BID = General.getInt("AltItemAuctionTimeExtendsOnBid", 0) * 1000;
|
||||
FS_TIME_ATTACK = General.getInt("TimeOfAttack", 50);
|
||||
FS_TIME_COOLDOWN = General.getInt("TimeOfCoolDown", 5);
|
||||
FS_TIME_ENTRY = General.getInt("TimeOfEntry", 3);
|
||||
FS_TIME_WARMUP = General.getInt("TimeOfWarmUp", 2);
|
||||
FS_PARTY_MEMBER_COUNT = General.getInt("NumberOfNecessaryPartyMembers", 4);
|
||||
if (FS_TIME_ATTACK <= 0)
|
||||
{
|
||||
FS_TIME_ATTACK = 50;
|
||||
}
|
||||
if (FS_TIME_COOLDOWN <= 0)
|
||||
{
|
||||
FS_TIME_COOLDOWN = 5;
|
||||
}
|
||||
if (FS_TIME_ENTRY <= 0)
|
||||
{
|
||||
FS_TIME_ENTRY = 3;
|
||||
}
|
||||
if (FS_TIME_ENTRY <= 0)
|
||||
{
|
||||
FS_TIME_ENTRY = 3;
|
||||
}
|
||||
if (FS_TIME_ENTRY <= 0)
|
||||
{
|
||||
FS_TIME_ENTRY = 3;
|
||||
}
|
||||
RIFT_MIN_PARTY_SIZE = General.getInt("RiftMinPartySize", 5);
|
||||
RIFT_MAX_JUMPS = General.getInt("MaxRiftJumps", 4);
|
||||
RIFT_SPAWN_DELAY = General.getInt("RiftSpawnDelay", 10000);
|
||||
|
@ -117,7 +117,6 @@ import com.l2jmobius.gameserver.instancemanager.DBSpawnManager;
|
||||
import com.l2jmobius.gameserver.instancemanager.FactionManager;
|
||||
import com.l2jmobius.gameserver.instancemanager.FortManager;
|
||||
import com.l2jmobius.gameserver.instancemanager.FortSiegeManager;
|
||||
import com.l2jmobius.gameserver.instancemanager.FourSepulchersManager;
|
||||
import com.l2jmobius.gameserver.instancemanager.GlobalVariablesManager;
|
||||
import com.l2jmobius.gameserver.instancemanager.GraciaSeedsManager;
|
||||
import com.l2jmobius.gameserver.instancemanager.GrandBossManager;
|
||||
@ -349,7 +348,6 @@ public class GameServer
|
||||
|
||||
SpawnTable.getInstance().load();
|
||||
SpawnsData.getInstance().init();
|
||||
FourSepulchersManager.getInstance().init();
|
||||
DBSpawnManager.getInstance();
|
||||
|
||||
printSection("Event Engine");
|
||||
|
@ -54,9 +54,6 @@ public enum InstanceType
|
||||
FriendlyNpcInstance(L2Attackable),
|
||||
// FlyMobs
|
||||
L2FlyTerrainObjectInstance(L2Npc),
|
||||
// Sepulchers
|
||||
L2SepulcherNpcInstance(L2NpcInstance),
|
||||
L2SepulcherMonsterInstance(L2MonsterInstance),
|
||||
// Vehicles
|
||||
L2Vehicle(L2Character),
|
||||
L2BoatInstance(L2Vehicle),
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,95 +0,0 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.l2jmobius.gameserver.instancemanager.tasks;
|
||||
|
||||
import java.util.Calendar;
|
||||
import java.util.concurrent.ScheduledFuture;
|
||||
|
||||
import com.l2jmobius.Config;
|
||||
import com.l2jmobius.gameserver.ThreadPoolManager;
|
||||
import com.l2jmobius.gameserver.instancemanager.FourSepulchersManager;
|
||||
|
||||
/**
|
||||
* Four Sepulchers change attack time task.
|
||||
* @author xban1x
|
||||
*/
|
||||
public final class FourSepulchersChangeAttackTimeTask implements Runnable
|
||||
{
|
||||
@Override
|
||||
public void run()
|
||||
{
|
||||
final FourSepulchersManager manager = FourSepulchersManager.getInstance();
|
||||
manager.setIsEntryTime(false);
|
||||
manager.setIsWarmUpTime(false);
|
||||
manager.setIsAttackTime(true);
|
||||
manager.setIsCoolDownTime(false);
|
||||
|
||||
manager.locationShadowSpawns();
|
||||
|
||||
manager.spawnMysteriousBox(31921);
|
||||
manager.spawnMysteriousBox(31922);
|
||||
manager.spawnMysteriousBox(31923);
|
||||
manager.spawnMysteriousBox(31924);
|
||||
|
||||
if (!manager.isFirstTimeRun())
|
||||
{
|
||||
manager.setWarmUpTimeEnd(Calendar.getInstance().getTimeInMillis());
|
||||
}
|
||||
|
||||
long interval = 0;
|
||||
// say task
|
||||
if (manager.isFirstTimeRun())
|
||||
{
|
||||
for (double min = Calendar.getInstance().get(Calendar.MINUTE); min < manager.getCycleMin(); min++)
|
||||
{
|
||||
// looking for next shout time....
|
||||
if ((min % 5) == 0)// check if min can be divided by 5
|
||||
{
|
||||
final Calendar inter = Calendar.getInstance();
|
||||
inter.set(Calendar.MINUTE, (int) min);
|
||||
ThreadPoolManager.getInstance().scheduleGeneral(new FourSepulchersManagerSayTask(), inter.getTimeInMillis() - Calendar.getInstance().getTimeInMillis());
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
ThreadPoolManager.getInstance().scheduleGeneral(new FourSepulchersManagerSayTask(), 5 * 60400);
|
||||
}
|
||||
// searching time when attack time will be ended:
|
||||
// counting difference between time when attack time ends and
|
||||
// current time
|
||||
// and then launching change time task
|
||||
if (manager.isFirstTimeRun())
|
||||
{
|
||||
interval = manager.getAttackTimeEnd() - Calendar.getInstance().getTimeInMillis();
|
||||
}
|
||||
else
|
||||
{
|
||||
interval = Config.FS_TIME_ATTACK * 60000L;
|
||||
}
|
||||
|
||||
manager.setChangeCoolDownTimeTask(ThreadPoolManager.getInstance().scheduleGeneral(new FourSepulchersChangeCoolDownTimeTask(), interval));
|
||||
final ScheduledFuture<?> changeAttackTimeTask = manager.getChangeAttackTimeTask();
|
||||
|
||||
if (changeAttackTimeTask != null)
|
||||
{
|
||||
changeAttackTimeTask.cancel(true);
|
||||
manager.setChangeAttackTimeTask(null);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,66 +0,0 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.l2jmobius.gameserver.instancemanager.tasks;
|
||||
|
||||
import java.util.Calendar;
|
||||
import java.util.concurrent.ScheduledFuture;
|
||||
|
||||
import com.l2jmobius.gameserver.ThreadPoolManager;
|
||||
import com.l2jmobius.gameserver.instancemanager.FourSepulchersManager;
|
||||
|
||||
/**
|
||||
* Four Sepulchers change cool down time task.
|
||||
* @author xban1x
|
||||
*/
|
||||
public final class FourSepulchersChangeCoolDownTimeTask implements Runnable
|
||||
{
|
||||
@Override
|
||||
public void run()
|
||||
{
|
||||
final FourSepulchersManager manager = FourSepulchersManager.getInstance();
|
||||
manager.setIsEntryTime(false);
|
||||
manager.setIsWarmUpTime(false);
|
||||
manager.setIsAttackTime(false);
|
||||
manager.setIsCoolDownTime(true);
|
||||
|
||||
manager.clean();
|
||||
|
||||
final Calendar time = Calendar.getInstance();
|
||||
// one hour = 55th min to 55 min of next hour, so we check for this,
|
||||
// also check for first launch
|
||||
if (!manager.isFirstTimeRun() && (Calendar.getInstance().get(Calendar.MINUTE) > manager.getCycleMin()))
|
||||
{
|
||||
time.set(Calendar.HOUR, Calendar.getInstance().get(Calendar.HOUR) + 1);
|
||||
}
|
||||
time.set(Calendar.MINUTE, manager.getCycleMin());
|
||||
if (manager.isFirstTimeRun())
|
||||
{
|
||||
manager.setIsFirstTimeRun(false);
|
||||
}
|
||||
|
||||
final long interval = time.getTimeInMillis() - Calendar.getInstance().getTimeInMillis();
|
||||
|
||||
manager.setChangeEntryTimeTask(ThreadPoolManager.getInstance().scheduleGeneral(new FourSepulchersChangeEntryTimeTask(), interval));
|
||||
final ScheduledFuture<?> changeCoolDownTimeTask = manager.getChangeCoolDownTimeTask();
|
||||
|
||||
if (changeCoolDownTimeTask != null)
|
||||
{
|
||||
changeCoolDownTimeTask.cancel(true);
|
||||
manager.setChangeCoolDownTimeTask(null);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,68 +0,0 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.l2jmobius.gameserver.instancemanager.tasks;
|
||||
|
||||
import java.util.Calendar;
|
||||
import java.util.concurrent.ScheduledFuture;
|
||||
|
||||
import com.l2jmobius.Config;
|
||||
import com.l2jmobius.gameserver.ThreadPoolManager;
|
||||
import com.l2jmobius.gameserver.instancemanager.FourSepulchersManager;
|
||||
|
||||
/**
|
||||
* Four Sepulchers change entry time task.
|
||||
* @author xban1x
|
||||
*/
|
||||
public final class FourSepulchersChangeEntryTimeTask implements Runnable
|
||||
{
|
||||
@Override
|
||||
public void run()
|
||||
{
|
||||
final FourSepulchersManager manager = FourSepulchersManager.getInstance();
|
||||
manager.setIsEntryTime(true);
|
||||
manager.setIsWarmUpTime(false);
|
||||
manager.setIsAttackTime(false);
|
||||
manager.setIsCoolDownTime(false);
|
||||
|
||||
long interval = 0;
|
||||
// if this is first launch - search time whFourSepulchersManager_inEntryTime = true;naFourSepulchersManager_inEntryTime = true;maen entry time will be
|
||||
// ended:
|
||||
// counting difference between time when entry time ends and current
|
||||
// time
|
||||
// and then launching change time task
|
||||
if (manager.isFirstTimeRun())
|
||||
{
|
||||
interval = manager.getEntrytTimeEnd() - Calendar.getInstance().getTimeInMillis();
|
||||
}
|
||||
else
|
||||
{
|
||||
interval = Config.FS_TIME_ENTRY * 60000L; // else use stupid
|
||||
// method
|
||||
}
|
||||
|
||||
// launching saying process...
|
||||
ThreadPoolManager.getInstance().scheduleGeneral(new FourSepulchersManagerSayTask(), 0);
|
||||
manager.setChangeWarmUpTimeTask(ThreadPoolManager.getInstance().scheduleEffect(new FourSepulchersChangeWarmUpTimeTask(), interval));
|
||||
final ScheduledFuture<?> changeEntryTimeTask = manager.getChangeEntryTimeTask();
|
||||
|
||||
if (changeEntryTimeTask != null)
|
||||
{
|
||||
changeEntryTimeTask.cancel(true);
|
||||
manager.setChangeEntryTimeTask(null);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,64 +0,0 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.l2jmobius.gameserver.instancemanager.tasks;
|
||||
|
||||
import java.util.Calendar;
|
||||
import java.util.concurrent.ScheduledFuture;
|
||||
|
||||
import com.l2jmobius.Config;
|
||||
import com.l2jmobius.gameserver.ThreadPoolManager;
|
||||
import com.l2jmobius.gameserver.instancemanager.FourSepulchersManager;
|
||||
|
||||
/**
|
||||
* Four Sepulchers change warm up time task.
|
||||
* @author xban1x
|
||||
*/
|
||||
public final class FourSepulchersChangeWarmUpTimeTask implements Runnable
|
||||
{
|
||||
@Override
|
||||
public void run()
|
||||
{
|
||||
final FourSepulchersManager manager = FourSepulchersManager.getInstance();
|
||||
manager.setIsEntryTime(true);
|
||||
manager.setIsWarmUpTime(false);
|
||||
manager.setIsAttackTime(false);
|
||||
manager.setIsCoolDownTime(false);
|
||||
|
||||
long interval = 0;
|
||||
// searching time when warmup time will be ended:
|
||||
// counting difference between time when warmup time ends and
|
||||
// current time
|
||||
// and then launching change time task
|
||||
if (manager.isFirstTimeRun())
|
||||
{
|
||||
interval = manager.getWarmUpTimeEnd() - Calendar.getInstance().getTimeInMillis();
|
||||
}
|
||||
else
|
||||
{
|
||||
interval = Config.FS_TIME_WARMUP * 60000L;
|
||||
}
|
||||
|
||||
manager.setChangeAttackTimeTask(ThreadPoolManager.getInstance().scheduleGeneral(new FourSepulchersChangeAttackTimeTask(), interval));
|
||||
final ScheduledFuture<?> changeWarmUpTimeTask = manager.getChangeWarmUpTimeTask();
|
||||
|
||||
if (changeWarmUpTimeTask != null)
|
||||
{
|
||||
changeWarmUpTimeTask.cancel(true);
|
||||
manager.setChangeWarmUpTimeTask(null);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,59 +0,0 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.l2jmobius.gameserver.instancemanager.tasks;
|
||||
|
||||
import java.util.Calendar;
|
||||
|
||||
import com.l2jmobius.Config;
|
||||
import com.l2jmobius.gameserver.ThreadPoolManager;
|
||||
import com.l2jmobius.gameserver.instancemanager.FourSepulchersManager;
|
||||
|
||||
/**
|
||||
* Four Sepulchers manager say task.
|
||||
* @author xban1x
|
||||
*/
|
||||
public final class FourSepulchersManagerSayTask implements Runnable
|
||||
{
|
||||
@Override
|
||||
public void run()
|
||||
{
|
||||
if (FourSepulchersManager.getInstance().isAttackTime())
|
||||
{
|
||||
final Calendar tmp = Calendar.getInstance();
|
||||
tmp.setTimeInMillis(Calendar.getInstance().getTimeInMillis() - FourSepulchersManager.getInstance().getWarmUpTimeEnd());
|
||||
if ((tmp.get(Calendar.MINUTE) + 5) < Config.FS_TIME_ATTACK)
|
||||
{
|
||||
FourSepulchersManager.getInstance().managerSay((byte) tmp.get(Calendar.MINUTE)); // byte
|
||||
// because
|
||||
// minute
|
||||
// cannot be
|
||||
// more than
|
||||
// 59
|
||||
ThreadPoolManager.getInstance().scheduleGeneral(new FourSepulchersManagerSayTask(), 5 * 60000);
|
||||
}
|
||||
// attack time ending chat
|
||||
else if ((tmp.get(Calendar.MINUTE) + 5) >= Config.FS_TIME_ATTACK)
|
||||
{
|
||||
FourSepulchersManager.getInstance().managerSay((byte) 90); // sending a unique id :D
|
||||
}
|
||||
}
|
||||
else if (FourSepulchersManager.getInstance().isEntryTime())
|
||||
{
|
||||
FourSepulchersManager.getInstance().managerSay((byte) 0);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,522 +0,0 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.l2jmobius.gameserver.model.actor.instance;
|
||||
|
||||
import java.util.concurrent.Future;
|
||||
|
||||
import com.l2jmobius.gameserver.ThreadPoolManager;
|
||||
import com.l2jmobius.gameserver.enums.ChatType;
|
||||
import com.l2jmobius.gameserver.enums.InstanceType;
|
||||
import com.l2jmobius.gameserver.instancemanager.FourSepulchersManager;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Character;
|
||||
import com.l2jmobius.gameserver.model.actor.templates.L2NpcTemplate;
|
||||
import com.l2jmobius.gameserver.model.holders.SkillHolder;
|
||||
import com.l2jmobius.gameserver.model.quest.QuestState;
|
||||
|
||||
/**
|
||||
* @author sandman
|
||||
*/
|
||||
public class L2SepulcherMonsterInstance extends L2MonsterInstance
|
||||
{
|
||||
protected static final SkillHolder FAKE_PETRIFICATION = new SkillHolder(4616, 1);
|
||||
|
||||
public int mysteriousBoxId = 0;
|
||||
|
||||
protected Future<?> _victimSpawnKeyBoxTask = null;
|
||||
protected Future<?> _victimShout = null;
|
||||
protected Future<?> _changeImmortalTask = null;
|
||||
protected Future<?> _onDeadEventTask = null;
|
||||
|
||||
public L2SepulcherMonsterInstance(L2NpcTemplate template)
|
||||
{
|
||||
super(template);
|
||||
setInstanceType(InstanceType.L2SepulcherMonsterInstance);
|
||||
setShowSummonAnimation(true);
|
||||
switch (template.getId())
|
||||
{
|
||||
case 25339:
|
||||
case 25342:
|
||||
case 25346:
|
||||
case 25349:
|
||||
setIsRaid(true);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSpawn()
|
||||
{
|
||||
setShowSummonAnimation(false);
|
||||
switch (getId())
|
||||
{
|
||||
case 18150:
|
||||
case 18151:
|
||||
case 18152:
|
||||
case 18153:
|
||||
case 18154:
|
||||
case 18155:
|
||||
case 18156:
|
||||
case 18157:
|
||||
if (_victimSpawnKeyBoxTask != null)
|
||||
{
|
||||
_victimSpawnKeyBoxTask.cancel(true);
|
||||
}
|
||||
_victimSpawnKeyBoxTask = ThreadPoolManager.getInstance().scheduleEffect(new VictimSpawnKeyBox(this), 300000);
|
||||
if (_victimShout != null)
|
||||
{
|
||||
_victimShout.cancel(true);
|
||||
}
|
||||
_victimShout = ThreadPoolManager.getInstance().scheduleEffect(new VictimShout(this), 5000);
|
||||
break;
|
||||
case 18196:
|
||||
case 18197:
|
||||
case 18198:
|
||||
case 18199:
|
||||
case 18200:
|
||||
case 18201:
|
||||
case 18202:
|
||||
case 18203:
|
||||
case 18204:
|
||||
case 18205:
|
||||
case 18206:
|
||||
case 18207:
|
||||
case 18208:
|
||||
case 18209:
|
||||
case 18210:
|
||||
case 18211:
|
||||
break;
|
||||
|
||||
case 18231:
|
||||
case 18232:
|
||||
case 18233:
|
||||
case 18234:
|
||||
case 18235:
|
||||
case 18236:
|
||||
case 18237:
|
||||
case 18238:
|
||||
case 18239:
|
||||
case 18240:
|
||||
case 18241:
|
||||
case 18242:
|
||||
case 18243:
|
||||
if (_changeImmortalTask != null)
|
||||
{
|
||||
_changeImmortalTask.cancel(true);
|
||||
}
|
||||
_changeImmortalTask = ThreadPoolManager.getInstance().scheduleEffect(new ChangeImmortal(this), 1600);
|
||||
|
||||
break;
|
||||
case 18256:
|
||||
break;
|
||||
case 25339:
|
||||
case 25342:
|
||||
case 25346:
|
||||
case 25349:
|
||||
setIsRaid(true);
|
||||
break;
|
||||
}
|
||||
super.onSpawn();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean doDie(L2Character killer)
|
||||
{
|
||||
if (!super.doDie(killer))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
switch (getId())
|
||||
{
|
||||
case 18120:
|
||||
case 18121:
|
||||
case 18122:
|
||||
case 18123:
|
||||
case 18124:
|
||||
case 18125:
|
||||
case 18126:
|
||||
case 18127:
|
||||
case 18128:
|
||||
case 18129:
|
||||
case 18130:
|
||||
case 18131:
|
||||
case 18149:
|
||||
case 18158:
|
||||
case 18159:
|
||||
case 18160:
|
||||
case 18161:
|
||||
case 18162:
|
||||
case 18163:
|
||||
case 18164:
|
||||
case 18165:
|
||||
case 18183:
|
||||
case 18184:
|
||||
case 18212:
|
||||
case 18213:
|
||||
case 18214:
|
||||
case 18215:
|
||||
case 18216:
|
||||
case 18217:
|
||||
case 18218:
|
||||
case 18219:
|
||||
if (_onDeadEventTask != null)
|
||||
{
|
||||
_onDeadEventTask.cancel(true);
|
||||
}
|
||||
_onDeadEventTask = ThreadPoolManager.getInstance().scheduleEffect(new OnDeadEvent(this), 3500);
|
||||
break;
|
||||
|
||||
case 18150:
|
||||
case 18151:
|
||||
case 18152:
|
||||
case 18153:
|
||||
case 18154:
|
||||
case 18155:
|
||||
case 18156:
|
||||
case 18157:
|
||||
if (_victimSpawnKeyBoxTask != null)
|
||||
{
|
||||
_victimSpawnKeyBoxTask.cancel(true);
|
||||
_victimSpawnKeyBoxTask = null;
|
||||
}
|
||||
if (_victimShout != null)
|
||||
{
|
||||
_victimShout.cancel(true);
|
||||
_victimShout = null;
|
||||
}
|
||||
if (_onDeadEventTask != null)
|
||||
{
|
||||
_onDeadEventTask.cancel(true);
|
||||
}
|
||||
_onDeadEventTask = ThreadPoolManager.getInstance().scheduleEffect(new OnDeadEvent(this), 3500);
|
||||
break;
|
||||
|
||||
case 18141:
|
||||
case 18142:
|
||||
case 18143:
|
||||
case 18144:
|
||||
case 18145:
|
||||
case 18146:
|
||||
case 18147:
|
||||
case 18148:
|
||||
if (FourSepulchersManager.getInstance().isViscountMobsAnnihilated(mysteriousBoxId))
|
||||
{
|
||||
if (_onDeadEventTask != null)
|
||||
{
|
||||
_onDeadEventTask.cancel(true);
|
||||
}
|
||||
_onDeadEventTask = ThreadPoolManager.getInstance().scheduleEffect(new OnDeadEvent(this), 3500);
|
||||
}
|
||||
break;
|
||||
|
||||
case 18220:
|
||||
case 18221:
|
||||
case 18222:
|
||||
case 18223:
|
||||
case 18224:
|
||||
case 18225:
|
||||
case 18226:
|
||||
case 18227:
|
||||
case 18228:
|
||||
case 18229:
|
||||
case 18230:
|
||||
case 18231:
|
||||
case 18232:
|
||||
case 18233:
|
||||
case 18234:
|
||||
case 18235:
|
||||
case 18236:
|
||||
case 18237:
|
||||
case 18238:
|
||||
case 18239:
|
||||
case 18240:
|
||||
if (FourSepulchersManager.getInstance().isDukeMobsAnnihilated(mysteriousBoxId))
|
||||
{
|
||||
if (_onDeadEventTask != null)
|
||||
{
|
||||
_onDeadEventTask.cancel(true);
|
||||
}
|
||||
_onDeadEventTask = ThreadPoolManager.getInstance().scheduleEffect(new OnDeadEvent(this), 3500);
|
||||
}
|
||||
break;
|
||||
|
||||
case 25339:
|
||||
case 25342:
|
||||
case 25346:
|
||||
case 25349:
|
||||
giveCup(killer);
|
||||
if (_onDeadEventTask != null)
|
||||
{
|
||||
_onDeadEventTask.cancel(true);
|
||||
}
|
||||
_onDeadEventTask = ThreadPoolManager.getInstance().scheduleEffect(new OnDeadEvent(this), 8500);
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean deleteMe()
|
||||
{
|
||||
if (_victimSpawnKeyBoxTask != null)
|
||||
{
|
||||
_victimSpawnKeyBoxTask.cancel(true);
|
||||
_victimSpawnKeyBoxTask = null;
|
||||
}
|
||||
if (_onDeadEventTask != null)
|
||||
{
|
||||
_onDeadEventTask.cancel(true);
|
||||
_onDeadEventTask = null;
|
||||
}
|
||||
|
||||
return super.deleteMe();
|
||||
}
|
||||
|
||||
private void giveCup(L2Character killer)
|
||||
{
|
||||
final String questId = "620_FourGoblets";
|
||||
int cupId = 0;
|
||||
final int oldBrooch = 7262;
|
||||
|
||||
switch (getId())
|
||||
{
|
||||
case 25339:
|
||||
cupId = 7256;
|
||||
break;
|
||||
case 25342:
|
||||
cupId = 7257;
|
||||
break;
|
||||
case 25346:
|
||||
cupId = 7258;
|
||||
break;
|
||||
case 25349:
|
||||
cupId = 7259;
|
||||
break;
|
||||
}
|
||||
|
||||
final L2PcInstance player = killer.getActingPlayer();
|
||||
|
||||
if (player == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (player.getParty() != null)
|
||||
{
|
||||
for (L2PcInstance mem : player.getParty().getMembers())
|
||||
{
|
||||
final QuestState qs = mem.getQuestState(questId);
|
||||
if ((qs != null) && (qs.isStarted() || qs.isCompleted()) && (mem.getInventory().getItemByItemId(oldBrooch) == null))
|
||||
{
|
||||
mem.addItem("Quest", cupId, 1, mem, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
final QuestState qs = player.getQuestState(questId);
|
||||
if ((qs != null) && (qs.isStarted() || qs.isCompleted()) && (player.getInventory().getItemByItemId(oldBrooch) == null))
|
||||
{
|
||||
player.addItem("Quest", cupId, 1, player, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private class VictimShout implements Runnable
|
||||
{
|
||||
private final L2SepulcherMonsterInstance _activeChar;
|
||||
|
||||
public VictimShout(L2SepulcherMonsterInstance activeChar)
|
||||
{
|
||||
_activeChar = activeChar;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run()
|
||||
{
|
||||
if (_activeChar.isDead())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (!_activeChar.isSpawned())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
broadcastSay(ChatType.NPC_GENERAL, "forgive me!!");
|
||||
}
|
||||
}
|
||||
|
||||
private class VictimSpawnKeyBox implements Runnable
|
||||
{
|
||||
private final L2SepulcherMonsterInstance _activeChar;
|
||||
|
||||
public VictimSpawnKeyBox(L2SepulcherMonsterInstance activeChar)
|
||||
{
|
||||
_activeChar = activeChar;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run()
|
||||
{
|
||||
if (_activeChar.isDead())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (!_activeChar.isSpawned())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
FourSepulchersManager.getInstance().spawnKeyBox(_activeChar);
|
||||
broadcastSay(ChatType.NPC_GENERAL, "Many thanks for rescue me.");
|
||||
if (_victimShout != null)
|
||||
{
|
||||
_victimShout.cancel(true);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private static class OnDeadEvent implements Runnable
|
||||
{
|
||||
L2SepulcherMonsterInstance _activeChar;
|
||||
|
||||
public OnDeadEvent(L2SepulcherMonsterInstance activeChar)
|
||||
{
|
||||
_activeChar = activeChar;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run()
|
||||
{
|
||||
switch (_activeChar.getId())
|
||||
{
|
||||
case 18120:
|
||||
case 18121:
|
||||
case 18122:
|
||||
case 18123:
|
||||
case 18124:
|
||||
case 18125:
|
||||
case 18126:
|
||||
case 18127:
|
||||
case 18128:
|
||||
case 18129:
|
||||
case 18130:
|
||||
case 18131:
|
||||
case 18149:
|
||||
case 18158:
|
||||
case 18159:
|
||||
case 18160:
|
||||
case 18161:
|
||||
case 18162:
|
||||
case 18163:
|
||||
case 18164:
|
||||
case 18165:
|
||||
case 18183:
|
||||
case 18184:
|
||||
case 18212:
|
||||
case 18213:
|
||||
case 18214:
|
||||
case 18215:
|
||||
case 18216:
|
||||
case 18217:
|
||||
case 18218:
|
||||
case 18219:
|
||||
FourSepulchersManager.getInstance().spawnKeyBox(_activeChar);
|
||||
break;
|
||||
|
||||
case 18150:
|
||||
case 18151:
|
||||
case 18152:
|
||||
case 18153:
|
||||
case 18154:
|
||||
case 18155:
|
||||
case 18156:
|
||||
case 18157:
|
||||
FourSepulchersManager.getInstance().spawnExecutionerOfHalisha(_activeChar);
|
||||
break;
|
||||
|
||||
case 18141:
|
||||
case 18142:
|
||||
case 18143:
|
||||
case 18144:
|
||||
case 18145:
|
||||
case 18146:
|
||||
case 18147:
|
||||
case 18148:
|
||||
FourSepulchersManager.getInstance().spawnMonster(_activeChar.mysteriousBoxId);
|
||||
break;
|
||||
|
||||
case 18220:
|
||||
case 18221:
|
||||
case 18222:
|
||||
case 18223:
|
||||
case 18224:
|
||||
case 18225:
|
||||
case 18226:
|
||||
case 18227:
|
||||
case 18228:
|
||||
case 18229:
|
||||
case 18230:
|
||||
case 18231:
|
||||
case 18232:
|
||||
case 18233:
|
||||
case 18234:
|
||||
case 18235:
|
||||
case 18236:
|
||||
case 18237:
|
||||
case 18238:
|
||||
case 18239:
|
||||
case 18240:
|
||||
FourSepulchersManager.getInstance().spawnArchonOfHalisha(_activeChar.mysteriousBoxId);
|
||||
break;
|
||||
|
||||
case 25339:
|
||||
case 25342:
|
||||
case 25346:
|
||||
case 25349:
|
||||
FourSepulchersManager.getInstance().spawnEmperorsGraveNpc(_activeChar.mysteriousBoxId);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static class ChangeImmortal implements Runnable
|
||||
{
|
||||
L2SepulcherMonsterInstance activeChar;
|
||||
|
||||
public ChangeImmortal(L2SepulcherMonsterInstance mob)
|
||||
{
|
||||
activeChar = mob;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run()
|
||||
{
|
||||
// Invulnerable by petrification
|
||||
FAKE_PETRIFICATION.getSkill().applyEffects(activeChar, activeChar);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAutoAttackable(L2Character attacker)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
@ -1,451 +0,0 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.l2jmobius.gameserver.model.actor.instance;
|
||||
|
||||
import java.util.concurrent.Future;
|
||||
|
||||
import com.l2jmobius.Config;
|
||||
import com.l2jmobius.commons.util.Rnd;
|
||||
import com.l2jmobius.gameserver.ThreadPoolManager;
|
||||
import com.l2jmobius.gameserver.ai.CtrlIntention;
|
||||
import com.l2jmobius.gameserver.data.xml.impl.DoorData;
|
||||
import com.l2jmobius.gameserver.enums.ChatType;
|
||||
import com.l2jmobius.gameserver.enums.InstanceType;
|
||||
import com.l2jmobius.gameserver.instancemanager.FourSepulchersManager;
|
||||
import com.l2jmobius.gameserver.model.L2World;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||
import com.l2jmobius.gameserver.model.actor.templates.L2NpcTemplate;
|
||||
import com.l2jmobius.gameserver.model.events.EventDispatcher;
|
||||
import com.l2jmobius.gameserver.model.events.EventType;
|
||||
import com.l2jmobius.gameserver.model.events.impl.character.npc.OnNpcFirstTalk;
|
||||
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
|
||||
import com.l2jmobius.gameserver.network.NpcStringId;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.ActionFailed;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.CreatureSay;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.SocialAction;
|
||||
import com.l2jmobius.gameserver.util.Util;
|
||||
|
||||
/**
|
||||
* @author sandman
|
||||
*/
|
||||
public class L2SepulcherNpcInstance extends L2Npc
|
||||
{
|
||||
protected Future<?> _closeTask = null;
|
||||
protected Future<?> _spawnNextMysteriousBoxTask = null;
|
||||
protected Future<?> _spawnMonsterTask = null;
|
||||
|
||||
private static final String HTML_FILE_PATH = "data/html/SepulcherNpc/";
|
||||
private static final int HALLS_KEY = 7260;
|
||||
|
||||
public L2SepulcherNpcInstance(L2NpcTemplate template)
|
||||
{
|
||||
super(template);
|
||||
setInstanceType(InstanceType.L2SepulcherNpcInstance);
|
||||
setShowSummonAnimation(true);
|
||||
|
||||
if (_closeTask != null)
|
||||
{
|
||||
_closeTask.cancel(true);
|
||||
}
|
||||
if (_spawnNextMysteriousBoxTask != null)
|
||||
{
|
||||
_spawnNextMysteriousBoxTask.cancel(true);
|
||||
}
|
||||
if (_spawnMonsterTask != null)
|
||||
{
|
||||
_spawnMonsterTask.cancel(true);
|
||||
}
|
||||
_closeTask = null;
|
||||
_spawnNextMysteriousBoxTask = null;
|
||||
_spawnMonsterTask = null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSpawn()
|
||||
{
|
||||
super.onSpawn();
|
||||
setShowSummonAnimation(false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean deleteMe()
|
||||
{
|
||||
if (_closeTask != null)
|
||||
{
|
||||
_closeTask.cancel(true);
|
||||
_closeTask = null;
|
||||
}
|
||||
if (_spawnNextMysteriousBoxTask != null)
|
||||
{
|
||||
_spawnNextMysteriousBoxTask.cancel(true);
|
||||
_spawnNextMysteriousBoxTask = null;
|
||||
}
|
||||
if (_spawnMonsterTask != null)
|
||||
{
|
||||
_spawnMonsterTask.cancel(true);
|
||||
_spawnMonsterTask = null;
|
||||
}
|
||||
return super.deleteMe();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAction(L2PcInstance player, boolean interact)
|
||||
{
|
||||
if (!canTarget(player))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// Check if the L2PcInstance already target the L2NpcInstance
|
||||
if (this != player.getTarget())
|
||||
{
|
||||
if (Config.DEBUG)
|
||||
{
|
||||
_log.info("new target selected:" + getObjectId());
|
||||
}
|
||||
|
||||
// Set the target of the L2PcInstance player
|
||||
player.setTarget(this);
|
||||
}
|
||||
else if (interact)
|
||||
{
|
||||
// Check if the player is attackable (without a forced attack) and
|
||||
// isn't dead
|
||||
if (isAutoAttackable(player) && !isAlikeDead())
|
||||
{
|
||||
// Check the height difference
|
||||
if (Math.abs(player.getZ() - getZ()) < 400) // this max heigth
|
||||
// difference might
|
||||
// need some tweaking
|
||||
{
|
||||
// Set the L2PcInstance Intention to AI_INTENTION_ATTACK
|
||||
player.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, this);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Send a Server->Client packet ActionFailed (target is out
|
||||
// of attack range) to the L2PcInstance player
|
||||
player.sendPacket(ActionFailed.STATIC_PACKET);
|
||||
}
|
||||
}
|
||||
|
||||
if (!isAutoAttackable(player))
|
||||
{
|
||||
// Calculate the distance between the L2PcInstance and the
|
||||
// L2NpcInstance
|
||||
if (!canInteract(player))
|
||||
{
|
||||
// Notify the L2PcInstance AI with AI_INTENTION_INTERACT
|
||||
player.getAI().setIntention(CtrlIntention.AI_INTENTION_INTERACT, this);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Send a Server->Client packet SocialAction to the all
|
||||
// L2PcInstance on the _knownPlayer of the L2NpcInstance
|
||||
// to display a social action of the L2NpcInstance on their
|
||||
// client
|
||||
final SocialAction sa = new SocialAction(getObjectId(), Rnd.get(8));
|
||||
broadcastPacket(sa);
|
||||
|
||||
doAction(player);
|
||||
}
|
||||
}
|
||||
// Send a Server->Client ActionFailed to the L2PcInstance in order
|
||||
// to avoid that the client wait another packet
|
||||
player.sendPacket(ActionFailed.STATIC_PACKET);
|
||||
}
|
||||
}
|
||||
|
||||
private void doAction(L2PcInstance player)
|
||||
{
|
||||
if (isDead())
|
||||
{
|
||||
player.sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
}
|
||||
|
||||
switch (getId())
|
||||
{
|
||||
case 31468:
|
||||
case 31469:
|
||||
case 31470:
|
||||
case 31471:
|
||||
case 31472:
|
||||
case 31473:
|
||||
case 31474:
|
||||
case 31475:
|
||||
case 31476:
|
||||
case 31477:
|
||||
case 31478:
|
||||
case 31479:
|
||||
case 31480:
|
||||
case 31481:
|
||||
case 31482:
|
||||
case 31483:
|
||||
case 31484:
|
||||
case 31485:
|
||||
case 31486:
|
||||
case 31487:
|
||||
setIsInvul(false);
|
||||
reduceCurrentHp(getMaxHp() + 1, player, null);
|
||||
if (_spawnMonsterTask != null)
|
||||
{
|
||||
_spawnMonsterTask.cancel(true);
|
||||
}
|
||||
_spawnMonsterTask = ThreadPoolManager.getInstance().scheduleEffect(new SpawnMonster(getId()), 3500);
|
||||
break;
|
||||
|
||||
case 31455:
|
||||
case 31456:
|
||||
case 31457:
|
||||
case 31458:
|
||||
case 31459:
|
||||
case 31460:
|
||||
case 31461:
|
||||
case 31462:
|
||||
case 31463:
|
||||
case 31464:
|
||||
case 31465:
|
||||
case 31466:
|
||||
case 31467:
|
||||
setIsInvul(false);
|
||||
reduceCurrentHp(getMaxHp() + 1, player, null);
|
||||
if ((player.getParty() != null) && !player.getParty().isLeader(player))
|
||||
{
|
||||
player = player.getParty().getLeader();
|
||||
}
|
||||
player.addItem("Quest", HALLS_KEY, 1, player, true);
|
||||
break;
|
||||
|
||||
default:
|
||||
{
|
||||
if (hasListener(EventType.ON_NPC_QUEST_START))
|
||||
{
|
||||
player.setLastQuestNpcObject(getObjectId());
|
||||
}
|
||||
|
||||
if (hasListener(EventType.ON_NPC_FIRST_TALK))
|
||||
{
|
||||
EventDispatcher.getInstance().notifyEventAsync(new OnNpcFirstTalk(this, player), this);
|
||||
}
|
||||
else
|
||||
{
|
||||
showChatWindow(player, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
player.sendPacket(ActionFailed.STATIC_PACKET);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getHtmlPath(int npcId, int val)
|
||||
{
|
||||
String pom = "";
|
||||
if (val == 0)
|
||||
{
|
||||
pom = "" + npcId;
|
||||
}
|
||||
else
|
||||
{
|
||||
pom = npcId + "-" + val;
|
||||
}
|
||||
|
||||
return HTML_FILE_PATH + pom + ".htm";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void showChatWindow(L2PcInstance player, int val)
|
||||
{
|
||||
final String filename = getHtmlPath(getId(), val);
|
||||
final NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
|
||||
html.setFile(player.getHtmlPrefix(), filename);
|
||||
html.replace("%objectId%", String.valueOf(getObjectId()));
|
||||
player.sendPacket(html);
|
||||
player.sendPacket(ActionFailed.STATIC_PACKET);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBypassFeedback(L2PcInstance player, String command)
|
||||
{
|
||||
if (isBusy())
|
||||
{
|
||||
final NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
|
||||
html.setFile(player.getHtmlPrefix(), "data/html/npcbusy.htm");
|
||||
html.replace("%busymessage%", ""); // busy message was never used.
|
||||
html.replace("%npcname%", getName());
|
||||
html.replace("%playername%", player.getName());
|
||||
player.sendPacket(html);
|
||||
}
|
||||
else if (command.startsWith("Chat"))
|
||||
{
|
||||
int val = 0;
|
||||
try
|
||||
{
|
||||
val = Integer.parseInt(command.substring(5));
|
||||
}
|
||||
catch (IndexOutOfBoundsException ioobe)
|
||||
{
|
||||
}
|
||||
catch (NumberFormatException nfe)
|
||||
{
|
||||
}
|
||||
showChatWindow(player, val);
|
||||
}
|
||||
else if (command.startsWith("open_gate"))
|
||||
{
|
||||
final L2ItemInstance hallsKey = player.getInventory().getItemByItemId(HALLS_KEY);
|
||||
if (hallsKey == null)
|
||||
{
|
||||
showHtmlFile(player, "Gatekeeper-no.htm");
|
||||
}
|
||||
else if (FourSepulchersManager.getInstance().isAttackTime())
|
||||
{
|
||||
switch (getId())
|
||||
{
|
||||
case 31929:
|
||||
case 31934:
|
||||
case 31939:
|
||||
case 31944:
|
||||
FourSepulchersManager.getInstance().spawnShadow(getId());
|
||||
default:
|
||||
{
|
||||
openNextDoor(getId());
|
||||
if (player.getParty() != null)
|
||||
{
|
||||
for (L2PcInstance mem : player.getParty().getMembers())
|
||||
{
|
||||
if ((mem != null) && (mem.getInventory().getItemByItemId(HALLS_KEY) != null))
|
||||
{
|
||||
mem.destroyItemByItemId("Quest", HALLS_KEY, mem.getInventory().getItemByItemId(HALLS_KEY).getCount(), mem, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
player.destroyItemByItemId("Quest", HALLS_KEY, hallsKey.getCount(), player, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
super.onBypassFeedback(player, command);
|
||||
}
|
||||
}
|
||||
|
||||
public void openNextDoor(int npcId)
|
||||
{
|
||||
final int doorId = FourSepulchersManager.getInstance().getHallGateKeepers().get(npcId);
|
||||
final DoorData _doorTable = DoorData.getInstance();
|
||||
_doorTable.getDoor(doorId).openMe();
|
||||
|
||||
if (_closeTask != null)
|
||||
{
|
||||
_closeTask.cancel(true);
|
||||
}
|
||||
_closeTask = ThreadPoolManager.getInstance().scheduleEffect(new CloseNextDoor(doorId), 10000);
|
||||
if (_spawnNextMysteriousBoxTask != null)
|
||||
{
|
||||
_spawnNextMysteriousBoxTask.cancel(true);
|
||||
}
|
||||
_spawnNextMysteriousBoxTask = ThreadPoolManager.getInstance().scheduleEffect(new SpawnNextMysteriousBox(npcId), 0);
|
||||
}
|
||||
|
||||
private static class CloseNextDoor implements Runnable
|
||||
{
|
||||
final DoorData _DoorTable = DoorData.getInstance();
|
||||
|
||||
private final int _DoorId;
|
||||
|
||||
public CloseNextDoor(int doorId)
|
||||
{
|
||||
_DoorId = doorId;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run()
|
||||
{
|
||||
try
|
||||
{
|
||||
_DoorTable.getDoor(_DoorId).closeMe();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
_log.warning(e.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static class SpawnNextMysteriousBox implements Runnable
|
||||
{
|
||||
private final int _NpcId;
|
||||
|
||||
public SpawnNextMysteriousBox(int npcId)
|
||||
{
|
||||
_NpcId = npcId;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run()
|
||||
{
|
||||
FourSepulchersManager.getInstance().spawnMysteriousBox(_NpcId);
|
||||
}
|
||||
}
|
||||
|
||||
private static class SpawnMonster implements Runnable
|
||||
{
|
||||
private final int _NpcId;
|
||||
|
||||
public SpawnMonster(int npcId)
|
||||
{
|
||||
_NpcId = npcId;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run()
|
||||
{
|
||||
FourSepulchersManager.getInstance().spawnMonster(_NpcId);
|
||||
}
|
||||
}
|
||||
|
||||
public void sayInShout(NpcStringId msg)
|
||||
{
|
||||
if (msg == null)
|
||||
{
|
||||
return; // wrong usage
|
||||
}
|
||||
|
||||
final CreatureSay creatureSay = new CreatureSay(0, ChatType.NPC_SHOUT, getName(), msg);
|
||||
for (L2PcInstance player : L2World.getInstance().getPlayers())
|
||||
{
|
||||
if (Util.checkIfInRange(15000, player, this, true))
|
||||
{
|
||||
player.sendPacket(creatureSay);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void showHtmlFile(L2PcInstance player, String file)
|
||||
{
|
||||
final NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
|
||||
html.setFile(player.getHtmlPrefix(), "data/html/SepulcherNpc/" + file);
|
||||
html.replace("%npcname%", getName());
|
||||
player.sendPacket(html);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user