Sync with L2JServer Jan 24th 2015.

This commit is contained in:
mobius
2015-01-24 20:02:32 +00:00
parent d349bd3924
commit 1c6301c46d
1012 changed files with 23069 additions and 6307 deletions

View File

@@ -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());

View File

@@ -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));
}

View File

@@ -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);
}
}

View File

@@ -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);
}
});
}
}
}

View File

@@ -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);
}
}

View File

@@ -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);

View File

@@ -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);

View File

@@ -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);
});
}
/**

View File

@@ -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)

View File

@@ -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);
}