Skip to content

Commit 644a20b

Browse files
Support for protocol 474.
1 parent 0f8d6b4 commit 644a20b

14 files changed

+433
-5
lines changed

dist/config/config_window.ini

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ FILE_OPEN_CURRENT_DIRECTORY=
55
WINDOW_WIDTH=1000
66
CURRENT_FORMATTER=Enabled
77
CURRENT_DECRYPT=v413_encdec
8-
CURRENT_CHRONICLE=Path Of Rogue - High Elves
8+
CURRENT_CHRONICLE=Shield Of Kingdom - Heart Of Volcano
99
CURRENT_ENCRYPT=Source
1010
WINDOW_HEIGHT=600
1111
FILE_OPEN_CURRENT_DIRECTORY_PACK=

dist/data/structure/41_the_source_of_flame.xml

+1
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@
5151
<link pattern="DecoNPCData_client.dat" file="deconpcdata_client" version="Helios" />
5252
<link pattern="DethroneDailyMission-[\w]+\.dat" file="dethronedailymission" version="TheSourceOfFlame" />
5353
<link pattern="DethroneDistrictName-[\w]+\.dat" file="dethronedistrictname" version="MasterClass" />
54+
<link pattern="DethroneShop.dat" file="dethroneshop" version="TheSourceOfFlame" />
5455
<link pattern="DualCastTypeData.dat" file="dualcasttypedata" version="Helios" />
5556
<link pattern="dyecombination(_Classic(Aden)?)?.dat" file="dyecombination" version="MasterClass" />
5657
<link pattern="DyeEffect.dat" file="dyeeffect" version="PreludeOfWar" />

dist/data/structure/42_age_of_magic.xml

+1
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@
5050
<link pattern="DecoNPCData_client.dat" file="deconpcdata_client" version="Helios" />
5151
<link pattern="DethroneDailyMission-[\w]+\.dat" file="dethronedailymission" version="TheSourceOfFlame" />
5252
<link pattern="DethroneDistrictName-[\w]+\.dat" file="dethronedistrictname" version="MasterClass" />
53+
<link pattern="DethroneShop.dat" file="dethroneshop" version="TheSourceOfFlame" />
5354
<link pattern="DualCastTypeData.dat" file="dualcasttypedata" version="Helios" />
5455
<link pattern="dyecombination(_Classic(Aden)?)?.dat" file="dyecombination" version="MasterClass" />
5556
<link pattern="DyeEffect.dat" file="dyeeffect" version="PreludeOfWar" />

dist/data/structure/43_shinemaker.xml

+1
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@
5252
<link pattern="DecoNPCData_client.dat" file="deconpcdata_client" version="Helios" />
5353
<link pattern="DethroneDailyMission-[\w]+\.dat" file="dethronedailymission" version="TheSourceOfFlame" />
5454
<link pattern="DethroneDistrictName-[\w]+\.dat" file="dethronedistrictname" version="MasterClass" />
55+
<link pattern="DethroneShop.dat" file="dethroneshop" version="TheSourceOfFlame" />
5556
<link pattern="DualCastTypeData.dat" file="dualcasttypedata" version="Helios" />
5657
<link pattern="dyecombination(_Classic(Aden)?)?.dat" file="dyecombination" version="MasterClass" />
5758
<link pattern="DyeEffect.dat" file="dyeeffect" version="PreludeOfWar" />

dist/data/structure/44_path_of_rogue.xml

+3-1
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@
5353
<link pattern="DecoNPCData_client.dat" file="deconpcdata_client" version="Helios" />
5454
<link pattern="DethroneDailyMission-[\w]+\.dat" file="dethronedailymission" version="TheSourceOfFlame" />
5555
<link pattern="DethroneDistrictName-[\w]+\.dat" file="dethronedistrictname" version="MasterClass" />
56+
<link pattern="DethroneShop.dat" file="dethroneshop" version="TheSourceOfFlame" />
5657
<link pattern="DualCastTypeData.dat" file="dualcasttypedata" version="Helios" />
5758
<link pattern="dyecombination(_Classic(Aden)?)?.dat" file="dyecombination" version="MasterClass" />
5859
<link pattern="DyeEffect.dat" file="dyeeffect" version="PreludeOfWar" />
@@ -109,7 +110,7 @@
109110
<link pattern="HomunNpcLevel.dat" file="homunnpclevel" version="Homunculus" />
110111
<link pattern="homunslot.dat" file="homunslot" version="ReturnOfTheQueenAnt" />
111112
<link pattern="HuntingZone(_Classic(Aden)?)?-[\w]+\.dat" file="huntingzone" version="MasterClass" />
112-
<link pattern="InstantZoneData(_Classic)?-[\w]+\.dat" file="instantzonedata" version="Epilogue" />
113+
<link pattern="InstantZoneData(_Classic(Aden)?)?-[\w]+\.dat" file="instantzonedata" version="Epilogue" />
113114
<link pattern="item_baseinfo(_Classic(Aden)?)?.dat" file="item_baseinfo" version="MasterClass3" />
114115
<link pattern="ItemMultisell(_Classic(Aden)?)?-[\w]+\.dat" file="itemmultisell" version="TheSourceOfFlame" />
115116
<link pattern="ItemName(_Classic(Aden)?)?-[\w]+\.dat" file="itemname" version="Shinemaker" />
@@ -187,6 +188,7 @@
187188
<link pattern="ReplaceSkillIcon(_Classic(Aden)?)?.dat" file="replaceskillicon" version="AgeOfMagic" />
188189
<link pattern="RideData(_Classic(Aden)?)?.dat" file="ridedata" version="PathOfRogue" />
189190
<link pattern="sceneplayerdata.dat" file="sceneplayerdata" version="Helios" />
191+
<link pattern="Server_Id_List(_Classic(Aden)?)?.dat" file="serveridlist" version="PathOfRogue" />
190192
<link pattern="servername-[\w]+\.dat" file="servername" version="MasterClass2" />
191193
<link pattern="SetItemGrp(_Classic(Aden)?)?-[\w]+\.dat" file="setitemgrp" version="Valiance" />
192194
<link pattern="ShortcutAlias(_Classic)?.dat" file="shortcutalias" version="Epilogue" />

dist/data/structure/45_shield_of_kingdom.xml

+233
Large diffs are not rendered by default.
+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<list>
3+
<file pattern="TheSourceOfFlame" isSafePackage="true">
4+
<node name="data" reader="CNTR" />
5+
<for name="product" size="#data" hidden="false">
6+
<node name="product_id" reader="UINT" />
7+
<node name="product_item_id" reader="UINT" />
8+
<node name="product_count" reader="UINT" />
9+
<node name="need_item_list" reader="CNTR" />
10+
<for name="need_item_list" size="#need_item_list">
11+
<node name="need_item_id" reader="UINT" />
12+
<node name="need_item_count" reader="UINT" />
13+
</for>
14+
</for>
15+
</file>
16+
</list>

dist/data/structure/dats/etcitemgrp.xml

+1-2
Original file line numberDiff line numberDiff line change
@@ -616,8 +616,7 @@ material_type
616616
<node name="crystallizable" reader="UCHAR" />
617617
<node name="related_quest_id" reader="UCHAR" />
618618
<for name="related_quest_id" size="#related_quest_id">
619-
<node name="quest_id" reader="SHORT" />
620-
<node name="quest_unk" reader="SHORT" />
619+
<node name="quest_id" reader="UINT" />
621620
</for>
622621
<node name="color" reader="UCHAR" />
623622
<node name="is_attribution" reader="UCHAR" />

dist/data/structure/dats/itemname.xml

+57
Original file line numberDiff line numberDiff line change
@@ -589,4 +589,61 @@
589589
</wrapper>
590590
</for>
591591
</file>
592+
593+
<file pattern="ShieldOfKingdom" isSafePackage="true">
594+
<node name="data" reader="UINT" />
595+
<for name="item_name" size="#data" hidden="false">
596+
<node name="id" reader="UINT" />
597+
<node name="name" reader="MAP_INT" />
598+
<node name="additionalname" reader="ASCF" />
599+
<node name="description" reader="ASCF" />
600+
<node name="popup" reader="SHORT" />
601+
<node name="default_action" reader="UINT" enumName="item_default_action" />
602+
<node name="use_order" reader="UINT" />
603+
<node name="name_class" reader="SHORT" />
604+
<node name="color" reader="UCHAR" />
605+
<node name="Tooltip_Texture" reader="MAP_INT" />
606+
<node name="Tooltip_BG_Texture" reader="MAP_INT" />
607+
<node name="Tooltip_BG_Texture_Compare" reader="MAP_INT" />
608+
<node name="Tooltip_BG_Deco_Texture" reader="MAP_INT" />
609+
<node name="is_trade" reader="UCHAR" />
610+
<node name="is_drop" reader="UCHAR" />
611+
<node name="is_destruct" reader="UCHAR" />
612+
<node name="is_private_store" reader="UCHAR" />
613+
<node name="keep_type" reader="UCHAR" />
614+
<node name="is_npctrade" reader="UCHAR" />
615+
<node name="is_commission_store" reader="UCHAR" />
616+
<node name="enchant_bless" reader="UINT" />
617+
<node name="create_items_list" reader="CNTR" />
618+
<!--
619+
<for name="create_items_list" size="#create_items_list">
620+
<node name="drop_type" reader="UBYTE" />
621+
<node name="random_create_list_size" reader="CNTR" />
622+
<for name="unk_1_list" size="#random_create_list_size">
623+
<node name="ItemClassID" reader="UINT" />
624+
<node name="Count" reader="UINT" />
625+
<node name="EnchantLevel" reader="UINT" />
626+
<node name="unk_2" reader="UINT" />
627+
</for>
628+
</for>
629+
-->
630+
<node name="sort_order" reader="UBYTE" />
631+
<node name="auction_category" reader="UINT" />
632+
</for>
633+
<node name="data2" reader="CNTR" />
634+
<for name="item_macro" size="#data2" hidden="false">
635+
<node name="macro_id" reader="UINT" />
636+
<node name="automatic_use" reader="UCHAR" />
637+
</for>
638+
<node name="data3" reader="UINT" />
639+
<for name="item_ex" size="#data3" hidden="false">
640+
<node name="item_ex_id" reader="UINT" />
641+
<node name="keep_type_selection" reader="UCHAR" enumName="keep_type_selection" />
642+
<wrapper name="keep_type_enchant">
643+
<node name="KeepEnchantCondition" reader="UINT" />
644+
<node name="KeepOption1" reader="UCHAR" />
645+
<node name="KeepOption2" reader="UCHAR" />
646+
</wrapper>
647+
</for>
648+
</file>
592649
</list>

dist/data/structure/dats/lcoinshopproduct.xml

+31
Original file line numberDiff line numberDiff line change
@@ -212,5 +212,36 @@
212212
<node name="head_name" reader="ASCF" />
213213
</for>
214214
</file>
215+
<file pattern="ShieldOfKingdom" isSafePackage="true">
216+
<node name="data" reader="UINT" />
217+
<for name="product" size="#data" hidden="false">
218+
<node name="product_id" reader="UINT" />
219+
<node name="category" reader="UCHAR" />
220+
<node name="mark_type" reader="UCHAR" enumName="lcoinshopproduct_mark_type" />
221+
<node name="buy_items" reader="UCHAR" />
222+
<for name="buy_items">
223+
<node name="product_item_id" reader="UINT" />
224+
<node name="product_count" reader="UINT" />
225+
<node name="product_name" reader="ASCF" />
226+
<wrapper name="limit_lv">
227+
<node name="LevelMin" reader="USHORT" />
228+
<node name="LevelMax" reader="USHORT" />
229+
</wrapper>
230+
</for>
231+
<node name="product_type" reader="UCHAR" />
232+
<wrapper name="buy_limit">
233+
<node name="limit_type" reader="UCHAR" />
234+
<node name="reset_type" reader="UCHAR" enumName="lcoin_reset_type" />
235+
<node name="limit_count_max" reader="UINT" />
236+
</wrapper>
237+
<node name="product_desc" reader="ASCF" />
238+
<node name="product_htm" reader="ASCF" />
239+
</for>
240+
<node name="data2" reader="CNTR" />
241+
<for name="product_head" size="#data2" hidden="false">
242+
<node name="head_product_id" reader="INT" />
243+
<node name="head_name" reader="ASCF" />
244+
</for>
245+
</file>
215246
</list>
216247

dist/data/structure/dats/purchaselimitcraft.xml

+51
Original file line numberDiff line numberDiff line change
@@ -313,4 +313,55 @@
313313
<node name="automatic_type" reader="UBYTE" />
314314
</for>
315315
</file>
316+
<file pattern="ShieldOfKingdom" isSafePackage="true">
317+
<node name="data" reader="UINT" />
318+
<for name="product" size="#data" hidden="false">
319+
<node name="shop_index" reader="UCHAR" />
320+
<node name="product_id" reader="UINT" />
321+
322+
<node name="category" reader="UCHAR" />
323+
<node name="category_sub" reader="UINT" />
324+
<wrapper name="unk">
325+
<node name="mark_type" reader="UBYTE" />
326+
<node name="max_buy_count" reader="UCHAR" />
327+
</wrapper>
328+
329+
<node name="product_name" reader="ASCF" />
330+
<node name="product_item" reader="UINT" />
331+
<node name="product_enchant" reader="UINT" />
332+
<node name="buy_item" reader="UCHAR" />
333+
<for name="buy_item" size="#buy_item">
334+
<node name="ItemClassID" reader="UINT" />
335+
<node name="Count" reader="UINT" />
336+
<!-- <node name="Prob" reader="FLOAT" /> -->
337+
<node name="Enchant" reader="UINT" />
338+
<node name="ProductRank" reader="UINT" />
339+
<node name="IsLimitServer" reader="UBYTE" />
340+
</for>
341+
<wrapper name="limit_lv">
342+
<node name="LevelMin" reader="SHORT" />
343+
<node name="LevelMax" reader="SHORT" />
344+
</wrapper>
345+
<wrapper name="buy_type">
346+
<node name="LimitType" reader="UCHAR" />
347+
<node name="ResetType" reader="UCHAR" />
348+
</wrapper>
349+
<node name="LimitServerBuyCountMax" reader="UINT" />
350+
<node name="RequirementBuySkills" reader="UBYTE" />
351+
<for name="RequirementBuySkills">
352+
<node name="skill_id" reader="UINT" />
353+
</for>
354+
<node name="KeepOptionFee" reader="UBYTE" />
355+
<for name="KeepOptionFee">
356+
<node name="KeepItemClassID" reader="UINT" />
357+
<node name="KeepCount" reader="UINT" />
358+
<!-- <node name="KeepProb" reader="FLOAT" /> -->
359+
<node name="KeepEnchant" reader="UINT" />
360+
<node name="KeepProductRank" reader="UINT" />
361+
<node name="KeepIsLimitServer" reader="UBYTE" />
362+
</for>
363+
<node name="KeepOption" reader="UBYTE" />
364+
<node name="automatic_type" reader="UBYTE" />
365+
</for>
366+
</file>
316367
</list>
+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<list>
3+
<file pattern="PathOfRogue" isSafePackage="true">
4+
<node name="data" reader="UINT" />
5+
<for name="server_list" size="#data" hidden="false">
6+
<node name="GroupId" reader="UINT" />
7+
<node name="isQa" reader="UINT" />
8+
<node name="applycountry" reader="CNTR" />
9+
<for name="applycountry" size="#applycountry">
10+
<node name="applycountry_1" reader="UINT" />
11+
</for>
12+
<node name="Server_list" reader="CNTR" />
13+
<for name="Server_list" size="#Server_list">
14+
<node name="Server_list_1" reader="UINT" />
15+
</for>
16+
</for>
17+
</file>
18+
</list>

dist/data/structure/dats/teleportlist.xml

+19
Original file line numberDiff line numberDiff line change
@@ -40,4 +40,23 @@
4040
<node name="server_range" reader="UINT" />
4141
</for>
4242
</file>
43+
<file pattern="ShieldOfKingdom" isSafePackage="true">
44+
<node name="data" reader="UINT" />
45+
<for name="teleport_list" size="#data" hidden="false">
46+
<node name="huntingzone_id" reader="UINT" />
47+
<node name="town_id" reader="UINT" />
48+
<node name="priority" reader="UINT" />
49+
<node name="price" reader="CNTR" />
50+
<for name="price" size="#price">
51+
<node name="item_id" reader="UINT" />
52+
<node name="item_count" reader="UINT" />
53+
</for>
54+
<node name="usable_level" reader="UINT" />
55+
<node name="usable_transfer_degree" reader="UINT" />
56+
<node name="unk1" reader="UINT" />
57+
<node name="unk2" reader="UINT" />
58+
<node name="unk3" reader="UINT" />
59+
<node name="unk4" reader="UBYTE" />
60+
</for>
61+
</file>
4362
</list>

dist/data/structure/format/SkillNameFormat.java

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
/*
32
* This file is part of the L2ClientDat project.
43
*

0 commit comments

Comments
 (0)