sendPacket(new ItemList(activeChar, false));
sendPacket(new ShortCutInit(activeChar));
SystemMessage sm = new SystemMessage(SystemMessageId.WELCOME_TO_LINEAGE);
sendPacket(sm);
sm = new SystemMessage(SystemMessageId.S1_S2);
sm.addString(getText("V2VsY29tZSB0byBhIEwySiBTZXJ2ZXIsIGZvdW5kZWQgYnkgTDJDaGVmLg=="));
sendPacket(sm);
sm = new SystemMessage(SystemMessageId.S1_S2);
sm.addString(getText("RGV2ZWxvcGVkIGJ5IHRoZSBMMkogRGV2IFRlYW0gYXQgbDJqc2VydmVyLmNvbS4="));
sendPacket(sm);
if (Config.SERVER_VERSION != null)
{
sm = new SystemMessage(SystemMessageId.S1_S2);
sm.addString(getText("TDJKIFNlcnZlciBWZXJzaW9uOg==")+" "+Config.SERVER_VERSION);
sendPacket(sm);
}
if (Config.DATAPACK_VERSION != null)
{
sm = new SystemMessage(SystemMessageId.S1_S2);
sm.addString(getText("TDJKIERhdGFwYWNrIFZlcnNpb246")+" "+Config.DATAPACK_VERSION);
sendPacket(sm);
}
sm = null;
sm = new SystemMessage(SystemMessageId.S1_S2);
sm.addString(getText("Q29weXJpZ2h0IDIwMDQtMjAwNw=="));
sendPacket(sm);
sm = new SystemMessage(SystemMessageId.S1_S2);
sm.addString(getText("V2VsY29tZSB0byA="));
sm.addString(LoginServerThread.getInstance().getServerName());
sendPacket(sm);
SevenSigns.getInstance().sendCurrentPeriodMsg(activeChar);
Announcements.getInstance().showAnnouncements(activeChar);
Quest.playerEnter(activeChar);
activeChar.sendPacket(new QuestList());
if (Config.SERVER_NEWS)
{
String serverNews = HtmCache.getInstance().getHtm("data/html/servnews.htm");
if (serverNews != null)
sendPacket(new NpcHtmlMessage(1, serverNews));
}
PetitionManager.getInstance().checkPetitionMessages(activeChar);
// send user info again .. just like the real client
//sendPacket(ui);
if (activeChar.getClanId() != 0 && activeChar.getClan() != null)
{
sendPacket(new PledgeShowMemberListAll(activeChar.getClan(), activeChar));
sendPacket(new PledgeStatusChanged(activeChar.getClan()));
}
if (activeChar.isAlikeDead())
{
// no broadcast needed since the player will already spawn dead to others
sendPacket(new Die(activeChar));
}
if (Config.ALLOW_WATER)
activeChar.checkWaterState();
if (Hero.getInstance().getHeroes() != null &&
Hero.getInstance().getHeroes().containsKey(activeChar.getObjectId()))
activeChar.setHero(true);
setPledgeClass(activeChar);
//add char to online characters
activeChar.setOnlineStatus(true);
notifyFriends(activeChar);
notifyClanMembers(activeChar);
notifySponsorOrApprentice(activeChar);
activeChar.onPlayerEnter();
if (Olympiad.getInstance().playerInStadia(activeChar))
{
activeChar.teleToLocation(MapRegionTable.TeleportWhereType.Town);
activeChar.sendMessage("You have been teleported to the nearest town due to you being in an Olympiad Stadium");
}
if (DimensionalRiftManager.getInstance().checkIfInRiftZone(activeChar.getX(), activeChar.getY(), activeChar.getZ(), false))
{
DimensionalRiftManager.getInstance().teleportToWaitingRoom(activeChar);
}
if (activeChar.getClanJoinExpiryTime() > System.currentTimeMillis())
{
activeChar.sendPacket(new SystemMessage(SystemMessageId.CLAN_MEMBERSHIP_TERMINATED));
}
if (activeChar.getClan() != null)
{
activeChar.sendPacket(new PledgeSkillList(activeChar.getClan()));
for (Siege siege : SiegeManager.getInstance().getSieges())
{
if (!siege.getIsInProgress()) continue;
if (siege.checkIsAttacker(activeChar.getClan()))
activeChar.setSiegeState((byte)1);
else if (siege.checkIsDefender(activeChar.getClan()))
activeChar.setSiegeState((byte)2);
}
// Add message at connexion if clanHall not paid.
// Possibly this is custom...
ClanHall clanHall = ClanHallManager.getInstance().getClanHallByOwner(activeChar.getClan());
if(clanHall != null){
if(!clanHall.getPaid()){
activeChar.sendPacket(new SystemMessage(SystemMessageId.PAYMENT_FOR_YOUR_CLAN_HALL_HAS_NOT_BEEN_MADE_PLEASE_MAKE_PAYMENT_TO_YOUR_CLAN_WAREHOUSE_BY_S1_TOMORROW));
}
}
}
if (!activeChar.isGM() && activeChar.getSiegeState() < 2 && activeChar.isInsideZone(L2Character.ZONE_SIEGE))