Item Raise + Gachapon Rework + Minigames & M. Magnet & M. Door patch
Fixed a glitch in inventory that would happen when trying to put items into storage. Added "Item Raise" functionality. Adjusted Party Search. Token sessions no longer expires due to no players found, rather are sent into a brief "inactivity" period. Fixed Fredrick stored items not being properly erased after a character deletion. Fixed skillbooks in stacked quantities not being useable. New tool: MapleGachaponItemidRetriever. This tool parses the gachapon descriptor file (holding several item names, for several gachapons) and generates files for each defined gachapon with itemids of the loots. Revised Mushroom Empire transition portals that interacts with scripted items (items now are useable through inventory, no longer being automatically removed from inventory upon crossing portals). Fixed script "secretroom" always requiring a new key (quest reward) to access the inner rooms, which would make the room unreachable. Reworked gachapons loots throughout the game. New loots are supposed to represent an old-school MapleSEA-like escalation of gachapon loots. Fixed issues that would show up in the case null PIN/PIC gets checked. Reworked skill Monster Magnet, no longer using "catch success rate" as a skill progression element. This fixes the skill disconnecting caster upon failure. Revised Mystic Doors, no longer crashing players after the caster decides to cancel the buff moments after casting (during portal deploying effect in course). Fixed portal access to Prime Minister crashing when trying to access on a party. Refactored the several "startQuest/completeQuest" methods widely used in the many scripting managers. Methods that does essentially the same thing now are accessed from the superclass. Fixed "rechargeable items" not being properly accounted for slots availability in inventory slot checking. Fixed several issues of late within minigames. Fixed minigames regarding double results when handling some rare scenarios. Implemented "call for leave after finishing game" functionality of minigames.
This commit is contained in:
73
tools/MapleGachaponItemidRetriever/build.xml
Normal file
73
tools/MapleGachaponItemidRetriever/build.xml
Normal file
@@ -0,0 +1,73 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- You may freely edit this file. See commented blocks below for -->
|
||||
<!-- some examples of how to customize the build. -->
|
||||
<!-- (If you delete it and reopen the project it will be recreated.) -->
|
||||
<!-- By default, only the Clean and Build commands use this build script. -->
|
||||
<!-- Commands such as Run, Debug, and Test only use this build script if -->
|
||||
<!-- the Compile on Save feature is turned off for the project. -->
|
||||
<!-- You can turn off the Compile on Save (or Deploy on Save) setting -->
|
||||
<!-- in the project's Project Properties dialog box.-->
|
||||
<project name="MapleGachaponItemidRetriever" default="default" basedir=".">
|
||||
<description>Builds, tests, and runs the project MapleGachaponItemidRetriever.</description>
|
||||
<import file="nbproject/build-impl.xml"/>
|
||||
<!--
|
||||
|
||||
There exist several targets which are by default empty and which can be
|
||||
used for execution of your tasks. These targets are usually executed
|
||||
before and after some main targets. They are:
|
||||
|
||||
-pre-init: called before initialization of project properties
|
||||
-post-init: called after initialization of project properties
|
||||
-pre-compile: called before javac compilation
|
||||
-post-compile: called after javac compilation
|
||||
-pre-compile-single: called before javac compilation of single file
|
||||
-post-compile-single: called after javac compilation of single file
|
||||
-pre-compile-test: called before javac compilation of JUnit tests
|
||||
-post-compile-test: called after javac compilation of JUnit tests
|
||||
-pre-compile-test-single: called before javac compilation of single JUnit test
|
||||
-post-compile-test-single: called after javac compilation of single JUunit test
|
||||
-pre-jar: called before JAR building
|
||||
-post-jar: called after JAR building
|
||||
-post-clean: called after cleaning build products
|
||||
|
||||
(Targets beginning with '-' are not intended to be called on their own.)
|
||||
|
||||
Example of inserting an obfuscator after compilation could look like this:
|
||||
|
||||
<target name="-post-compile">
|
||||
<obfuscate>
|
||||
<fileset dir="${build.classes.dir}"/>
|
||||
</obfuscate>
|
||||
</target>
|
||||
|
||||
For list of available properties check the imported
|
||||
nbproject/build-impl.xml file.
|
||||
|
||||
|
||||
Another way to customize the build is by overriding existing main targets.
|
||||
The targets of interest are:
|
||||
|
||||
-init-macrodef-javac: defines macro for javac compilation
|
||||
-init-macrodef-junit: defines macro for junit execution
|
||||
-init-macrodef-debug: defines macro for class debugging
|
||||
-init-macrodef-java: defines macro for class execution
|
||||
-do-jar: JAR building
|
||||
run: execution of project
|
||||
-javadoc-build: Javadoc generation
|
||||
test-report: JUnit report generation
|
||||
|
||||
An example of overriding the target for project execution could look like this:
|
||||
|
||||
<target name="run" depends="MapleGachaponItemidRetriever-impl.jar">
|
||||
<exec dir="bin" executable="launcher.exe">
|
||||
<arg file="${dist.jar}"/>
|
||||
</exec>
|
||||
</target>
|
||||
|
||||
Notice that the overridden target depends on the jar target and not only on
|
||||
the compile target as the regular run target does. Again, for a list of available
|
||||
properties which you can use, check the target you are overriding in the
|
||||
nbproject/build-impl.xml file.
|
||||
|
||||
-->
|
||||
</project>
|
||||
1763
tools/MapleGachaponItemidRetriever/lib/gachapon_items.txt
Normal file
1763
tools/MapleGachaponItemidRetriever/lib/gachapon_items.txt
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,98 @@
|
||||
|
||||
Scroll:
|
||||
2040605
|
||||
2040626
|
||||
2040609
|
||||
2040607
|
||||
2041029
|
||||
2041027
|
||||
2041031
|
||||
2041037
|
||||
2041033
|
||||
2041039
|
||||
2041041
|
||||
2041035
|
||||
2040811 - uncommon
|
||||
2040809
|
||||
2040813
|
||||
2040815 - uncommon
|
||||
2040015
|
||||
2040009
|
||||
2040011
|
||||
2040013
|
||||
2040509
|
||||
2040521
|
||||
2040519
|
||||
2040507
|
||||
2040905
|
||||
2040909
|
||||
2040907
|
||||
2040713
|
||||
2040715
|
||||
2040717
|
||||
2040405
|
||||
2040409
|
||||
2040407
|
||||
2040426
|
||||
2040303
|
||||
2040307
|
||||
2040309
|
||||
2044505
|
||||
2044705
|
||||
2044605
|
||||
2043305
|
||||
2043105
|
||||
2043205
|
||||
2043005
|
||||
2043007
|
||||
2044405
|
||||
2044305
|
||||
2043805
|
||||
2044105
|
||||
2044205
|
||||
2044005
|
||||
2043705
|
||||
|
||||
Useable drop:
|
||||
2012000
|
||||
2000004 2000012 2002012 2022175 2022456
|
||||
2020008
|
||||
2000005 2000019 2002013 2022176 2022457
|
||||
2012002
|
||||
2101001 - uncommon
|
||||
2101004
|
||||
2101005
|
||||
2101002
|
||||
2101003
|
||||
4006000
|
||||
|
||||
Warrior equipment:
|
||||
1092014
|
||||
1402017
|
||||
|
||||
Magician equipment:
|
||||
1002037
|
||||
1002034
|
||||
1002064
|
||||
1002038
|
||||
1382037
|
||||
1372000
|
||||
1002013
|
||||
1002035
|
||||
1002065
|
||||
1382000
|
||||
|
||||
Bowman equipment:
|
||||
1452018
|
||||
|
||||
Thief equipment:
|
||||
1472010 1472034 1472039 1472045
|
||||
1002175
|
||||
1472017
|
||||
1472025 1472036 1472041 1472047
|
||||
|
||||
Pirate Scroll:
|
||||
2044901
|
||||
|
||||
Pirate equipment:
|
||||
1002637
|
||||
216
tools/MapleGachaponItemidRetriever/lib/gachapons/el_nath.txt
Normal file
216
tools/MapleGachaponItemidRetriever/lib/gachapons/el_nath.txt
Normal file
@@ -0,0 +1,216 @@
|
||||
|
||||
Scroll:
|
||||
2041012
|
||||
2048003
|
||||
[2043800 2043803 2043812 ]
|
||||
2043301
|
||||
2040301
|
||||
[2040804 2040826 ]- uncommon
|
||||
2043101
|
||||
2043201
|
||||
2043001
|
||||
2044301
|
||||
2043801
|
||||
2044201
|
||||
2043701
|
||||
2044502
|
||||
2041011
|
||||
2041014
|
||||
2044602
|
||||
2043302
|
||||
2040805 - uncommon
|
||||
2043202
|
||||
2043002
|
||||
2048005
|
||||
2044402
|
||||
2044302
|
||||
2043802
|
||||
2044102
|
||||
2044202
|
||||
2043702
|
||||
|
||||
Useable drop:
|
||||
2340000 - uncommon
|
||||
2000004 2000012 2002012 2022175 2022456
|
||||
2000005 2000019 2002013 2022176 2022457
|
||||
|
||||
Common equipment:
|
||||
1402010
|
||||
1032003
|
||||
1442013
|
||||
1432009
|
||||
1302022
|
||||
1302029
|
||||
1322021
|
||||
1302026
|
||||
1442017
|
||||
1322023
|
||||
1102011
|
||||
1032008 4031568
|
||||
1322026
|
||||
1442016
|
||||
1312000
|
||||
1032007
|
||||
1322025
|
||||
1322027
|
||||
1032020
|
||||
1442015
|
||||
1432017
|
||||
1302027
|
||||
1302049
|
||||
1372006
|
||||
1032022
|
||||
1032021
|
||||
1372004
|
||||
1332020
|
||||
1322007
|
||||
1032006
|
||||
1302028
|
||||
1322003 1702020
|
||||
1302007
|
||||
1092030
|
||||
1302021
|
||||
1322024
|
||||
1322012
|
||||
1032005
|
||||
1322022
|
||||
1032013
|
||||
1302025
|
||||
1302013
|
||||
1032017
|
||||
1032002
|
||||
1032001
|
||||
1302017
|
||||
1432018
|
||||
1442012
|
||||
1302000
|
||||
1032000
|
||||
1102013
|
||||
1442022
|
||||
1372005
|
||||
1442021
|
||||
1032009
|
||||
1302016
|
||||
|
||||
Warrior equipment:
|
||||
1442003
|
||||
1312007
|
||||
1402008
|
||||
1312008 1312018 1312022 1312026
|
||||
1412008 1412015 1412019 1412024
|
||||
1442009
|
||||
1302004
|
||||
1312006
|
||||
1442016
|
||||
1402012 1402022 1402027 1402033
|
||||
1302003
|
||||
1312005
|
||||
1432002 1432019 1432024 1432031
|
||||
1432001
|
||||
1302008 1302038 1302043 1302050
|
||||
1040030
|
||||
1402015 1402023 1402028 1402034
|
||||
1322015
|
||||
1432006 1432021 1432026 1432033
|
||||
1322002
|
||||
1302010 1302039 1302044 1302051
|
||||
1322017 1322036 1322041 1322047
|
||||
1402003 1402020 1402025 1402031
|
||||
1402006
|
||||
1322000
|
||||
1422001
|
||||
1442001
|
||||
1422004
|
||||
1412004
|
||||
1322009
|
||||
1322011
|
||||
1442000
|
||||
1412005
|
||||
1402002 1402019 1402024 1402030
|
||||
1432004 1432020 1432025 1432032
|
||||
1442010 1442032 1442036 1442041
|
||||
1422008
|
||||
1442007
|
||||
1422009 1422016 1422020 1422024
|
||||
1322019 1322038 1322043 1322049
|
||||
1412003 1412013 1412017 1412022
|
||||
1412007 1412014 1412018 1412023
|
||||
1302009
|
||||
1412000
|
||||
1322014 1322035 1322040 1322046
|
||||
1402001
|
||||
1402007
|
||||
1432005
|
||||
|
||||
Magician equipment:
|
||||
1382001 1382020 1382025 1382030
|
||||
1372007 1372019 1372023 1372028
|
||||
1382010 1382023 1382028 1382033
|
||||
1382007 1382022 1382027 1382032
|
||||
1372000
|
||||
1372003
|
||||
1382011
|
||||
1382006 1382021 1382026 1382031
|
||||
1382000
|
||||
|
||||
Bowman equipment:
|
||||
1452004 1452029 1452034 1452040
|
||||
1452000
|
||||
1452010
|
||||
1452015 1452031 1452036 1452042
|
||||
1452014
|
||||
1462012
|
||||
1462010
|
||||
1452017
|
||||
1462000 1462023 1462028 1462033
|
||||
1452008 1452028 1452033 1452039
|
||||
1452006
|
||||
1462006
|
||||
1452007
|
||||
1452002
|
||||
1402001
|
||||
|
||||
Thief equipment:
|
||||
1472006
|
||||
1472010 1472034 1472039 1472045
|
||||
1332022
|
||||
1332011
|
||||
1472015
|
||||
1472016
|
||||
1472023
|
||||
1472028
|
||||
1472022
|
||||
1472011
|
||||
1472026
|
||||
1332024
|
||||
1332009
|
||||
1472017
|
||||
1472013
|
||||
1472029 1472037 1472042 1472048
|
||||
1472021 1472035 1472040 1472046
|
||||
1332015 1332035 1332040 1332045
|
||||
1332031
|
||||
1332023 1332037 1332042 1332047
|
||||
1332004
|
||||
1472000
|
||||
1332019
|
||||
1472027
|
||||
1332018 1332036 1332041 1332046
|
||||
1472007
|
||||
1332012 1332033 1332038 1332043
|
||||
1332016
|
||||
1472024
|
||||
1332017
|
||||
1332003 1332034 1332039 1332044
|
||||
1472012
|
||||
1472014
|
||||
1472005
|
||||
1472018
|
||||
1472001
|
||||
|
||||
Pirate Scroll:
|
||||
2044812
|
||||
|
||||
Pirate equipment:
|
||||
1072294
|
||||
1492009 1492018
|
||||
255
tools/MapleGachaponItemidRetriever/lib/gachapons/ellinia.txt
Normal file
255
tools/MapleGachaponItemidRetriever/lib/gachapons/ellinia.txt
Normal file
@@ -0,0 +1,255 @@
|
||||
|
||||
Scroll:
|
||||
2043302
|
||||
2040002
|
||||
2043102
|
||||
2043002
|
||||
2044402
|
||||
2044302
|
||||
2043802
|
||||
2044002
|
||||
2041017 2041053 2041016 2041052 2041015
|
||||
|
||||
Useable drop:
|
||||
2000004 2000012 2002012 2022175 2022456
|
||||
2000005 2000019 2002013 2022176 2022457
|
||||
2022025
|
||||
2022026
|
||||
|
||||
Common equipment:
|
||||
1402010
|
||||
1442013
|
||||
1432009
|
||||
1002060
|
||||
1002063
|
||||
1322023
|
||||
1002042
|
||||
1050018
|
||||
1082147
|
||||
1002026
|
||||
1002392
|
||||
1082149 - uncommon
|
||||
1062024
|
||||
1442016
|
||||
1322025
|
||||
1322027
|
||||
1002391 - uncommon
|
||||
1302027
|
||||
1372006
|
||||
1002419 - uncommon
|
||||
1302019
|
||||
1092022
|
||||
1302021
|
||||
1041004
|
||||
1002395 1002448
|
||||
1322024
|
||||
1082148
|
||||
1002012
|
||||
1322012
|
||||
1032028
|
||||
1102012
|
||||
1322022
|
||||
1051017
|
||||
1302013
|
||||
1082146
|
||||
1442014
|
||||
1302017
|
||||
1102013
|
||||
1102003
|
||||
1002041
|
||||
1002097
|
||||
1302016
|
||||
1082145
|
||||
|
||||
Warrior equipment:
|
||||
1412006
|
||||
1040029 5000032
|
||||
1040086
|
||||
1050005
|
||||
1060028
|
||||
1002059
|
||||
1060008
|
||||
1061088
|
||||
1402012 1402022 1402027 1402033
|
||||
1302003
|
||||
1432002 1432019 1432024 1432031
|
||||
1312011 1312021 1312025 1312029
|
||||
1302008 1302038 1302043 1302050
|
||||
1040030
|
||||
1002004
|
||||
1402015 1402023 1402028 1402034
|
||||
1322028 1322039 1322044 1322050
|
||||
1322015
|
||||
1432006 1432021 1432026 1432033
|
||||
1442006
|
||||
1322000
|
||||
1002085
|
||||
1002056
|
||||
1092013
|
||||
1002058
|
||||
1002050
|
||||
1060011
|
||||
1322009
|
||||
1322011
|
||||
1442000
|
||||
1051011
|
||||
1061016
|
||||
1060018
|
||||
1041024
|
||||
1061020
|
||||
1302005
|
||||
1402002 1402019 1402024 1402030
|
||||
1002030
|
||||
1092004
|
||||
1041023
|
||||
1422008
|
||||
1060009
|
||||
1051000
|
||||
1002021
|
||||
1442005 1442031 1442035 1442040
|
||||
1412003 1412013 1412017 1412022
|
||||
1412007 1412014 1412018 1412023
|
||||
1422007
|
||||
1302009
|
||||
1402000
|
||||
1402001
|
||||
1402007
|
||||
1432005
|
||||
|
||||
Magician equipment:
|
||||
1382001 1382020 1382025 1382030
|
||||
1002037
|
||||
1060014
|
||||
1040018
|
||||
1061027
|
||||
1050002
|
||||
1002152
|
||||
1051027
|
||||
1050035
|
||||
1050056
|
||||
1051047
|
||||
1051030
|
||||
1002274
|
||||
1050074
|
||||
1002218
|
||||
1002254
|
||||
1082088
|
||||
1382007 1382022 1382027 1382032
|
||||
1002013
|
||||
1082087
|
||||
1372008
|
||||
1382008 1382024 1382029 1382034
|
||||
1372002
|
||||
1372003
|
||||
1382011
|
||||
1382004
|
||||
1050047
|
||||
1040019
|
||||
1041041
|
||||
1061034
|
||||
1041051
|
||||
1051045
|
||||
1051024
|
||||
1082081
|
||||
1041030
|
||||
1040018
|
||||
1002073
|
||||
1382003
|
||||
1082086
|
||||
1382014 1702033
|
||||
1050055
|
||||
1050025
|
||||
1002155
|
||||
1060015
|
||||
|
||||
Bowman equipment:
|
||||
1452004 1452029 1452034 1452040
|
||||
1462003
|
||||
1060070
|
||||
1002118
|
||||
1061058
|
||||
1040003
|
||||
1002160
|
||||
1002121
|
||||
1040068
|
||||
1061063
|
||||
1040080
|
||||
1462004
|
||||
1041008
|
||||
1061006
|
||||
1061009
|
||||
1040022 1041032
|
||||
1002168
|
||||
1040067
|
||||
1060056
|
||||
1041054
|
||||
1041067
|
||||
1060063
|
||||
1002213
|
||||
1002119
|
||||
1462005
|
||||
1452001
|
||||
1462000 1462023 1462028 1462033
|
||||
1040025 1041033
|
||||
1002166
|
||||
1002161
|
||||
1040069
|
||||
1051039
|
||||
1452006
|
||||
1462006
|
||||
1452007
|
||||
1402001
|
||||
1041062
|
||||
|
||||
Thief equipment:
|
||||
1472010 1472034 1472039 1472045
|
||||
1472006
|
||||
1332011
|
||||
1472031 1472038 1472043 1472049
|
||||
1041048
|
||||
1472019
|
||||
1041095
|
||||
1040095
|
||||
1002128
|
||||
1061077
|
||||
1060025
|
||||
1041040
|
||||
1061033
|
||||
1472028
|
||||
1472022
|
||||
1472011
|
||||
1040096
|
||||
1062002
|
||||
1002129
|
||||
1472026
|
||||
1332009
|
||||
1060043
|
||||
1002249
|
||||
1472021 1472035 1472040 1472046
|
||||
1040084 1041076
|
||||
1332015 1332035 1332040 1332045
|
||||
1002173
|
||||
1002148
|
||||
1332004
|
||||
1332018 1332036 1332041 1332046
|
||||
1472009
|
||||
1061069
|
||||
1002176
|
||||
1041044
|
||||
1061037
|
||||
1060032
|
||||
1472020
|
||||
1040060
|
||||
1472018
|
||||
1332013
|
||||
1332002
|
||||
1402001
|
||||
|
||||
Pirate Scroll:
|
||||
2044902 2044907 2044904 2044901 2044906 2044903 [2044900 2044908 ]
|
||||
|
||||
Pirate equipment:
|
||||
1052107
|
||||
1082189
|
||||
1052116
|
||||
1072309
|
||||
174
tools/MapleGachaponItemidRetriever/lib/gachapons/henesys.txt
Normal file
174
tools/MapleGachaponItemidRetriever/lib/gachapons/henesys.txt
Normal file
@@ -0,0 +1,174 @@
|
||||
|
||||
Scroll:
|
||||
2040001
|
||||
2041002
|
||||
2040805 - uncommon
|
||||
2040702
|
||||
2043802
|
||||
2040402
|
||||
2043702
|
||||
|
||||
Useable Drops:
|
||||
2000004 2000012 2002012 2022175 2022456
|
||||
2000005 2000019 2002013 2022176 2022457
|
||||
2020012
|
||||
2030007
|
||||
|
||||
Common equipment:
|
||||
1432009
|
||||
1302022
|
||||
1322021
|
||||
1302026
|
||||
1442017
|
||||
1082147
|
||||
1102043
|
||||
1322026
|
||||
1442016
|
||||
1402012 1402022 1402027 1402033
|
||||
1322025
|
||||
1322027
|
||||
1302027
|
||||
1312012
|
||||
1062000
|
||||
1332020
|
||||
1302028
|
||||
1372002
|
||||
1002033
|
||||
1092022
|
||||
1302021
|
||||
1102041 - uncommon
|
||||
1322009
|
||||
1102042 - uncommon
|
||||
1322024
|
||||
1082148
|
||||
1002012
|
||||
1322012
|
||||
1322022
|
||||
1002020 1002454
|
||||
1302013
|
||||
1082146
|
||||
1442014
|
||||
1002096
|
||||
1302017
|
||||
1442012
|
||||
|
||||
Beginner equipment:
|
||||
1442018 1442039 - uncommon
|
||||
|
||||
Warrior equipment:
|
||||
1092011
|
||||
1092014
|
||||
1302003
|
||||
1432001
|
||||
1312011 1312021 1312025 1312029
|
||||
1002088
|
||||
1041020
|
||||
1322015
|
||||
1442004
|
||||
1422008
|
||||
1302056 1402011 1402021 1402026 1402032
|
||||
1432000
|
||||
1442005 1442031 1442035 1442040
|
||||
|
||||
Magician equipment:
|
||||
1382001 1382020 1382025 1382030
|
||||
1041053
|
||||
1041029
|
||||
1050053
|
||||
1051032
|
||||
1050073
|
||||
1061036
|
||||
1002253
|
||||
1002034
|
||||
1051025
|
||||
1050067
|
||||
1051052
|
||||
1002072
|
||||
1002144
|
||||
1051054
|
||||
1050069
|
||||
1372007 1372019 1372023 1372028
|
||||
1050056
|
||||
1050074
|
||||
1002254
|
||||
1002274
|
||||
1002218
|
||||
1051055
|
||||
1382010 1382023 1382028 1382033
|
||||
1002246
|
||||
1050039
|
||||
1382007 1382022 1382027 1382032
|
||||
1372000
|
||||
1002013
|
||||
1050072
|
||||
1002036
|
||||
1002244
|
||||
1372008
|
||||
1382008 1382024 1382029 1382034
|
||||
1382011
|
||||
1092021
|
||||
1051034
|
||||
1050047
|
||||
1040019
|
||||
1041031
|
||||
1051033
|
||||
1002153
|
||||
1002252
|
||||
1051024
|
||||
1051053
|
||||
1050068
|
||||
1382003
|
||||
1382006 1382021 1382026 1382031
|
||||
1050055
|
||||
1051031
|
||||
1050025
|
||||
1002155
|
||||
1002245
|
||||
1372001 1372018 1372022 1372027
|
||||
|
||||
Bowman equipment:
|
||||
1452004 1452029 1452034 1452040
|
||||
1452023 1702035
|
||||
1060057
|
||||
1432001
|
||||
1040071
|
||||
1002137
|
||||
1462009 1462026 1462031 1462036
|
||||
1452017
|
||||
1040025 1041033
|
||||
1041027
|
||||
1452005 1452027 1452032 1452038
|
||||
1452007
|
||||
1061057
|
||||
|
||||
Thief equipment:
|
||||
1472006
|
||||
1472019
|
||||
1060084
|
||||
1472028
|
||||
1472004
|
||||
1002179
|
||||
1082074
|
||||
1472029 1472037 1472042 1472048
|
||||
1040100
|
||||
1332015 1332035 1332040 1332045
|
||||
1432001
|
||||
1040097
|
||||
1060071
|
||||
1472007
|
||||
1472002
|
||||
1051009
|
||||
1041044
|
||||
1041003
|
||||
1332016
|
||||
1472020
|
||||
1332003 1332034 1332039 1332044
|
||||
|
||||
Pirate Scroll:
|
||||
2044813
|
||||
|
||||
Pirate equipment:
|
||||
1002622
|
||||
1082204
|
||||
1082213
|
||||
1082198
|
||||
@@ -0,0 +1,117 @@
|
||||
|
||||
Scroll:
|
||||
2041016
|
||||
2043302
|
||||
2040805 - uncommon
|
||||
2040902
|
||||
|
||||
Useable drop:
|
||||
2000004 2000012 2002012 2022175 2022456
|
||||
2000005 2000019 2002013 2022176 2022457
|
||||
2022025
|
||||
2022027
|
||||
|
||||
Common equipment:
|
||||
1442013
|
||||
1432009
|
||||
1322021
|
||||
1050018
|
||||
1002392
|
||||
1082149 - uncommon
|
||||
1002394
|
||||
1442004
|
||||
1372002
|
||||
1002418
|
||||
1002033
|
||||
1092008
|
||||
1102041 - uncommon
|
||||
1082148
|
||||
1062001
|
||||
1302017
|
||||
1032023
|
||||
1102013
|
||||
1102040
|
||||
1002041
|
||||
1002097
|
||||
|
||||
Warrior equipment:
|
||||
1332026
|
||||
1051010
|
||||
1432001
|
||||
1422005 1422015 1422019 1422023
|
||||
1332019
|
||||
1302010 1302039 1302044 1302051
|
||||
1002056
|
||||
1060011
|
||||
1322011
|
||||
1432004 1432020 1432025 1432032
|
||||
1002028
|
||||
1051000
|
||||
1442007
|
||||
1302002
|
||||
|
||||
Magician equipment:
|
||||
1002037
|
||||
1002034
|
||||
1082020
|
||||
1050039
|
||||
1372000
|
||||
1002215
|
||||
1051034
|
||||
1040019
|
||||
1061034
|
||||
1382003
|
||||
1382006 1382021 1382026 1382031
|
||||
1050025
|
||||
|
||||
Bowman equipment:
|
||||
1002118
|
||||
1061081
|
||||
1452011 1452030 1452035 1452041
|
||||
1462012
|
||||
1452006
|
||||
1452007
|
||||
|
||||
Thief equipment:
|
||||
1472010 1472034 1472039 1472045
|
||||
1472029 1472037 1472042 1472048
|
||||
1041048
|
||||
1041095
|
||||
1060031
|
||||
1061033
|
||||
1041049
|
||||
1472011
|
||||
1040096
|
||||
1472033
|
||||
1332026
|
||||
1051006
|
||||
1082074
|
||||
1472025 1472036 1472041 1472047
|
||||
1061106
|
||||
1040084 1041076
|
||||
1332015 1332035 1332040 1332045
|
||||
1472000
|
||||
1332019
|
||||
1002183
|
||||
1002209
|
||||
1092020
|
||||
1332029
|
||||
1092019
|
||||
1061099
|
||||
1060106 1061116
|
||||
1040032 1041036
|
||||
1040059
|
||||
1332003 1332034 1332039 1332044
|
||||
1040060
|
||||
1060046
|
||||
1472005
|
||||
1332027
|
||||
|
||||
Pirate Scroll:
|
||||
2044804
|
||||
2044906
|
||||
|
||||
Pirate equipment:
|
||||
1482004 1482015
|
||||
1072318
|
||||
1492007 1492016
|
||||
113
tools/MapleGachaponItemidRetriever/lib/gachapons/leafre.txt
Normal file
113
tools/MapleGachaponItemidRetriever/lib/gachapons/leafre.txt
Normal file
@@ -0,0 +1,113 @@
|
||||
|
||||
Scroll:
|
||||
2040407 2040406
|
||||
2040409 2040408
|
||||
2040405 2040404
|
||||
2040411 2040410
|
||||
2040409 2040408
|
||||
2044405 2044404
|
||||
2040611 2040610
|
||||
2040607 2040606
|
||||
2040813 2040812
|
||||
2041039 2041038
|
||||
2041041 2041040
|
||||
2041035 2041034
|
||||
2041031 2041030
|
||||
2041037 2041036
|
||||
2043105 2043104
|
||||
2043305 2043304
|
||||
2040103 2040104
|
||||
2040605 2040604
|
||||
2040611 2040610
|
||||
2043005 2043004
|
||||
2043205 2043204
|
||||
2044205 2044204
|
||||
2044005 2044004
|
||||
2040521
|
||||
2040511 2040510
|
||||
2043305 2043304
|
||||
2040909 2040908
|
||||
2040905 2040904
|
||||
2040907 2040906
|
||||
2040809 2040808
|
||||
2040813 2040812
|
||||
2040811 - uncommon
|
||||
2040015 2040014
|
||||
2040715 2040714
|
||||
2040713 2040712
|
||||
2044005 2044004
|
||||
2043705 2043704
|
||||
2044505 2044504
|
||||
2040519 2040518
|
||||
2040203 2040204
|
||||
2040103 2040104
|
||||
2040108 2040109
|
||||
2044705 2044704
|
||||
2040907 2040906
|
||||
2040815 2040814 - uncommon
|
||||
2044305 2044304
|
||||
2043007 2043006
|
||||
2040307
|
||||
2040305 2040304
|
||||
2040309 2040308
|
||||
2040811 - uncommon
|
||||
2040208
|
||||
2040209
|
||||
|
||||
Useable drop:
|
||||
|
||||
Common equipment:
|
||||
1102040
|
||||
1102041 - uncommon
|
||||
1102042 - uncommon
|
||||
1102086
|
||||
1082145
|
||||
1032027
|
||||
1082146
|
||||
1002395 1002448
|
||||
1002083
|
||||
1002392
|
||||
1082149 - uncommon
|
||||
1002587
|
||||
1022047
|
||||
|
||||
Beginner equipment:
|
||||
|
||||
Warrior equipment:
|
||||
1312002
|
||||
1432013
|
||||
1060030
|
||||
1422008
|
||||
1050022
|
||||
1050011
|
||||
1402013
|
||||
1402017
|
||||
1302012 1302041 1302046 1302053
|
||||
|
||||
Mage equipment:
|
||||
1002074
|
||||
1050029
|
||||
1040093
|
||||
1050056
|
||||
1050039
|
||||
1382008 1382024 1382029 1382034
|
||||
|
||||
Bowman equipment:
|
||||
1002159
|
||||
1061051
|
||||
1040023
|
||||
|
||||
Thief equipment:
|
||||
1061054
|
||||
1061106
|
||||
1002249
|
||||
1040084 1041076
|
||||
1060052
|
||||
1472054
|
||||
|
||||
Pirate Scroll:
|
||||
2044803
|
||||
|
||||
Pirate equipment:
|
||||
1482009 1482018
|
||||
1072303
|
||||
159
tools/MapleGachaponItemidRetriever/lib/gachapons/ludibrium.txt
Normal file
159
tools/MapleGachaponItemidRetriever/lib/gachapons/ludibrium.txt
Normal file
@@ -0,0 +1,159 @@
|
||||
|
||||
Scroll:
|
||||
2048000
|
||||
2040601
|
||||
2041019
|
||||
2041007
|
||||
2041016
|
||||
2041022
|
||||
2041001
|
||||
2041010
|
||||
2041013
|
||||
2041004
|
||||
2044701
|
||||
2043301
|
||||
2040301
|
||||
2048004
|
||||
2048001
|
||||
2040901
|
||||
2040701
|
||||
2040704
|
||||
2040707
|
||||
2040602
|
||||
2041020
|
||||
2041008
|
||||
2041017
|
||||
2041023
|
||||
2041002
|
||||
2041011
|
||||
2041014
|
||||
2041005
|
||||
2044702
|
||||
2043302
|
||||
[2040302 2040330 ]
|
||||
2040805 - uncommon
|
||||
2040002
|
||||
2044402
|
||||
2048005
|
||||
2048002
|
||||
2040702
|
||||
2040705
|
||||
2040708
|
||||
2044302
|
||||
2043802
|
||||
2040402
|
||||
2043702
|
||||
|
||||
Useable drop:
|
||||
2000004 2000012 2002012 2022175 2022456
|
||||
2000005 2000019 2002013 2022176 2022457
|
||||
4006000
|
||||
4006001
|
||||
|
||||
Common equipment:
|
||||
1032003
|
||||
1432009
|
||||
1302022
|
||||
1302029
|
||||
1102014
|
||||
1102018
|
||||
1312014
|
||||
1302026
|
||||
1102015
|
||||
1032011 1041078
|
||||
1312013
|
||||
1032008 4031568
|
||||
1032019
|
||||
1032007
|
||||
1332030
|
||||
1032020
|
||||
1032004
|
||||
1302027
|
||||
1032022
|
||||
1312012
|
||||
1032021
|
||||
1032006
|
||||
1302028
|
||||
1322003 1702020
|
||||
1002419 - uncommon
|
||||
1032016
|
||||
1032015
|
||||
1302024
|
||||
1092008
|
||||
1032018
|
||||
1302021
|
||||
1032014
|
||||
1332021
|
||||
1322012
|
||||
1032005
|
||||
1032013
|
||||
1102012
|
||||
1302025
|
||||
1302013
|
||||
1032002
|
||||
1032001
|
||||
1032012
|
||||
1302017
|
||||
1032010
|
||||
1402014
|
||||
1102017
|
||||
1102013
|
||||
1442021
|
||||
1032009
|
||||
|
||||
Beginner equipment:
|
||||
1442018 1442039 - uncommon
|
||||
1332021
|
||||
1422011
|
||||
|
||||
Warrior equipment:
|
||||
1402017
|
||||
1422005 1422015 1422019 1422023
|
||||
1002023
|
||||
1332016
|
||||
1432005
|
||||
|
||||
Magician equipment:
|
||||
1002037
|
||||
1002034
|
||||
1002064
|
||||
1002038
|
||||
1002013
|
||||
1002036
|
||||
1382011
|
||||
1002035
|
||||
1002065
|
||||
1382014 1702033
|
||||
1372001 1372018 1372022 1372027
|
||||
|
||||
Bowman equipment:
|
||||
1452026
|
||||
1002162
|
||||
1002164
|
||||
1462018
|
||||
1002165
|
||||
1452014
|
||||
1002163
|
||||
1452012
|
||||
1002161
|
||||
1452009
|
||||
1462007 1462024 1462029 1462034
|
||||
|
||||
Thief Equipment:
|
||||
1332022
|
||||
1002175
|
||||
1002172
|
||||
1002174
|
||||
1040096
|
||||
1472033
|
||||
1002173
|
||||
1332054
|
||||
1472054
|
||||
1002171
|
||||
1332016
|
||||
|
||||
Pirate Scroll:
|
||||
2044811
|
||||
|
||||
Pirate equipment:
|
||||
1002646
|
||||
@@ -0,0 +1,119 @@
|
||||
|
||||
Scroll:
|
||||
2040305 2040304
|
||||
2040306
|
||||
2040309 2040308
|
||||
2044604
|
||||
2041039
|
||||
2041037
|
||||
2041035
|
||||
2041034
|
||||
2041041
|
||||
2040608
|
||||
2040605
|
||||
2040604
|
||||
2040611
|
||||
2040610
|
||||
2040811 - uncommon
|
||||
2040810 - uncommon
|
||||
2040813 2040812
|
||||
2040815 2040814 - uncommon
|
||||
2040809 2040808
|
||||
2043004
|
||||
2040017
|
||||
2040015
|
||||
2040011
|
||||
2040013 2040012
|
||||
2040405
|
||||
2040407 2040406
|
||||
2040411 2040410
|
||||
2040511
|
||||
2040509
|
||||
2040508
|
||||
2040519
|
||||
2040521 2040520
|
||||
2040108 2040109
|
||||
2040904
|
||||
2040909 2040908
|
||||
2043105 2043104
|
||||
2044105 2044104
|
||||
2043005
|
||||
2043004
|
||||
2043007 2043006
|
||||
2044005 2044004
|
||||
2044205 2044204
|
||||
2043305 2043304
|
||||
2040607 2040606
|
||||
2040715 2040714
|
||||
2040713
|
||||
2044305 2044304
|
||||
|
||||
Useable drop:
|
||||
|
||||
Common equipment:
|
||||
1102041 - uncommon
|
||||
1102042 - uncommon
|
||||
1102040
|
||||
1102084
|
||||
1002392
|
||||
1432009
|
||||
1002393 1002903
|
||||
1002394
|
||||
1082149 - uncommon
|
||||
1082147
|
||||
1082148
|
||||
1032028
|
||||
1002585
|
||||
1002586
|
||||
1432013
|
||||
1022047
|
||||
1322027
|
||||
1432018
|
||||
|
||||
Beginner equipment:
|
||||
1072264
|
||||
1072262
|
||||
1072263
|
||||
|
||||
Warrior equipment:
|
||||
1060074
|
||||
1322002
|
||||
1002340
|
||||
1442004
|
||||
1402037
|
||||
1422008
|
||||
1050022
|
||||
|
||||
Mage equipment:
|
||||
1382037
|
||||
1060014
|
||||
1051026
|
||||
1050056
|
||||
1050029
|
||||
1051030
|
||||
1382036
|
||||
1372032
|
||||
1041015
|
||||
1382015 3300001
|
||||
1372008
|
||||
1382008 1382024 1382029 1382034
|
||||
|
||||
Bowman equipment:
|
||||
1452018
|
||||
1041068
|
||||
1462007 1462024 1462029 1462034
|
||||
|
||||
Thief equipment:
|
||||
1060052
|
||||
1472013
|
||||
1002180
|
||||
1002170
|
||||
1060073 1061071
|
||||
1060099
|
||||
|
||||
Pirate Scroll:
|
||||
2044904
|
||||
|
||||
Pirate equipment:
|
||||
1492004 1492015
|
||||
1492012
|
||||
117
tools/MapleGachaponItemidRetriever/lib/gachapons/perion.txt
Normal file
117
tools/MapleGachaponItemidRetriever/lib/gachapons/perion.txt
Normal file
@@ -0,0 +1,117 @@
|
||||
|
||||
Useable drop:
|
||||
2000004 2000012 2002012 2022175 2022456
|
||||
2000005 2000019 2002013 2022176 2022457
|
||||
|
||||
Common equipment:
|
||||
1402010
|
||||
1302022
|
||||
1002060
|
||||
1322021
|
||||
1082147
|
||||
1002006
|
||||
1002026
|
||||
1002392
|
||||
1082149 - uncommon
|
||||
1322025
|
||||
1322027
|
||||
1002391 - uncommon
|
||||
1102000
|
||||
1082150
|
||||
1332020
|
||||
1322007
|
||||
1002419 - uncommon
|
||||
1302021
|
||||
1102041 - uncommon
|
||||
1002395 1002448
|
||||
1082148
|
||||
1322012
|
||||
1302017
|
||||
1322010
|
||||
1032000
|
||||
1102013
|
||||
1002097
|
||||
|
||||
Warrior equipment:
|
||||
1322020
|
||||
1312007
|
||||
1312008 1312018 1312022 1312026
|
||||
1302004
|
||||
1312006
|
||||
1082036
|
||||
1082117
|
||||
1061088
|
||||
1302008 1302038 1302043 1302050
|
||||
1422005 1422015 1422019 1422023
|
||||
1002048
|
||||
1061087
|
||||
1302018 1302042 1302047 1302054
|
||||
1322017 1322036 1322041 1322047
|
||||
1422001
|
||||
1040103
|
||||
1060077
|
||||
1002022
|
||||
1002050
|
||||
1442000
|
||||
1432030
|
||||
1402037
|
||||
1092002
|
||||
1041092
|
||||
1050006
|
||||
1432004 1432020 1432025 1432032
|
||||
1061019
|
||||
1432000
|
||||
1060009
|
||||
1051000
|
||||
1002021
|
||||
1322014 1322035 1322040 1322046
|
||||
1432005
|
||||
|
||||
Magician equipment:
|
||||
1051032
|
||||
1040018
|
||||
1051027
|
||||
1372007 1372019 1372023 1372028
|
||||
1050049
|
||||
1002036
|
||||
1382012
|
||||
1002217
|
||||
1051033
|
||||
1382006 1382021 1382026 1382031
|
||||
1050048
|
||||
|
||||
Bowman equipment:
|
||||
1061061
|
||||
1060062
|
||||
1040075
|
||||
1462013 1462027 1462032 1462037
|
||||
1041065
|
||||
1452006
|
||||
|
||||
Thief equipment:
|
||||
1040095
|
||||
1060084
|
||||
1002182
|
||||
1041049
|
||||
1002247
|
||||
1332024
|
||||
1332009
|
||||
1060024
|
||||
1332015 1332035 1332040 1332045
|
||||
1041060
|
||||
1061032
|
||||
1041074
|
||||
1041003
|
||||
1332016
|
||||
1472020
|
||||
1332003 1332034 1332039 1332044
|
||||
1041059
|
||||
|
||||
Pirate Scroll:
|
||||
2044907
|
||||
2044802 2044804 2044801 2044803 [2044800 2044815 ]
|
||||
|
||||
Pirate equipment:
|
||||
1002631
|
||||
1052122
|
||||
1482012
|
||||
@@ -0,0 +1,69 @@
|
||||
|
||||
Scroll:
|
||||
2048005
|
||||
2048002
|
||||
2043202
|
||||
2044602
|
||||
2043214
|
||||
2041307
|
||||
2040916 - uncommon
|
||||
2041035
|
||||
2044104
|
||||
2044505
|
||||
2044305
|
||||
2043304
|
||||
2041309
|
||||
2044010
|
||||
|
||||
Useable drop:
|
||||
2022016
|
||||
2000005 2000019 2002013 2022176 2022457
|
||||
2022025
|
||||
2022027
|
||||
|
||||
Common equipment:
|
||||
1402000
|
||||
1402013
|
||||
1002418
|
||||
1022047
|
||||
1102042 - uncommon
|
||||
1082145
|
||||
1082147
|
||||
1082146
|
||||
1082178
|
||||
1082175
|
||||
|
||||
Common setup:
|
||||
3010073
|
||||
3010099
|
||||
|
||||
Beginner equipment:
|
||||
|
||||
Warrior equipment:
|
||||
1422013
|
||||
1432030
|
||||
|
||||
Magician equipment:
|
||||
1372002
|
||||
1382003
|
||||
|
||||
Bowman equipment:
|
||||
1040023
|
||||
|
||||
Thief equipment:
|
||||
1332003 1332034 1332039 1332044
|
||||
1002209
|
||||
|
||||
Pirate Scroll:
|
||||
2044803
|
||||
2044814
|
||||
2044904
|
||||
2044902
|
||||
2044901
|
||||
|
||||
Pirate equipment:
|
||||
1082198
|
||||
1082213
|
||||
1482007 1482016
|
||||
1492004 1492015
|
||||
1002646
|
||||
@@ -0,0 +1,109 @@
|
||||
|
||||
Scroll:
|
||||
2048005
|
||||
2048002
|
||||
2043202
|
||||
2044602
|
||||
2043214
|
||||
2041307
|
||||
2040916 - uncommon
|
||||
2041035
|
||||
2044104
|
||||
2044505
|
||||
2044305
|
||||
2043304
|
||||
|
||||
Useable drop:
|
||||
2022016
|
||||
2000005 2000019 2002013 2022176 2022457
|
||||
2022025
|
||||
2022027
|
||||
|
||||
Common equipment:
|
||||
1332020
|
||||
1312004
|
||||
1332032 5010034 9250053
|
||||
1322023
|
||||
1322026
|
||||
1322022
|
||||
1322012
|
||||
1302014
|
||||
1302049
|
||||
1302017
|
||||
1332007
|
||||
1432009
|
||||
1432016
|
||||
1432017
|
||||
1432009
|
||||
1402013
|
||||
1402044
|
||||
1442014
|
||||
1442017
|
||||
1442016
|
||||
1442025
|
||||
1002418
|
||||
1082178
|
||||
1082179
|
||||
1082148
|
||||
1032027
|
||||
1032032
|
||||
1102028
|
||||
1102086
|
||||
1102042 - uncommon
|
||||
|
||||
Common setup:
|
||||
3010073
|
||||
3010111
|
||||
|
||||
Beginner equipment:
|
||||
|
||||
Warrior equipment:
|
||||
1412005
|
||||
1402048
|
||||
1402049
|
||||
1322011
|
||||
1302003
|
||||
1302004
|
||||
1302008 1302038 1302043 1302050
|
||||
|
||||
Magician equipment:
|
||||
1372000
|
||||
1372009
|
||||
1372001 1372018 1372022 1372027
|
||||
1372011 1702032
|
||||
1382006 1382021 1382026 1382031
|
||||
1382014 1702033
|
||||
|
||||
Bowman equipment:
|
||||
1452018
|
||||
1452006
|
||||
1452008 1452028 1452033 1452039
|
||||
1452005 1452027 1452032 1452038
|
||||
1462002
|
||||
1462007 1462024 1462029 1462034
|
||||
1462003
|
||||
1002169
|
||||
|
||||
Thief equipment:
|
||||
1472023
|
||||
1332012 1332033 1332038 1332043
|
||||
1332017
|
||||
1332022
|
||||
1332006
|
||||
1332029
|
||||
1040097
|
||||
|
||||
Pirate Scroll:
|
||||
2044902
|
||||
2044901
|
||||
2044811
|
||||
2044903
|
||||
2044804
|
||||
|
||||
Pirate equipment:
|
||||
1052107
|
||||
1082204
|
||||
1072318
|
||||
1002637
|
||||
1482009 1482018
|
||||
1492007 1492016
|
||||
165
tools/MapleGachaponItemidRetriever/lib/gachapons/sleepywood.txt
Normal file
165
tools/MapleGachaponItemidRetriever/lib/gachapons/sleepywood.txt
Normal file
@@ -0,0 +1,165 @@
|
||||
|
||||
Scroll:
|
||||
2048003
|
||||
2048000
|
||||
2040601
|
||||
2044501
|
||||
2041019
|
||||
2041016
|
||||
2041022
|
||||
2041010
|
||||
2041013
|
||||
2043301
|
||||
2040301
|
||||
[2040804 2040826 ]- uncommon
|
||||
2040801
|
||||
2040817 - uncommon
|
||||
2040001
|
||||
2040004
|
||||
2043101
|
||||
2043201
|
||||
2043001
|
||||
2040504
|
||||
2040501
|
||||
2048004
|
||||
2048001
|
||||
2044401
|
||||
2040901
|
||||
2040701
|
||||
2040704
|
||||
2040707
|
||||
2044301
|
||||
2043801
|
||||
2044101
|
||||
2044201
|
||||
2044001
|
||||
2040602
|
||||
2044502
|
||||
2041020
|
||||
2041017
|
||||
2041023
|
||||
2041014
|
||||
2041005
|
||||
2044702
|
||||
2044602
|
||||
2043302
|
||||
[2040302 2040330 ]
|
||||
2040805 - uncommon
|
||||
2040802
|
||||
2040005
|
||||
2043202
|
||||
2043002
|
||||
2040505
|
||||
2040502
|
||||
2048005
|
||||
2048002
|
||||
2044402
|
||||
2040902
|
||||
2040702
|
||||
2040705
|
||||
2040708
|
||||
2044302
|
||||
2043802
|
||||
2044202
|
||||
2044002
|
||||
|
||||
Useable drop:
|
||||
2340000 - uncommon
|
||||
2012000
|
||||
2012003
|
||||
2020007
|
||||
2000004 2000012 2002012 2022175 2022456
|
||||
2012001
|
||||
2020008
|
||||
2070006
|
||||
2020012
|
||||
2000005 2000019 2002013 2022176 2022457
|
||||
2030007
|
||||
2012002
|
||||
2002001
|
||||
2070005
|
||||
|
||||
Common equipment:
|
||||
1032003
|
||||
1432009
|
||||
1102014
|
||||
1102018
|
||||
1002392
|
||||
1082149 - uncommon
|
||||
1322026
|
||||
1032022
|
||||
1312012
|
||||
1332020
|
||||
1092030
|
||||
1032016
|
||||
1032015
|
||||
1032014
|
||||
1322024
|
||||
1032013
|
||||
1322022
|
||||
1102016
|
||||
1032012
|
||||
1032023
|
||||
1402014
|
||||
1032000
|
||||
1102017
|
||||
|
||||
Beginner equipment:
|
||||
1442018 1442039 - uncommon
|
||||
|
||||
Warrior equipment:
|
||||
1402017
|
||||
1051010
|
||||
1432011
|
||||
1442006
|
||||
1322002
|
||||
1422004
|
||||
1432010 1432023 1432028 1432035
|
||||
1051011
|
||||
1060018
|
||||
1432000
|
||||
1422003
|
||||
1412003 1412013 1412017 1412022
|
||||
1422000
|
||||
|
||||
Magician equipment:
|
||||
1002034
|
||||
1002142
|
||||
1382010 1382023 1382028 1382033
|
||||
1002013
|
||||
1382008 1382024 1382029 1382034
|
||||
1382011
|
||||
1050047
|
||||
1002065
|
||||
|
||||
Bowman equipment:
|
||||
1452003
|
||||
1002165
|
||||
1040068
|
||||
1462013 1462027 1462032 1462037
|
||||
1462011
|
||||
1462012
|
||||
1061050
|
||||
1462010
|
||||
1002161
|
||||
|
||||
Thief equipment:
|
||||
1332022
|
||||
1002175
|
||||
1040042
|
||||
1472004
|
||||
1040057
|
||||
1332031
|
||||
1332023 1332037 1332042 1332047
|
||||
1332010
|
||||
1002171
|
||||
1060046
|
||||
|
||||
Pirate Scroll:
|
||||
2044801
|
||||
2044903
|
||||
2044814
|
||||
|
||||
Pirate equipment:
|
||||
1052131
|
||||
1482007 1482016
|
||||
Binary file not shown.
3
tools/MapleGachaponItemidRetriever/manifest.mf
Normal file
3
tools/MapleGachaponItemidRetriever/manifest.mf
Normal file
@@ -0,0 +1,3 @@
|
||||
Manifest-Version: 1.0
|
||||
X-COMMENT: Main-Class will be added automatically by build
|
||||
|
||||
@@ -0,0 +1,375 @@
|
||||
/*
|
||||
This file is part of the HeavenMS MapleStory Server
|
||||
Copyleft (L) 2016 - 2018 RonanLana
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
published by the Free Software Foundation version 3 as published by
|
||||
the Free Software Foundation. You may not use, modify or distribute
|
||||
this program under any other version of the GNU Affero General Public
|
||||
License.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package maplegachaponitemidretriever;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.LinkedList;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.PrintWriter;
|
||||
import java.sql.Connection;
|
||||
import java.sql.DriverManager;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.util.Collections;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author RonanLana
|
||||
*
|
||||
* This application reads metadata for the gachapons found on the "gachapon_items.txt"
|
||||
* recipe file, then checks up the Handbook DB (installed through MapleIdRetriever)
|
||||
* and translates the item names from the recipe file into their respective itemids.
|
||||
* The translated itemids are then stored in specific gachapon files inside the
|
||||
* "lib/gachapons" folder.
|
||||
*
|
||||
* Estimated parse time: 1 minute
|
||||
*/
|
||||
public class MapleGachaponItemidRetriever {
|
||||
|
||||
static String host = "jdbc:mysql://localhost:3306/heavenms";
|
||||
static String driver = "com.mysql.jdbc.Driver";
|
||||
static String username = "root";
|
||||
static String password = "";
|
||||
|
||||
static Connection con = null;
|
||||
static InputStreamReader fileReader = null;
|
||||
static BufferedReader bufferedReader = null;
|
||||
static PrintWriter printWriter = null;
|
||||
|
||||
// ------- SET-UP section arguments --------
|
||||
|
||||
static String directoryName = "./handbook/";
|
||||
|
||||
// ------- SEARCH section arguments --------
|
||||
|
||||
static String inputName = "lib/gachapon_items.txt";
|
||||
static String outputPath = "lib/gachapons/";
|
||||
|
||||
static Pattern p = Pattern.compile("(\\d*)%");
|
||||
static int[] scrollsChances = new int[]{10, 15, 30, 60, 65, 70, 100};
|
||||
|
||||
static Map<GachaponScroll, List<Integer>> scrollItemids = new HashMap<>();
|
||||
|
||||
private static void insertGachaponScrollItemid(Integer id, String name, String description, boolean both) {
|
||||
GachaponScroll gachaScroll = getGachaponScroll(name, description, both);
|
||||
|
||||
List<Integer> list = scrollItemids.get(gachaScroll);
|
||||
if (list == null) {
|
||||
list = new LinkedList<>();
|
||||
scrollItemids.put(gachaScroll, list);
|
||||
}
|
||||
|
||||
list.add(id);
|
||||
}
|
||||
|
||||
private static void loadHandbookUseNames() throws SQLException {
|
||||
PreparedStatement ps = con.prepareStatement("SELECT * FROM `handbook` WHERE `id` >= 2040000 AND `id` < 2050000 ORDER BY `id` ASC;");
|
||||
ResultSet rs = ps.executeQuery();
|
||||
|
||||
while(rs.next()) {
|
||||
Integer id = rs.getInt("id");
|
||||
String name = rs.getString("name");
|
||||
|
||||
if (isUpgradeScroll(name)) {
|
||||
String description = rs.getString("description");
|
||||
insertGachaponScrollItemid(id, name, description, false);
|
||||
insertGachaponScrollItemid(id, name, description, true);
|
||||
}
|
||||
}
|
||||
|
||||
rs.close();
|
||||
ps.close();
|
||||
|
||||
/*
|
||||
for (Entry<GachaponScroll, List<Integer>> e : scrollItemids.entrySet()) {
|
||||
System.out.println(e);
|
||||
}
|
||||
System.out.println("------------");
|
||||
*/
|
||||
}
|
||||
|
||||
private static class GachaponScroll {
|
||||
private String header;
|
||||
private String target;
|
||||
private String buff;
|
||||
private int prop;
|
||||
|
||||
private GachaponScroll(GachaponScroll from, int prop) {
|
||||
this.header = from.header;
|
||||
this.target = from.target;
|
||||
this.buff = from.buff;
|
||||
this.prop = prop;
|
||||
}
|
||||
|
||||
private GachaponScroll(String name, String description, boolean both) {
|
||||
String[] params = name.split(" for ");
|
||||
if (params.length < 3) {
|
||||
return;
|
||||
}
|
||||
|
||||
String header = both ? "scroll" : " " + params[0];
|
||||
String target = params[1];
|
||||
|
||||
int prop = 0;
|
||||
String buff = params[2];
|
||||
|
||||
Matcher m = p.matcher(buff);
|
||||
if (m.find()) {
|
||||
prop = Integer.valueOf(m.group(1));
|
||||
buff = buff.substring(0, m.start() - 1).trim();
|
||||
} else {
|
||||
m = p.matcher(description);
|
||||
|
||||
if (m.find()) {
|
||||
prop = Integer.valueOf(m.group(1));
|
||||
}
|
||||
}
|
||||
|
||||
int idx = buff.indexOf(" ("); // remove percentage & dots from name checking
|
||||
if (idx > -1) {
|
||||
buff = buff.substring(0, idx);
|
||||
}
|
||||
buff = buff.replace(".", "");
|
||||
|
||||
this.header = header;
|
||||
this.target = target;
|
||||
this.buff = buff;
|
||||
this.prop = prop;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int result = (int) (prop ^ (prop >>> 32));
|
||||
result = 31 * result + (header != null ? header.hashCode() : 0);
|
||||
result = 31 * result + (target != null ? target.hashCode() : 0);
|
||||
result = 31 * result + (buff != null ? buff.hashCode() : 0);
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (this == o) return true;
|
||||
if (o == null || getClass() != o.getClass()) return false;
|
||||
GachaponScroll sc = (GachaponScroll) o;
|
||||
if (header != null ? !header.equals(sc.header) : sc.header != null) return false;
|
||||
if (target != null ? !target.equals(sc.target) : sc.target != null) return false;
|
||||
if (buff != null ? !buff.equals(sc.buff) : sc.buff != null) return false;
|
||||
if (prop != sc.prop) return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return header + " for " + target + " for " + buff + " - " + prop + "%";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private static String getGachaponScrollResults(String line, boolean both) {
|
||||
String str = "";
|
||||
List<GachaponScroll> gachaScrollList;
|
||||
|
||||
GachaponScroll gachaScroll = getGachaponScroll(line, "", both);
|
||||
if (gachaScroll.prop != 0) {
|
||||
gachaScrollList = Collections.singletonList(gachaScroll);
|
||||
} else {
|
||||
gachaScrollList = new ArrayList<>(scrollsChances.length);
|
||||
|
||||
for (int prop : scrollsChances) {
|
||||
gachaScrollList.add(new GachaponScroll(gachaScroll, prop));
|
||||
}
|
||||
}
|
||||
|
||||
for (GachaponScroll gs : gachaScrollList) {
|
||||
List<Integer> gachaItemids = scrollItemids.get(gs);
|
||||
if (gachaItemids != null) {
|
||||
String listStr = "";
|
||||
for (Integer id : gachaItemids) {
|
||||
listStr += id.toString();
|
||||
listStr += " ";
|
||||
}
|
||||
|
||||
if (gachaItemids.size() > 1) {
|
||||
str += "[" + listStr + "]";
|
||||
} else {
|
||||
str += listStr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return str;
|
||||
}
|
||||
|
||||
private static GachaponScroll getGachaponScroll(String name, String description, boolean both) {
|
||||
name = name.toLowerCase();
|
||||
name = name.replace("for acc ", "for accuracy ");
|
||||
name = name.replace("blunt weapon", "bw");
|
||||
name = name.replace("eye eqp.", "eye accessory");
|
||||
name = name.replace("face eqp.", "face accessory");
|
||||
name = name.replace("for attack", "for att");
|
||||
name = name.replace("1-handed", "one-handed");
|
||||
name = name.replace("2-handed", "two-handed");
|
||||
|
||||
return new GachaponScroll(name, description, both);
|
||||
}
|
||||
|
||||
private static boolean isUpgradeScroll(String name) {
|
||||
return name.matches("^(([D|d]ark )?[S|s]croll for).*");
|
||||
}
|
||||
|
||||
private static void fetchLineOnMapleHandbook(String line, String rarity) throws SQLException {
|
||||
String str = "";
|
||||
if (!isUpgradeScroll(line)) {
|
||||
PreparedStatement ps = con.prepareStatement("SELECT `id` FROM `handbook` WHERE `name` LIKE ? COLLATE latin1_general_ci ORDER BY `id` ASC;");
|
||||
ps.setString(1, line);
|
||||
|
||||
ResultSet rs = ps.executeQuery();
|
||||
while(rs.next()) {
|
||||
Integer id = rs.getInt("id");
|
||||
|
||||
str += id.toString();
|
||||
str += " ";
|
||||
}
|
||||
|
||||
rs.close();
|
||||
ps.close();
|
||||
} else {
|
||||
str += getGachaponScrollResults(line, false);
|
||||
if (str.isEmpty()) {
|
||||
str += getGachaponScrollResults(line, true);
|
||||
|
||||
if (str.isEmpty()) {
|
||||
System.out.println("NONE for '" + line + "' : " + getGachaponScroll(line, "", false));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (str.isEmpty()) {
|
||||
str += line;
|
||||
}
|
||||
|
||||
if (rarity != null) {
|
||||
str += ("- " + rarity);
|
||||
}
|
||||
|
||||
printWriter.println(str);
|
||||
}
|
||||
|
||||
private static void fetchDataOnMapleHandbook() throws SQLException {
|
||||
String line;
|
||||
|
||||
try {
|
||||
fileReader = new InputStreamReader(new FileInputStream(inputName), "UTF-8");
|
||||
bufferedReader = new BufferedReader(fileReader);
|
||||
|
||||
int skip = 0;
|
||||
boolean lineHeader = false;
|
||||
while((line = bufferedReader.readLine()) != null) {
|
||||
if (skip > 0) {
|
||||
skip--;
|
||||
|
||||
if (lineHeader) {
|
||||
if (!line.isEmpty()) {
|
||||
lineHeader = false;
|
||||
printWriter.println();
|
||||
printWriter.println(line + ":");
|
||||
}
|
||||
}
|
||||
} else if (line.isEmpty()) {
|
||||
printWriter.println("");
|
||||
} else if (line.startsWith("Gachapon ")) {
|
||||
String s[] = line.split("<EFBFBD> ");
|
||||
String gachaponName = s[s.length - 1];
|
||||
gachaponName = gachaponName.replace(" ", "_");
|
||||
gachaponName = gachaponName.toLowerCase();
|
||||
|
||||
if (printWriter != null) printWriter.close();
|
||||
printWriter = new PrintWriter(outputPath + gachaponName + ".txt", "UTF-8");
|
||||
|
||||
skip = 2;
|
||||
lineHeader = true;
|
||||
} else if (line.startsWith(".")) {
|
||||
skip = 1;
|
||||
lineHeader = true;
|
||||
} else {
|
||||
line = line.replace("<EFBFBD>", "'");
|
||||
for (String item : line.split("\\s\\|\\s")) {
|
||||
item = item.trim();
|
||||
if (!item.contentEquals("n/a")) {
|
||||
String[] itemInfo = item.split(" - ");
|
||||
fetchLineOnMapleHandbook(itemInfo[0], itemInfo.length > 1 ? itemInfo[1] : null);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (printWriter != null) printWriter.close();
|
||||
bufferedReader.close();
|
||||
fileReader.close();
|
||||
}
|
||||
catch(FileNotFoundException ex) {
|
||||
System.out.println(ex.getMessage());
|
||||
}
|
||||
catch(IOException ex) {
|
||||
System.out.println(ex.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
|
||||
try {
|
||||
Class.forName(driver).newInstance();
|
||||
con = DriverManager.getConnection(host, username, password);
|
||||
|
||||
loadHandbookUseNames();
|
||||
fetchDataOnMapleHandbook();
|
||||
|
||||
con.close();
|
||||
}
|
||||
|
||||
catch(SQLException e) {
|
||||
System.out.println("Error: invalid SQL syntax");
|
||||
System.out.println(e.getMessage());
|
||||
}
|
||||
|
||||
catch(ClassNotFoundException e) {
|
||||
System.out.println("Error: could not find class");
|
||||
System.out.println(e.getMessage());
|
||||
}
|
||||
|
||||
catch(InstantiationException | IllegalAccessException e) {
|
||||
System.out.println("Error: instantiation failure");
|
||||
System.out.println(e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
BIN
tools/MapleIdRetriever/dist/MapleIdRetriever.jar
vendored
BIN
tools/MapleIdRetriever/dist/MapleIdRetriever.jar
vendored
Binary file not shown.
@@ -82,10 +82,10 @@ public class MapleIdRetriever {
|
||||
}
|
||||
|
||||
private static void parseMapleHandbookLine(String line) throws SQLException {
|
||||
String[] tokens = line.split(" - ");
|
||||
String[] tokens = line.split(" - ", 3);
|
||||
|
||||
if(tokens.length > 1) {
|
||||
PreparedStatement ps = con.prepareStatement("INSERT INTO `handbook` (`id`, `name`) VALUES (?, ?)");
|
||||
PreparedStatement ps = con.prepareStatement("INSERT INTO `handbook` (`id`, `name`, `description`) VALUES (?, ?, ?)");
|
||||
try {
|
||||
ps.setInt(1, Integer.parseInt(tokens[0]));
|
||||
} catch (NumberFormatException npe) { // odd...
|
||||
@@ -93,7 +93,10 @@ public class MapleIdRetriever {
|
||||
ps.setInt(1, Integer.parseInt(num));
|
||||
}
|
||||
ps.setString(2, tokens[1]);
|
||||
ps.setString(3, tokens.length > 2 ? tokens[2] : "");
|
||||
ps.execute();
|
||||
|
||||
ps.close();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -124,14 +127,17 @@ public class MapleIdRetriever {
|
||||
private static void setupSqlTable() throws SQLException {
|
||||
PreparedStatement ps = con.prepareStatement("DROP TABLE IF EXISTS `handbook`;");
|
||||
ps.execute();
|
||||
ps.close();
|
||||
|
||||
ps = con.prepareStatement("CREATE TABLE `handbook` ("
|
||||
+ "`key` int(10) unsigned NOT NULL AUTO_INCREMENT,"
|
||||
+ "`id` int(10) DEFAULT NULL,"
|
||||
+ "`name` varchar(200) DEFAULT NULL,"
|
||||
+ "`description` varchar(1000) DEFAULT '',"
|
||||
+ "PRIMARY KEY (`key`)"
|
||||
+ ") ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;");
|
||||
ps.execute();
|
||||
ps.close();
|
||||
}
|
||||
|
||||
private static void parseMapleHandbook() throws SQLException {
|
||||
@@ -175,6 +181,9 @@ public class MapleIdRetriever {
|
||||
str += " ";
|
||||
}
|
||||
|
||||
rs.close();
|
||||
ps.close();
|
||||
|
||||
printWriter.println(str);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user