Method initSeenCreatures is not needed to be called from scripts.
This commit is contained in:
@@ -45,7 +45,7 @@ public class Wisp extends AbstractNpcAI
|
||||
|
||||
private Wisp()
|
||||
{
|
||||
addSpawnId(WISP, LARGE_WISP);
|
||||
addSpawnId(WISP);
|
||||
setCreatureSeeId(this::onCreatureSee, WISP, LARGE_WISP);
|
||||
}
|
||||
|
||||
@@ -76,10 +76,7 @@ public class Wisp extends AbstractNpcAI
|
||||
addSpawn(LARGE_WISP, npc);
|
||||
npc.deleteMe();
|
||||
}
|
||||
else
|
||||
{
|
||||
npc.initSeenCreatures();
|
||||
}
|
||||
|
||||
return super.onSpawn(npc);
|
||||
}
|
||||
|
||||
|
@@ -103,7 +103,6 @@ public class BalokWarzone extends AbstractInstance
|
||||
addSkillSeeId(BALOK);
|
||||
addKillId(BALOK, MINION);
|
||||
addSpellFinishedId(BALOK);
|
||||
addSpawnId(INVISIBLE_NPC_1);
|
||||
setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC_1);
|
||||
}
|
||||
|
||||
@@ -322,16 +321,6 @@ public class BalokWarzone extends AbstractInstance
|
||||
return super.onSkillSee(npc, caster, skill, targets, isSummon);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onSpawn(Npc npc)
|
||||
{
|
||||
if (npc.getId() == INVISIBLE_NPC_1)
|
||||
{
|
||||
npc.initSeenCreatures();
|
||||
}
|
||||
return super.onSpawn(npc);
|
||||
}
|
||||
|
||||
public static void main(String[] args)
|
||||
{
|
||||
new BalokWarzone();
|
||||
|
@@ -63,7 +63,6 @@ public class BaylorWarzone extends AbstractInstance
|
||||
addStartNpc(BENUSTA);
|
||||
addTalkId(BENUSTA);
|
||||
addInstanceCreatedId(TEMPLATE_ID);
|
||||
addSpawnId(INVISIBLE_NPC_1);
|
||||
addSpellFinishedId(INVISIBLE_NPC_1);
|
||||
setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC_1);
|
||||
setCreatureKillId(this::onBossKill, BAYLOR);
|
||||
@@ -323,16 +322,6 @@ public class BaylorWarzone extends AbstractInstance
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onSpawn(Npc npc)
|
||||
{
|
||||
if (npc.getId() == INVISIBLE_NPC_1)
|
||||
{
|
||||
npc.initSeenCreatures();
|
||||
}
|
||||
return super.onSpawn(npc);
|
||||
}
|
||||
|
||||
/**
|
||||
* Broadcasts SocialAction packet to self and known players.
|
||||
* @param creature
|
||||
|
@@ -75,7 +75,7 @@ public class KimerianCommon extends AbstractInstance
|
||||
addStartNpc(NOETI_KASHERON);
|
||||
addTalkId(NOETI_KASHERON, NOETI_KASHERON_ENTRANCE);
|
||||
addFirstTalkId(NOETI_KASHERON_ENTRANCE, NOETI_KASHERON_LEAVE);
|
||||
addSpawnId(FAIRY_REBEL, NEOMI_KASHERON, INVISIBLE_NPC, KIMERIAN);
|
||||
addSpawnId(FAIRY_REBEL, NEOMI_KASHERON);
|
||||
addAttackId(KIMERIAN);
|
||||
addKillId(KIMERIAN_GHOST, KIMERIAN);
|
||||
setCreatureSeeId(this::onCreatureSee, FAIRY_REBEL, NEOMI_KASHERON, INVISIBLE_NPC, KIMERIAN);
|
||||
@@ -301,16 +301,9 @@ public class KimerianCommon extends AbstractInstance
|
||||
case FAIRY_REBEL:
|
||||
case NEOMI_KASHERON:
|
||||
{
|
||||
npc.initSeenCreatures();
|
||||
npc.setRunning();
|
||||
break;
|
||||
}
|
||||
case INVISIBLE_NPC:
|
||||
case KIMERIAN:
|
||||
{
|
||||
npc.initSeenCreatures();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return super.onSpawn(npc);
|
||||
|
@@ -108,7 +108,6 @@ public class OctavisWarzone extends AbstractInstance
|
||||
super(TEMPLATE_ID, EXTREME_TEMPLATE_ID);
|
||||
addStartNpc(LYDIA);
|
||||
addTalkId(LYDIA);
|
||||
addSpawnId(DOOR_MANAGER);
|
||||
addSpawnId(GLADIATORS);
|
||||
addAttackId(OCTAVIS_STAGE_1);
|
||||
addAttackId(OCTAVIS_STAGE_2);
|
||||
@@ -539,7 +538,6 @@ public class OctavisWarzone extends AbstractInstance
|
||||
world.openCloseDoor(npc.getParameters().getInt("My_DoorName", -1), true);
|
||||
getTimers().addTimer("GLADIATOR_MOVING", 3000, npc, null);
|
||||
}
|
||||
npc.initSeenCreatures();
|
||||
}
|
||||
return super.onSpawn(npc);
|
||||
}
|
||||
|
@@ -96,7 +96,7 @@ public class TeredorWarzone extends AbstractInstance
|
||||
super(TEMPLATE_ID);
|
||||
addStartNpc(FILAUR);
|
||||
addTalkId(FILAUR);
|
||||
addSpawnId(BEETLE, POS_CHECKER, EGG_2, FAKE_TEREDOR, TEREDOR, TEREDOR_POISON);
|
||||
addSpawnId(BEETLE, FAKE_TEREDOR, TEREDOR, TEREDOR_POISON);
|
||||
addSpellFinishedId(BEETLE);
|
||||
addEventReceivedId(EGG_2);
|
||||
addAttackId(TEREDOR);
|
||||
@@ -112,7 +112,6 @@ public class TeredorWarzone extends AbstractInstance
|
||||
{
|
||||
final StatSet npcVars = npc.getVariables();
|
||||
final StatSet npcParams = npc.getParameters();
|
||||
|
||||
switch (event)
|
||||
{
|
||||
case "EGG_SPAWN_TIMER":
|
||||
@@ -242,7 +241,6 @@ public class TeredorWarzone extends AbstractInstance
|
||||
WalkingManager.getInstance().startMoving(npc, "trajan5");
|
||||
getTimers().addRepeatingTimer("TEREDOR_LAIR_CHECK", 5000, npc, null);
|
||||
((Attackable) npc).setCanReturnToSpawnPoint(false);
|
||||
npc.initSeenCreatures();
|
||||
break;
|
||||
}
|
||||
case BEETLE:
|
||||
@@ -251,14 +249,12 @@ public class TeredorWarzone extends AbstractInstance
|
||||
{
|
||||
WalkingManager.getInstance().startMoving(npc, npcParams.getString("SuperPointName1", ""));
|
||||
}
|
||||
npc.initSeenCreatures();
|
||||
break;
|
||||
}
|
||||
case FAKE_TEREDOR:
|
||||
{
|
||||
WalkingManager.getInstance().startMoving(npc, npcParams.getString("SuperPointName", ""));
|
||||
npc.setRHandId(FAKE_TEREDOR_WEAPON);
|
||||
npc.initSeenCreatures();
|
||||
getTimers().addTimer("FAKE_TEREDOR_POISON_TIMER", 3000, npc, null);
|
||||
break;
|
||||
}
|
||||
@@ -271,11 +267,6 @@ public class TeredorWarzone extends AbstractInstance
|
||||
getTimers().addTimer("DELETE_ME", 22000, npc, null);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
npc.initSeenCreatures();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return super.onSpawn(npc);
|
||||
@@ -289,7 +280,6 @@ public class TeredorWarzone extends AbstractInstance
|
||||
if (isInInstance(instance))
|
||||
{
|
||||
final StatSet npcParams = npc.getParameters();
|
||||
|
||||
switch (npc.getId())
|
||||
{
|
||||
case BEETLE:
|
||||
|
@@ -373,7 +373,6 @@ public class CrystalCavernsEmeraldSquare extends AbstractInstance
|
||||
{
|
||||
getTimers().addTimer("SUPPORT_SPAWN_TIMER", (baseId * 60) * 1000, npc, null);
|
||||
}
|
||||
npc.initSeenCreatures();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@@ -74,7 +74,7 @@ public class CrystalCavernsSteamCorridor extends AbstractInstance
|
||||
addTalkId(CAVERNS_ENTRACE);
|
||||
addAttackId(TRAP_1, TRAP_2);
|
||||
addKillId(VICIOUS_DUELER, VICIOUS_WARRIOR, VICIOUS_SWORDSMAN, KECHI_NORMAL, KECHI_WISE, KECHI_WEALTHY, KECHI_ARMED);
|
||||
addSpawnId(SPIRIT_PROTECTOR, VICIOUS_DUELER, VICIOUS_WARRIOR, VICIOUS_SWORDSMAN, FIRE_REGION, PLAYER_DETECTOR);
|
||||
addSpawnId(SPIRIT_PROTECTOR, VICIOUS_DUELER, VICIOUS_WARRIOR, VICIOUS_SWORDSMAN, FIRE_REGION);
|
||||
addEventReceivedId(SPIRIT_PROTECTOR, VICIOUS_DUELER, VICIOUS_WARRIOR, VICIOUS_SWORDSMAN);
|
||||
addInstanceCreatedId(TEMPLATE_ID);
|
||||
addInstanceEnterId(TEMPLATE_ID);
|
||||
@@ -208,11 +208,6 @@ public class CrystalCavernsSteamCorridor extends AbstractInstance
|
||||
npc.disableCoreAI(true);
|
||||
break;
|
||||
}
|
||||
case PLAYER_DETECTOR:
|
||||
{
|
||||
npc.initSeenCreatures();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return super.onSpawn(npc);
|
||||
@@ -373,25 +368,17 @@ public class CrystalCavernsSteamCorridor extends AbstractInstance
|
||||
final Instance instance = npc.getInstanceWorld();
|
||||
if (isInInstance(instance) && creature.isPlayer())
|
||||
{
|
||||
final StatSet npcParams = npc.getParameters();
|
||||
|
||||
switch (npc.getId())
|
||||
if (npc.isScriptValue(0))
|
||||
{
|
||||
case PLAYER_DETECTOR:
|
||||
npc.setScriptValue(1);
|
||||
final StatSet npcParams = npc.getParameters();
|
||||
npc.broadcastEvent(String.valueOf(24220005 + npcParams.getInt("Terri_ID", 0)), 2000, null);
|
||||
for (int i = 0; i < getRandom(5); i++)
|
||||
{
|
||||
if (npc.isScriptValue(0))
|
||||
{
|
||||
npc.setScriptValue(1);
|
||||
npc.broadcastEvent(String.valueOf(24220005 + npcParams.getInt("Terri_ID", 0)), 2000, null);
|
||||
for (int i = 0; i < getRandom(5); i++)
|
||||
{
|
||||
final Npc trap = addSpawn(((npcParams.getInt("MobType", 0) == 0) ? TRAP_1 : TRAP_2), npc, true, 0, false, instance.getId());
|
||||
trap.getVariables().set("TIMER_VAL", 4);
|
||||
}
|
||||
npc.deleteMe();
|
||||
}
|
||||
break;
|
||||
final Npc trap = addSpawn(((npcParams.getInt("MobType", 0) == 0) ? TRAP_1 : TRAP_2), npc, true, 0, false, instance.getId());
|
||||
trap.getVariables().set("TIMER_VAL", 4);
|
||||
}
|
||||
npc.deleteMe();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -869,7 +869,6 @@ public class KartiasLabyrinth extends AbstractInstance
|
||||
onTimerEvent("MOVE_TO_MIDDLE", null, monster, null);
|
||||
}
|
||||
((Attackable) monster).setCanReturnToSpawnPoint(false);
|
||||
monster.initSeenCreatures();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -114,7 +114,7 @@ public class PrisonOfDarkness extends AbstractInstance
|
||||
super(TEMPLATE_ID);
|
||||
addStartNpc(SPEZION_HEADSTONE);
|
||||
addTalkId(SPEZION_HEADSTONE, WARP_POINT, TIME_BOMB_1, STARLIGHT_LATTICE, JOSEPHINA);
|
||||
addSpawnId(WARP_POINT, EXIT_PORTAL, ESCORT_WARRIOR);
|
||||
addSpawnId(WARP_POINT, ESCORT_WARRIOR);
|
||||
addSpellFinishedId(MONSTERS);
|
||||
setCreatureSeeId(this::onCreatureSee, EXIT_PORTAL);
|
||||
addKillId(SPEZIONS_PAWN);
|
||||
@@ -333,11 +333,6 @@ public class PrisonOfDarkness extends AbstractInstance
|
||||
getTimers().addTimer("CHANGE_POSITION", (60000 * npcVars.getInt("TIME_MULTIPLER", 5)), npc, null);
|
||||
break;
|
||||
}
|
||||
case EXIT_PORTAL:
|
||||
{
|
||||
npc.initSeenCreatures();
|
||||
break;
|
||||
}
|
||||
case ESCORT_WARRIOR:
|
||||
{
|
||||
// TODO: attack logic
|
||||
@@ -353,24 +348,29 @@ public class PrisonOfDarkness extends AbstractInstance
|
||||
final Creature creature = event.getSeen();
|
||||
final Npc npc = (Npc) event.getSeer();
|
||||
final Instance instance = npc.getInstanceWorld();
|
||||
if (isInInstance(instance) && (npc.getId() == EXIT_PORTAL))
|
||||
if (isInInstance(instance))
|
||||
{
|
||||
final StatSet npcVars = npc.getVariables();
|
||||
|
||||
switch (npcVars.getInt("PORTAL_STATE", 0))
|
||||
{
|
||||
case 0:
|
||||
{
|
||||
takeItems(creature.getActingPlayer(), GIANT_CANNONBALL, -1);
|
||||
creature.teleToLocation(PLAYERS_RANDOM_LOCS[getRandom(PLAYERS_RANDOM_LOCS.length)]);
|
||||
showOnScreenMsg(creature.getActingPlayer(), NpcStringId.YOU_NEED_TO_FIND_ESCAPE_DEVICE_RE_ENTRY_IS_NOT_ALLOWED_ONCE_YOU_VE_LEFT_THE_INSTANCE_ZONE, ExShowScreenMessage.TOP_CENTER, 4000);
|
||||
instance.getParameters().increaseInt("PLAYERS_COUNT", 0, 1);
|
||||
break;
|
||||
}
|
||||
case 1:
|
||||
{
|
||||
creature.teleToLocation(ORBIS_LOCATION);
|
||||
break;
|
||||
}
|
||||
case 2:
|
||||
{
|
||||
creature.teleToLocation(SPEZION_LAIR);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user