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

@ -21,7 +21,7 @@ package com.l2jserver.gameserver.model.entity;
import java.util.ArrayList;
import java.util.List;
import com.l2jserver.gameserver.datatables.SkillTreesData;
import com.l2jserver.gameserver.data.xml.impl.SkillTreesData;
import com.l2jserver.gameserver.model.L2SkillLearn;
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
import com.l2jserver.gameserver.model.events.ListenersContainer;

View File

@ -33,7 +33,7 @@ import javolution.util.FastMap;
import com.l2jserver.L2DatabaseFactory;
import com.l2jserver.gameserver.ThreadPoolManager;
import com.l2jserver.gameserver.datatables.ClanTable;
import com.l2jserver.gameserver.data.sql.impl.ClanTable;
import com.l2jserver.gameserver.enums.AuctionItemType;
import com.l2jserver.gameserver.idfactory.IdFactory;
import com.l2jserver.gameserver.instancemanager.AuctionManager;

View File

@ -28,7 +28,7 @@ import javolution.util.FastMap;
import com.l2jserver.Config;
import com.l2jserver.gameserver.ThreadPoolManager;
import com.l2jserver.gameserver.datatables.NpcData;
import com.l2jserver.gameserver.data.xml.impl.NpcData;
import com.l2jserver.gameserver.datatables.SkillData;
import com.l2jserver.gameserver.datatables.SpawnTable;
import com.l2jserver.gameserver.enums.Team;
@ -36,6 +36,7 @@ import com.l2jserver.gameserver.instancemanager.HandysBlockCheckerManager;
import com.l2jserver.gameserver.model.ArenaParticipantsHolder;
import com.l2jserver.gameserver.model.L2Spawn;
import com.l2jserver.gameserver.model.L2World;
import com.l2jserver.gameserver.model.actor.L2Summon;
import com.l2jserver.gameserver.model.actor.instance.L2BlockInstance;
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
import com.l2jserver.gameserver.model.actor.templates.L2NpcTemplate;
@ -388,11 +389,12 @@ public final class BlockCheckerEngine
player.setTeam(Team.BLUE);
}
player.stopAllEffects();
if (player.hasSummon())
final L2Summon pet = player.getPet();
if (pet != null)
{
player.getSummon().unSummon(player);
pet.unSummon(player);
}
player.getServitors().values().forEach(s -> s.unSummon(player));
// Give the player start up effects
// Freeze

View File

@ -34,10 +34,10 @@ import javolution.util.FastMap;
import com.l2jserver.Config;
import com.l2jserver.L2DatabaseFactory;
import com.l2jserver.gameserver.ThreadPoolManager;
import com.l2jserver.gameserver.datatables.CastleData;
import com.l2jserver.gameserver.datatables.ClanTable;
import com.l2jserver.gameserver.datatables.DoorTable;
import com.l2jserver.gameserver.datatables.NpcData;
import com.l2jserver.gameserver.data.sql.impl.ClanTable;
import com.l2jserver.gameserver.data.xml.impl.CastleData;
import com.l2jserver.gameserver.data.xml.impl.DoorData;
import com.l2jserver.gameserver.data.xml.impl.NpcData;
import com.l2jserver.gameserver.enums.CastleSide;
import com.l2jserver.gameserver.enums.MountType;
import com.l2jserver.gameserver.instancemanager.CastleManager;
@ -764,7 +764,7 @@ public final class Castle extends AbstractResidence
// This method loads castle door data from database
private void loadDoor()
{
for (L2DoorInstance door : DoorTable.getInstance().getDoors())
for (L2DoorInstance door : DoorData.getInstance().getDoors())
{
if ((door.getCastle() != null) && (door.getCastle().getResidenceId() == getResidenceId()))
{
@ -816,7 +816,7 @@ public final class Castle extends AbstractResidence
public void setDoorUpgrade(int doorId, int ratio, boolean save)
{
final L2DoorInstance door = (getDoors().isEmpty()) ? DoorTable.getInstance().getDoor(doorId) : getDoor(doorId);
final L2DoorInstance door = (getDoors().isEmpty()) ? DoorData.getInstance().getDoor(doorId) : getDoor(doorId);
if (door == null)
{
return;

View File

@ -30,7 +30,7 @@ import javolution.util.FastMap;
import com.l2jserver.L2DatabaseFactory;
import com.l2jserver.gameserver.ThreadPoolManager;
import com.l2jserver.gameserver.datatables.ClanTable;
import com.l2jserver.gameserver.data.sql.impl.ClanTable;
import com.l2jserver.gameserver.model.L2Clan;
import com.l2jserver.gameserver.model.StatsSet;
import com.l2jserver.gameserver.model.actor.instance.L2DoorInstance;

View File

@ -41,11 +41,11 @@ import com.l2jserver.L2DatabaseFactory;
import com.l2jserver.gameserver.FortUpdater;
import com.l2jserver.gameserver.FortUpdater.UpdaterType;
import com.l2jserver.gameserver.ThreadPoolManager;
import com.l2jserver.gameserver.datatables.ClanTable;
import com.l2jserver.gameserver.datatables.DoorTable;
import com.l2jserver.gameserver.datatables.NpcData;
import com.l2jserver.gameserver.data.sql.impl.ClanTable;
import com.l2jserver.gameserver.data.xml.impl.DoorData;
import com.l2jserver.gameserver.data.xml.impl.NpcData;
import com.l2jserver.gameserver.data.xml.impl.StaticObjectData;
import com.l2jserver.gameserver.datatables.SpawnTable;
import com.l2jserver.gameserver.datatables.StaticObjects;
import com.l2jserver.gameserver.enums.MountType;
import com.l2jserver.gameserver.instancemanager.CastleManager;
import com.l2jserver.gameserver.instancemanager.FortManager;
@ -729,7 +729,7 @@ public final class Fort extends AbstractResidence
// This method loads fort door data from database
private void loadDoor()
{
for (L2DoorInstance door : DoorTable.getInstance().getDoors())
for (L2DoorInstance door : DoorData.getInstance().getDoors())
{
if ((door.getFort() != null) && (door.getFort().getResidenceId() == getResidenceId()))
{
@ -740,7 +740,7 @@ public final class Fort extends AbstractResidence
private void loadFlagPoles()
{
for (L2StaticObjectInstance obj : StaticObjects.getInstance().getStaticObjects())
for (L2StaticObjectInstance obj : StaticObjectData.getInstance().getStaticObjects())
{
if ((obj.getType() == 3) && obj.getName().startsWith(getName()))
{

View File

@ -32,8 +32,8 @@ import javolution.util.FastList;
import com.l2jserver.Config;
import com.l2jserver.L2DatabaseFactory;
import com.l2jserver.gameserver.ThreadPoolManager;
import com.l2jserver.gameserver.datatables.ClanTable;
import com.l2jserver.gameserver.datatables.NpcData;
import com.l2jserver.gameserver.data.sql.impl.ClanTable;
import com.l2jserver.gameserver.data.xml.impl.NpcData;
import com.l2jserver.gameserver.enums.FortTeleportWhoType;
import com.l2jserver.gameserver.enums.SiegeClanType;
import com.l2jserver.gameserver.instancemanager.FortManager;

View File

@ -39,10 +39,10 @@ import javolution.util.FastMap;
import com.l2jserver.Config;
import com.l2jserver.L2DatabaseFactory;
import com.l2jserver.gameserver.cache.HtmCache;
import com.l2jserver.gameserver.datatables.CharNameTable;
import com.l2jserver.gameserver.datatables.ClanTable;
import com.l2jserver.gameserver.datatables.ClassListData;
import com.l2jserver.gameserver.datatables.NpcData;
import com.l2jserver.gameserver.data.sql.impl.CharNameTable;
import com.l2jserver.gameserver.data.sql.impl.ClanTable;
import com.l2jserver.gameserver.data.xml.impl.ClassListData;
import com.l2jserver.gameserver.data.xml.impl.NpcData;
import com.l2jserver.gameserver.instancemanager.CastleManager;
import com.l2jserver.gameserver.model.L2Clan;
import com.l2jserver.gameserver.model.L2World;

View File

@ -41,8 +41,8 @@ import org.w3c.dom.Node;
import com.l2jserver.Config;
import com.l2jserver.gameserver.ThreadPoolManager;
import com.l2jserver.gameserver.datatables.DoorTable;
import com.l2jserver.gameserver.datatables.NpcData;
import com.l2jserver.gameserver.data.xml.impl.DoorData;
import com.l2jserver.gameserver.data.xml.impl.NpcData;
import com.l2jserver.gameserver.idfactory.IdFactory;
import com.l2jserver.gameserver.instancemanager.InstanceManager;
import com.l2jserver.gameserver.model.L2Spawn;
@ -538,7 +538,7 @@ public final class Instance
{
doorId = Integer.parseInt(d.getAttributes().getNamedItem("doorId").getNodeValue());
StatsSet set = new StatsSet();
set.add(DoorTable.getInstance().getDoorTemplate(doorId));
set.add(DoorData.getInstance().getDoorTemplate(doorId));
for (Node bean = d.getFirstChild(); bean != null; bean = bean.getNextSibling())
{
if ("set".equalsIgnoreCase(bean.getNodeName()))

View File

@ -36,7 +36,7 @@ import javolution.util.FastMap;
import com.l2jserver.Config;
import com.l2jserver.gameserver.cache.HtmCache;
import com.l2jserver.gameserver.datatables.NpcData;
import com.l2jserver.gameserver.data.xml.impl.NpcData;
import com.l2jserver.gameserver.datatables.SpawnTable;
import com.l2jserver.gameserver.instancemanager.AntiFeedManager;
import com.l2jserver.gameserver.model.L2Spawn;

View File

@ -25,7 +25,7 @@ import java.sql.SQLException;
import java.util.concurrent.ScheduledFuture;
import com.l2jserver.gameserver.ThreadPoolManager;
import com.l2jserver.gameserver.datatables.CharNameTable;
import com.l2jserver.gameserver.data.sql.impl.CharNameTable;
import com.l2jserver.gameserver.enums.MailType;
import com.l2jserver.gameserver.idfactory.IdFactory;
import com.l2jserver.gameserver.instancemanager.MailManager;

View File

@ -23,6 +23,7 @@ import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
@ -35,9 +36,9 @@ import javolution.util.FastList;
import com.l2jserver.Config;
import com.l2jserver.L2DatabaseFactory;
import com.l2jserver.gameserver.ThreadPoolManager;
import com.l2jserver.gameserver.datatables.ClanTable;
import com.l2jserver.gameserver.datatables.NpcData;
import com.l2jserver.gameserver.datatables.SiegeScheduleData;
import com.l2jserver.gameserver.data.sql.impl.ClanTable;
import com.l2jserver.gameserver.data.xml.impl.NpcData;
import com.l2jserver.gameserver.data.xml.impl.SiegeScheduleData;
import com.l2jserver.gameserver.enums.SiegeClanType;
import com.l2jserver.gameserver.enums.SiegeTeleportWhoType;
import com.l2jserver.gameserver.instancemanager.CastleManager;
@ -54,6 +55,7 @@ import com.l2jserver.gameserver.model.SiegeScheduleDate;
import com.l2jserver.gameserver.model.TeleportWhereType;
import com.l2jserver.gameserver.model.TowerSpawn;
import com.l2jserver.gameserver.model.actor.L2Npc;
import com.l2jserver.gameserver.model.actor.L2Summon;
import com.l2jserver.gameserver.model.actor.instance.L2ControlTowerInstance;
import com.l2jserver.gameserver.model.actor.instance.L2FlameTowerInstance;
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
@ -610,17 +612,35 @@ public class Siege implements Siegable
}
}
member.sendPacket(new UserInfo(member));
for (L2PcInstance player : member.getKnownList().getKnownPlayers().values())
final Collection<L2PcInstance> plrs = member.getKnownList().getKnownPlayers().values();
for (L2PcInstance player : plrs)
{
if (player == null)
if ((player == null) || !member.isVisibleFor(player))
{
continue;
}
player.sendPacket(new RelationChanged(member, member.getRelation(player), member.isAutoAttackable(player)));
if (member.hasSummon())
final int relation = member.getRelation(player);
Integer oldrelation = member.getKnownList().getKnownRelations().get(player.getObjectId());
if ((oldrelation == null) || (oldrelation != relation))
{
player.sendPacket(new RelationChanged(member.getSummon(), member.getRelation(player), member.isAutoAttackable(player)));
final RelationChanged rc = new RelationChanged();
rc.addRelation(member, relation, member.isAutoAttackable(player));
if (member.hasSummon())
{
final L2Summon pet = member.getPet();
if (pet != null)
{
rc.addRelation(pet, relation, member.isAutoAttackable(player));
}
if (member.hasServitors())
{
member.getServitors().values().forEach(s -> rc.addRelation(s, relation, member.isAutoAttackable(player)));
}
}
player.sendPacket(rc);
member.getKnownList().getKnownRelations().put(player.getObjectId(), relation);
}
}
}
@ -659,16 +679,35 @@ public class Siege implements Siegable
}
member.sendPacket(new UserInfo(member));
for (L2PcInstance player : member.getKnownList().getKnownPlayers().values())
final Collection<L2PcInstance> plrs = member.getKnownList().getKnownPlayers().values();
for (L2PcInstance player : plrs)
{
if (player == null)
if ((player == null) || !member.isVisibleFor(player))
{
continue;
}
player.sendPacket(new RelationChanged(member, member.getRelation(player), member.isAutoAttackable(player)));
if (member.hasSummon())
final int relation = member.getRelation(player);
Integer oldrelation = member.getKnownList().getKnownRelations().get(player.getObjectId());
if ((oldrelation == null) || (oldrelation != relation))
{
player.sendPacket(new RelationChanged(member.getSummon(), member.getRelation(player), member.isAutoAttackable(player)));
final RelationChanged rc = new RelationChanged();
rc.addRelation(member, relation, member.isAutoAttackable(player));
if (member.hasSummon())
{
final L2Summon pet = member.getPet();
if (pet != null)
{
rc.addRelation(pet, relation, member.isAutoAttackable(player));
}
if (member.hasServitors())
{
member.getServitors().values().forEach(s -> rc.addRelation(s, relation, member.isAutoAttackable(player)));
}
}
player.sendPacket(rc);
member.getKnownList().getKnownRelations().put(player.getObjectId(), relation);
}
}
}

View File

@ -29,9 +29,9 @@ import javolution.util.FastMap;
import com.l2jserver.Config;
import com.l2jserver.gameserver.cache.HtmCache;
import com.l2jserver.gameserver.datatables.DoorTable;
import com.l2jserver.gameserver.data.xml.impl.DoorData;
import com.l2jserver.gameserver.data.xml.impl.NpcData;
import com.l2jserver.gameserver.datatables.ItemTable;
import com.l2jserver.gameserver.datatables.NpcData;
import com.l2jserver.gameserver.datatables.SkillData;
import com.l2jserver.gameserver.datatables.SpawnTable;
import com.l2jserver.gameserver.instancemanager.AntiFeedManager;
@ -386,7 +386,7 @@ public class TvTEvent
PcInventory inv = playerInstance.getInventory();
// Check for stackable item, non stackabe items need to be added one by one
if (ItemTable.getInstance().createDummyItem(reward[0]).isStackable())
if (ItemTable.getInstance().getTemplate(reward[0]).isStackable())
{
inv.addItem("TvT Event", reward[0], reward[1], playerInstance, playerInstance);
@ -587,7 +587,7 @@ public class TvTEvent
L2DoorInstance door = null;
if (_TvTEventInstance <= 0)
{
door = DoorTable.getInstance().getDoor(doorId);
door = DoorData.getInstance().getDoor(doorId);
}
else
{

View File

@ -68,13 +68,15 @@ public class TvTEventTeleporter implements Runnable
return;
}
L2Summon summon = _playerInstance.getSummon();
L2Summon summon = _playerInstance.getPet();
if (summon != null)
{
summon.unSummon(_playerInstance);
}
_playerInstance.getServitors().values().forEach(s -> s.unSummon(_playerInstance));
if ((Config.TVT_EVENT_EFFECTS_REMOVAL == 0) || ((Config.TVT_EVENT_EFFECTS_REMOVAL == 1) && ((_playerInstance.getTeam() == Team.NONE) || (_playerInstance.isInDuel() && (_playerInstance.getDuelState() != Duel.DUELSTATE_INTERRUPTED)))))
{
_playerInstance.stopAllEffectsExceptThoseThatLastThroughDeath();

View File

@ -25,7 +25,7 @@ import java.util.logging.Logger;
import com.l2jserver.L2DatabaseFactory;
import com.l2jserver.gameserver.ThreadPoolManager;
import com.l2jserver.gameserver.datatables.ClanTable;
import com.l2jserver.gameserver.data.sql.impl.ClanTable;
import com.l2jserver.gameserver.instancemanager.AuctionManager;
import com.l2jserver.gameserver.instancemanager.ClanHallManager;
import com.l2jserver.gameserver.model.L2Clan;

View File

@ -33,8 +33,8 @@ import javolution.util.FastMap;
import com.l2jserver.Config;
import com.l2jserver.L2DatabaseFactory;
import com.l2jserver.gameserver.ThreadPoolManager;
import com.l2jserver.gameserver.datatables.ClanTable;
import com.l2jserver.gameserver.datatables.NpcData;
import com.l2jserver.gameserver.data.sql.impl.ClanTable;
import com.l2jserver.gameserver.data.xml.impl.NpcData;
import com.l2jserver.gameserver.enums.SiegeClanType;
import com.l2jserver.gameserver.instancemanager.CHSiegeManager;
import com.l2jserver.gameserver.instancemanager.MapRegionManager;