Changed L2Character setIsRunning visibility to private.
This commit is contained in:
@@ -175,7 +175,7 @@ public final class Apherus extends AbstractNpcAI
|
||||
for (int i = 0; i < 4; i++)
|
||||
{
|
||||
final L2MonsterInstance protector = (L2MonsterInstance) addSpawn(APHERUS_DOOR_GUARD[getRandom(APHERUS_DOOR_GUARD.length)], player.getX() + getRandom(10, 30), player.getY() + getRandom(10, 30), player.getZ(), 0, false, 600000, false);
|
||||
protector.setIsRunning(true);
|
||||
protector.setRunning();
|
||||
protector.setTarget(player);
|
||||
addAttackPlayerDesire(protector, player);
|
||||
}
|
||||
|
@@ -147,7 +147,7 @@ public final class PlainsOfLizardman extends AbstractNpcAI
|
||||
{
|
||||
if ((monster.getId() == TANTA_MAGICIAN) || (monster.getId() == TANTA_SCOUT))
|
||||
{
|
||||
monster.setIsRunning(true);
|
||||
monster.setRunning();
|
||||
monster.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, new Location(npc.getX(), npc.getY(), npc.getZ(), 0));
|
||||
}
|
||||
});
|
||||
|
@@ -143,7 +143,7 @@ public final class PrimevalIsle extends AbstractNpcAI
|
||||
if ((target != null))
|
||||
{
|
||||
npc.setTarget(target);
|
||||
mob.setIsRunning(true);
|
||||
mob.setRunning();
|
||||
mob.addDamageHate(target, 0, 555);
|
||||
mob.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, target);
|
||||
}
|
||||
@@ -157,7 +157,7 @@ public final class PrimevalIsle extends AbstractNpcAI
|
||||
if ((target != null))
|
||||
{
|
||||
npc.setTarget(target);
|
||||
mob.setIsRunning(true);
|
||||
mob.setRunning();
|
||||
mob.addDamageHate(target, 0, 555);
|
||||
mob.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, target);
|
||||
}
|
||||
@@ -168,7 +168,7 @@ public final class PrimevalIsle extends AbstractNpcAI
|
||||
if ((target != null))
|
||||
{
|
||||
npc.setTarget(target);
|
||||
mob.setIsRunning(true);
|
||||
mob.setRunning();
|
||||
mob.addDamageHate(target, 0, 555);
|
||||
mob.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, target);
|
||||
}
|
||||
@@ -298,7 +298,7 @@ public final class PrimevalIsle extends AbstractNpcAI
|
||||
{
|
||||
npc.setTarget(creature);
|
||||
npc.doCast(CREW_SKILL.getSkill());
|
||||
npc.setIsRunning(true);
|
||||
npc.setRunning();
|
||||
npc.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, creature);
|
||||
}
|
||||
return super.onSeeCreature(npc, creature, isSummon);
|
||||
@@ -424,7 +424,7 @@ public final class PrimevalIsle extends AbstractNpcAI
|
||||
{
|
||||
npc.getVariables().set("SELFBUFF_USED", 1);
|
||||
npc.doCast(selfRangeBuff1.getSkill());
|
||||
npc.setIsRunning(true);
|
||||
npc.setRunning();
|
||||
npc.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, target);
|
||||
}
|
||||
}
|
||||
|
@@ -94,7 +94,7 @@ public final class Maguen extends AbstractNpcAI
|
||||
final L2Npc maguen = addSpawn(MAGUEN, npc.getLocation(), true, 60000, true);
|
||||
maguen.getVariables().set("SUMMON_PLAYER", player);
|
||||
maguen.setTitle(player.getName());
|
||||
maguen.setIsRunning(true);
|
||||
maguen.setRunning();
|
||||
maguen.getAI().setIntention(CtrlIntention.AI_INTENTION_FOLLOW, player);
|
||||
maguen.broadcastStatusUpdate();
|
||||
showOnScreenMsg(player, NpcStringId.MAGUEN_APPEARANCE, 2, 4000);
|
||||
|
@@ -85,7 +85,7 @@ public final class Nemo extends AbstractNpcAI
|
||||
maguen.getVariables().set("TEST_MAGUEN", 1);
|
||||
player.getVariables().set("TEST_MAGUEN", 1);
|
||||
maguen.setTitle(player.getName());
|
||||
maguen.setIsRunning(true);
|
||||
maguen.setRunning();
|
||||
maguen.getAI().setIntention(CtrlIntention.AI_INTENTION_FOLLOW, player);
|
||||
maguen.broadcastStatusUpdate();
|
||||
showOnScreenMsg(player, NpcStringId.MAGUEN_APPEARANCE, 2, 4000);
|
||||
|
@@ -246,7 +246,7 @@ public final class SelMahumDrill extends AbstractNpcAI
|
||||
}
|
||||
receiver.disableCoreAI(true);
|
||||
receiver.getVariables().set("BUSY_STATE", 1);
|
||||
receiver.setIsRunning(true);
|
||||
receiver.setRunning();
|
||||
receiver.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, new Location((receiver.getX() + getRandom(-800, 800)), (receiver.getY() + getRandom(-800, 800)), receiver.getZ(), receiver.getHeading()));
|
||||
startQuestTimer("reset_busy_state", 5000, receiver, null);
|
||||
}
|
||||
|
@@ -139,7 +139,7 @@ public final class SelMahumSquad extends AbstractNpcAI
|
||||
case "fire_arrived":
|
||||
{
|
||||
// myself.i_quest0 = 1;
|
||||
npc.setIsRunning(false);
|
||||
npc.setWalking();
|
||||
npc.setTarget(npc);
|
||||
|
||||
if (!npc.isRandomWalkingEnabled())
|
||||
@@ -172,7 +172,7 @@ public final class SelMahumSquad extends AbstractNpcAI
|
||||
case "remove_effects":
|
||||
{
|
||||
// myself.i_quest0 = 0;
|
||||
npc.setIsRunning(true);
|
||||
npc.setRunning();
|
||||
npc.setDisplayEffect(MAHUM_EFFECT_NONE);
|
||||
break;
|
||||
}
|
||||
@@ -244,7 +244,7 @@ public final class SelMahumSquad extends AbstractNpcAI
|
||||
if (receiver.isRandomWalkingEnabled() && !receiver.isDead() && (receiver.getAI().getIntention() != CtrlIntention.AI_INTENTION_ATTACK) && CommonUtil.contains(SQUAD_LEADERS, receiver.getId()))
|
||||
{
|
||||
receiver.setRandomWalking(false); // Moving to fire - i_ai0 = 1
|
||||
receiver.setIsRunning(true);
|
||||
receiver.setRunning();
|
||||
final Location loc = sender.getPointInRange(100, 200);
|
||||
loc.setHeading(receiver.getHeading());
|
||||
receiver.stopMove(null);
|
||||
@@ -279,7 +279,7 @@ public final class SelMahumSquad extends AbstractNpcAI
|
||||
}
|
||||
receiver.setRandomWalking(false); // Moving to fire - i_ai0 = 1
|
||||
receiver.getVariables().set("BUSY_STATE", 1); // Eating - i_ai3 = 1
|
||||
receiver.setIsRunning(true);
|
||||
receiver.setRunning();
|
||||
receiver.broadcastSay(ChatType.NPC_GENERAL, (getRandom(3) < 1) ? NpcStringId.LOOKS_DELICIOUS : NpcStringId.LET_S_GO_EAT);
|
||||
final Location loc = sender.getPointInRange(100, 200);
|
||||
loc.setHeading(receiver.getHeading());
|
||||
@@ -386,7 +386,7 @@ public final class SelMahumSquad extends AbstractNpcAI
|
||||
cancelQuestTimer("chef_set_invul", npc, null);
|
||||
npc.getVariables().remove("BUSY_STATE");
|
||||
npc.getVariables().remove("INVUL_REMOVE_TIMER_STARTED");
|
||||
npc.setIsRunning(false);
|
||||
npc.setWalking();
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -74,7 +74,7 @@ public final class BoyAndGirl extends AbstractNpcAI
|
||||
{
|
||||
startQuestTimer("NPC_CHANGEWEAP", 15000 + (getRandom(5) * 1000), npc, null);
|
||||
startQuestTimer("NPC_SHOUT", 10000 + (getRandom(5) * 1000), npc, null);
|
||||
npc.setIsRunning(true);
|
||||
npc.setRunning();
|
||||
final Location randomLoc = Util.getRandomPosition(npc.getSpawn().getLocation(), 200, 600);
|
||||
addMoveToDesire(npc, GeoEngine.getInstance().canMoveToTargetLoc(npc.getLocation().getX(), npc.getLocation().getY(), npc.getLocation().getZ(), randomLoc.getX(), randomLoc.getY(), randomLoc.getZ(), npc.getInstanceWorld()), 23);
|
||||
return super.onSpawn(npc);
|
||||
|
@@ -58,7 +58,7 @@ public final class Anais extends AbstractNpcAI
|
||||
{
|
||||
final L2Npc npc = _divineBurners.get(pot);
|
||||
npc.setDisplayEffect(1);
|
||||
npc.setIsRunning(false);
|
||||
npc.setWalking();
|
||||
if (pot < 4)
|
||||
{
|
||||
_current = npc;
|
||||
@@ -92,10 +92,10 @@ public final class Anais extends AbstractNpcAI
|
||||
final L2Npc b = _divineBurners.get(_pot);
|
||||
_pot = _pot + 1;
|
||||
b.setDisplayEffect(1);
|
||||
b.setIsRunning(false);
|
||||
b.setWalking();
|
||||
final L2Npc ward = addSpawn(GRAIL_WARD, new Location(b.getX(), b.getY(), b.getZ()), true, 0);
|
||||
((L2Attackable) ward).addDamageHate(_nextTarget, 0, 999);
|
||||
ward.setIsRunning(true);
|
||||
ward.setRunning();
|
||||
ward.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, _nextTarget, null);
|
||||
startQuestTimer("GUARD_ATTACK", 1000, ward, _nextTarget, true);
|
||||
startQuestTimer("SUICIDE", 20000, ward, null);
|
||||
@@ -127,7 +127,7 @@ public final class Anais extends AbstractNpcAI
|
||||
if (_current != null)
|
||||
{
|
||||
_current.setDisplayEffect(2);
|
||||
_current.setIsRunning(false);
|
||||
_current.setWalking();
|
||||
_current = null;
|
||||
}
|
||||
npc.doDie(null);
|
||||
@@ -175,7 +175,7 @@ public final class Anais extends AbstractNpcAI
|
||||
if (_current != null)
|
||||
{
|
||||
_current.setDisplayEffect(2);
|
||||
_current.setIsRunning(false);
|
||||
_current.setWalking();
|
||||
_current = null;
|
||||
}
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
|
@@ -358,7 +358,7 @@ public final class Baium extends AbstractNpcAI
|
||||
{
|
||||
mob.clearAggroList();
|
||||
}
|
||||
mob.setIsRunning(true);
|
||||
mob.setRunning();
|
||||
mob.addDamageHate(_baium, 0, 999);
|
||||
mob.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, _baium);
|
||||
}
|
||||
|
@@ -153,7 +153,7 @@ public final class BalokWarzone extends AbstractInstance
|
||||
L2Npc minion = minionList.get(Rnd.get(minionList.size()));
|
||||
if (minion != null)
|
||||
{
|
||||
minion.setIsRunning(true);
|
||||
minion.setRunning();
|
||||
((L2Attackable) minion).setCanReturnToSpawnPoint(false);
|
||||
currentMinion = minion;
|
||||
getTimers().addTimer("stage_last_minion_walk", 2000, minion, player);
|
||||
|
@@ -75,7 +75,7 @@ public final class IceQueensCastle extends AbstractInstance
|
||||
{
|
||||
if ((mob.getId() == ARCHERY_KNIGHT) && !mob.isDead() && !mob.isDecayed())
|
||||
{
|
||||
npc.setIsRunning(true);
|
||||
npc.setRunning();
|
||||
npc.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, mob);
|
||||
((L2Attackable) npc).addDamageHate(mob, 0, 999999);
|
||||
}
|
||||
@@ -151,7 +151,7 @@ public final class IceQueensCastle extends AbstractInstance
|
||||
{
|
||||
if ((mob.getId() == ARCHERY_KNIGHT) && !mob.isDead() && !mob.isDecayed())
|
||||
{
|
||||
npc.setIsRunning(true);
|
||||
npc.setRunning();
|
||||
npc.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, mob);
|
||||
((L2Attackable) npc).addDamageHate(mob, 0, 999999);
|
||||
}
|
||||
|
@@ -382,7 +382,7 @@ public final class IceQueensCastleBattle extends AbstractInstance
|
||||
if (npc.getVariables().getInt("FREYA_MOVE") == 0)
|
||||
{
|
||||
controller.getVariables().set("FREYA_MOVE", 1);
|
||||
freya.setIsRunning(true);
|
||||
freya.setRunning();
|
||||
freya.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, MIDDLE_POINT);
|
||||
}
|
||||
break;
|
||||
@@ -431,14 +431,14 @@ public final class IceQueensCastleBattle extends AbstractInstance
|
||||
manageScreenMsg(world, NpcStringId.BEGIN_STAGE_4);
|
||||
|
||||
final FriendlyNpcInstance jinia = (FriendlyNpcInstance) addSpawn(SUPP_JINIA, SUPP_JINIA_SPAWN, false, 0, true, world.getId());
|
||||
jinia.setIsRunning(true);
|
||||
jinia.setRunning();
|
||||
jinia.setIsInvul(true);
|
||||
jinia.setCanReturnToSpawnPoint(false);
|
||||
jinia.reduceCurrentHp(1, freya, null); // TODO: Find better way for attack
|
||||
freya.reduceCurrentHp(1, jinia, null);
|
||||
|
||||
final FriendlyNpcInstance kegor = (FriendlyNpcInstance) addSpawn(SUPP_KEGOR, SUPP_KEGOR_SPAWN, false, 0, true, world.getId());
|
||||
kegor.setIsRunning(true);
|
||||
kegor.setRunning();
|
||||
kegor.setIsInvul(true);
|
||||
kegor.setCanReturnToSpawnPoint(false);
|
||||
kegor.reduceCurrentHp(1, freya, null); // TODO: Find better way for attack
|
||||
@@ -673,7 +673,7 @@ public final class IceQueensCastleBattle extends AbstractInstance
|
||||
for (int i = 0; i < 3; i++)
|
||||
{
|
||||
final L2Attackable breath = (L2Attackable) addSpawn(BREATH, npc.getLocation(), true, 0, false, world.getId());
|
||||
breath.setIsRunning(true);
|
||||
breath.setRunning();
|
||||
breath.addDamageHate(mob.getMostHated(), 0, 999);
|
||||
breath.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, mob.getMostHated());
|
||||
startQuestTimer("BLIZZARD", 20000, breath, null);
|
||||
@@ -751,7 +751,7 @@ public final class IceQueensCastleBattle extends AbstractInstance
|
||||
{
|
||||
controller.getVariables().set("FREYA_MOVE", 1);
|
||||
manageScreenMsg(world, NpcStringId.FREYA_HAS_STARTED_TO_MOVE);
|
||||
freya.setIsRunning(true);
|
||||
freya.setRunning();
|
||||
freya.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, MIDDLE_POINT);
|
||||
}
|
||||
|
||||
@@ -825,7 +825,7 @@ public final class IceQueensCastleBattle extends AbstractInstance
|
||||
if (controller.getVariables().getInt("FREYA_MOVE") == 0)
|
||||
{
|
||||
controller.getVariables().set("FREYA_MOVE", 1);
|
||||
freya.setIsRunning(true);
|
||||
freya.setRunning();
|
||||
freya.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, MIDDLE_POINT);
|
||||
}
|
||||
|
||||
@@ -1042,7 +1042,7 @@ public final class IceQueensCastleBattle extends AbstractInstance
|
||||
final L2Attackable breath = (L2Attackable) addSpawn(BREATH, npc.getLocation(), false, 0, false, world.getId());
|
||||
if (player != null)
|
||||
{
|
||||
breath.setIsRunning(true);
|
||||
breath.setRunning();
|
||||
breath.addDamageHate(player, 0, 999);
|
||||
breath.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, player);
|
||||
}
|
||||
@@ -1116,7 +1116,7 @@ public final class IceQueensCastleBattle extends AbstractInstance
|
||||
manageScreenMsg(world, NpcStringId.FREYA_HAS_STARTED_TO_MOVE);
|
||||
|
||||
final L2Npc freya = params.getObject("freya", L2Npc.class);
|
||||
freya.setIsRunning(true);
|
||||
freya.setRunning();
|
||||
freya.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, MIDDLE_POINT);
|
||||
}
|
||||
|
||||
@@ -1173,7 +1173,7 @@ public final class IceQueensCastleBattle extends AbstractInstance
|
||||
if (target != null)
|
||||
{
|
||||
((L2Attackable) mob).addDamageHate(target, 0, 999);
|
||||
mob.setIsRunning(true);
|
||||
mob.setRunning();
|
||||
mob.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, target);
|
||||
}
|
||||
else
|
||||
|
@@ -103,7 +103,7 @@ public final class KimerianCommon extends AbstractInstance
|
||||
}
|
||||
else if (!npc.isAttackingNow() && (distance > 250))
|
||||
{
|
||||
npc.setIsRunning(true);
|
||||
npc.setRunning();
|
||||
addMoveToDesire(npc, new Location(player.getX() + getRandom(-100, 100), player.getY() + getRandom(-100, 100), player.getZ() + 50), 23);
|
||||
}
|
||||
else if (!npc.isInCombat() || !npc.isAttackingNow() || (npc.getTarget() == null))
|
||||
@@ -270,7 +270,7 @@ public final class KimerianCommon extends AbstractInstance
|
||||
getTimers().addTimer("KIMERIAN_CHAT_1", 5000, t -> kimerian.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.I_WILL_COME_BACK_ALIVE_WITH_ROTTING_AURA));
|
||||
getTimers().addTimer("KIMERIAN_RUN", 6000, t ->
|
||||
{
|
||||
kimerian.setIsRunning(true);
|
||||
kimerian.setRunning();
|
||||
addMoveToDesire(kimerian, loc, 23);
|
||||
kimerian.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.HA_HA_HA_HA);
|
||||
});
|
||||
@@ -309,7 +309,7 @@ public final class KimerianCommon extends AbstractInstance
|
||||
case NEOMI_KASHERON:
|
||||
{
|
||||
npc.initSeenCreatures();
|
||||
npc.setIsRunning(true);
|
||||
npc.setRunning();
|
||||
break;
|
||||
}
|
||||
case INVISIBLE_NPC:
|
||||
|
@@ -140,14 +140,14 @@ public class Vortex extends AbstractNpcAI
|
||||
{
|
||||
attackRandomTarget(npc);
|
||||
npc.setRandomWalking(true);
|
||||
npc.setIsRunning(true);
|
||||
npc.setRunning();
|
||||
break;
|
||||
}
|
||||
case BIG_VORTEX:
|
||||
{
|
||||
attackRandomTarget(npc);
|
||||
npc.setRandomWalking(true);
|
||||
npc.setIsRunning(true);
|
||||
npc.setRunning();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@@ -187,7 +187,7 @@ public final class OctavisWarzone extends AbstractInstance
|
||||
((L2Attackable) beasts).setCanReturnToSpawnPoint(false);
|
||||
final L2Npc octavis = addSpawn((!isExtremeMode(world) ? OCTAVIS_STAGE_1[0] : OCTAVIS_STAGE_1[1]), OCTAVIS_SPAWN_LOC, false, 0, false, world.getId());
|
||||
octavis.disableCoreAI(true);
|
||||
octavis.setIsRunning(true);
|
||||
octavis.setRunning();
|
||||
octavis.sendChannelingEffect(beasts, 1);
|
||||
octavis.setTargetable(false);
|
||||
((L2Attackable) octavis).setCanReturnToSpawnPoint(false);
|
||||
@@ -286,7 +286,7 @@ public final class OctavisWarzone extends AbstractInstance
|
||||
|
||||
if ((moveX != 0) && (moveY != 0))
|
||||
{
|
||||
npc.setIsRunning(true);
|
||||
npc.setRunning();
|
||||
addMoveToDesire(npc, new Location(moveX, moveY, -10008), 23);
|
||||
}
|
||||
break;
|
||||
@@ -299,7 +299,7 @@ public final class OctavisWarzone extends AbstractInstance
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
final L2Npc beast = addSpawn((!isExtremeMode(world) ? BEASTS_MINIONS[0] : BEASTS_MINIONS[1]), loc, false, 0, false, world.getId());
|
||||
beast.setIsRunning(true);
|
||||
beast.setRunning();
|
||||
((L2Attackable) beast).setCanReturnToSpawnPoint(false);
|
||||
addMoveToDesire(beast, Util.getRandomPosition(BEASTS_RANDOM_POINT, 500, 500), 23);
|
||||
}
|
||||
|
@@ -110,14 +110,14 @@ public final class Minigame extends AbstractNpcAI
|
||||
if (npc.getId() == BURNER)
|
||||
{
|
||||
npc.setDisplayEffect(2);
|
||||
npc.setIsRunning(false);
|
||||
npc.setWalking();
|
||||
}
|
||||
else
|
||||
{
|
||||
for (L2Npc burner : room.getBurners())
|
||||
{
|
||||
burner.setDisplayEffect(2);
|
||||
burner.setIsRunning(false);
|
||||
burner.setWalking();
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -145,7 +145,7 @@ public final class Minigame extends AbstractNpcAI
|
||||
{
|
||||
final L2Npc b = room.getBurners()[room.getOrder()[room.getCurrentPot()]];
|
||||
b.setDisplayEffect(1);
|
||||
b.setIsRunning(false);
|
||||
b.setWalking();
|
||||
startQuestTimer("off", 2000, b, null); // Stopping burning each pot 2s after
|
||||
startQuestTimer("timer", TIMER_INTERVAL * 1000, npc, null);
|
||||
room.setCurrentPot(room.getCurrentPot() + 1);
|
||||
@@ -276,7 +276,7 @@ public final class Minigame extends AbstractNpcAI
|
||||
if (room.getCurrentPot() < 8)
|
||||
{
|
||||
npc.setDisplayEffect(1);
|
||||
npc.setIsRunning(false);
|
||||
npc.setWalking();
|
||||
startQuestTimer("off", 2000, npc, null);
|
||||
room.setCurrentPot(room.getCurrentPot() + 1);
|
||||
}
|
||||
@@ -419,7 +419,7 @@ public final class Minigame extends AbstractNpcAI
|
||||
for (L2Npc burner : _burners)
|
||||
{
|
||||
burner.setDisplayEffect(1);
|
||||
burner.setIsRunning(false);
|
||||
burner.setWalking();
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -186,7 +186,7 @@ public final class SummonNpc extends AbstractEffect
|
||||
{
|
||||
npc.scheduleDespawn(_despawnDelay);
|
||||
}
|
||||
npc.setIsRunning(false); // TODO: Fix broadcast info.
|
||||
npc.setWalking(); // TODO: Fix broadcast info.
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -22,13 +22,20 @@ import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
|
||||
/**
|
||||
* Run/Walk player action handler.
|
||||
* @author UnAfraid
|
||||
* @author Mobius
|
||||
*/
|
||||
public final class RunWalk implements IPlayerActionHandler
|
||||
{
|
||||
@Override
|
||||
public void useAction(L2PcInstance activeChar, ActionDataHolder data, boolean ctrlPressed, boolean shiftPressed)
|
||||
{
|
||||
activeChar.setIsRunning(!activeChar.isRunning());
|
||||
if (activeChar.isRunning())
|
||||
{
|
||||
activeChar.setWalking();
|
||||
}
|
||||
else
|
||||
{
|
||||
activeChar.setRunning();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -226,7 +226,7 @@ public final class ChamberOfProphecies extends AbstractInstance
|
||||
case "ATTACK1":
|
||||
case "ATTACK2":
|
||||
{
|
||||
npc.setIsRunning(true);
|
||||
npc.setRunning();
|
||||
((L2Attackable) npc).setCanReturnToSpawnPoint(false);
|
||||
((L2Attackable) npc).setCanStopAttackByTime(false);
|
||||
if (npc.isScriptValue(0) && world.getAliveNpcs(L2MonsterInstance.class).isEmpty())
|
||||
|
@@ -119,7 +119,7 @@ public final class KartiaHelperAdolph extends AbstractNpcAI
|
||||
|
||||
if (!npc.isInsideRadius(loc, 50, true, true))
|
||||
{
|
||||
npc.setIsRunning(true);
|
||||
npc.setRunning();
|
||||
addMoveToDesire(npc, loc, 23);
|
||||
}
|
||||
}
|
||||
|
@@ -88,7 +88,7 @@ public final class KartiaHelperBarton extends AbstractNpcAI
|
||||
}
|
||||
else
|
||||
{
|
||||
npc.setIsRunning(true);
|
||||
npc.setRunning();
|
||||
addMoveToDesire(npc, loc, 23);
|
||||
}
|
||||
}
|
||||
|
@@ -227,7 +227,7 @@ public final class KartiaHelperElise extends AbstractNpcAI
|
||||
}
|
||||
else
|
||||
{
|
||||
npc.setIsRunning(true);
|
||||
npc.setRunning();
|
||||
addMoveToDesire(npc, loc, 23);
|
||||
}
|
||||
}
|
||||
|
@@ -284,7 +284,7 @@ public final class KartiasLabyrinth extends AbstractInstance
|
||||
{
|
||||
final Location loc = instance.getTemplateParameters().getLocation("middlePointRoom1");
|
||||
final Location moveTo = new Location(loc.getX() + getRandom(-100, 100), loc.getY() + getRandom(-100, 100), loc.getZ());
|
||||
npc.setIsRunning(true);
|
||||
npc.setRunning();
|
||||
addMoveToDesire(npc, moveTo, 6);
|
||||
getTimers().addTimer("START_MOVE", 15000, npc, null);
|
||||
}
|
||||
@@ -292,7 +292,7 @@ public final class KartiasLabyrinth extends AbstractInstance
|
||||
{
|
||||
final Location loc = instance.getTemplateParameters().getLocation("middlePointRoom3");
|
||||
final Location moveTo = new Location(loc.getX() + getRandom(-200, 200), loc.getY() + getRandom(-200, 200), loc.getZ());
|
||||
npc.setIsRunning(true);
|
||||
npc.setRunning();
|
||||
addMoveToDesire(npc, moveTo, 23);
|
||||
}
|
||||
}
|
||||
|
@@ -445,7 +445,7 @@ public final class LabyrinthOfBelis extends AbstractInstance
|
||||
public String onSpawn(L2Npc npc)
|
||||
{
|
||||
final L2Attackable officer = (L2Attackable) npc;
|
||||
officer.setIsRunning(true);
|
||||
officer.setRunning();
|
||||
officer.setCanReturnToSpawnPoint(false);
|
||||
getTimers().addRepeatingTimer("MESSAGE", 6000, npc, null);
|
||||
return super.onSpawn(npc);
|
||||
@@ -499,7 +499,7 @@ public final class LabyrinthOfBelis extends AbstractInstance
|
||||
|
||||
showOnScreenMsg(player, (getRandomBoolean() ? NpcStringId.IF_TERAIN_DIES_THE_MISSION_WILL_FAIL : NpcStringId.BEHIND_YOU_THE_ENEMY_IS_AMBUSHING_YOU), ExShowScreenMessage.TOP_CENTER, 4500);
|
||||
final L2Attackable mob = (L2Attackable) addSpawn((getRandomBoolean() ? OPERATIVE : HANDYMAN), SPAWN_ATTACKERS, false, 0, true, world.getId());
|
||||
mob.setIsRunning(true);
|
||||
mob.setRunning();
|
||||
mob.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, ATTACKER_SPOT);
|
||||
mob.broadcastSay(ChatType.NPC_GENERAL, (getRandomBoolean() ? NpcStringId.KILL_THE_GUY_MESSING_WITH_THE_ELECTRIC_DEVICE : NpcStringId.FOCUS_ON_ATTACKING_THE_GUY_IN_THE_ROOM));
|
||||
mob.addDamageHate(npc, 0, 9999);
|
||||
|
@@ -283,7 +283,7 @@ public final class MemoryOfDisaster extends AbstractInstance
|
||||
case "AWAKENING_GUIDE":
|
||||
{
|
||||
npc.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, AWAKENING_GUIDE_MOVE_1);
|
||||
npc.setIsRunning(true);
|
||||
npc.setRunning();
|
||||
break;
|
||||
}
|
||||
default:
|
||||
@@ -323,13 +323,13 @@ public final class MemoryOfDisaster extends AbstractInstance
|
||||
}
|
||||
case WIRPHY:
|
||||
{
|
||||
npc.setIsRunning(true);
|
||||
npc.setRunning();
|
||||
addMoveToDesire(npc, WIRPHY_MOVE, 23);
|
||||
break;
|
||||
}
|
||||
case SILVERA:
|
||||
{
|
||||
npc.setIsRunning(true);
|
||||
npc.setRunning();
|
||||
addMoveToDesire(npc, SILVERA_MOVE, 23);
|
||||
break;
|
||||
}
|
||||
@@ -470,7 +470,7 @@ public final class MemoryOfDisaster extends AbstractInstance
|
||||
player.getInstanceWorld().spawnGroup("ROGIN").forEach(n ->
|
||||
{
|
||||
addMoveToDesire(n, ROGIN_MOVE, 23);
|
||||
n.setIsRunning(true);
|
||||
n.setRunning();
|
||||
});
|
||||
break;
|
||||
}
|
||||
@@ -583,7 +583,7 @@ public final class MemoryOfDisaster extends AbstractInstance
|
||||
{
|
||||
npc.getInstanceWorld().getNpcs(DWARVES).forEach(n ->
|
||||
{
|
||||
n.setIsRunning(true);
|
||||
n.setRunning();
|
||||
n.broadcastSay(ChatType.NPC_GENERAL, SHOUT_RUN[Rnd.get(SHOUT_RUN.length)]);
|
||||
n.getAI().moveTo(DWARVES_MOVE_1);
|
||||
});
|
||||
@@ -915,7 +915,7 @@ public final class MemoryOfDisaster extends AbstractInstance
|
||||
{
|
||||
if (skill.getId() == SIEGE_GOLEM_SKILL_1.getSkillId())
|
||||
{
|
||||
npc.setIsRunning(true);
|
||||
npc.setRunning();
|
||||
npc.getAI().moveTo(GOLEM_MOVE);
|
||||
}
|
||||
break;
|
||||
|
@@ -84,7 +84,7 @@ public final class MithrilMine extends AbstractInstance
|
||||
for (L2Npc n : npcs)
|
||||
{
|
||||
n.setScriptValue(1);
|
||||
n.setIsRunning(true);
|
||||
n.setRunning();
|
||||
n.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, npc);
|
||||
((L2Attackable) n).addDamageHate(npc, 0, 999999);
|
||||
}
|
||||
|
@@ -82,7 +82,7 @@ public final class MuseumDungeon extends AbstractInstance
|
||||
desk.getVariables().set("book", true);
|
||||
|
||||
// Set Toyron
|
||||
toyron.setIsRunning(true);
|
||||
toyron.setRunning();
|
||||
toyron.setCanReturnToSpawnPoint(false);
|
||||
}
|
||||
|
||||
@@ -128,7 +128,7 @@ public final class MuseumDungeon extends AbstractInstance
|
||||
final List<L2Npc> thiefs = world.spawnGroup("thiefs");
|
||||
for (L2Npc thief : thiefs)
|
||||
{
|
||||
thief.setIsRunning(true);
|
||||
thief.setRunning();
|
||||
addAttackPlayerDesire(thief, player);
|
||||
thief.broadcastSay(ChatType.NPC_GENERAL, THIEF_SHOUT[getRandom(2)]);
|
||||
}
|
||||
@@ -143,7 +143,7 @@ public final class MuseumDungeon extends AbstractInstance
|
||||
final List<L2Npc> thiefs = world.spawnGroup("thiefs");
|
||||
for (L2Npc thief : thiefs)
|
||||
{
|
||||
thief.setIsRunning(true);
|
||||
thief.setRunning();
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
@@ -352,7 +352,7 @@ public final class Nursery extends AbstractInstance
|
||||
if (getRandom(100) < 4)
|
||||
{
|
||||
final L2Npc maguen = addSpawn(MAGUEN, npc, false, 0, false, instance.getId());
|
||||
maguen.setIsRunning(true);
|
||||
maguen.setRunning();
|
||||
maguen.getAI().startFollow(killer);
|
||||
showOnScreenMsg(instance, NpcStringId.MAGUEN_APPEARANCE, ExShowScreenMessage.MIDDLE_CENTER, 4000);
|
||||
getTimers().addTimer("MAGUEN_WAIT_TIMER", 4000, maguen, killer);
|
||||
|
@@ -184,7 +184,7 @@ public final class PailakaDevilsLegacy extends AbstractInstance
|
||||
{
|
||||
npc.disableCoreAI(true);
|
||||
npc.setScriptValue(1);
|
||||
npc.setIsRunning(true);
|
||||
npc.setRunning();
|
||||
npc.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, LEMATAN_PORT_POINT);
|
||||
}
|
||||
break;
|
||||
|
@@ -87,7 +87,7 @@ public final class SSQLibraryOfSages extends AbstractInstance
|
||||
}
|
||||
case "FOLLOW":
|
||||
{
|
||||
npc.setIsRunning(true);
|
||||
npc.setRunning();
|
||||
npc.getAI().startFollow(player);
|
||||
npc.broadcastSay(ChatType.NPC_GENERAL, ELCADIA_DIALOGS[getRandom(ELCADIA_DIALOGS.length)]);
|
||||
startQuestTimer("FOLLOW", 10000, npc, player);
|
||||
|
@@ -194,7 +194,7 @@ public final class SSQMonasteryOfSilence extends AbstractInstance
|
||||
{
|
||||
return null;
|
||||
}
|
||||
npc.setIsRunning(true);
|
||||
npc.setRunning();
|
||||
npc.getAI().startFollow(player);
|
||||
if (player.isInCombat())
|
||||
{
|
||||
|
@@ -87,7 +87,7 @@ public final class TalkingIslandPast extends AbstractInstance
|
||||
{
|
||||
final L2Npc knight = addSpawn(MYSTERIOUS_DARK_KNIGHT, TI_LOC_3, false, 0, false, instance.getId());
|
||||
knight.getAI().startFollow(player);
|
||||
knight.setIsRunning(true);
|
||||
knight.setRunning();
|
||||
showOnScreenMsg(player, NpcStringId.A_MYSTERIOUS_DARK_KNIGHT_IS_HERE, ExShowScreenMessage.TOP_CENTER, 5000);
|
||||
getTimers().addTimer("MSG", null, 5000, null, player, n -> showOnScreenMsg(n.getPlayer(), NpcStringId.TALK_TO_THE_MYSTERIOUS_DARK_KNIGHT, ExShowScreenMessage.TOP_CENTER, 5000));
|
||||
}
|
||||
@@ -129,7 +129,7 @@ public final class TalkingIslandPast extends AbstractInstance
|
||||
qs.setMemoState(2);
|
||||
final L2Npc knight = addSpawn(MYSTERIOUS_DARK_KNIGHT, loc, false, 0, false, instance.getId());
|
||||
knight.getAI().startFollow(player);
|
||||
knight.setIsRunning(true);
|
||||
knight.setRunning();
|
||||
showOnScreenMsg(player, NpcStringId.A_MYSTERIOUS_DARK_KNIGHT_IS_HERE, ExShowScreenMessage.TOP_CENTER, 5000);
|
||||
getTimers().addTimer("MSG", null, 5000, npc, player, n -> showOnScreenMsg(n.getPlayer(), NpcStringId.TALK_TO_THE_MYSTERIOUS_DARK_KNIGHT, ExShowScreenMessage.TOP_CENTER, 5000));
|
||||
}
|
||||
|
@@ -153,7 +153,7 @@ public final class Q10326_RespectYourElders extends Quest
|
||||
{
|
||||
npc.getVariables().set("OWNER", player);
|
||||
npc.setTitle(player.getName());
|
||||
npc.setIsRunning(true);
|
||||
npc.setRunning();
|
||||
npc.broadcastInfo();
|
||||
addMoveToDesire(npc, HANDERMONKEY_LOC[0], 0);
|
||||
npc.getVariables().set("MOVE_INDEX", 0);
|
||||
|
@@ -188,7 +188,7 @@ public final class Q10329_BackupSeekers extends Quest
|
||||
if (qs.isMemoState(1))
|
||||
{
|
||||
npc.setSummoner(player);
|
||||
npc.setIsRunning(true);
|
||||
npc.setRunning();
|
||||
npc.broadcastInfo();
|
||||
addMoveToDesire(npc, BART_LOC_1[0], 0);
|
||||
npc.getVariables().set("MOVE_INDEX", 0);
|
||||
@@ -199,7 +199,7 @@ public final class Q10329_BackupSeekers extends Quest
|
||||
else if (qs.isMemoState(2))
|
||||
{
|
||||
npc.setSummoner(player);
|
||||
npc.setIsRunning(true);
|
||||
npc.setRunning();
|
||||
npc.broadcastInfo();
|
||||
addMoveToDesire(npc, BART_LOC_2[0], 0);
|
||||
npc.getVariables().set("MOVE_INDEX", 0);
|
||||
|
@@ -203,7 +203,7 @@ public final class Q10365_SeekerEscort extends Quest
|
||||
{
|
||||
if (qs.isMemoState(1))
|
||||
{
|
||||
npc.setIsRunning(true);
|
||||
npc.setRunning();
|
||||
npc.broadcastInfo();
|
||||
addMoveToDesire(npc, BLOODHOUND_LOC_1[0], 0);
|
||||
npc.getVariables().set("MOVE_INDEX", 0);
|
||||
@@ -211,7 +211,7 @@ public final class Q10365_SeekerEscort extends Quest
|
||||
}
|
||||
else if (qs.isMemoState(2))
|
||||
{
|
||||
npc.setIsRunning(true);
|
||||
npc.setRunning();
|
||||
npc.broadcastInfo();
|
||||
addMoveToDesire(npc, BLOODHOUND_LOC_2[0], 0);
|
||||
npc.getVariables().set("MOVE_INDEX", 0);
|
||||
|
@@ -110,7 +110,7 @@ public final class Q10742_AFurryFriend extends Quest
|
||||
final L2Npc ricky = addSpawn(RICKY, player, true, 120000);
|
||||
ricky.setSummoner(player);
|
||||
ricky.setTitle(player.getName());
|
||||
ricky.setIsRunning(true);
|
||||
ricky.setRunning();
|
||||
ricky.getAI().setIntention(CtrlIntention.AI_INTENTION_FOLLOW, player);
|
||||
startQuestTimer("CHECK_RICKY_DISTANCE", 2500, ricky, player);
|
||||
}
|
||||
|
@@ -676,7 +676,10 @@ public class L2AttackableAI extends L2CharacterAI implements Runnable
|
||||
// Set the AI Intention to AI_INTENTION_ACTIVE
|
||||
setIntention(AI_INTENTION_ACTIVE);
|
||||
|
||||
npc.setWalking();
|
||||
if (!_actor.isFakePlayer())
|
||||
{
|
||||
npc.setWalking();
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
@@ -825,7 +825,7 @@ public class L2CharacterAI extends AbstractAI
|
||||
// Kill the actor client side by sending Server->Client packet AutoAttackStop, StopMove/StopRotation, Die (broadcast)
|
||||
clientNotifyDead();
|
||||
|
||||
if (!_actor.isPlayable())
|
||||
if (!_actor.isPlayable() && !_actor.isFakePlayer())
|
||||
{
|
||||
_actor.setWalking();
|
||||
}
|
||||
|
@@ -299,7 +299,14 @@ public final class WalkingManager implements IGameXmlReader
|
||||
}
|
||||
|
||||
npc.sendDebugMessage("Starting to move at route '" + routeName + "'");
|
||||
npc.setIsRunning(node.runToLocation());
|
||||
if (node.runToLocation())
|
||||
{
|
||||
npc.setRunning();
|
||||
}
|
||||
else
|
||||
{
|
||||
npc.setWalking();
|
||||
}
|
||||
npc.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, node);
|
||||
walk.setWalkCheckTask(ThreadPoolManager.scheduleAtFixedRate(new StartMovingTask(npc, routeName), 60000, 60000)); // start walk check task, for resuming walk after fight
|
||||
|
||||
@@ -332,7 +339,14 @@ public final class WalkingManager implements IGameXmlReader
|
||||
walk.setBlocked(true);
|
||||
final L2NpcWalkerNode node = walk.getCurrentNode();
|
||||
npc.sendDebugMessage("Route '" + routeName + "', continuing to node " + walk.getCurrentNodeId());
|
||||
npc.setIsRunning(node.runToLocation());
|
||||
if (node.runToLocation())
|
||||
{
|
||||
npc.setRunning();
|
||||
}
|
||||
else
|
||||
{
|
||||
npc.setWalking();
|
||||
}
|
||||
npc.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, node);
|
||||
walk.setBlocked(false);
|
||||
walk.setStoppedByAttack(false);
|
||||
|
@@ -772,7 +772,10 @@ public class L2Attackable extends L2Npc
|
||||
((L2AttackableAI) getAI()).setGlobalAggro(-25);
|
||||
clearAggroList();
|
||||
getAI().setIntention(CtrlIntention.AI_INTENTION_ACTIVE);
|
||||
setWalking();
|
||||
if (!isFakePlayer())
|
||||
{
|
||||
setWalking();
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
@@ -790,7 +793,10 @@ public class L2Attackable extends L2Npc
|
||||
((L2AttackableAI) getAI()).setGlobalAggro(-25);
|
||||
clearAggroList();
|
||||
getAI().setIntention(CtrlIntention.AI_INTENTION_ACTIVE);
|
||||
setWalking();
|
||||
if (!isFakePlayer())
|
||||
{
|
||||
setWalking();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1461,14 +1467,16 @@ public class L2Attackable extends L2Npc
|
||||
setScriptValue(0); // remove pvp flag
|
||||
setRunning(); // don't walk
|
||||
}
|
||||
else
|
||||
{
|
||||
setWalking();
|
||||
}
|
||||
|
||||
// Clear mod Seeded stat
|
||||
_seeded = false;
|
||||
_seed = null;
|
||||
_seederObjId = 0;
|
||||
|
||||
setWalking();
|
||||
|
||||
// check the region where this mob is, do not activate the AI if region is inactive.
|
||||
// if (!isInActiveRegion())
|
||||
// {
|
||||
@@ -1799,7 +1807,10 @@ public class L2Attackable extends L2Npc
|
||||
{
|
||||
((L2AttackableAI) getAI()).setGlobalAggro(-25);
|
||||
}
|
||||
setWalking();
|
||||
if (!isFakePlayer())
|
||||
{
|
||||
setWalking();
|
||||
}
|
||||
clearAggroList();
|
||||
}
|
||||
getAI().setIntention(CtrlIntention.AI_INTENTION_ACTIVE);
|
||||
|
@@ -2307,7 +2307,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
||||
return _isRunning;
|
||||
}
|
||||
|
||||
public final void setIsRunning(boolean value)
|
||||
private final void setIsRunning(boolean value)
|
||||
{
|
||||
if (_isRunning == value)
|
||||
{
|
||||
@@ -2355,10 +2355,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
||||
/** Set the L2Character movement type to run and send Server->Client packet ChangeMoveType to all others L2PcInstance. */
|
||||
public final void setRunning()
|
||||
{
|
||||
if (!isRunning())
|
||||
{
|
||||
setIsRunning(true);
|
||||
}
|
||||
setIsRunning(true);
|
||||
}
|
||||
|
||||
public final boolean hasBlockActions()
|
||||
|
@@ -3199,7 +3199,7 @@ public abstract class AbstractScript extends ManagedScript implements IEventTime
|
||||
{
|
||||
((L2Attackable) npc).addDamageHate(target, 0, desire);
|
||||
}
|
||||
npc.setIsRunning(true);
|
||||
npc.setRunning();
|
||||
npc.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, target);
|
||||
}
|
||||
|
||||
@@ -3210,7 +3210,7 @@ public abstract class AbstractScript extends ManagedScript implements IEventTime
|
||||
*/
|
||||
protected void addAttackDesire(L2Npc npc, L2Character target)
|
||||
{
|
||||
npc.setIsRunning(true);
|
||||
npc.setRunning();
|
||||
npc.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, target);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user