Initial changes.

This commit is contained in:
MobiusDev
2018-09-11 22:29:39 +00:00
parent c6ff9df76d
commit 2ea60b1bb9
230 changed files with 5030 additions and 7500 deletions

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>L2J_Mobius_Classic_2.2_Antharas</name>
<name>L2J_Mobius_Classic_2.3_SevenSigns</name>
<comment></comment>
<projects>
</projects>

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xml>
<project name="L2J_Mobius_Classic_2.2_Antharas" default="cleanup" basedir=".">
<project name="L2J_Mobius_Classic_2.3_SevenSigns" default="cleanup" basedir=".">
<description>
This file is part of the L2J Mobius project.
@@ -133,15 +133,15 @@
</target>
<target name="adding-core" depends="jar" description="Adding the compiled jars to the Zip file.">
<zip destfile="${build}/L2J_Mobius_Classic_2.2_Antharas.zip" basedir="${build.dist}" level="9" />
<zip destfile="${build}/L2J_Mobius_Classic_2.3_SevenSigns.zip" basedir="${build.dist}" level="9" />
</target>
<target name="adding-datapack" depends="adding-core" description="Updating the Zip file with datapack content.">
<zip destfile="${build}/L2J_Mobius_Classic_2.2_Antharas.zip" basedir="${datapack}" update="true" level="9" />
<zip destfile="${build}/L2J_Mobius_Classic_2.3_SevenSigns.zip" basedir="${datapack}" update="true" level="9" />
</target>
<target name="adding-readme" depends="adding-datapack" description="Adding readme.txt to the Zip file.">
<zip destfile="${build}/L2J_Mobius_Classic_2.2_Antharas.zip" basedir="." includes="readme.txt" update="true" level="9" />
<zip destfile="${build}/L2J_Mobius_Classic_2.3_SevenSigns.zip" basedir="." includes="readme.txt" update="true" level="9" />
</target>
<target name="cleanup" depends="adding-readme" description="Cleaning the build folder.">

View File

@@ -101,8 +101,8 @@ MaximumOnlineUsers = 2000
# Numbers of protocol revisions that server allows to connect.
# Delimiter is ;
# WARNING: <u><b><font color="red">Changing the protocol revision may result in incompatible communication and many errors in game!</font></b></u>
# Antharas: 140
AllowedProtocolRevisions = 140
# Seven Signs: 152
AllowedProtocolRevisions = 152
# Displays server type next to the server name on character selection.
# Notes:

View File

@@ -47,7 +47,9 @@ public enum UserInfoType implements IUpdateTypeComponent
MOVEMENTS(0x13, 4),
COLOR(0x14, 10),
INVENTORY_LIMIT(0x15, 9),
TRUE_HERO(0x16, 9);
TRUE_HERO(0x16, 9),
ATT_SPIRITS(0x17, 26);
/** Int mask. */
private final int _mask;

View File

@@ -434,7 +434,11 @@ public enum ExIncomingPackets implements IIncomingPackets<L2GameClient>
EX_LOCKED_ITEM_CANCEL(0x15B, null, ConnectionState.IN_GAME),
EX_UNLOCKED_ITEM_CANCEL(0x15C, null, ConnectionState.IN_GAME),
REQUEST_BLOCK_LIST_FOR_AD(0x15D, null, ConnectionState.IN_GAME),
REQUEST_USER_BAN_INFO(0x15E, null, ConnectionState.IN_GAME);
REQUEST_USER_BAN_INFO(0x15E, null, ConnectionState.IN_GAME),
EX_ELEMENTAL_SPIRIT_CHANGE_TYPE(0x15F, null, ConnectionState.IN_GAME), // 152
EX_INTERACT_MODIFY(0x160, null, ConnectionState.IN_GAME), // 152
EX_TRY_ENCHANT_ARTIFACT(0x161, null, ConnectionState.IN_GAME), // 152
EX_XIGN_CODE(0x162, null, ConnectionState.IN_GAME); // 152
public static final ExIncomingPackets[] PACKET_ARRAY;

View File

@@ -785,9 +785,18 @@ public enum OutgoingPackets
EX_ELEMENTAL_SPIRIT_ABSORB(0xFE, 0x1F6),
EX_CHOOSE_LOCKED_ITEM(0xFE, 0x1F7),
EX_LOCKED_RESULT(0xFE, 0x1F8),
EX_DRESS_ROOM_UI_OPEN(0xFE, 0x1F9),
EX_DRESS_HANGER_LIST(0xFE, 0x1FA),
EX_USER_BAN_INFO(0xFE, 0x1FB);
EX_ELEMENTAL_SPIRIT_EXTRACT(0xFE, 0x1F9), // 152
EX_OLYMPIAD_INFO(0xFE, 0x1FA), // 152
EX_OLYMPIAD_RECORD(0xFE, 0x1FB), // 152
EX_OLYMPIAD_MATCH_INFO(0xFE, 0x1FC), // 152
EX_ELEMENTAL_SPIRIT_GET_EXP(0xFE, 0x1FD), // 152
EX_ITEM_ANNOUNCE(0xFE, 0x1FE), // 152
EX_DRESS_ROOM_UI_OPEN(0xFE, 0x1FF),
EX_DRESS_HANGER_LIST(0xFE, 0x200),
EX_USER_BAN_INFO(0xFE, 0x201),
EX_TRY_ENCHANT_ARTIFACT_RESULT(0xFE, 0x202), // 152
EX_XIGN_CODE(0xFE, 0x203), // 152
EX_MAX(0xFE, 0x204); // 152
private final int _id1;
private final int _id2;

View File

@@ -70,6 +70,11 @@ public class CharSelectionInfo implements IClientOutgoingPacket
Inventory.PAPERDOLL_HAIR2,
Inventory.PAPERDOLL_RBRACELET,
Inventory.PAPERDOLL_LBRACELET,
Inventory.PAPERDOLL_AGATHION1, // 152
Inventory.PAPERDOLL_AGATHION2, // 152
Inventory.PAPERDOLL_AGATHION3, // 152
Inventory.PAPERDOLL_AGATHION4, // 152
Inventory.PAPERDOLL_AGATHION5, // 152
Inventory.PAPERDOLL_DECO1,
Inventory.PAPERDOLL_DECO2,
Inventory.PAPERDOLL_DECO3,
@@ -137,7 +142,8 @@ public class CharSelectionInfo implements IClientOutgoingPacket
packet.writeC(size == Config.MAX_CHARACTERS_NUMBER_PER_ACCOUNT ? 0x01 : 0x00); // if 1 can't create new char
packet.writeC(0x01); // 0=can't play, 1=can play free until level 85, 2=100% free play
packet.writeD(0x02); // if 1, Korean client
packet.writeH(0x00); // Balthus Knights, if 1 suggests premium account
packet.writeC(0x00); // Gift message for inactive accounts // 152
packet.writeC(0x00); // Balthus Knights, if 1 suggests premium account
long lastAccess = 0;
if (_activeId == -1)
@@ -209,11 +215,28 @@ public class CharSelectionInfo implements IClientOutgoingPacket
packet.writeD(charInfoPackage.getPaperdollItemId(slot));
}
packet.writeD(0x00); // Salvation
packet.writeD(0x00); // Salvation
packet.writeD(0x00); // Salvation
packet.writeD(0x00); // Salvation
packet.writeD(0x00); // Salvation
packet.writeD(0x00); // Book // 152
packet.writeD(0x00); // Balance artifact (1) // 152
packet.writeD(0x00); // Balance artifact (2) // 152
packet.writeD(0x00); // Balance artifact (3) // 152
packet.writeD(0x00); // Balance artifact (4) // 152
packet.writeD(0x00); // 152
packet.writeD(0x00); // 152
packet.writeD(0x00); // 152
packet.writeD(0x00); // 152
packet.writeD(0x00); // 152
packet.writeD(0x00); // 152
packet.writeD(0x00); // 152
packet.writeD(0x00); // 152
packet.writeD(0x00); // 152
packet.writeD(0x00); // 152
packet.writeD(0x00); // 152
packet.writeD(0x00); // 152
packet.writeD(0x00); // 152
packet.writeD(0x00); // 152
packet.writeD(0x00); // 152
packet.writeD(0x00); // 152
packet.writeD(0x00); // 152
for (int slot : getPaperdollOrderVisualId())
{

View File

@@ -29,7 +29,7 @@ public class ExStorageMaxCount implements IClientOutgoingPacket
{
private final int _inventory;
private final int _warehouse;
private final int _freight;
// private final int _freight; // Removed with 152.
private final int _clan;
private final int _privateSell;
private final int _privateBuy;
@@ -42,7 +42,7 @@ public class ExStorageMaxCount implements IClientOutgoingPacket
{
_inventory = activeChar.getInventoryLimit();
_warehouse = activeChar.getWareHouseLimit();
_freight = Config.ALT_FREIGHT_SLOTS;
// _freight = Config.ALT_FREIGHT_SLOTS; // Removed with 152.
_privateSell = activeChar.getPrivateSellStoreLimit();
_privateBuy = activeChar.getPrivateBuyStoreLimit();
_clan = Config.WAREHOUSE_SLOTS_CLAN;
@@ -59,7 +59,7 @@ public class ExStorageMaxCount implements IClientOutgoingPacket
packet.writeD(_inventory);
packet.writeD(_warehouse);
packet.writeD(_freight);
// packet.writeD(_freight); // Removed with 152.
packet.writeD(_clan);
packet.writeD(_privateSell);
packet.writeD(_privateBuy);
@@ -69,6 +69,7 @@ public class ExStorageMaxCount implements IClientOutgoingPacket
packet.writeD(_inventoryQuestItems);
packet.writeD(40); // TODO: Find me!
packet.writeD(40); // TODO: Find me!
packet.writeD(0x00); // Artifact slots // 152
return true;
}
}

View File

@@ -29,8 +29,7 @@ import com.l2jmobius.gameserver.model.zone.ZoneId;
import com.l2jmobius.gameserver.network.OutgoingPackets;
/**
* @author Sdw, UnAfraid, proGenitor <br>
* Experimental packet compatible for L2Classic 2.0.
* @author Sdw, UnAfraid
*/
public class UserInfo extends AbstractMaskPacket<UserInfoType>
{
@@ -322,24 +321,23 @@ public class UserInfo extends AbstractMaskPacket<UserInfoType>
if (containsMask(UserInfoType.SLOTS))
{
packet.writeH(11); // 140
packet.writeH(12); // 152
packet.writeC(_activeChar.getInventory().getTalismanSlots());
packet.writeC(_activeChar.getInventory().getBroochJewelSlots());
packet.writeC(_activeChar.getTeam().getId());
packet.writeC(0x00);
packet.writeC(0x00);
packet.writeC(0x00);
packet.writeC(0x00);
packet.writeD(0x00);
if (_activeChar.getInventory().getAgathionSlots() > 0)
{
packet.writeC(0x01);
packet.writeC(0x01); // Charm slots
packet.writeC(_activeChar.getInventory().getAgathionSlots() - 1);
packet.writeC(0x00); // Artifact set slots // 152
}
else
{
packet.writeC(0x00); // Charm slots
packet.writeC(0x00);
packet.writeC(0x00);
packet.writeC(0x00); // Artifact set slots // 152
}
}
@@ -374,6 +372,17 @@ public class UserInfo extends AbstractMaskPacket<UserInfoType>
packet.writeC(_activeChar.isTrueHero() ? 100 : 0x00);
}
if (containsMask(UserInfoType.ATT_SPIRITS)) // 152
{
packet.writeH(26);
packet.writeD(-1);
packet.writeD(0x00);
packet.writeD(0x00);
packet.writeD(0x00);
packet.writeD(0x00);
packet.writeD(0x00);
}
return true;
}

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
<listEntry value="/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/gameserver/GameServer.java"/>
<listEntry value="/L2J_Mobius_Classic_2.3_SevenSigns/java/com/l2jmobius/gameserver/GameServer.java"/>
</listAttribute>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
<listEntry value="1"/>
@@ -11,7 +11,7 @@
</listAttribute>
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/>
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="com.l2jmobius.gameserver.GameServer"/>
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="L2J_Mobius_Classic_2.2_Antharas"/>
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="L2J_Mobius_Classic_2.3_SevenSigns"/>
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Dorg.slf4j.simpleLogger.log.com.zaxxer.hikari=error"/>
<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc:L2J_Mobius_Classic_2.2_Antharas}/dist/game/"/>
<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc:L2J_Mobius_Classic_2.3_SevenSigns}/dist/game/"/>
</launchConfiguration>

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
<listEntry value="/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/loginserver/LoginServer.java"/>
<listEntry value="/L2J_Mobius_Classic_2.3_SevenSigns/java/com/l2jmobius/loginserver/LoginServer.java"/>
</listAttribute>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
<listEntry value="1"/>
@@ -12,7 +12,7 @@
<booleanAttribute key="org.eclipse.jdt.debug.ui.INCLUDE_EXTERNAL_JARS" value="true"/>
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/>
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="com.l2jmobius.loginserver.LoginServer"/>
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="L2J_Mobius_Classic_2.2_Antharas"/>
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="L2J_Mobius_Classic_2.3_SevenSigns"/>
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Dorg.slf4j.simpleLogger.log.com.zaxxer.hikari=error"/>
<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc:L2J_Mobius_Classic_2.2_Antharas}/dist/login/"/>
<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc:L2J_Mobius_Classic_2.3_SevenSigns}/dist/login/"/>
</launchConfiguration>

View File

@@ -1,6 +1,6 @@
L2J-Mobius Classic Antharas
L2J-Mobius Classic Seven Signs
Client: https://drive.google.com/uc?id=1BxapnPqFunwb3_ZXWuyB51b2HyI-KMrj&export=download
Client: https://drive.google.com/uc?id=1qctEGMiiJaTgHeNcJ0li0hBjrUf8lBg_&export=download
Geodata: http://www.mediafire.com/file/7m803pb33wu6016/mobius_geodata_antharas_l2d.zip
Saviors: https://eu.4game.com/lineage2classic/play/saviors/
@@ -69,6 +69,9 @@ Antharas: https://eu.4game.com/lineage2classic/play/antharas/
-Parsed new NPCs from L2Wiki and client
-Clan Arena
Seven Signs: https://eu.4gameforum.com/threads/658543/
-TODO: Parse new items from client
Customs:
-Newbie Helper NPC location info
-Newbie Helper buff support until 40 level