I am creating Frintezza for aCis but I came across something really does FinalEmperialTomb exist in the interlude? Because I created it based on research and I didn't find anything about Interlude, I just found about High Five. A part of my code, yes it is working perfectly I would like to know more about FinalEmperialTomb because I don't want to waste time on it.
package net.sf.l2j.gameserver.scripting.script.ai.area;import java.util.Set;import java.util.concurrent.ConcurrentHashMap;import net.sf.l2j.commons.random.Rnd;import net.sf.l2j.gameserver.data.manager.GrandBossManager;import net.sf.l2j.gameserver.data.manager.ZoneManager;import net.sf.l2j.gameserver.data.xml.DoorData;import net.sf.l2j.gameserver.data.xml.ScriptData;import net.sf.l2j.gameserver.enums.SayType;import net.sf.l2j.gameserver.enums.ScriptEventType;import net.sf.l2j.gameserver.model.actor.Creature;import net.sf.l2j.gameserver.model.actor.Npc;import net.sf.l2j.gameserver.model.actor.Player;import net.sf.l2j.gameserver.model.location.Location;import net.sf.l2j.gameserver.model.zone.type.BossZone;import net.sf.l2j.gameserver.network.serverpackets.CreatureSay;import net.sf.l2j.gameserver.network.serverpackets.ExShowScreenMessage;import net.sf.l2j.gameserver.scripting.script.ai.AttackableAIScript;import net.sf.l2j.gameserver.scripting.script.ai.boss.Frintezza;publicclassFinalEmperialTomb extends AttackableAIScript{privatestatic final BossZone ZONE =ZoneManager.getInstance().getZoneById(110012,BossZone.class);privatestatic final int[][] MOBLOC ={{18328,172894,-76019,-5107,243},{18328,174095,-77279,-5107,16216},{18328,174111,-74833,-5107,49043},{18328,175344,-76042,-5107,32847},{18330,173489,-76227,-5134,63565},{18330,173498,-75724,-5107,58498},{18330,174365,-76745,-5107,22424},{18330,174570,-75584,-5107,31968},{18330,174613,-76179,-5107,31471},{18332,173620,-75981,-5107,4588},{18332,173630,-76340,-5107,62454},{18332,173755,-75613,-5107,57892},{18332,173823,-76688,-5107,2411},{18332,174000,-75411,-5107,54718},{18332,174487,-75555,-5107,33861},{18332,174517,-76471,-5107,21893},{18332,174576,-76122,-5107,31176},{18332,174600,-75841,-5134,35927},{18329,173481,-76043,-5107,61312},{18329,173539,-75678,-5107,59524},{18329,173584,-76386,-5107,3041},{18329,173773,-75420,-5107,51115},{18329,173777,-76650,-5107,12588},{18329,174585,-76510,-5107,21704},{18329,174623,-75571,-5107,40141},{18329,174744,-76240,-5107,29202},{18329,174769,-75895,-5107,29572},{18333,173861,-76011,-5107,383},{18333,173872,-76461,-5107,8041},{18333,173898,-75668,-5107,51856},{18333,174422,-75689,-5107,42878},{18333,174460,-76355,-5107,27311},{18333,174483,-76041,-5107,30947},{18331,173515,-76184,-5107,6971},{18331,173516,-75790,-5134,3142},{18331,173696,-76675,-5107,6757},{18331,173766,-75502,-5134,60827},{18331,174473,-75321,-5107,37147},{18331,174493,-76505,-5107,34503},{18331,174568,-75654,-5134,41661},{18331,174584,-76263,-5107,31729},{18339,173892,-81592,-5123,50849},{18339,173958,-81820,-5123,7459},{18339,174128,-81805,-5150,21495},{18339,174245,-81566,-5123,41760},{18334,173264,-81529,-5072,1646},{18334,173265,-81656,-5072,441},{18334,173267,-81889,-5072,0},{18334,173271,-82015,-5072,65382},{18334,174867,-81655,-5073,32537},{18334,174868,-81890,-5073,32768},{18334,174869,-81485,-5073,32315},{18334,174871,-82017,-5073,33007},{18335,173074,-80817,-5107,8353},{18335,173128,-82702,-5107,5345},{18335,173181,-82544,-5107,65135},{18335,173191,-80981,-5107,6947},{18335,174859,-80889,-5134,24103},{18335,174924,-82666,-5107,38710},{18335,174947,-80733,-5107,22449},{18335,175096,-82724,-5107,42205},{18336,173435,-80512,-5107,65215},{18336,173440,-82948,-5107,417},{18336,173443,-83120,-5107,1094},{18336,173463,-83064,-5107,286},{18336,173465,-80453,-5107,174},{18336,173465,-83006,-5107,2604},{18336,173468,-82889,-5107,316},{18336,173469,-80570,-5107,65353},{18336,173469,-80628,-5107,166},{18336,173492,-83121,-5107,394},{18336,173493,-80683,-5107,0},{18336,173497,-80510,-5134,417},{18336,173499,-82947,-5107,0},{18336,173521,-83063,-5107,316},{18336,173523,-82889,-5107,128},{18336,173524,-80627,-5134,65027},{18336,173524,-83007,-5107,0},{18336,173526,-80452,-5107,64735},{18336,173527,-80569,-5134,65062},{18336,174602,-83122,-5107,33104},{18336,174604,-82949,-5107,33184},{18336,174609,-80514,-5107,33234},{18336,174609,-80684,-5107,32851},{18336,174629,-80627,-5107,33346},{18336,174632,-80570,-5107,32896},{18336,174632,-83066,-5107,32768},{18336,174635,-82893,-5107,33594},{18336,174636,-80456,-5107,32065},{18336,174639,-83008,-5107,33057},{18336,174660,-80512,-5107,33057},{18336,174661,-83121,-5107,32768},{18336,174663,-82948,-5107,32768},{18336,174664,-80685,-5107,32676},{18336,174687,-83008,-5107,32520},{18336,174691,-83066,-5107,32961},{18336,174692,-80455,-5107,33202},{18336,174692,-80571,-5107,32768},{18336,174693,-80630,-5107,32994},{18336,174693,-82889,-5107,32622},{18337,172837,-82382,-5107,58363},{18337,172867,-81123,-5107,64055},{18337,172883,-82495,-5107,64764},{18337,172916,-81033,-5107,7099},{18337,172940,-82325,-5107,58998},{18337,172946,-82435,-5107,58038},{18337,172971,-81198,-5107,14768},{18337,172992,-81091,-5107,9438},{18337,173032,-82365,-5107,59041},{18337,173064,-81125,-5107,5827},{18337,175014,-81173,-5107,26398},{18337,175061,-82374,-5107,43290},{18337,175096,-81080,-5107,24719},{18337,175169,-82453,-5107,37672},{18337,175172,-80972,-5107,32315},{18337,175174,-82328,-5107,41760},{18337,175197,-81157,-5107,27617},{18337,175245,-82547,-5107,40275},{18337,175249,-81075,-5107,28435},{18337,175292,-82432,-5107,42225},{18338,173014,-82628,-5107,11874},{18338,173033,-80920,-5107,10425},{18338,173095,-82520,-5107,49152},{18338,173115,-80986,-5107,9611},{18338,173144,-80894,-5107,5345},{18338,173147,-82602,-5107,51316},{18338,174912,-80825,-5107,24270},{18338,174935,-80899,-5107,18061},{18338,175016,-82697,-5107,39533},{18338,175041,-80834,-5107,25420},{18338,175071,-82549,-5107,39163},{18338,175154,-82619,-5107,36345}};privatestatic final int[] NPCS ={18328,18329,18330,18331,18332,18333,18334,18335,18336,18337,18338,18339,29048,29049,29050,29051,32011};privatestatic final Location[] FRINTEZZA_IN ={newLocation(174102,-76039,-5105),newLocation(173235,-76884,-5105),newLocation(175003,-76933,-5105),newLocation(174196,-76190,-5105),newLocation(174013,-76120,-5105),newLocation(173263,-75161,-5105)};privateSet<Npc> _roomMobs =ConcurrentHashMap.newKeySet();privateint _check;publicFinalEmperialTomb(){
super("ai/area");}@Overrideprotectedvoid registerNpcs(){
addEventIds(NPCS,ScriptEventType.ON_TALK,ScriptEventType.ON_KILL);}@OverridepublicString onTalk(Npc npc,Player player){String htmltext ="";int status;switch(npc.getNpcId()){case32011:if(player.getInventory().hasItems(8073)){
status =GrandBossManager.getInstance().getBossStatus(Frintezza.FRINTEZZA);if(status ==Frintezza.DORMANT){GrandBossManager.getInstance().setBossStatus(Frintezza.FRINTEZZA,Frintezza.WAITING);
startQuestTimer("close", null, null,100);
startQuestTimer("beginning", null, null,5000);ScriptData.getInstance().getQuest("Frintezza").startQuestTimer("frintezza_despawn", null, null,60000);// Take item from party leader.
takeItems(player,8784,1);
final BossZone zone =ZoneManager.getInstance().getZoneById(110012,BossZone.class);
zone.allowPlayerEntry(player,300);
player.teleportTo(Rnd.get(FRINTEZZA_IN),50);}elseif(status ==Frintezza.DEAD)
htmltext ="<html><body>There is nothing beyond the Magic Force Field. Come back later.<br>(You may not enter because Frintezza is not inside the Imperial Tomb.)</body></html>";}else
htmltext ="<html><body>You dont have required item.</body></html>";break;}return htmltext;}@OverridepublicString onTimer(String name,Npc npc,Player player){if(name.equalsIgnoreCase("beginning")){
closeDoors();
_check =35;for(int i =0; i <=17; i++)
_roomMobs.add(addSpawn(MOBLOC[i][0], MOBLOC[i][1], MOBLOC[i][2], MOBLOC[i][3], MOBLOC[i][4],false,0,false));
ZONE.broadcastPacket(newCreatureSay(SayType.SHOUT,"Hall Alarm Device","Intruders! Sound the alarm!"));
startQuestTimer("check", null, null,60000);ScriptData.getInstance().getQuest("Frintezza").startQuestTimer("frintezza_despawn", null, null,60000);}elseif(name.equalsIgnoreCase("check")){if(_check ==0){
ZONE.broadcastPacket(newCreatureSay(SayType.SHOUT,"Frintezza Gatekeeper","Time limit exceeded, challenge failed!"));
ZONE.oustAllPlayers();
cancelQuestTimers("check");ScriptData.getInstance().getQuest("Frintezza").cancelQuestTimers("frintezza_despawn");
deleteAllMobs();
closeDoors();GrandBossManager.getInstance().setBossStatus(Frintezza.FRINTEZZA,Frintezza.DORMANT);}
_check--;
ZONE.broadcastPacket(newExShowScreenMessage(_check +" minute(s) remaining.",10000));}elseif(name.equalsIgnoreCase("cleanMobs"))
deleteAllMobs();elseif(name.equalsIgnoreCase("close"))
closeDoors();return super.onTimer(name, npc, player);}@OverridepublicString onKill(Npc npc,Creature killer){switch(npc.getNpcId()){case18328:int alarmsRemaining = getRemainingMonsters(npc);if(alarmsRemaining ==1){for(int i =25150051; i <=25150058; i++)
openDoor(i);}elseif(alarmsRemaining ==0){
ZONE.broadcastPacket(newCreatureSay(npc.getObjectId(),SayType.SHOUT, npc.getName(),"De-activate the alarm."));
deleteAllMobs();Spawn(1);}break;case18339:if(getRemainingMonsters(npc)==0)Spawn(2);break;case18334:if(getRemainingMonsters(npc)==0){
deleteAllMobs();
openDoor(25150045);
openDoor(25150046);
cancelQuestTimers("check");
startQuestTimer("waiting", null, null,180000);}break;}return super.onKill(npc, killer);}privatevoidSpawn(int spawn){if(spawn ==1){for(int i =41; i <=44; i++)
_roomMobs.add(addSpawn(MOBLOC[i][0], MOBLOC[i][1], MOBLOC[i][2], MOBLOC[i][3], MOBLOC[i][4],false,0,false));for(int i =25150051; i <=25150058; i++)
openDoor(i);
openDoor(25150042);
openDoor(25150043);}else{
closeDoor(25150042);
closeDoor(25150043);
closeDoor(25150045);
closeDoor(25150046);for(int i =25150061; i <=25150070; i++)
openDoor(i);for(int i =45; i <=131; i++)
_roomMobs.add(addSpawn(MOBLOC[i][0], MOBLOC[i][1], MOBLOC[i][2], MOBLOC[i][3], MOBLOC[i][4],false,0,false));}}privatestaticvoid closeDoors(){for(int i =25150051; i <=25150058; i++)
closeDoor(i);for(int i =25150061; i <=25150070; i++)
closeDoor(i);
closeDoor(25150042);
closeDoor(25150043);
closeDoor(25150045);
closeDoor(25150046);}privatestaticvoid openDoor(int doorid){DoorData.getInstance().getDoor(doorid).openMe();}privatestaticvoid closeDoor(int doorid){DoorData.getInstance().getDoor(doorid).closeMe();}privatevoid deleteAllMobs(){for(Npc mob : _roomMobs)
mob.deleteMe();for(Npc mob : ZONE.getKnownTypeInside(Npc.class))
mob.deleteMe();
_roomMobs.clear();}privateint getRemainingMonsters(Npc npc){
_roomMobs.remove(npc);return(int)_roomMobs.stream().filter(m -> m.getNpcId()== npc.getNpcId()).count();}}
Lineage2Network - Interlude Reimagined
Embark on a revitalized journey through the classic Interlude era with Lineage2.Network. Our server is meticulously crafted by veteran players to deliver a seamless and engaging experience, blending the nostalgia of the Chaotic Chronicle with modern enhancements.
Server details
Chronicle: Interlude + Classic
Rates: EXP x30 | Adena x10 | Drop x10 | Spoil x10
Server features
Daily Missions - complete special tasks for daily rewards
Attendance Rewards - get rewards for online time
Custom Events - TVT, DM, CTF
NPC buffer duration - 2 hours
Mana Potions - restores 1000 MP, 10s cooldown
Ring of Core additional stats: +1 STR
Earring of Orfen additional stats: +1 INT
Shadow Earring of Zaken - 7 days
Shadow Ring of Queen Ant - 7 days
Max buff count - 24 (20 + 4 with Divine Inspiration)
Noblesse, Heroic Valor, Flames of Invincibility and Celestial Shield don't take buff slot
Reworked Cancel, Mage and Warrior Banes – removed buffs reappear after 30s
Block Buffs - block all incoming buffs except from self/party
Sweeper Festival added to Spoiler class
Subclass – retail or purchasable
Noblesse – retail or purchasable up to Barakiel; collect 8 fragments for full staff
1st & 2nd class free, 3rd needs 700 Halisha Marks or is purchasable
New Olympiad System: new stadiums with NPC buffer, 1 week period.
Key dates
Beta Launch: April 14, 2025
Official Launch: May 9, 2025
Check out full server details in our website
And visit our discord
Join us and be part of community where classic gameplay meets innovative updates. Whether you're a solo adventurer or part of a formidable clan, Lineage2.Network offers a dynamic and balanced environment for all.
Good day. Our game currency store is looking for suppliers of adena and items on a project such as L2REBORN x10.
We also sell Epic jewelry and various items on this project L2REBORN x10.
There are items and adena on L2REBORN x1.
For all questions, write to us in discord - goddardshop
Question
Williams
I am creating Frintezza for aCis but I came across something really does FinalEmperialTomb exist in the interlude? Because I created it based on research and I didn't find anything about Interlude, I just found about High Five. A part of my code, yes it is working perfectly I would like to know more about FinalEmperialTomb because I don't want to waste time on it.
4 answers to this question
Recommended Posts