Sync with L2JServer Jan 24th 2015.
This commit is contained in:
@@ -31,6 +31,7 @@ import com.l2jserver.gameserver.model.Location;
|
||||
import com.l2jserver.gameserver.model.PcCondOverride;
|
||||
import com.l2jserver.gameserver.model.actor.L2Attackable;
|
||||
import com.l2jserver.gameserver.model.actor.L2Npc;
|
||||
import com.l2jserver.gameserver.model.actor.L2Summon;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jserver.gameserver.model.entity.Instance;
|
||||
import com.l2jserver.gameserver.model.instancezone.InstanceWorld;
|
||||
@@ -227,10 +228,12 @@ public class CavernOfThePirateCaptain extends AbstractNpcAI
|
||||
if (!world._is83)
|
||||
{
|
||||
player.stopAllEffectsExceptThoseThatLastThroughDeath();
|
||||
if (player.hasSummon())
|
||||
final L2Summon pet = player.getPet();
|
||||
if (pet != null)
|
||||
{
|
||||
player.getSummon().stopAllEffectsExceptThoseThatLastThroughDeath();
|
||||
pet.stopAllEffectsExceptThoseThatLastThroughDeath();
|
||||
}
|
||||
player.getServitors().values().forEach(L2Summon::stopAllEffectsExceptThoseThatLastThroughDeath);
|
||||
}
|
||||
world.playersInside.add(player);
|
||||
world.addAllowed(player.getObjectId());
|
||||
|
@@ -1642,16 +1642,12 @@ public final class CrystalCaverns extends Quest
|
||||
int _y = effector.getY() - (int) (offset * sin);
|
||||
int _z = effected.getZ();
|
||||
|
||||
if (Config.GEODATA > 0)
|
||||
{
|
||||
Location destiny = GeoData.getInstance().moveCheck(effected.getX(), effected.getY(), effected.getZ(), _x, _y, _z, effected.getInstanceId());
|
||||
_x = destiny.getX();
|
||||
_y = destiny.getY();
|
||||
}
|
||||
effected.broadcastPacket(new FlyToLocation(effected, _x, _y, _z, FlyType.THROW_UP));
|
||||
Location destination = GeoData.getInstance().moveCheck(effected.getX(), effected.getY(), effected.getZ(), _x, _y, _z, effected.getInstanceId());
|
||||
|
||||
effected.broadcastPacket(new FlyToLocation(effected, destination, FlyType.THROW_UP));
|
||||
|
||||
// maybe is need force set X,Y,Z
|
||||
effected.setXYZ(_x, _y, _z);
|
||||
effected.setXYZ(destination);
|
||||
effected.broadcastPacket(new ValidateLocation(effected));
|
||||
}
|
||||
|
||||
@@ -1714,7 +1710,7 @@ public final class CrystalCaverns extends Quest
|
||||
player.breakAttack();
|
||||
player.breakCast();
|
||||
player.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
|
||||
L2Summon pet = player.getSummon();
|
||||
L2Summon pet = player.getPet();
|
||||
if (pet != null)
|
||||
{
|
||||
pet.setTarget(null);
|
||||
@@ -1724,6 +1720,15 @@ public final class CrystalCaverns extends Quest
|
||||
pet.breakCast();
|
||||
pet.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
|
||||
}
|
||||
player.getServitors().values().forEach(s ->
|
||||
{
|
||||
s.setTarget(null);
|
||||
s.abortAttack();
|
||||
s.abortCast();
|
||||
s.breakAttack();
|
||||
s.breakCast();
|
||||
s.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
|
||||
});
|
||||
}
|
||||
|
||||
protected void runOracle(CCWorld world)
|
||||
@@ -2256,10 +2261,14 @@ public final class CrystalCaverns extends Quest
|
||||
{
|
||||
p.setIsParalyzed(false);
|
||||
Throw(npc, p);
|
||||
if (p.getSummon() != null)
|
||||
if (p.getPet() != null)
|
||||
{
|
||||
Throw(npc, p.getSummon());
|
||||
Throw(npc, p.getPet());
|
||||
}
|
||||
p.getServitors().values().forEach(s ->
|
||||
{
|
||||
Throw(npc, s);
|
||||
});
|
||||
}
|
||||
world._raidStatus = 0;
|
||||
for (L2Npc mob : world._animationMobs)
|
||||
@@ -2925,12 +2934,17 @@ public final class CrystalCaverns extends Quest
|
||||
int x = (int) (radius * Math.cos((i * 2 * Math.PI) / members));
|
||||
int y = (int) (radius * Math.sin((i++ * 2 * Math.PI) / members));
|
||||
p.teleToLocation(new Location(153571 + x, 142075 + y, -12737));
|
||||
L2Summon pet = p.getSummon();
|
||||
L2Summon pet = p.getPet();
|
||||
if (pet != null)
|
||||
{
|
||||
pet.teleToLocation(new Location(153571 + x, 142075 + y, -12737), true);
|
||||
pet.broadcastPacket(new ValidateLocation(pet));
|
||||
}
|
||||
p.getServitors().values().forEach(s ->
|
||||
{
|
||||
s.teleToLocation(new Location(153571 + x, 142075 + y, -12737), true);
|
||||
s.broadcastPacket(new ValidateLocation(s));
|
||||
});
|
||||
p.setIsParalyzed(true);
|
||||
p.broadcastPacket(new ValidateLocation(p));
|
||||
}
|
||||
|
@@ -28,6 +28,7 @@ import com.l2jserver.gameserver.instancemanager.InstanceManager;
|
||||
import com.l2jserver.gameserver.model.Location;
|
||||
import com.l2jserver.gameserver.model.actor.L2Character;
|
||||
import com.l2jserver.gameserver.model.actor.L2Npc;
|
||||
import com.l2jserver.gameserver.model.actor.L2Summon;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jserver.gameserver.model.holders.SkillHolder;
|
||||
import com.l2jserver.gameserver.model.instancezone.InstanceWorld;
|
||||
@@ -514,7 +515,7 @@ public final class DisciplesNecropolisPast extends Quest
|
||||
ch.stopAllEffectsExceptThoseThatLastThroughDeath();
|
||||
if (ch.hasSummon())
|
||||
{
|
||||
ch.getSummon().stopAllEffectsExceptThoseThatLastThroughDeath();
|
||||
ch.getServitors().values().forEach(L2Summon::stopAllEffectsExceptThoseThatLastThroughDeath);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -52,6 +52,7 @@ import com.l2jserver.gameserver.model.PcCondOverride;
|
||||
import com.l2jserver.gameserver.model.actor.L2Attackable;
|
||||
import com.l2jserver.gameserver.model.actor.L2Character;
|
||||
import com.l2jserver.gameserver.model.actor.L2Npc;
|
||||
import com.l2jserver.gameserver.model.actor.L2Summon;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2GrandBossInstance;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2MonsterInstance;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
@@ -941,10 +942,18 @@ public final class FinalEmperialTomb extends Quest
|
||||
{
|
||||
targetList.add(player);
|
||||
}
|
||||
if (player.hasSummon() && !player.getSummon().isDead())
|
||||
final L2Summon pet = player.getPet();
|
||||
if ((pet != null) && !pet.isDead())
|
||||
{
|
||||
targetList.add(player.getSummon());
|
||||
targetList.add(pet);
|
||||
}
|
||||
player.getServitors().values().forEach(s ->
|
||||
{
|
||||
if (!s.isDead())
|
||||
{
|
||||
targetList.add(s);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -22,6 +22,7 @@ import com.l2jserver.gameserver.instancemanager.InstanceManager;
|
||||
import com.l2jserver.gameserver.model.Location;
|
||||
import com.l2jserver.gameserver.model.actor.L2Character;
|
||||
import com.l2jserver.gameserver.model.actor.L2Npc;
|
||||
import com.l2jserver.gameserver.model.actor.L2Summon;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jserver.gameserver.model.instancezone.InstanceWorld;
|
||||
import com.l2jserver.gameserver.model.quest.Quest;
|
||||
@@ -112,7 +113,7 @@ public final class HideoutOfTheDawn extends Quest
|
||||
ch.stopAllEffectsExceptThoseThatLastThroughDeath();
|
||||
if (ch.hasSummon())
|
||||
{
|
||||
ch.getSummon().stopAllEffectsExceptThoseThatLastThroughDeath();
|
||||
ch.getServitors().values().forEach(L2Summon::stopAllEffectsExceptThoseThatLastThroughDeath);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -37,6 +37,7 @@ import com.l2jserver.gameserver.model.PcCondOverride;
|
||||
import com.l2jserver.gameserver.model.actor.L2Attackable;
|
||||
import com.l2jserver.gameserver.model.actor.L2Character;
|
||||
import com.l2jserver.gameserver.model.actor.L2Npc;
|
||||
import com.l2jserver.gameserver.model.actor.L2Summon;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2GrandBossInstance;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2NpcInstance;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
@@ -1170,11 +1171,14 @@ public final class IceQueensCastleHardBattle extends AbstractNpcAI
|
||||
if (world instanceof IQCNBWorld)
|
||||
{
|
||||
player.stopAllEffectsExceptThoseThatLastThroughDeath();
|
||||
if (player.hasSummon())
|
||||
final L2Summon pet = player.getPet();
|
||||
if (pet != null)
|
||||
{
|
||||
player.getSummon().stopAllEffectsExceptThoseThatLastThroughDeath();
|
||||
pet.stopAllEffectsExceptThoseThatLastThroughDeath();
|
||||
}
|
||||
|
||||
player.getServitors().values().forEach(L2Summon::stopAllEffectsExceptThoseThatLastThroughDeath);
|
||||
|
||||
if (world.isStatus(4))
|
||||
{
|
||||
teleportPlayer(player, BATTLE_PORT, world.getInstanceId());
|
||||
@@ -1222,10 +1226,12 @@ public final class IceQueensCastleHardBattle extends AbstractNpcAI
|
||||
private void managePlayerEnter(L2PcInstance player, IQCNBWorld world)
|
||||
{
|
||||
player.stopAllEffectsExceptThoseThatLastThroughDeath();
|
||||
if (player.hasSummon())
|
||||
final L2Summon pet = player.getPet();
|
||||
if (pet != null)
|
||||
{
|
||||
player.getSummon().stopAllEffectsExceptThoseThatLastThroughDeath();
|
||||
pet.stopAllEffectsExceptThoseThatLastThroughDeath();
|
||||
}
|
||||
player.getServitors().values().forEach(L2Summon::stopAllEffectsExceptThoseThatLastThroughDeath);
|
||||
world.playersInside.add(player);
|
||||
world.addAllowed(player.getObjectId());
|
||||
teleportPlayer(player, ENTER_LOC[getRandom(ENTER_LOC.length)], world.getInstanceId(), false);
|
||||
|
@@ -37,6 +37,7 @@ import com.l2jserver.gameserver.model.PcCondOverride;
|
||||
import com.l2jserver.gameserver.model.actor.L2Attackable;
|
||||
import com.l2jserver.gameserver.model.actor.L2Character;
|
||||
import com.l2jserver.gameserver.model.actor.L2Npc;
|
||||
import com.l2jserver.gameserver.model.actor.L2Summon;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2GrandBossInstance;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2NpcInstance;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
@@ -1170,11 +1171,14 @@ public final class IceQueensCastleNormalBattle extends AbstractNpcAI
|
||||
if (world instanceof IQCNBWorld)
|
||||
{
|
||||
player.stopAllEffectsExceptThoseThatLastThroughDeath();
|
||||
if (player.hasSummon())
|
||||
final L2Summon pet = player.getPet();
|
||||
if (pet != null)
|
||||
{
|
||||
player.getSummon().stopAllEffectsExceptThoseThatLastThroughDeath();
|
||||
pet.stopAllEffectsExceptThoseThatLastThroughDeath();
|
||||
}
|
||||
|
||||
player.getServitors().values().forEach(L2Summon::stopAllEffectsExceptThoseThatLastThroughDeath);
|
||||
|
||||
if (world.isStatus(4))
|
||||
{
|
||||
teleportPlayer(player, BATTLE_PORT, world.getInstanceId());
|
||||
@@ -1222,10 +1226,12 @@ public final class IceQueensCastleNormalBattle extends AbstractNpcAI
|
||||
private void managePlayerEnter(L2PcInstance player, IQCNBWorld world)
|
||||
{
|
||||
player.stopAllEffectsExceptThoseThatLastThroughDeath();
|
||||
if (player.hasSummon())
|
||||
final L2Summon pet = player.getPet();
|
||||
if (pet != null)
|
||||
{
|
||||
player.getSummon().stopAllEffectsExceptThoseThatLastThroughDeath();
|
||||
pet.stopAllEffectsExceptThoseThatLastThroughDeath();
|
||||
}
|
||||
player.getServitors().values().forEach(L2Summon::stopAllEffectsExceptThoseThatLastThroughDeath);
|
||||
world.playersInside.add(player);
|
||||
world.addAllowed(player.getObjectId());
|
||||
teleportPlayer(player, ENTER_LOC[getRandom(ENTER_LOC.length)], world.getInstanceId(), false);
|
||||
|
@@ -34,6 +34,7 @@ import com.l2jserver.gameserver.model.L2World;
|
||||
import com.l2jserver.gameserver.model.Location;
|
||||
import com.l2jserver.gameserver.model.actor.L2Character;
|
||||
import com.l2jserver.gameserver.model.actor.L2Npc;
|
||||
import com.l2jserver.gameserver.model.actor.L2Summon;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jserver.gameserver.model.entity.Instance;
|
||||
import com.l2jserver.gameserver.model.instancezone.InstanceWorld;
|
||||
@@ -1315,11 +1316,16 @@ public final class Kamaloka extends Quest
|
||||
};
|
||||
|
||||
ch.getEffectList().forEach(removeBuffs, false);
|
||||
|
||||
if (ch.hasSummon())
|
||||
final L2Summon pet = ch.getPet();
|
||||
if (pet != null)
|
||||
{
|
||||
ch.getSummon().getEffectList().forEach(removeBuffs, false);
|
||||
pet.getEffectList().forEach(removeBuffs, false);
|
||||
}
|
||||
|
||||
ch.getServitors().values().forEach(s ->
|
||||
{
|
||||
s.getEffectList().forEach(removeBuffs, false);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -24,6 +24,7 @@ import com.l2jserver.gameserver.instancemanager.InstanceManager;
|
||||
import com.l2jserver.gameserver.model.Location;
|
||||
import com.l2jserver.gameserver.model.actor.L2Character;
|
||||
import com.l2jserver.gameserver.model.actor.L2Npc;
|
||||
import com.l2jserver.gameserver.model.actor.L2Summon;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jserver.gameserver.model.holders.SkillHolder;
|
||||
import com.l2jserver.gameserver.model.instancezone.InstanceWorld;
|
||||
@@ -223,10 +224,12 @@ public final class MonasteryOfSilence1 extends AbstractNpcAI
|
||||
private static final void removeBuffs(L2Character ch)
|
||||
{
|
||||
ch.stopAllEffectsExceptThoseThatLastThroughDeath();
|
||||
if (ch.hasSummon())
|
||||
final L2Summon pet = ch.getPet();
|
||||
if (pet != null)
|
||||
{
|
||||
ch.getSummon().stopAllEffectsExceptThoseThatLastThroughDeath();
|
||||
pet.stopAllEffectsExceptThoseThatLastThroughDeath();
|
||||
}
|
||||
ch.getServitors().values().forEach(L2Summon::stopAllEffectsExceptThoseThatLastThroughDeath);
|
||||
}
|
||||
|
||||
protected void spawnNPC(L2PcInstance player, MoSWorld world)
|
||||
|
@@ -24,6 +24,7 @@ import com.l2jserver.gameserver.model.L2Party;
|
||||
import com.l2jserver.gameserver.model.Location;
|
||||
import com.l2jserver.gameserver.model.actor.L2Character;
|
||||
import com.l2jserver.gameserver.model.actor.L2Npc;
|
||||
import com.l2jserver.gameserver.model.actor.L2Summon;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2DoorInstance;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jserver.gameserver.model.entity.Instance;
|
||||
@@ -237,11 +238,17 @@ public final class NornilsGarden extends Quest
|
||||
{
|
||||
removeBuffs(player);
|
||||
giveBuffs(player);
|
||||
if (player.hasSummon())
|
||||
final L2Summon pet = player.getPet();
|
||||
if (pet != null)
|
||||
{
|
||||
removeBuffs(player.getSummon());
|
||||
giveBuffs(player.getSummon());
|
||||
removeBuffs(pet);
|
||||
giveBuffs(pet);
|
||||
}
|
||||
player.getServitors().values().forEach(s ->
|
||||
{
|
||||
removeBuffs(s);
|
||||
giveBuffs(s);
|
||||
});
|
||||
super.teleportPlayer(player, loc, instanceId);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user