<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US">
	<id>https://japari-library.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Tsunko</id>
	<title>Japari Library, the Kemono Friends Wiki - User contributions [en-us]</title>
	<link rel="self" type="application/atom+xml" href="https://japari-library.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Tsunko"/>
	<link rel="alternate" type="text/html" href="https://japari-library.com/wiki/Special:Contributions/Tsunko"/>
	<updated>2026-09-23T10:07:00Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.7</generator>
	<entry>
		<id>https://japari-library.com/index.php?title=Serval/Pavilion_(Gen_2)&amp;diff=36240</id>
		<title>Serval/Pavilion (Gen 2)</title>
		<link rel="alternate" type="text/html" href="https://japari-library.com/index.php?title=Serval/Pavilion_(Gen_2)&amp;diff=36240"/>
		<updated>2019-01-15T04:47:02Z</updated>

		<summary type="html">&lt;p&gt;Tsunko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FriendBox/Pavilion&lt;br /&gt;
|name=Serval&lt;br /&gt;
|pavilionpic=ServalPavilionG2.png&lt;br /&gt;
|implemented=October 30th, 2018&lt;br /&gt;
|attribute=Red&lt;br /&gt;
|sleeppattern=Nocturnal&lt;br /&gt;
|materialsdropped={{PavilionSturdyWood}} {{PavilionSoftCloth}} {{PavilionColdStone}} {{PavilionStretchyRubber}}&lt;br /&gt;
}}&lt;br /&gt;
{{FriendBuilder/Pavilion&lt;br /&gt;
|introduction='''Serval''' is a [[Friend]] who appears in [[Kemono Friends Pavilion]]. This appearance is based on her Generation 2 (Nexon) incarnation, which was added to the game along with the other starting Generation 2 Friends in Version 1.4.0.&lt;br /&gt;
|jpdescription=大きな耳とスリムな身体か特徴で、その聴カはネコ科を代表するほど優れています。２，３ｍは軽々飛べるジャンプカを生かした、狩りの達人です。サーバルは「猟犬」を意味するという説もあります。&lt;br /&gt;
&lt;br /&gt;
「はいはーい！みんな元気？サバンナのことならな何でも間いてね。よく『ドジッ娘』とか『トラブルメーカー』とか言われるけど、そんなことないもん！みんなを笑顏にするのが、わたしの使命。今日もジャンプしたり、狩りごっこをしたり、元気いっぱいがんばるよー！」&lt;br /&gt;
|encounterguide=The rateups added in Serval's update were the [[Roll Cake Tower]], [[Pom-pom Tree]] and [[Waffle Jump Mat]]. All of these are 3-stars and the latter two are craftable, making her very easy to encounter. Coupled with the affinity to the Gen-2 Savanna, she should be just as easy to level as her Gen-? cousin.&lt;br /&gt;
|behaviors=* 烈風のポンポンパンチ ''(Pom-pom punch of Strong Gales)'' - [[Pom-pom Tree]]&lt;br /&gt;
|jpencounterline1=やっちゃうんだから！&lt;br /&gt;
|enencounterline1=I do it!&lt;br /&gt;
|jpencounterline2=はいはーい！みんな元気？&lt;br /&gt;
|enencounterline2=Hiya! How is everyone?&lt;br /&gt;
|jpencounterline3=ドジじゃないもん！&lt;br /&gt;
|enencounterline3=I'm not clumsy!&lt;br /&gt;
|jpencounterline4=準備はいい？レッツゴー！&lt;br /&gt;
|enencounterline4=Are you ready? Let's go!&lt;br /&gt;
|jpencounterline5=うひゃあ！？&lt;br /&gt;
|enencounterline5=Uhyaa!?&lt;br /&gt;
|holiday1=Halloween 2018&lt;br /&gt;
|jpholidayline1=トリック・オア・トリートだね！&lt;br /&gt;
|enholidayline1=It's a trick or treat!&lt;br /&gt;
|holiday2=Christmas 2018&lt;br /&gt;
|jpholidayline2=はいはーい！メリー・クリスマス！ プレゼント、楽しみだね！ワクワクしちゃうよ！&lt;br /&gt;
|enholidayline2=Hiya! Merry Christmas! I'm looking forward to the gifts! I'm getting excited!&lt;br /&gt;
|holiday3=New Year's Day 2018-2019&lt;br /&gt;
|jpholidayline3=ハッピー・ニュー・イヤーだね！今年こそ、トラブルメーカーって呼ばれないようにするんだから！&lt;br /&gt;
|enholidayline3=Happy New Year! I'd like to avoid being called a troublemaker this year!&lt;br /&gt;
}}&lt;br /&gt;
[[Category:Nocturnal Pavilion Friends]] [[Category:Generation 2 Pavilion Friends]]&lt;/div&gt;</summary>
		<author><name>Tsunko</name></author>
	</entry>
	<entry>
		<id>https://japari-library.com/index.php?title=Serval/Pavilion&amp;diff=36239</id>
		<title>Serval/Pavilion</title>
		<link rel="alternate" type="text/html" href="https://japari-library.com/index.php?title=Serval/Pavilion&amp;diff=36239"/>
		<updated>2019-01-15T04:46:23Z</updated>

		<summary type="html">&lt;p&gt;Tsunko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FriendBox/Pavilion&lt;br /&gt;
|name=Serval&lt;br /&gt;
|pavilionpic=ServalPavilion.jpg&lt;br /&gt;
|implemented=January 26th, 2018&lt;br /&gt;
|attribute=Green&lt;br /&gt;
|sleeppattern=Nocturnal&lt;br /&gt;
|materialsdropped={{PavilionSturdyWood}} {{PavilionSoftCloth}} {{PavilionColdStone}} {{PavilionStretchyRubber}}&lt;br /&gt;
}}&lt;br /&gt;
{{FriendBuilder/Pavilion&lt;br /&gt;
|introduction='''Serval''' is a [[Friend]] who appears in [[Kemono Friends Pavilion]].&lt;br /&gt;
|personality=Serval's personality is very similar to that of her [[Serval/Anime|anime counterpart]], despite the total absence of her best friend [[Kaban]].&lt;br /&gt;
|jpdescription=大きな耳とスリムな身体か特徴で、その聴カはネコ科を代表するほど優れています。２，３ｍは軽々飛べるジャンプカを生かした、狩りの達人です。サーバルは「猟犬」を意味するという説もあります。&amp;lt;br&amp;gt;&lt;br /&gt;
「はいはーい！みんな元気？サバンナのことならな何でも間いてね。よく『ドジッ娘』とか『トラブルメーカー』とか言われるけど、そんなことないもん！みんなを笑顏にするのが、わたしの使命。今日もジャンプしたり、狩りごっこをしたり、元気いっぱいがんばるよー！」&lt;br /&gt;
|encounterguide=Serval is scripted to always be the first friend the player encounters via the beginning tutorial. Being one of the main mascots of the entire Kemono Friends franchise, she is a very common Friend who appears at a multitude of Playthings and across all areas.&lt;br /&gt;
''Savanna'' - Her favourite area, with a common-level affinity. She will appear relatively often on anything you care to place here, but the [[Mouse Toy]]/[[Golden Mouse Toy]] have rateup/UB bonuses.&lt;br /&gt;
&lt;br /&gt;
''Mountain'' - Moderately high base spawn rate, but has rateups on the [[Game Machine]] and [[Foxtail Toy]].&lt;br /&gt;
&lt;br /&gt;
''Waterfront'' - Middling spawn rate compared to her best areas, but the [[Blue Handball]] is cheaply craftable.&lt;br /&gt;
&lt;br /&gt;
''Jungle'' - Surprisingly rare for Jungle; while there are no items with rateups, she still has a (low) base rate.&lt;br /&gt;
&lt;br /&gt;
''Desert'' - Higher than Jungle but lower than Waterfront, with similarly absent rateups.&lt;br /&gt;
&lt;br /&gt;
''Ocean'' - Moderate spawn rate, with the [[Beach Chair]] being a craftable rateup.&lt;br /&gt;
|behaviors=Serval has 3 unique behaviors, the most out of all friends in the game. They are as follows:&lt;br /&gt;
*サーバルジャンプ ''(Serval Jump)'' - Pounces on the [[Handball]] with her signature Serval Jump. (This does not happen with the [[Blue Handball]].)&lt;br /&gt;
*ねこパンチ ''(Cat Punch)'' - Punches the [[Mouse Toy]] back and forth.&lt;br /&gt;
*金のねこパンチ ''(Golden Cat Punch)'' - Punches the [[Golden Mouse Toy]] back and forth. Identical to Cat Punch.&lt;br /&gt;
|kemotalk={{KemoTalkTable&lt;br /&gt;
|friend=Serval&lt;br /&gt;
|friendid=0001&lt;br /&gt;
|talk1=3&lt;br /&gt;
|talk1friends={{PavFace|id=0004|link=Hippopotamus/Pavilion}}&lt;br /&gt;
|talk2=5&lt;br /&gt;
|talk2friends={{PavFace|id=0012|link=Lion/Pavilion}}&lt;br /&gt;
|talk3=9&lt;br /&gt;
|talk3friends={{PavFace|id=0008|link=Jaguar/Pavilion}}&lt;br /&gt;
|talk4=11&lt;br /&gt;
|talk4friends={{PavFace|id=0013|link=Moose/Pavilion}}&lt;br /&gt;
|talk5=13&lt;br /&gt;
|talk5friends={{PavFace|id=0005|link=Crested Ibis/Pavilion}}&lt;br /&gt;
|talk6=14&lt;br /&gt;
|talk6friends={{PavFace|id=0010|link=Black-Tailed Prairie Dog/Pavilion}}&lt;br /&gt;
|talk7=15&lt;br /&gt;
|talk7friends={{PavFace|id=0002|link=Raccoon/Pavilion}}&lt;br /&gt;
|talk8=16&lt;br /&gt;
|talk8friends={{PavFace|id=0002|link=Raccoon/Pavilion}}&lt;br /&gt;
|talk9=17&lt;br /&gt;
|talk9friends={{PavFace|id=0003|link=Fennec Fox/Pavilion}}&lt;br /&gt;
|talk10=18&lt;br /&gt;
|talk10friends={{PavFace|id=0004|link=Hippopotamus/Pavilion}}&lt;br /&gt;
|talk11=19&lt;br /&gt;
|talk11friends={{PavFace|id=0002|link=Raccoon/Pavilion}}&lt;br /&gt;
|talk12=20&lt;br /&gt;
|talk12friends={{PavFace|id=0002|link=Raccoon/Pavilion}}&lt;br /&gt;
|talk13=21&lt;br /&gt;
|talk13friends={{PavFace|id=0003|link=Fennec Fox/Pavilion}}&lt;br /&gt;
|talk14=32&lt;br /&gt;
|talk14friends={{PavFace|id=0018|link=Northern White-Faced Owl/Pavilion}}&lt;br /&gt;
|talk15=33&lt;br /&gt;
|talk15friends={{PavFace|id=0018|link=Northern White-Faced Owl/Pavilion}}&lt;br /&gt;
|talk16=34&lt;br /&gt;
|talk16friends={{PavFace|id=0035|link=Plains Zebra/Pavilion}} {{PavFace|id=0036|link=Thomson's Gazelle/Pavilion}}&lt;br /&gt;
|talk17=35&lt;br /&gt;
|talk17friends={{PavFace|id=0008|link=Jaguar/Pavilion}}&lt;br /&gt;
|talk18=36&lt;br /&gt;
|talk18friends={{PavFace|id=0002|link=Raccoon/Pavilion}} {{PavFace|id=0030|link=Caracal/Pavilion}}&lt;br /&gt;
|talk19=37&lt;br /&gt;
|talk19friends={{PavFace|id=0004|link=Hippopotamus/Pavilion}}&lt;br /&gt;
|talk20=38&lt;br /&gt;
|talk20friends={{PavFace|id=0002|link=Raccoon/Pavilion}} {{PavFace|id=0003|link=Fennec Fox/Pavilion}}&lt;br /&gt;
|talk21=59&lt;br /&gt;
|talk21friends={{PavFace|id=0007|link=Asian Small-Clawed Otter/Pavilion}}&lt;br /&gt;
|talk22=63&lt;br /&gt;
|talk22friends={{PavFace|id=0009|link=North American Beaver/Pavilion}} {{PavFace|id=0010|link=Black-Tailed Prairie Dog/Pavilion}}&lt;br /&gt;
|talk23=69&lt;br /&gt;
|talk23friends={{PavFace|id=0014|link=Shoebill/Pavilion}} {{PavFace|id=0027|link=Aardwolf/Pavilion}}&lt;br /&gt;
|talk24=86&lt;br /&gt;
|talk24friends={{PavFace|id=0002|link=Raccoon/Pavilion}} {{PavFace|id=0020|link=Royal Penguin/Pavilion}}&lt;br /&gt;
|talk25=109&lt;br /&gt;
|talk25friends={{PavFace|id=0004|link=Hippopotamus/Pavilion}} {{PavFace|id=0030|link=Caracal/Pavilion}}&lt;br /&gt;
|talk26=112&lt;br /&gt;
|talk26friends={{PavFace|id=0002|link=Raccoon/Pavilion}} {{PavFace|id=0003|link=Fennec Fox/Pavilion}}&lt;br /&gt;
|talk27=114&lt;br /&gt;
|talk27friends={{PavFace|id=0004|link=Hippopotamus/Pavilion}} {{PavFace|id=0035|link=Plains Zebra/Pavilion}}&lt;br /&gt;
|talk28=116&lt;br /&gt;
|talk28friends={{PavFace|id=0030|link=Caracal/Pavilion}} {{PavFace|id=0036|link=Thomson's Gazelle/Pavilion}}&lt;br /&gt;
|talk29=118&lt;br /&gt;
|talk29friends={{PavFace|id=0002|link=Raccoon/Pavilion}} {{PavFace|id=0003|link=Fennec Fox/Pavilion}}&lt;br /&gt;
|talk30=121&lt;br /&gt;
|talk30friends={{PavFace|id=0006|link=Suri Alpaca/Pavilion}}&lt;br /&gt;
|talk31=124&lt;br /&gt;
|talk31friends={{PavFace|id=0010|link=Black-Tailed Prairie Dog/Pavilion}}&lt;br /&gt;
|talk32=125&lt;br /&gt;
|talk32friends={{PavFace|id=0011|link=Tsuchinoko/Pavilion}}&lt;br /&gt;
|talk33=126&lt;br /&gt;
|talk33friends={{PavFace|id=0012|link=Lion/Pavilion}}&lt;br /&gt;
|talk34=128&lt;br /&gt;
|talk34friends={{PavFace|id=0014|link=Shoebill/Pavilion}}&lt;br /&gt;
|talk35=129&lt;br /&gt;
|talk35friends={{PavFace|id=0015|link=Ezo Red Fox/Pavilion}}&lt;br /&gt;
|talk36=133&lt;br /&gt;
|talk36friends={{PavFace|id=0019|link=Eurasian Eagle-Owl/Pavilion}}&lt;br /&gt;
|talk37=134&lt;br /&gt;
|talk37friends={{PavFace|id=0020|link=Royal Penguin/Pavilion}}&lt;br /&gt;
|talk38=136&lt;br /&gt;
|talk38friends={{PavFace|id=0022|link=Humboldt Penguin/Pavilion}}&lt;br /&gt;
|talk39=139&lt;br /&gt;
|talk39friends={{PavFace|id=0025|link=Margay/Pavilion}}&lt;br /&gt;
|talk40=141&lt;br /&gt;
|talk40friends={{PavFace|id=0002|link=Raccoon/Pavilion}} {{PavFace|id=0030|link=Caracal/Pavilion}}&lt;br /&gt;
|talk41=142&lt;br /&gt;
|talk41friends={{PavFace|id=0032|link=Atlantic Puffin/Pavilion}}&lt;br /&gt;
|talk42=143&lt;br /&gt;
|talk42friends={{PavFace|id=0035|link=Plains Zebra/Pavilion}}&lt;br /&gt;
|talk43=144&lt;br /&gt;
|talk43friends={{PavFace|id=0036|link=Thomson's Gazelle/Pavilion}}&lt;br /&gt;
|talk44=145&lt;br /&gt;
|talk44friends={{PavFace|id=0016|link=Silver Fox/Pavilion}} {{PavFace|id=0030|link=Caracal/Pavilion}}&lt;br /&gt;
|talk45=146&lt;br /&gt;
|talk45friends={{PavFace|id=0006|link=Suri Alpaca/Pavilion}}&lt;br /&gt;
|talk46=147&lt;br /&gt;
|talk46friends={{PavFace|id=0017|link=Brown Bear/Pavilion}}&lt;br /&gt;
|talk47=148&lt;br /&gt;
|talk47friends={{PavFace|id=0018|link=Northern White-Faced Owl/Pavilion}} {{PavFace|id=0019|link=Eurasian Eagle-Owl/Pavilion}} {{PavFace|id=0030|link=Caracal/Pavilion}}&lt;br /&gt;
|talk48=149&lt;br /&gt;
|talk48friends={{PavFace|id=0023|link=Gentoo Penguin/Pavilion}}&lt;br /&gt;
|talk49=150&lt;br /&gt;
|talk49friends={{PavFace|id=0024|link=Southern Rockhopper Penguin/Pavilion}}&lt;br /&gt;
|talk50=165&lt;br /&gt;
|talk50friends={{PavFace|id=0005|link=Crested Ibis/Pavilion}} {{PavFace|id=0035|link=Plains Zebra/Pavilion}} {{PavFace|id=0036|link=Thomson's Gazelle/Pavilion}}&lt;br /&gt;
|talk51=166&lt;br /&gt;
|talk51friends={{PavFace|id=0005|link=Crested Ibis/Pavilion}} {{PavFace|id=0006|link=Suri Alpaca/Pavilion}}&lt;br /&gt;
|talk52=173&lt;br /&gt;
|talk52friends={{PavFace|id=0004|link=Hippopotamus/Pavilion}} {{PavFace|id=0007|link=Asian Small-Clawed Otter/Pavilion}}&lt;br /&gt;
|talk53=196&lt;br /&gt;
|talk53friends={{PavFace|id=0012|link=Lion/Pavilion}} {{PavFace|id=0035|link=Plains Zebra/Pavilion}}&lt;br /&gt;
|talk54=209&lt;br /&gt;
|talk54friends={{PavFace|id=0002|link=Raccoon/Pavilion}} {{PavFace|id=0015|link=Ezo Red Fox/Pavilion}}&lt;br /&gt;
|talk55=210&lt;br /&gt;
|talk55friends={{PavFace|id=0015|link=Ezo Red Fox/Pavilion}} {{PavFace|id=0016|link=Silver Fox/Pavilion}}&lt;br /&gt;
|talk56=221&lt;br /&gt;
|talk56friends={{PavFace|id=0018|link=Northern White-Faced Owl/Pavilion}} {{PavFace|id=0030|link=Caracal/Pavilion}}&lt;br /&gt;
|talk57=245&lt;br /&gt;
|talk57friends={{PavFace|id=0023|link=Gentoo Penguin/Pavilion}} {{PavFace|id=0030|link=Caracal/Pavilion}}&lt;br /&gt;
|talk58=259&lt;br /&gt;
|talk58friends={{PavFace|id=0027|link=Aardwolf/Pavilion}}&lt;br /&gt;
|talk59=262&lt;br /&gt;
|talk59friends={{PavFace|id=0030|link=Caracal/Pavilion}} {{PavFace|id=0035|link=Plains Zebra/Pavilion}} {{PavFace|id=0036|link=Thomson's Gazelle/Pavilion}}&lt;br /&gt;
|talk60=265&lt;br /&gt;
|talk60friends={{PavFace|id=0006|link=Suri Alpaca/Pavilion}} {{PavFace|id=0030|link=Caracal/Pavilion}}&lt;br /&gt;
|talk61=269&lt;br /&gt;
|talk61friends={{PavFace|id=0008|link=Jaguar/Pavilion}} {{PavFace|id=0035|link=Plains Zebra/Pavilion}}&lt;br /&gt;
|talk62=285&lt;br /&gt;
|talk62friends={{PavFace|id=0001}}&lt;br /&gt;
|talk63=286&lt;br /&gt;
|talk63friends={{PavFace|id=0001}}&lt;br /&gt;
|talk64=287&lt;br /&gt;
|talk64friends={{PavFace|id=0001}}&lt;br /&gt;
|talk65=288&lt;br /&gt;
|talk65friends={{PavFace|id=0001}}&lt;br /&gt;
|talk66=289&lt;br /&gt;
|talk66friends={{PavFace|id=0001}}&lt;br /&gt;
|talk67=290&lt;br /&gt;
|talk67friends={{PavFace|id=0001}}&lt;br /&gt;
|talk68=291&lt;br /&gt;
|talk68friends={{PavFace|id=0001}}&lt;br /&gt;
|talk69=504&lt;br /&gt;
|talk69friends={{PavFace|id=0017|link=Brown Bear/Pavilion}} {{PavFace|id=0028|link=Black-Backed Jackal/Pavilion}}&lt;br /&gt;
|talk70=530&lt;br /&gt;
|talk70friends={{PavFace|id=0033|link=Bald Eagle/Pavilion}}&lt;br /&gt;
|talk71=553&lt;br /&gt;
|talk71friends={{PavFace|id=0029|link=Komodo Dragon/Pavilion}}&lt;br /&gt;
|talk72=574&lt;br /&gt;
|talk72friends={{PavFace|id=0030|link=Caracal/Pavilion}} {{PavFace|id=0034|link=Cougar/Pavilion}}&lt;br /&gt;
|talk73=608&lt;br /&gt;
|talk73friends={{PavFace|id=0025|link=Margay/Pavilion}} {{PavFace|id=0036|link=Thomson's Gazelle/Pavilion}} {{PavFace|id=0040|link=Reticulated Giraffe/Pavilion}}&lt;br /&gt;
|talk74=616&lt;br /&gt;
|talk74friends={{PavFace|id=0008|link=Jaguar/Pavilion}} {{PavFace|id=0034|link=Cougar/Pavilion}}&lt;br /&gt;
|talk75=653&lt;br /&gt;
|talk75friends={{PavFace|id=0008|link=Jaguar/Pavilion}} {{PavFace|id=0034|link=Cougar/Pavilion}} {{PavFace|id=0038|link=Resplendent Quetzal/Pavilion}}&lt;br /&gt;
|talk76=659&lt;br /&gt;
|talk76friends={{PavFace|id=0030|link=Caracal/Pavilion}} {{PavFace|id=0031|link=Silky Anteater/Pavilion}} {{PavFace|id=0042|link=Fossa/Pavilion}}&lt;br /&gt;
|talk77=729&lt;br /&gt;
|talk77friends={{PavFace|id=0026|link=Tibetan Sand Fox/Pavilion}} {{PavFace|id=0030|link=Caracal/Pavilion}}&lt;br /&gt;
|talk78=743&lt;br /&gt;
|talk78friends={{PavFace|id=0002|link=Raccoon/Pavilion}} {{PavFace|id=0003|link=Fennec Fox/Pavilion}} {{PavFace|id=0055|link=New Zealand Giant Penguin/Pavilion}}&lt;br /&gt;
|talk79=763&lt;br /&gt;
|talk79friends={{PavFace|id=0031|link=Silky Anteater/Pavilion}}&lt;br /&gt;
|talk80=778&lt;br /&gt;
|talk80friends={{PavFace|id=0012|link=Lion/Pavilion}} {{PavFace|id=0039|link=Gray Wolf/Pavilion}} {{PavFace|id=0052|link=Cheetah/Pavilion}}&lt;br /&gt;
|talk81=811&lt;br /&gt;
|talk81friends={{PavFace|id=0059|link=Sand Cat/Pavilion}}&lt;br /&gt;
|talk82=836&lt;br /&gt;
|talk82friends={{PavFace|id=0064|link=Dromedary/Pavilion}} {{PavFace|id=0065|link=Wild Bactrian Camel/Pavilion}} &lt;br /&gt;
|cameo1=297&lt;br /&gt;
|cameo2=303&lt;br /&gt;
|cameo3=308&lt;br /&gt;
|cameo4=315&lt;br /&gt;
|cameo5=326&lt;br /&gt;
|cameo6=333&lt;br /&gt;
|cameo7=338&lt;br /&gt;
|cameo8=359&lt;br /&gt;
|cameo9=368&lt;br /&gt;
|cameo10=371&lt;br /&gt;
|cameo11=460&lt;br /&gt;
|cameo12=467&lt;br /&gt;
|cameo13=473&lt;br /&gt;
|cameo14=483&lt;br /&gt;
|cameo15=490&lt;br /&gt;
|cameo16=780&lt;br /&gt;
|cameo17=783&lt;br /&gt;
}}&lt;br /&gt;
|jpencounterline1=もっと遊んじゃうよ.&lt;br /&gt;
|enencounterline1=Time to play some more.&lt;br /&gt;
|jpencounterline2=うみゃみゃみゃー！&lt;br /&gt;
|enencounterline2=Umyamyamyaaa!&lt;br /&gt;
|jpencounterline3=うみゃ?&lt;br /&gt;
|enencounterline3=Umya?&lt;br /&gt;
|holiday1=Halloween 2018&lt;br /&gt;
|jpholidayline1=みんな！トリック・オア・トリートだよ！&lt;br /&gt;
|enholidayline1=Everyone! It's a Trick or Treat!&lt;br /&gt;
|holiday2=Christmas 2018&lt;br /&gt;
|jpholidayline2=うみゃーっ！メリー・クリスマスだね！わたし、いい子にしてたよ。&lt;br /&gt;
|enholidayline2=Umyaaa! Merry Christmas! I've been a good girl.&lt;br /&gt;
|holiday3=New Year's Day 2018-2019&lt;br /&gt;
|jpholidayline3=ハッピー・ニュー・ウミャー！？ これからもパークのみんなと楽しく遊んじゃうから見ててね！&lt;br /&gt;
|enholidayline3=Happy New Umyaaa!? Because I'll also play happily with everyone in a park now, please see!&lt;br /&gt;
|trivia=* The Serval Jump performed in her first Unique Behavior is a reference to the same jump she performs in the 2017 anime.&lt;br /&gt;
}}&lt;br /&gt;
[[Category:Nocturnal Pavilion Friends]] [[Category:Generation ? Pavilion Friends]]&lt;/div&gt;</summary>
		<author><name>Tsunko</name></author>
	</entry>
	<entry>
		<id>https://japari-library.com/index.php?title=Hippopotamus/Pavilion_(Gen_2)&amp;diff=36238</id>
		<title>Hippopotamus/Pavilion (Gen 2)</title>
		<link rel="alternate" type="text/html" href="https://japari-library.com/index.php?title=Hippopotamus/Pavilion_(Gen_2)&amp;diff=36238"/>
		<updated>2019-01-15T04:44:10Z</updated>

		<summary type="html">&lt;p&gt;Tsunko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FriendBox/Pavilion&lt;br /&gt;
|name=Hippopotamus&lt;br /&gt;
|pavilionpic=HippopotamusPavilionG2.png&lt;br /&gt;
|implemented=October 30th, 2018&lt;br /&gt;
|attribute=Blue&lt;br /&gt;
|sleeppattern=Nocturnal&lt;br /&gt;
|materialsdropped={{PavilionColdStone}}&lt;br /&gt;
}}&lt;br /&gt;
{{FriendBuilder/Pavilion&lt;br /&gt;
|introduction='''Hippopotamus''', or just '''Hippo''' for short, is a [[Friend]] who appears in [[Kemono Friends Pavilion]]. This appearance is based on her Generation 2 (Nexon) incarnation, which was added to the game along with the other starting Generation 2 Friends in Version 1.4.0.&lt;br /&gt;
|jpdescription=ユーモラスな仕草や外見からおっとりしたイメージをもたれますが、非常に糸張り意識が強く、ライオンやワニにも向かっていきます。持久力はありませんが、時速４０ｋｍ以上で走れます。半水生の哺乳類で、－日の大半を水の中で過ごします。&lt;br /&gt;
&lt;br /&gt;
「カバよぉ。わたしが優しそう？ふふ、ありがとう。でも、案外おねーさんは”　どう猛”なのよ？いざとなったら、楽しみにしておいてねぇ～♪」&lt;br /&gt;
|encounterguide=The rateups added in Hippo's update were the [[Houseboat]], [[Water Cottage]] and [[Rock Pond]]. Having only one printer rateup makes her somewhat rare in terms of items,  but this is mitigated by the Rock Pond being craftable.&lt;br /&gt;
|behaviors=*のんびりカバさん ''(Carefree Kaba-san)'' - [[Water Cottage]]&lt;br /&gt;
|jpencounterline1=力は強いけど、お肌は弱いのよねぇ。&lt;br /&gt;
|enencounterline1=''My strength is strong, but my skin is weak.''&lt;br /&gt;
|jpencounterline2=お姉さんは、けっこうどう猛なのよぉ。&lt;br /&gt;
|enencounterline2=''Onee-san is quite ferocious.''&lt;br /&gt;
|jpencounterline3=あらあらぁ。&lt;br /&gt;
|enencounterline3=''Oh dear.''&lt;br /&gt;
|jpencounterline4=ガブッといっちゃおうかしら？&lt;br /&gt;
|enencounterline4=''I will bite it?''&lt;br /&gt;
|holiday1=Halloween 2018&lt;br /&gt;
|jpholidayline1=トリック・オア・トリートよぉ。&lt;br /&gt;
|enholidayline1=''Trick or Treat, dear.''&lt;br /&gt;
|holiday2=Christmas 2018&lt;br /&gt;
|jpholidayline2=メリー・クリスマスよぉ。&amp;lt;br&amp;gt;お姉さんも楽しみだわぁ。&lt;br /&gt;
|enholidayline2=''Merry Christmas, dear.&amp;lt;br&amp;gt;Onee-san is excited, too.''&lt;br /&gt;
|holiday3=New Year's Day 2018-2019&lt;br /&gt;
|jpholidayline3=ハッピー・ニュー・イヤーよぉ。うふ、今年もお姉さん、頑張っちゃうわよぉ。&lt;br /&gt;
|enholidayline3=''Happy New Year. Ufu, onee-san is going to keep on trying hard this year.''&lt;br /&gt;
}}&lt;br /&gt;
[[Category:Nocturnal Pavilion Friends]] [[Category:Generation 2 Pavilion Friends]]&lt;/div&gt;</summary>
		<author><name>Tsunko</name></author>
	</entry>
	<entry>
		<id>https://japari-library.com/index.php?title=Hippopotamus/Pavilion&amp;diff=36237</id>
		<title>Hippopotamus/Pavilion</title>
		<link rel="alternate" type="text/html" href="https://japari-library.com/index.php?title=Hippopotamus/Pavilion&amp;diff=36237"/>
		<updated>2019-01-15T04:40:43Z</updated>

		<summary type="html">&lt;p&gt;Tsunko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FriendBox/Pavilion&lt;br /&gt;
|name=Hippopotamus&lt;br /&gt;
|pavilionpic=HippopotamusPavilion.jpg&lt;br /&gt;
|implemented=January 26th, 2018&lt;br /&gt;
|attribute=Blue&lt;br /&gt;
|sleeppattern=Nocturnal&lt;br /&gt;
|materialsdropped={{PavilionColdStone}}&lt;br /&gt;
}}&lt;br /&gt;
{{FriendBuilder/Pavilion&lt;br /&gt;
|introduction='''Hippopotamus''', or just '''Hippo''' for short, is a [[Friend]] who appears in [[Kemono Friends Pavilion]].&lt;br /&gt;
|personality=Hippo's personality is largely identical to that of her [[Hippopotamus/Anime|anime counterpart]].&lt;br /&gt;
|jpdescription=ユーモラスな仕草や外見からおっとりしたイメージをもたれますが、非常に糸張り意識が強く、ライオンやワニにも向かっていきます。持久力はありませんが、時速４０ｋｍ以上で走れます。半水生の哺乳類で、－日の大半を水の中で過ごします。&lt;br /&gt;
「カバよぉ。わたしが優しそう？ふふ、ありがとう。でも、案外おねーさんは”　どう猛”なのよ？いざとなったら、楽しみにしておいてねぇ～♪」&lt;br /&gt;
|encounterguide=Hippo is considered one of the most common Friend encounters, and the player will likely have no problem finding her. However, if the player wishes to encounter her as early as possible, she is known to spawn on the Wooden Chair the player receives at the beginning of the game.&lt;br /&gt;
&lt;br /&gt;
''Savanna'' - Her most common area, and the effective area of the aforementioned Wooden Chair and both of her UB playthings.&lt;br /&gt;
&lt;br /&gt;
''Mountain'' - Decent spawn rate, no rateups.&lt;br /&gt;
&lt;br /&gt;
''Waterfront'' - Fairly high spawn rate; can be attracted for cheap with the [[Donut Pool Float]], and can appear on the [[Dumbbell]] along with {{sbpg|Moose|Pavilion}} and {{sbpg|Black-Backed Jackal|Pavilion}}.&lt;br /&gt;
&lt;br /&gt;
''Jungle'' - Mild spawn rate, no rateups.&lt;br /&gt;
&lt;br /&gt;
''Desert'' - Moderately high spawn rate, again with no rateups.&lt;br /&gt;
&lt;br /&gt;
''Beach'' - High spawn rate, no rateups.&lt;br /&gt;
|behaviors=*パンチ ''(Punch)'' - Punches the [[Sandbag]].&lt;br /&gt;
*水面から顔を出す ''(Take a look out of the water)'' - [[Large Peach]]&lt;br /&gt;
|kemotalk={{KemoTalkTable&lt;br /&gt;
|friend=Hippopotamus&lt;br /&gt;
|friendid=0004&lt;br /&gt;
|talk1=1&lt;br /&gt;
|talk1friends={{PavFace|id=0007|link=Asian Small-Clawed Otter/Pavilion}}&lt;br /&gt;
|talk2=3&lt;br /&gt;
|talk2friends={{PavFace|id=0001|link=Serval/Pavilion}}&lt;br /&gt;
|talk3=4&lt;br /&gt;
|talk3friends={{PavFace|id=0012|link=Lion/Pavilion}}&lt;br /&gt;
|talk4=7&lt;br /&gt;
|talk4friends={{PavFace|id=0002|link=Raccoon/Pavilion}} {{PavFace|id=0003|link=Fennec Fox/Pavilion}}&lt;br /&gt;
|talk5=18&lt;br /&gt;
|talk5friends={{PavFace|id=0001|link=Serval/Pavilion}}&lt;br /&gt;
|talk6=22&lt;br /&gt;
|talk6friends={{PavFace|id=0025|link=Margay/Pavilion}}&lt;br /&gt;
|talk7=23&lt;br /&gt;
|talk7friends={{PavFace|id=0025|link=Margay/Pavilion}}&lt;br /&gt;
|talk8=37&lt;br /&gt;
|talk8friends={{PavFace|id=0001|link=Serval/Pavilion}}&lt;br /&gt;
|talk9=44&lt;br /&gt;
|talk9friends={{PavFace|id=0014|link=Shoebill/Pavilion}}&lt;br /&gt;
|talk10=95&lt;br /&gt;
|talk10friends={{PavFace|id=0022|link=Humboldt Penguin/Pavilion}}&lt;br /&gt;
|talk11=108&lt;br /&gt;
|talk11friends={{PavFace|id=0027|link=Aardwolf/Pavilion}}&lt;br /&gt;
|talk12=109&lt;br /&gt;
|talk12friends={{PavFace|id=0001|link=Serval/Pavilion}} {{PavFace|id=0030|link=Caracal/Pavilion}}&lt;br /&gt;
|talk13=114&lt;br /&gt;
|talk13friends={{PavFace|id=0001|link=Serval/Pavilion}} {{PavFace|id=0035|link=Plains Zebra/Pavilion}}&lt;br /&gt;
|talk14=119&lt;br /&gt;
|talk14friends={{PavFace|id=0002|link=Raccoon/Pavilion}}&lt;br /&gt;
|talk15=161&lt;br /&gt;
|talk15friends={{PavFace|id=0036|link=Thomson's Gazelle/Pavilion}}&lt;br /&gt;
|talk16=162&lt;br /&gt;
|talk16friends={{PavFace|id=0005|link=Crested Ibis/Pavilion}} {{PavFace|id=0006|link=Suri Alpaca/Pavilion}}&lt;br /&gt;
|talk17=163&lt;br /&gt;
|talk17friends={{PavFace|id=0009|link=North American Beaver/Pavilion}} {{PavFace|id=0022|link=Humboldt Penguin/Pavilion}}&lt;br /&gt;
|talk18=164&lt;br /&gt;
|talk18friends={{PavFace|id=0020|link=Royal Penguin/Pavilion}}&lt;br /&gt;
|talk19=169&lt;br /&gt;
|talk19friends={{PavFace|id=0006|link=Suri Alpaca/Pavilion}}&lt;br /&gt;
|talk20=173&lt;br /&gt;
|talk20friends={{PavFace|id=0001|link=Serval/Pavilion}} {{PavFace|id=0007|link=Asian Small-Clawed Otter/Pavilion}}&lt;br /&gt;
|talk21=187&lt;br /&gt;
|talk21friends={{PavFace|id=0008|link=Jaguar/Pavilion}} {{PavFace|id=0010|link=Black-Tailed Prairie Dog/Pavilion}}&lt;br /&gt;
|talk22=215&lt;br /&gt;
|talk22friends={{PavFace|id=0015|link=Ezo Red Fox/Pavilion}} {{PavFace|id=0016|link=Silver Fox/Pavilion}}&lt;br /&gt;
|talk23=227&lt;br /&gt;
|talk23friends={{PavFace|id=0020|link=Royal Penguin/Pavilion}}&lt;br /&gt;
|talk24=243&lt;br /&gt;
|talk24friends={{PavFace|id=0007|link=Asian Small-Clawed Otter/Pavilion}} {{PavFace|id=0023|link=Gentoo Penguin/Pavilion}}&lt;br /&gt;
|talk25=270&lt;br /&gt;
|talk25friends={{PavFace|id=0035|link=Plains Zebra/Pavilion}}&lt;br /&gt;
|talk26=306&lt;br /&gt;
|talk26friends={{PavFace|id=0004}}&lt;br /&gt;
|talk27=307&lt;br /&gt;
|talk27friends={{PavFace|id=0004}}&lt;br /&gt;
|talk28=308&lt;br /&gt;
|talk28friends={{PavFace|id=0004}}&lt;br /&gt;
|talk29=309&lt;br /&gt;
|talk29friends={{PavFace|id=0004}}&lt;br /&gt;
|talk30=310&lt;br /&gt;
|talk30friends={{PavFace|id=0004}}&lt;br /&gt;
|talk31=311&lt;br /&gt;
|talk31friends={{PavFace|id=0004}}&lt;br /&gt;
|talk32=312&lt;br /&gt;
|talk32friends={{PavFace|id=0004}}&lt;br /&gt;
|talk33=503&lt;br /&gt;
|talk33friends={{PavFace|id=0028|link=Black-Backed Jackal/Pavilion}}&lt;br /&gt;
|talk34=607&lt;br /&gt;
|talk34friends={{PavFace|id=0029|link=Komodo Dragon/Pavilion}} {{PavFace|id=0040|link=Reticulated Giraffe/Pavilion}}&lt;br /&gt;
|talk35=646&lt;br /&gt;
|talk35friends={{PavFace|id=0037|link=Scarlet Macaw/Pavilion}} {{PavFace|id=0045|link=Malayan Tapir/Pavilion}}&lt;br /&gt;
|talk36=730&lt;br /&gt;
|talk36friends={{PavFace|id=0026|link=Tibetan Sand Fox/Pavilion}}&lt;br /&gt;
|talk37=741&lt;br /&gt;
|talk37friends={{PavFace|id=0007|link=Asian Small-Clawed Otter/Pavilion}} {{PavFace|id=0029|link=Komodo Dragon/Pavilion}}&lt;br /&gt;
|cameo1=287&lt;br /&gt;
|cameo2=298&lt;br /&gt;
|cameo3=342&lt;br /&gt;
|cameo4=381&lt;br /&gt;
|cameo5=427&lt;br /&gt;
|cameo6=435&lt;br /&gt;
|cameo7=472&lt;br /&gt;
|cameo8=487&lt;br /&gt;
|cameo9=491&lt;br /&gt;
|cameo10=802&lt;br /&gt;
}}&lt;br /&gt;
|jpencounterline1=うふふ。&lt;br /&gt;
|enencounterline1=''Hehehe.''&lt;br /&gt;
|jpencounterline2=あら？&lt;br /&gt;
|enencounterline2=''Hmm?''&lt;br /&gt;
|jpencounterline3=ふわぁぁぁ~...&lt;br /&gt;
|enencounterline3=''Fuaaa~...''&lt;br /&gt;
|jpencounterline4=からだも動かさなきゃ。&lt;br /&gt;
|enencounterline4=''I also have to move the body.''&lt;br /&gt;
|jpencounterline5=ごきげんよう。&lt;br /&gt;
|enencounterline5=''Greetings.''&lt;br /&gt;
|holiday1=Halloween 2018&lt;br /&gt;
|jpholidayline1=うふふ、トリック・オア・トリートね。&lt;br /&gt;
|enholidayline1=''Ufufu, Trick or Treat.''&lt;br /&gt;
|holiday2=Christmas 2018&lt;br /&gt;
|jpholidayline2=うふふ、メリ－・クリスマス。わたしも「ぷれぜんと」もらえるのかしら？&lt;br /&gt;
|enholidayline2=''Ufufu, Merry Christmas. I wonder whether I will get one of these &amp;quot;presents&amp;quot;?''&lt;br /&gt;
|holiday3=New Year's Day 2018-2019&lt;br /&gt;
|jpholidayline3=うふふ、明けましておめでとう。これからもおねえさんを頼ってくれていいのよ。&lt;br /&gt;
|enholidayline3=''Ufufu, Happy New Year. Just keep on relying on onee-san from now on.''&lt;br /&gt;
}}&lt;br /&gt;
[[Category:Nocturnal Pavilion Friends]] [[Category:Generation ? Pavilion Friends]] [[Category:Missing Content]]&lt;/div&gt;</summary>
		<author><name>Tsunko</name></author>
	</entry>
	<entry>
		<id>https://japari-library.com/index.php?title=Fennec_Fox/Pavilion_(Gen_2)&amp;diff=36236</id>
		<title>Fennec Fox/Pavilion (Gen 2)</title>
		<link rel="alternate" type="text/html" href="https://japari-library.com/index.php?title=Fennec_Fox/Pavilion_(Gen_2)&amp;diff=36236"/>
		<updated>2019-01-15T04:38:06Z</updated>

		<summary type="html">&lt;p&gt;Tsunko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FriendBox/Pavilion&lt;br /&gt;
|name=Fennec Fox&lt;br /&gt;
|pavilionpic=FennecFoxPavilionG2.png&lt;br /&gt;
|implemented=October 30th, 2018&lt;br /&gt;
|attribute=Red&lt;br /&gt;
|sleeppattern=Nocturnal&lt;br /&gt;
|materialsdropped={{PavilionSoftCloth}}&lt;br /&gt;
}}&lt;br /&gt;
{{FriendBuilder/Pavilion&lt;br /&gt;
|introduction='''Fennec Fox''' is a [[Friend]] who appears in [[Kemono Friends Pavilion]]. This appearance is based on her Generation 2 (Nexon) incarnation, which was added to the game along with the other starting Generation 2 Friends in Version 1.4.0.&lt;br /&gt;
|jpdescription=砂漠や乾燥地帯で暮らしています。体長３０～４０ｃｍ、体重１～２ｋｇとイヌ科最小ですが、耳は最大です。この大きな耳は体の熱を逃かすだけでなく、近づく敵の音や砂の中の獲物を探すにも役立ちます。&lt;br /&gt;
&lt;br /&gt;
「フェネックだよ。耳が大きいだろ？これはいろいろと便利なんだ。それこしても、砂漠の暮らしってのは大変なんだけどさぁ、これも慣れれば悪くないし、どんな状況でもなんとかる、って思えちゃうんだよね。体は小さいけど、砂獏でしっかり生きてるってわけ」&lt;br /&gt;
|encounterguide=The rateups added in Fennec Fox's update were the [[Red Luxury Sofa]], [[Bop Keyboard]], [[Potted Rose Plant]] and [[Balloon Bouquet]], the latter three additionally being craftable. This ties her with [[Raccoon/Pavilion (Gen 2)|Raccoon]] for being the second-easiest Gen-2 Friend to spawn. While she doesn't appear to have the same affinity chance of appearing without them, she is still very easy to spawn if you make use of any of the craftable 3-stars.&lt;br /&gt;
|behaviors=* ポップ音色 ''(Pop Tone)'' - Briskly bobs to the beat of the [[Bop Keyboard]]'s music, cupping her ear intently.&lt;br /&gt;
|jpencounterline1=アライさーん。&lt;br /&gt;
|enencounterline1=''Arai-saaan.''&lt;br /&gt;
|jpencounterline2=ちょっと気になるなー。&lt;br /&gt;
|enencounterline2=''How curious...''&lt;br /&gt;
|jpencounterline3=やー。&lt;br /&gt;
|enencounterline3=''Hi.''&lt;br /&gt;
|jpencounterline4=そうだねー。&lt;br /&gt;
|enencounterline4=''Yeah.''&lt;br /&gt;
|jpencounterline5=あはは、ご機嫌だねー。&lt;br /&gt;
|enencounterline5=''Ahaha, you're in a good mood.''&lt;br /&gt;
|holiday1=Halloween 2018&lt;br /&gt;
|jpholidayline1=トリック・オア・トリートだよー。&lt;br /&gt;
|enholidayline1=''It's a trick or treat.''&lt;br /&gt;
|holiday2=Christmas 2018&lt;br /&gt;
|jpholidayline2=やーや、メリー・クリスマスー。 &amp;lt;br&amp;gt;アライさん、焦らなくてもクリスマスは来るからねー。&lt;br /&gt;
|enholidayline2=''Merry Christmas to youuu.&amp;lt;br&amp;gt;Arai-san, you don't have to rush, Christmas will come no matter what, okaaay?''&lt;br /&gt;
|holiday3=New Year's Day 2018-2019&lt;br /&gt;
|jpholidayline3=ハッピー・ニュー・イヤーだよー。アライさんといい年が過ごせればいいねー。&lt;br /&gt;
|enholidayline3=''Happy New Year. I'd like to spend another good year with Arai-san.''&lt;br /&gt;
}}&lt;br /&gt;
[[Category:Nocturnal Pavilion Friends]] [[Category:Generation 2 Pavilion Friends]]&lt;/div&gt;</summary>
		<author><name>Tsunko</name></author>
	</entry>
	<entry>
		<id>https://japari-library.com/index.php?title=Raccoon/Pavilion&amp;diff=36232</id>
		<title>Raccoon/Pavilion</title>
		<link rel="alternate" type="text/html" href="https://japari-library.com/index.php?title=Raccoon/Pavilion&amp;diff=36232"/>
		<updated>2019-01-15T04:33:28Z</updated>

		<summary type="html">&lt;p&gt;Tsunko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FriendBox/Pavilion&lt;br /&gt;
|name=Raccoon&lt;br /&gt;
|pavilionpic=RaccoonPavilion.jpg&lt;br /&gt;
|implemented=January 26th, 2018&lt;br /&gt;
|attribute=Red&lt;br /&gt;
|sleeppattern=Nocturnal&lt;br /&gt;
|materialsdropped={{PavilionSturdyWood}}&lt;br /&gt;
}}&lt;br /&gt;
{{FriendBuilder/Pavilion&lt;br /&gt;
|introduction='''Raccoon''' is a [[Friend]] who appears in [[Kemono Friends Pavilion]].&lt;br /&gt;
|jpdescription=タヌキに似ていますが、尻尾似黒い輪っかの模様があるのが特徴です。また、タヌキはイヌ科に属していて指先で歩くショ行性です。&amp;lt;br&amp;gt;&lt;br /&gt;
「アライさんはアライグマの名の通り、手を洗ってるように見えて···本当は川の中を探っているのだー！でもこのことがバレると‘’テサグリグマ‘’に攷名しなければいけないから、シーッなのだ！フェネックは愉快な仲間だが、時々しか助けてくれないのだ···」&lt;br /&gt;
|encounterguide=Raccoon will be encountered early and frequently by the player, more than likely across all areas of the game. &lt;br /&gt;
&lt;br /&gt;
''Savanna'' - The [[Wooden Chair]] the player starts with will spawn her, as will the [[Washtub]], which is her first UB.&lt;br /&gt;
&lt;br /&gt;
''Mountain'' - Can appear on the craftable [[Wooden Table]] and [[Foxtail Toy]].&lt;br /&gt;
&lt;br /&gt;
''Waterfront'' - The [[Trough]] is craftable and provides her second UB. The [[Garbage Can]] is an alternative that can also spawn {{sbpg|Tsuchinoko|Pavilion}}.&lt;br /&gt;
&lt;br /&gt;
''Jungle'' - The [[Broom &amp;amp; Dustpan Set]] must be pulled.&lt;br /&gt;
&lt;br /&gt;
''Desert'' - The [[Mysterious Vase]] is craftable, but requires Steel.&lt;br /&gt;
&lt;br /&gt;
''Ocean'' - Moderate spawn chance, has a rateup on the craftable [[Jetski]].&lt;br /&gt;
|behaviors=Raccoon has 2 known unique behaviors:&lt;br /&gt;
*タライで洗う ''(Wash in the Washtub)'' - Starts washing a piece of cloth in the [[Washtub]], which is now full of water; after a while she will pull the cloth out, then begin washing again after noticing it is still dirty.&lt;br /&gt;
*すりすり ''(rub rub)'' - Stands facing the [[Trough]], rubbing her hands together slowly.&lt;br /&gt;
|kemotalk={{KemoTalkTable&lt;br /&gt;
|friend=Raccoon&lt;br /&gt;
|friendid=0002&lt;br /&gt;
|talk1=7&lt;br /&gt;
|talk1friends={{PavFace|id=0003|link=Fennec Fox/Pavilion}} {{PavFace|id=0004|link=Hippopotamus/Pavilion}}&lt;br /&gt;
|talk2=8&lt;br /&gt;
|talk2friends={{PavFace|id=0010|link=Black-Tailed Prairie Dog/Pavilion}}&lt;br /&gt;
|talk3=12&lt;br /&gt;
|talk3friends={{PavFace|id=0003|link=Fennec Fox/Pavilion}}&lt;br /&gt;
|talk4=15&lt;br /&gt;
|talk4friends={{PavFace|id=0001|link=Serval/Pavilion}}&lt;br /&gt;
|talk5=16&lt;br /&gt;
|talk5friends={{PavFace|id=0001|link=Serval/Pavilion}}&lt;br /&gt;
|talk6=19&lt;br /&gt;
|talk6friends={{PavFace|id=0001|link=Serval/Pavilion}}&lt;br /&gt;
|talk7=20&lt;br /&gt;
|talk7friends={{PavFace|id=0001|link=Serval/Pavilion}}&lt;br /&gt;
|talk8=36&lt;br /&gt;
|talk8friends={{PavFace|id=0001|link=Serval/Pavilion}} {{PavFace|id=0030|link=Caracal/Pavilion}}&lt;br /&gt;
|talk9=38&lt;br /&gt;
|talk9friends={{PavFace|id=0001|link=Serval/Pavilion}} {{PavFace|id=0003|link=Fennec Fox/Pavilion}}&lt;br /&gt;
|talk10=39&lt;br /&gt;
|talk10friends={{PavFace|id=0003|link=Fennec Fox/Pavilion}}&lt;br /&gt;
|talk11=40&lt;br /&gt;
|talk11friends={{PavFace|id=0023|link=Gentoo Penguin/Pavilion}} {{PavFace|id=0024|link=Southern Rockhopper Penguin/Pavilion}}&lt;br /&gt;
|talk12=41&lt;br /&gt;
|talk12friends={{PavFace|id=0003|link=Fennec Fox/Pavilion}} {{PavFace|id=0009|link=North American Beaver/Pavilion}} {{PavFace|id=0010|link=Black-Tailed Prairie Dog/Pavilion}}&lt;br /&gt;
|talk13=43&lt;br /&gt;
|talk13friends={{PavFace|id=0003|link=Fennec Fox/Pavilion}} {{PavFace|id=0018|link=Northern White-Faced Owl/Pavilion}} {{PavFace|id=0019|link=Eurasian Eagle-Owl/Pavilion}}&lt;br /&gt;
|talk14=53&lt;br /&gt;
|talk14friends={{PavFace|id=0003|link=Fennec Fox/Pavilion}} {{PavFace|id=0006|link=Suri Alpaca/Pavilion}}&lt;br /&gt;
|talk15=86&lt;br /&gt;
|talk15friends={{PavFace|id=0001|link=Serval/Pavilion}} {{PavFace|id=0020|link=Royal Penguin/Pavilion}}&lt;br /&gt;
|talk16=112&lt;br /&gt;
|talk16friends={{PavFace|id=0001|link=Serval/Pavilion}} {{PavFace|id=0003|link=Fennec Fox/Pavilion}}&lt;br /&gt;
|talk17=118&lt;br /&gt;
|talk17friends={{PavFace|id=0001|link=Serval/Pavilion}} {{PavFace|id=0003|link=Fennec Fox/Pavilion}}&lt;br /&gt;
|talk18=119&lt;br /&gt;
|talk18friends={{PavFace|id=0004|link=Hippopotamus/Pavilion}}&lt;br /&gt;
|talk19=120&lt;br /&gt;
|talk19friends={{PavFace|id=0005|link=Crested Ibis/Pavilion}}&lt;br /&gt;
|talk20=122&lt;br /&gt;
|talk20friends={{PavFace|id=0003|link=Fennec Fox/Pavilion}} {{PavFace|id=0008|link=Jaguar/Pavilion}}&lt;br /&gt;
|talk21=127&lt;br /&gt;
|talk21friends={{PavFace|id=0013|link=Moose/Pavilion}}&lt;br /&gt;
|talk22=131&lt;br /&gt;
|talk22friends={{PavFace|id=0017|link=Brown Bear/Pavilion}}&lt;br /&gt;
|talk23=132&lt;br /&gt;
|talk23friends={{PavFace|id=0003|link=Fennec Fox/Pavilion}} {{PavFace|id=0018|link=Northern White-Faced Owl/Pavilion}}&lt;br /&gt;
|talk24=138&lt;br /&gt;
|talk24friends={{PavFace|id=0024|link=Southern Rockhopper Penguin/Pavilion}}&lt;br /&gt;
|talk25=140&lt;br /&gt;
|talk25friends={{PavFace|id=0027|link=Aardwolf/Pavilion}}&lt;br /&gt;
|talk26=141&lt;br /&gt;
|talk26friends={{PavFace|id=0001|link=Serval/Pavilion}} {{PavFace|id=0030|link=Caracal/Pavilion}}&lt;br /&gt;
|talk27=151&lt;br /&gt;
|talk27friends={{PavFace|id=0003|link=Fennec Fox/Pavilion}} {{PavFace|id=0012|link=Lion/Pavilion}}&lt;br /&gt;
|talk28=152&lt;br /&gt;
|talk28friends={{PavFace|id=0011|link=Tsuchinoko/Pavilion}}&lt;br /&gt;
|talk29=153&lt;br /&gt;
|talk29friends={{PavFace|id=0003|link=Fennec Fox/Pavilion}} {{PavFace|id=0022|link=Humboldt Penguin/Pavilion}}&lt;br /&gt;
|talk30=154&lt;br /&gt;
|talk30friends={{PavFace|id=0020|link=Royal Penguin/Pavilion}}&lt;br /&gt;
|talk31=177&lt;br /&gt;
|talk31friends={{PavFace|id=0003|link=Fennec Fox/Pavilion}} {{PavFace|id=0007|link=Asian Small-Clawed Otter/Pavilion}}&lt;br /&gt;
|talk32=183&lt;br /&gt;
|talk32friends={{PavFace|id=0003|link=Fennec Fox/Pavilion}} {{PavFace|id=0009|link=North American Beaver/Pavilion}}&lt;br /&gt;
|talk33=209&lt;br /&gt;
|talk33friends={{PavFace|id=0001|link=Serval/Pavilion}} {{PavFace|id=0015|link=Ezo Red Fox/Pavilion}}&lt;br /&gt;
|talk34=218&lt;br /&gt;
|talk34friends={{PavFace|id=0003|link=Fennec Fox/Pavilion}} {{PavFace|id=0017|link=Brown Bear/Pavilion}}&lt;br /&gt;
|talk35=230&lt;br /&gt;
|talk35friends={{PavFace|id=0003|link=Fennec Fox/Pavilion}} {{PavFace|id=0020|link=Royal Penguin/Pavilion}}&lt;br /&gt;
|talk36=238&lt;br /&gt;
|talk36friends={{PavFace|id=0003|link=Fennec Fox/Pavilion}} {{PavFace|id=0022|link=Humboldt Penguin/Pavilion}}&lt;br /&gt;
|talk37=249&lt;br /&gt;
|talk37friends={{PavFace|id=0003|link=Fennec Fox/Pavilion}} {{PavFace|id=0024|link=Southern Rockhopper Penguin/Pavilion}}&lt;br /&gt;
|talk38=267&lt;br /&gt;
|talk38friends={{PavFace|id=0003|link=Fennec Fox/Pavilion}} {{PavFace|id=0032|link=Atlantic Puffin/Pavilion}}&lt;br /&gt;
|talk39=273&lt;br /&gt;
|talk39friends={{PavFace|id=0003|link=Fennec Fox/Pavilion}} {{PavFace|id=0035|link=Plains Zebra/Pavilion}}&lt;br /&gt;
|talk40=292&lt;br /&gt;
|talk40friends={{PavFace|id=0002}}&lt;br /&gt;
|talk41=293&lt;br /&gt;
|talk41friends={{PavFace|id=0002}}&lt;br /&gt;
|talk42=294&lt;br /&gt;
|talk42friends={{PavFace|id=0002}}&lt;br /&gt;
|talk43=295&lt;br /&gt;
|talk43friends={{PavFace|id=0002}}&lt;br /&gt;
|talk44=296&lt;br /&gt;
|talk44friends={{PavFace|id=0002}}&lt;br /&gt;
|talk45=297&lt;br /&gt;
|talk45friends={{PavFace|id=0002}}&lt;br /&gt;
|talk46=298&lt;br /&gt;
|talk46friends={{PavFace|id=0002}}&lt;br /&gt;
|talk47=497&lt;br /&gt;
|talk47friends={{PavFace|id=0028|link=Black-Backed Jackal/Pavilion}}&lt;br /&gt;
|talk48=502&lt;br /&gt;
|talk48friends={{PavFace|id=0028|link=Black-Backed Jackal/Pavilion}}&lt;br /&gt;
|talk49=531&lt;br /&gt;
|talk49friends={{PavFace|id=0033|link=Bald Eagle/Pavilion}}&lt;br /&gt;
|talk50=542&lt;br /&gt;
|talk50friends={{PavFace|id=0033|link=Bald Eagle/Pavilion}}&lt;br /&gt;
|talk51=551&lt;br /&gt;
|talk51friends={{PavFace|id=0003|link=Fennec Fox/Pavilion}} {{PavFace|id=0029|link=Komodo Dragon/Pavilion}}&lt;br /&gt;
|talk52=581&lt;br /&gt;
|talk52friends={{PavFace|id=0031|link=Silky Anteater/Pavilion}}&lt;br /&gt;
|talk53=605&lt;br /&gt;
|talk53friends={{PavFace|id=0003|link=Fennec Fox/Pavilion}} {{PavFace|id=0029|link=Komodo Dragon/Pavilion}}&lt;br /&gt;
|talk54=624&lt;br /&gt;
|talk54friends={{PavFace|id=0026|link=Tibetan Sand Fox/Pavilion}}&lt;br /&gt;
|talk55=634&lt;br /&gt;
|talk55friends={{PavFace|id=0003|link=Fennec Fox/Pavilion}} {{PavFace|id=0041|link=Japanese River Otter/Pavilion}}&lt;br /&gt;
|talk56=648&lt;br /&gt;
|talk56friends={{PavFace|id=0007|link=Asian Small-Clawed Otter/Pavilion}} {{PavFace|id=0037|link=Scarlet Macaw/Pavilion}} {{PavFace|id=0044|link=Tasmanian Devil/Pavilion}}&lt;br /&gt;
|talk57=668&lt;br /&gt;
|talk57friends={{PavFace|id=0003|link=Fennec Fox/Pavilion}} {{PavFace|id=0044|link=Tasmanian Devil/Pavilion}}&lt;br /&gt;
|talk58=679&lt;br /&gt;
|talk58friends={{PavFace|id=0028|link=Black-Backed Jackal/Pavilion}} {{PavFace|id=0031|link=Silky Anteater/Pavilion}} {{PavFace|id=0046|link=Okapi/Pavilion}}&lt;br /&gt;
|talk59=743&lt;br /&gt;
|talk59friends={{PavFace|id=0001|link=Serval/Pavilion}}  {{PavFace|id=0003|link=Fennec Fox/Pavilion}}  {{PavFace|id=0055|link=New Zealand Giant Penguin/Pavilion}} &lt;br /&gt;
|talk60=754&lt;br /&gt;
|talk60friends={{PavFace|id=0007|link=Asian Small-Clawed Otter/Pavilion}}  {{PavFace|id=0050|link=Golden Snub-Nosed Monkey/Pavilion}} &lt;br /&gt;
|talk61=775&lt;br /&gt;
|talk61friends={{PavFace|id=0003|link=Fennec Fox/Pavilion}}  {{PavFace|id=0026|link=Tibetan Sand Fox/Pavilion}} &lt;br /&gt;
|talk62=777&lt;br /&gt;
|talk62friends={{PavFace|id=0003|link=Fennec Fox/Pavilion}}  {{PavFace|id=0052|link=Cheetah/Pavilion}} &lt;br /&gt;
|talk63=816&lt;br /&gt;
|talk63friends={{PavFace|id=0060|link=Arabian Oryx/Pavilion}} {{PavFace|id=0003|link=Fennec Fox/Pavilion}}&lt;br /&gt;
|talk64=823&lt;br /&gt;
|talk64friends={{PavFace|id=0061|link=Coyote/Pavilion}} {{PavFace|id=0028|link=Black-Backed Jackal/Pavilion}} {{PavFace|id=0039|link=Gray Wolf/Pavilion}}&lt;br /&gt;
|talk65=837&lt;br /&gt;
|talk65friends={{PavFace|id=0064|link=Dromedary/Pavilion}} {{PavFace|id=0015|link=Ezo Red Fox/Pavilion}}&lt;br /&gt;
|cameo1=299&lt;br /&gt;
|cameo2=300&lt;br /&gt;
|cameo3=301&lt;br /&gt;
|cameo4=302&lt;br /&gt;
|cameo5=304&lt;br /&gt;
|cameo6=322&lt;br /&gt;
|cameo7=325&lt;br /&gt;
|cameo8=333&lt;br /&gt;
|cameo9=337&lt;br /&gt;
|cameo10=349&lt;br /&gt;
|cameo11=358&lt;br /&gt;
|cameo12=401&lt;br /&gt;
|cameo13=461&lt;br /&gt;
|cameo14=481&lt;br /&gt;
|cameo15=490&lt;br /&gt;
|cameo16=518&lt;br /&gt;
|cameo17=706&lt;br /&gt;
|cameo18=748&lt;br /&gt;
|cameo19=791&lt;br /&gt;
|cameo20=794&lt;br /&gt;
}}&lt;br /&gt;
|jpencounterline1=アライさんにおまかせなのだ!&lt;br /&gt;
|enencounterline1=''Leave it to Arai-san nanoda!''&lt;br /&gt;
|jpencounterline2=クンクン.&lt;br /&gt;
|enencounterline2=''(sniff sniff)''&lt;br /&gt;
|jpencounterline3=ワクワクするのだ.&lt;br /&gt;
|enencounterline3=''I'm excited noda.''&lt;br /&gt;
|holiday1=Halloween 2018&lt;br /&gt;
|jpholidayline1=トリック・オア・トリートなのだ！&lt;br /&gt;
|enholidayline1=''Trick-or-Treat nanoda!''&lt;br /&gt;
|holiday2=Christmas 2018&lt;br /&gt;
|jpholidayline2=メリー・クリスマスなのだ！ 「ぷれぜんと」運ぶのを手伝ってるのだ！アライさんは頼りになるな！&lt;br /&gt;
|enholidayline2=''Merry Christmas nanoda! I'm helping to carry 'Present' noda! Arai-san will be dependable!''&lt;br /&gt;
|holiday3=New Year's Day 2018-2019&lt;br /&gt;
|jpholidayline3=明けましておめでとうなのだ！ ……と、とにかくめでたいのだ。ふはははーっ！&lt;br /&gt;
|enholidayline3=''Happy New Year nanoda!…… A-Anyway, That's great news noda. Fahahahah!''&lt;br /&gt;
}}&lt;br /&gt;
[[Category:Nocturnal Pavilion Friends]] [[Category:Generation ? Pavilion Friends]] [[Category:Missing Content]]&lt;/div&gt;</summary>
		<author><name>Tsunko</name></author>
	</entry>
	<entry>
		<id>https://japari-library.com/index.php?title=Serval/Pavilion_(Gen_2)&amp;diff=36231</id>
		<title>Serval/Pavilion (Gen 2)</title>
		<link rel="alternate" type="text/html" href="https://japari-library.com/index.php?title=Serval/Pavilion_(Gen_2)&amp;diff=36231"/>
		<updated>2019-01-15T04:30:27Z</updated>

		<summary type="html">&lt;p&gt;Tsunko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FriendBox/Pavilion&lt;br /&gt;
|name=Serval&lt;br /&gt;
|pavilionpic=ServalPavilionG2.png&lt;br /&gt;
|implemented=October 30th, 2018&lt;br /&gt;
|attribute=Red&lt;br /&gt;
|sleeppattern=Nocturnal&lt;br /&gt;
|materialsdropped={{PavilionSturdyWood}} {{PavilionSoftCloth}} {{PavilionColdStone}} {{PavilionStretchyRubber}}&lt;br /&gt;
}}&lt;br /&gt;
{{FriendBuilder/Pavilion&lt;br /&gt;
|introduction='''Serval''' is a [[Friend]] who appears in [[Kemono Friends Pavilion]]. This appearance is based on her Generation 2 (Nexon) incarnation, which was added to the game along with the other starting Generation 2 Friends in Version 1.4.0.&lt;br /&gt;
|jpdescription=大きな耳とスリムな身体か特徴で、その聴カはネコ科を代表するほど優れています。２，３ｍは軽々飛べるジャンプカを生かした、狩りの達人です。サーバルは「猟犬」を意味するという説もあります。&lt;br /&gt;
&lt;br /&gt;
「はいはーい！みんな元気？サバンナのことならな何でも間いてね。よく『ドジッ娘』とか『トラブルメーカー』とか言われるけど、そんなことないもん！みんなを笑顏にするのが、わたしの使命。今日もジャンプしたり、狩りごっこをしたり、元気いっぱいがんばるよー！」&lt;br /&gt;
|encounterguide=The rateups added in Serval's update were the [[Roll Cake Tower]], [[Pom-pom Tree]] and [[Waffle Jump Mat]]. All of these are 3-stars and the latter two are craftable, making her very easy to encounter. Coupled with the affinity to the Gen-2 Savanna, she should be just as easy to level as her Gen-? cousin.&lt;br /&gt;
|behaviors=* 烈風のポンポンパンチ ''(Pom-pom punch of Strong Gales)'' - [[Pom-pom Tree]]&lt;br /&gt;
|jpencounterline1=やっちゃうんだから！&lt;br /&gt;
|enencounterline1=''I do it!''&lt;br /&gt;
|jpencounterline2=はいはーい！みんな元気？&lt;br /&gt;
|enencounterline2=''Hiya! How is everyone?''&lt;br /&gt;
|jpencounterline3=ドジじゃないもん！&lt;br /&gt;
|enencounterline3=''I'm not clumsy!''&lt;br /&gt;
|jpencounterline4=準備はいい？レッツゴー！&lt;br /&gt;
|enencounterline4=''Are you ready? Let's go!''&lt;br /&gt;
|jpencounterline5=うひゃあ！？&lt;br /&gt;
|enencounterline5=''Uhyaa!?''&lt;br /&gt;
|holiday1=Halloween 2018&lt;br /&gt;
|jpholidayline1=トリック・オア・トリートだね！&lt;br /&gt;
|enholidayline1=''It's a trick or treat!''&lt;br /&gt;
|holiday2=Christmas 2018&lt;br /&gt;
|jpholidayline2=はいはーい！メリー・クリスマス！ プレゼント、楽しみだね！ワクワクしちゃうよ！&lt;br /&gt;
|enholidayline2=''Hiya! Merry Christmas! I'm looking forward to the gifts! I'm getting excited!''&lt;br /&gt;
|holiday3=New Year's Day 2018-2019&lt;br /&gt;
|jpholidayline3=ハッピー・ニュー・イヤーだね！今年こそ、トラブルメーカーって呼ばれないようにするんだから！&lt;br /&gt;
|enholidayline3=''Happy New Year! I'd like to avoid being called a troublemaker this year!''&lt;br /&gt;
}}&lt;br /&gt;
[[Category:Nocturnal Pavilion Friends]] [[Category:Generation 2 Pavilion Friends]]&lt;/div&gt;</summary>
		<author><name>Tsunko</name></author>
	</entry>
	<entry>
		<id>https://japari-library.com/index.php?title=Serval/Pavilion&amp;diff=36230</id>
		<title>Serval/Pavilion</title>
		<link rel="alternate" type="text/html" href="https://japari-library.com/index.php?title=Serval/Pavilion&amp;diff=36230"/>
		<updated>2019-01-15T04:27:06Z</updated>

		<summary type="html">&lt;p&gt;Tsunko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FriendBox/Pavilion&lt;br /&gt;
|name=Serval&lt;br /&gt;
|pavilionpic=ServalPavilion.jpg&lt;br /&gt;
|implemented=January 26th, 2018&lt;br /&gt;
|attribute=Green&lt;br /&gt;
|sleeppattern=Nocturnal&lt;br /&gt;
|materialsdropped={{PavilionSturdyWood}} {{PavilionSoftCloth}} {{PavilionColdStone}} {{PavilionStretchyRubber}}&lt;br /&gt;
}}&lt;br /&gt;
{{FriendBuilder/Pavilion&lt;br /&gt;
|introduction='''Serval''' is a [[Friend]] who appears in [[Kemono Friends Pavilion]].&lt;br /&gt;
|personality=Serval's personality is very similar to that of her [[Serval/Anime|anime counterpart]], despite the total absence of her best friend [[Kaban]].&lt;br /&gt;
|jpdescription=大きな耳とスリムな身体か特徴で、その聴カはネコ科を代表するほど優れています。２，３ｍは軽々飛べるジャンプカを生かした、狩りの達人です。サーバルは「猟犬」を意味するという説もあります。&amp;lt;br&amp;gt;&lt;br /&gt;
「はいはーい！みんな元気？サバンナのことならな何でも間いてね。よく『ドジッ娘』とか『トラブルメーカー』とか言われるけど、そんなことないもん！みんなを笑顏にするのが、わたしの使命。今日もジャンプしたり、狩りごっこをしたり、元気いっぱいがんばるよー！」&lt;br /&gt;
|encounterguide=Serval is scripted to always be the first friend the player encounters via the beginning tutorial. Being one of the main mascots of the entire Kemono Friends franchise, she is a very common Friend who appears at a multitude of Playthings and across all areas.&lt;br /&gt;
''Savanna'' - Her favourite area, with a common-level affinity. She will appear relatively often on anything you care to place here, but the [[Mouse Toy]]/[[Golden Mouse Toy]] have rateup/UB bonuses.&lt;br /&gt;
&lt;br /&gt;
''Mountain'' - Moderately high base spawn rate, but has rateups on the [[Game Machine]] and [[Foxtail Toy]].&lt;br /&gt;
&lt;br /&gt;
''Waterfront'' - Middling spawn rate compared to her best areas, but the [[Blue Handball]] is cheaply craftable.&lt;br /&gt;
&lt;br /&gt;
''Jungle'' - Surprisingly rare for Jungle; while there are no items with rateups, she still has a (low) base rate.&lt;br /&gt;
&lt;br /&gt;
''Desert'' - Higher than Jungle but lower than Waterfront, with similarly absent rateups.&lt;br /&gt;
&lt;br /&gt;
''Ocean'' - Moderate spawn rate, with the [[Beach Chair]] being a craftable rateup.&lt;br /&gt;
|behaviors=Serval has 3 unique behaviors, the most out of all friends in the game. They are as follows:&lt;br /&gt;
*サーバルジャンプ ''(Serval Jump)'' - Pounces on the [[Handball]] with her signature Serval Jump. (This does not happen with the [[Blue Handball]].)&lt;br /&gt;
*ねこパンチ ''(Cat Punch)'' - Punches the [[Mouse Toy]] back and forth.&lt;br /&gt;
*金のねこパンチ ''(Golden Cat Punch)'' - Punches the [[Golden Mouse Toy]] back and forth. Identical to Cat Punch.&lt;br /&gt;
|kemotalk={{KemoTalkTable&lt;br /&gt;
|friend=Serval&lt;br /&gt;
|friendid=0001&lt;br /&gt;
|talk1=3&lt;br /&gt;
|talk1friends={{PavFace|id=0004|link=Hippopotamus/Pavilion}}&lt;br /&gt;
|talk2=5&lt;br /&gt;
|talk2friends={{PavFace|id=0012|link=Lion/Pavilion}}&lt;br /&gt;
|talk3=9&lt;br /&gt;
|talk3friends={{PavFace|id=0008|link=Jaguar/Pavilion}}&lt;br /&gt;
|talk4=11&lt;br /&gt;
|talk4friends={{PavFace|id=0013|link=Moose/Pavilion}}&lt;br /&gt;
|talk5=13&lt;br /&gt;
|talk5friends={{PavFace|id=0005|link=Crested Ibis/Pavilion}}&lt;br /&gt;
|talk6=14&lt;br /&gt;
|talk6friends={{PavFace|id=0010|link=Black-Tailed Prairie Dog/Pavilion}}&lt;br /&gt;
|talk7=15&lt;br /&gt;
|talk7friends={{PavFace|id=0002|link=Raccoon/Pavilion}}&lt;br /&gt;
|talk8=16&lt;br /&gt;
|talk8friends={{PavFace|id=0002|link=Raccoon/Pavilion}}&lt;br /&gt;
|talk9=17&lt;br /&gt;
|talk9friends={{PavFace|id=0003|link=Fennec Fox/Pavilion}}&lt;br /&gt;
|talk10=18&lt;br /&gt;
|talk10friends={{PavFace|id=0004|link=Hippopotamus/Pavilion}}&lt;br /&gt;
|talk11=19&lt;br /&gt;
|talk11friends={{PavFace|id=0002|link=Raccoon/Pavilion}}&lt;br /&gt;
|talk12=20&lt;br /&gt;
|talk12friends={{PavFace|id=0002|link=Raccoon/Pavilion}}&lt;br /&gt;
|talk13=21&lt;br /&gt;
|talk13friends={{PavFace|id=0003|link=Fennec Fox/Pavilion}}&lt;br /&gt;
|talk14=32&lt;br /&gt;
|talk14friends={{PavFace|id=0018|link=Northern White-Faced Owl/Pavilion}}&lt;br /&gt;
|talk15=33&lt;br /&gt;
|talk15friends={{PavFace|id=0018|link=Northern White-Faced Owl/Pavilion}}&lt;br /&gt;
|talk16=34&lt;br /&gt;
|talk16friends={{PavFace|id=0035|link=Plains Zebra/Pavilion}} {{PavFace|id=0036|link=Thomson's Gazelle/Pavilion}}&lt;br /&gt;
|talk17=35&lt;br /&gt;
|talk17friends={{PavFace|id=0008|link=Jaguar/Pavilion}}&lt;br /&gt;
|talk18=36&lt;br /&gt;
|talk18friends={{PavFace|id=0002|link=Raccoon/Pavilion}} {{PavFace|id=0030|link=Caracal/Pavilion}}&lt;br /&gt;
|talk19=37&lt;br /&gt;
|talk19friends={{PavFace|id=0004|link=Hippopotamus/Pavilion}}&lt;br /&gt;
|talk20=38&lt;br /&gt;
|talk20friends={{PavFace|id=0002|link=Raccoon/Pavilion}} {{PavFace|id=0003|link=Fennec Fox/Pavilion}}&lt;br /&gt;
|talk21=59&lt;br /&gt;
|talk21friends={{PavFace|id=0007|link=Asian Small-Clawed Otter/Pavilion}}&lt;br /&gt;
|talk22=63&lt;br /&gt;
|talk22friends={{PavFace|id=0009|link=North American Beaver/Pavilion}} {{PavFace|id=0010|link=Black-Tailed Prairie Dog/Pavilion}}&lt;br /&gt;
|talk23=69&lt;br /&gt;
|talk23friends={{PavFace|id=0014|link=Shoebill/Pavilion}} {{PavFace|id=0027|link=Aardwolf/Pavilion}}&lt;br /&gt;
|talk24=86&lt;br /&gt;
|talk24friends={{PavFace|id=0002|link=Raccoon/Pavilion}} {{PavFace|id=0020|link=Royal Penguin/Pavilion}}&lt;br /&gt;
|talk25=109&lt;br /&gt;
|talk25friends={{PavFace|id=0004|link=Hippopotamus/Pavilion}} {{PavFace|id=0030|link=Caracal/Pavilion}}&lt;br /&gt;
|talk26=112&lt;br /&gt;
|talk26friends={{PavFace|id=0002|link=Raccoon/Pavilion}} {{PavFace|id=0003|link=Fennec Fox/Pavilion}}&lt;br /&gt;
|talk27=114&lt;br /&gt;
|talk27friends={{PavFace|id=0004|link=Hippopotamus/Pavilion}} {{PavFace|id=0035|link=Plains Zebra/Pavilion}}&lt;br /&gt;
|talk28=116&lt;br /&gt;
|talk28friends={{PavFace|id=0030|link=Caracal/Pavilion}} {{PavFace|id=0036|link=Thomson's Gazelle/Pavilion}}&lt;br /&gt;
|talk29=118&lt;br /&gt;
|talk29friends={{PavFace|id=0002|link=Raccoon/Pavilion}} {{PavFace|id=0003|link=Fennec Fox/Pavilion}}&lt;br /&gt;
|talk30=121&lt;br /&gt;
|talk30friends={{PavFace|id=0006|link=Suri Alpaca/Pavilion}}&lt;br /&gt;
|talk31=124&lt;br /&gt;
|talk31friends={{PavFace|id=0010|link=Black-Tailed Prairie Dog/Pavilion}}&lt;br /&gt;
|talk32=125&lt;br /&gt;
|talk32friends={{PavFace|id=0011|link=Tsuchinoko/Pavilion}}&lt;br /&gt;
|talk33=126&lt;br /&gt;
|talk33friends={{PavFace|id=0012|link=Lion/Pavilion}}&lt;br /&gt;
|talk34=128&lt;br /&gt;
|talk34friends={{PavFace|id=0014|link=Shoebill/Pavilion}}&lt;br /&gt;
|talk35=129&lt;br /&gt;
|talk35friends={{PavFace|id=0015|link=Ezo Red Fox/Pavilion}}&lt;br /&gt;
|talk36=133&lt;br /&gt;
|talk36friends={{PavFace|id=0019|link=Eurasian Eagle-Owl/Pavilion}}&lt;br /&gt;
|talk37=134&lt;br /&gt;
|talk37friends={{PavFace|id=0020|link=Royal Penguin/Pavilion}}&lt;br /&gt;
|talk38=136&lt;br /&gt;
|talk38friends={{PavFace|id=0022|link=Humboldt Penguin/Pavilion}}&lt;br /&gt;
|talk39=139&lt;br /&gt;
|talk39friends={{PavFace|id=0025|link=Margay/Pavilion}}&lt;br /&gt;
|talk40=141&lt;br /&gt;
|talk40friends={{PavFace|id=0002|link=Raccoon/Pavilion}} {{PavFace|id=0030|link=Caracal/Pavilion}}&lt;br /&gt;
|talk41=142&lt;br /&gt;
|talk41friends={{PavFace|id=0032|link=Atlantic Puffin/Pavilion}}&lt;br /&gt;
|talk42=143&lt;br /&gt;
|talk42friends={{PavFace|id=0035|link=Plains Zebra/Pavilion}}&lt;br /&gt;
|talk43=144&lt;br /&gt;
|talk43friends={{PavFace|id=0036|link=Thomson's Gazelle/Pavilion}}&lt;br /&gt;
|talk44=145&lt;br /&gt;
|talk44friends={{PavFace|id=0016|link=Silver Fox/Pavilion}} {{PavFace|id=0030|link=Caracal/Pavilion}}&lt;br /&gt;
|talk45=146&lt;br /&gt;
|talk45friends={{PavFace|id=0006|link=Suri Alpaca/Pavilion}}&lt;br /&gt;
|talk46=147&lt;br /&gt;
|talk46friends={{PavFace|id=0017|link=Brown Bear/Pavilion}}&lt;br /&gt;
|talk47=148&lt;br /&gt;
|talk47friends={{PavFace|id=0018|link=Northern White-Faced Owl/Pavilion}} {{PavFace|id=0019|link=Eurasian Eagle-Owl/Pavilion}} {{PavFace|id=0030|link=Caracal/Pavilion}}&lt;br /&gt;
|talk48=149&lt;br /&gt;
|talk48friends={{PavFace|id=0023|link=Gentoo Penguin/Pavilion}}&lt;br /&gt;
|talk49=150&lt;br /&gt;
|talk49friends={{PavFace|id=0024|link=Southern Rockhopper Penguin/Pavilion}}&lt;br /&gt;
|talk50=165&lt;br /&gt;
|talk50friends={{PavFace|id=0005|link=Crested Ibis/Pavilion}} {{PavFace|id=0035|link=Plains Zebra/Pavilion}} {{PavFace|id=0036|link=Thomson's Gazelle/Pavilion}}&lt;br /&gt;
|talk51=166&lt;br /&gt;
|talk51friends={{PavFace|id=0005|link=Crested Ibis/Pavilion}} {{PavFace|id=0006|link=Suri Alpaca/Pavilion}}&lt;br /&gt;
|talk52=173&lt;br /&gt;
|talk52friends={{PavFace|id=0004|link=Hippopotamus/Pavilion}} {{PavFace|id=0007|link=Asian Small-Clawed Otter/Pavilion}}&lt;br /&gt;
|talk53=196&lt;br /&gt;
|talk53friends={{PavFace|id=0012|link=Lion/Pavilion}} {{PavFace|id=0035|link=Plains Zebra/Pavilion}}&lt;br /&gt;
|talk54=209&lt;br /&gt;
|talk54friends={{PavFace|id=0002|link=Raccoon/Pavilion}} {{PavFace|id=0015|link=Ezo Red Fox/Pavilion}}&lt;br /&gt;
|talk55=210&lt;br /&gt;
|talk55friends={{PavFace|id=0015|link=Ezo Red Fox/Pavilion}} {{PavFace|id=0016|link=Silver Fox/Pavilion}}&lt;br /&gt;
|talk56=221&lt;br /&gt;
|talk56friends={{PavFace|id=0018|link=Northern White-Faced Owl/Pavilion}} {{PavFace|id=0030|link=Caracal/Pavilion}}&lt;br /&gt;
|talk57=245&lt;br /&gt;
|talk57friends={{PavFace|id=0023|link=Gentoo Penguin/Pavilion}} {{PavFace|id=0030|link=Caracal/Pavilion}}&lt;br /&gt;
|talk58=259&lt;br /&gt;
|talk58friends={{PavFace|id=0027|link=Aardwolf/Pavilion}}&lt;br /&gt;
|talk59=262&lt;br /&gt;
|talk59friends={{PavFace|id=0030|link=Caracal/Pavilion}} {{PavFace|id=0035|link=Plains Zebra/Pavilion}} {{PavFace|id=0036|link=Thomson's Gazelle/Pavilion}}&lt;br /&gt;
|talk60=265&lt;br /&gt;
|talk60friends={{PavFace|id=0006|link=Suri Alpaca/Pavilion}} {{PavFace|id=0030|link=Caracal/Pavilion}}&lt;br /&gt;
|talk61=269&lt;br /&gt;
|talk61friends={{PavFace|id=0008|link=Jaguar/Pavilion}} {{PavFace|id=0035|link=Plains Zebra/Pavilion}}&lt;br /&gt;
|talk62=285&lt;br /&gt;
|talk62friends={{PavFace|id=0001}}&lt;br /&gt;
|talk63=286&lt;br /&gt;
|talk63friends={{PavFace|id=0001}}&lt;br /&gt;
|talk64=287&lt;br /&gt;
|talk64friends={{PavFace|id=0001}}&lt;br /&gt;
|talk65=288&lt;br /&gt;
|talk65friends={{PavFace|id=0001}}&lt;br /&gt;
|talk66=289&lt;br /&gt;
|talk66friends={{PavFace|id=0001}}&lt;br /&gt;
|talk67=290&lt;br /&gt;
|talk67friends={{PavFace|id=0001}}&lt;br /&gt;
|talk68=291&lt;br /&gt;
|talk68friends={{PavFace|id=0001}}&lt;br /&gt;
|talk69=504&lt;br /&gt;
|talk69friends={{PavFace|id=0017|link=Brown Bear/Pavilion}} {{PavFace|id=0028|link=Black-Backed Jackal/Pavilion}}&lt;br /&gt;
|talk70=530&lt;br /&gt;
|talk70friends={{PavFace|id=0033|link=Bald Eagle/Pavilion}}&lt;br /&gt;
|talk71=553&lt;br /&gt;
|talk71friends={{PavFace|id=0029|link=Komodo Dragon/Pavilion}}&lt;br /&gt;
|talk72=574&lt;br /&gt;
|talk72friends={{PavFace|id=0030|link=Caracal/Pavilion}} {{PavFace|id=0034|link=Cougar/Pavilion}}&lt;br /&gt;
|talk73=608&lt;br /&gt;
|talk73friends={{PavFace|id=0025|link=Margay/Pavilion}} {{PavFace|id=0036|link=Thomson's Gazelle/Pavilion}} {{PavFace|id=0040|link=Reticulated Giraffe/Pavilion}}&lt;br /&gt;
|talk74=616&lt;br /&gt;
|talk74friends={{PavFace|id=0008|link=Jaguar/Pavilion}} {{PavFace|id=0034|link=Cougar/Pavilion}}&lt;br /&gt;
|talk75=653&lt;br /&gt;
|talk75friends={{PavFace|id=0008|link=Jaguar/Pavilion}} {{PavFace|id=0034|link=Cougar/Pavilion}} {{PavFace|id=0038|link=Resplendent Quetzal/Pavilion}}&lt;br /&gt;
|talk76=659&lt;br /&gt;
|talk76friends={{PavFace|id=0030|link=Caracal/Pavilion}} {{PavFace|id=0031|link=Silky Anteater/Pavilion}} {{PavFace|id=0042|link=Fossa/Pavilion}}&lt;br /&gt;
|talk77=729&lt;br /&gt;
|talk77friends={{PavFace|id=0026|link=Tibetan Sand Fox/Pavilion}} {{PavFace|id=0030|link=Caracal/Pavilion}}&lt;br /&gt;
|talk78=743&lt;br /&gt;
|talk78friends={{PavFace|id=0002|link=Raccoon/Pavilion}} {{PavFace|id=0003|link=Fennec Fox/Pavilion}} {{PavFace|id=0055|link=New Zealand Giant Penguin/Pavilion}}&lt;br /&gt;
|talk79=763&lt;br /&gt;
|talk79friends={{PavFace|id=0031|link=Silky Anteater/Pavilion}}&lt;br /&gt;
|talk80=778&lt;br /&gt;
|talk80friends={{PavFace|id=0012|link=Lion/Pavilion}} {{PavFace|id=0039|link=Gray Wolf/Pavilion}} {{PavFace|id=0052|link=Cheetah/Pavilion}}&lt;br /&gt;
|talk81=811&lt;br /&gt;
|talk81friends={{PavFace|id=0059|link=Sand Cat/Pavilion}}&lt;br /&gt;
|talk82=836&lt;br /&gt;
|talk82friends={{PavFace|id=0064|link=Dromedary/Pavilion}} {{PavFace|id=0065|link=Wild Bactrian Camel/Pavilion}} &lt;br /&gt;
|cameo1=297&lt;br /&gt;
|cameo2=303&lt;br /&gt;
|cameo3=308&lt;br /&gt;
|cameo4=315&lt;br /&gt;
|cameo5=326&lt;br /&gt;
|cameo6=333&lt;br /&gt;
|cameo7=338&lt;br /&gt;
|cameo8=359&lt;br /&gt;
|cameo9=368&lt;br /&gt;
|cameo10=371&lt;br /&gt;
|cameo11=460&lt;br /&gt;
|cameo12=467&lt;br /&gt;
|cameo13=473&lt;br /&gt;
|cameo14=483&lt;br /&gt;
|cameo15=490&lt;br /&gt;
|cameo16=780&lt;br /&gt;
|cameo17=783&lt;br /&gt;
}}&lt;br /&gt;
|jpencounterline1=もっと遊んじゃうよ.&lt;br /&gt;
|enencounterline1=''Time to play some more.''&lt;br /&gt;
|jpencounterline2=うみゃみゃみゃー！&lt;br /&gt;
|enencounterline2=''Umyamyamyaaa!''&lt;br /&gt;
|jpencounterline3=うみゃ?&lt;br /&gt;
|enencounterline3=''Umya?''&lt;br /&gt;
|holiday1=Halloween 2018&lt;br /&gt;
|jpholidayline1=みんな！トリック・オア・トリートだよ！&lt;br /&gt;
|enholidayline1=''Everyone! It's a Trick or Treat!''&lt;br /&gt;
|holiday2=Christmas 2018&lt;br /&gt;
|jpholidayline2=うみゃーっ！メリー・クリスマスだね！わたし、いい子にしてたよ。&lt;br /&gt;
|enholidayline2=''Umyaaa! Merry Christmas! I've been a good girl.''&lt;br /&gt;
|holiday3=New Year's Day 2018-2019&lt;br /&gt;
|jpholidayline3=ハッピー・ニュー・ウミャー！？ これからもパークのみんなと楽しく遊んじゃうから見ててね！&lt;br /&gt;
|enholidayline3=''Happy New Umyaaa!? Because I'll also play happily with everyone in a park now, please see!''&lt;br /&gt;
|trivia=* The Serval Jump performed in her first Unique Behavior is a reference to the same jump she performs in the 2017 anime.&lt;br /&gt;
}}&lt;br /&gt;
[[Category:Nocturnal Pavilion Friends]] [[Category:Generation ? Pavilion Friends]]&lt;/div&gt;</summary>
		<author><name>Tsunko</name></author>
	</entry>
	<entry>
		<id>https://japari-library.com/index.php?title=Festival:Device_Transfer&amp;diff=30157</id>
		<title>Festival:Device Transfer</title>
		<link rel="alternate" type="text/html" href="https://japari-library.com/index.php?title=Festival:Device_Transfer&amp;diff=30157"/>
		<updated>2018-06-07T20:19:47Z</updated>

		<summary type="html">&lt;p&gt;Tsunko: Undo revision 30154 by Tsunko (talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Start by clicking on the middle pink button on the bottom of your screen. This can be accessed by starting up kf festival. Then, when you get to the next screen you scroll down until the vague pink button on the bottom changes color. Click the button to continue to the next step. Here you wait a few seconds until the top pink button changes color. Click that to continue to the last step in this guide. Check both the boxes so yet another pink button changes color. Wait for a few seconds again until it shows your ID and password. Click the pink button so now you can transfer your account to any device you want! DO NOT FORGET TO WRITE DOWN YOUR ID AND PASSWORD ON ANOTHER DEVICE!!&lt;br /&gt;
&lt;br /&gt;
[[File:device transfer part 1.1.png|150px]]&lt;br /&gt;
[[File:device transfer part 2.png|150px]]&lt;br /&gt;
[[File:device transfer part 3.png|150px]]&lt;br /&gt;
[[File:device transfer part 4.png|150px]]&lt;/div&gt;</summary>
		<author><name>Tsunko</name></author>
	</entry>
	<entry>
		<id>https://japari-library.com/index.php?title=Festival:Device_Transfer&amp;diff=30154</id>
		<title>Festival:Device Transfer</title>
		<link rel="alternate" type="text/html" href="https://japari-library.com/index.php?title=Festival:Device_Transfer&amp;diff=30154"/>
		<updated>2018-06-07T20:17:05Z</updated>

		<summary type="html">&lt;p&gt;Tsunko: rewritten to have more step-by-step instructions and in-lining images with corresponding steps&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To begin a device transfer, you must first be on the title screen for Festival (not your Home screen). Tap on the middle button in order to start a transfer.&lt;br /&gt;
&lt;br /&gt;
[[File:device transfer part 1.1.png|150px]]&lt;br /&gt;
&lt;br /&gt;
Verify that you're ready to begin the transfer by tapping on the button that says &amp;quot;はい&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[File:device transfer part 2.png|150px]]&lt;br /&gt;
&lt;br /&gt;
Next, you'll be greeted with a button on top followed by two empty text boxes. Tap the top-most button. Note that this button may not be initially enabled - wait for a few seconds, it'll enable by itself.&lt;br /&gt;
&lt;br /&gt;
[[File:device transfer part 3.png|150px]]&lt;br /&gt;
&lt;br /&gt;
Check both boxes by tapping on the checkboxes. The button below will become enabled. Tap this button to continue.&lt;br /&gt;
&lt;br /&gt;
[[File:device transfer part 4.png|150px]]&lt;br /&gt;
&lt;br /&gt;
The game is now generating a user ID and password for your account - please wait warmly while it does. Eventually, both of these will be visible to you.&lt;br /&gt;
&lt;br /&gt;
==='''''Be sure to write down both the user ID and password - you will need them to complete the transfer!'''''===&lt;br /&gt;
&lt;br /&gt;
Press the pink button to complete the setup process. You can now use the user ID and password combo to transfer your account to any device!&lt;/div&gt;</summary>
		<author><name>Tsunko</name></author>
	</entry>
	<entry>
		<id>https://japari-library.com/index.php?title=Device_transfer&amp;diff=30153</id>
		<title>Device transfer</title>
		<link rel="alternate" type="text/html" href="https://japari-library.com/index.php?title=Device_transfer&amp;diff=30153"/>
		<updated>2018-06-07T20:00:33Z</updated>

		<summary type="html">&lt;p&gt;Tsunko: Tsunko moved page Device transfer to Festival: Device Transfer: renaming page to differentiate between Festival and Pavilion&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Festival: Device Transfer]]&lt;/div&gt;</summary>
		<author><name>Tsunko</name></author>
	</entry>
	<entry>
		<id>https://japari-library.com/index.php?title=Festival:Device_Transfer&amp;diff=30152</id>
		<title>Festival:Device Transfer</title>
		<link rel="alternate" type="text/html" href="https://japari-library.com/index.php?title=Festival:Device_Transfer&amp;diff=30152"/>
		<updated>2018-06-07T20:00:33Z</updated>

		<summary type="html">&lt;p&gt;Tsunko: Tsunko moved page Device transfer to Festival: Device Transfer: renaming page to differentiate between Festival and Pavilion&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Start by clicking on the middle pink button on the bottom of your screen. This can be accessed by starting up kf festival. Then, when you get to the next screen you scroll down until the vague pink button on the bottom changes color. Click the button to continue to the next step. Here you wait a few seconds until the top pink button changes color. Click that to continue to the last step in this guide. Check both the boxes so yet another pink button changes color. Wait for a few seconds again until it shows your ID and password. Click the pink button so now you can transfer your account to any device you want! DO NOT FORGET TO WRITE DOWN YOUR ID AND PASSWORD ON ANOTHER DEVICE!!&lt;br /&gt;
&lt;br /&gt;
[[File:device transfer part 1.1.png|150px]]&lt;br /&gt;
[[File:device transfer part 2.png|150px]]&lt;br /&gt;
[[File:device transfer part 3.png|150px]]&lt;br /&gt;
[[File:device transfer part 4.png|150px]]&lt;/div&gt;</summary>
		<author><name>Tsunko</name></author>
	</entry>
	<entry>
		<id>https://japari-library.com/index.php?title=User:Tsunko&amp;diff=29415</id>
		<title>User:Tsunko</title>
		<link rel="alternate" type="text/html" href="https://japari-library.com/index.php?title=User:Tsunko&amp;diff=29415"/>
		<updated>2018-05-21T04:55:59Z</updated>

		<summary type="html">&lt;p&gt;Tsunko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;いらっしゃい！&lt;br /&gt;
&lt;br /&gt;
List of things that I'm currently working on:&lt;br /&gt;
&lt;br /&gt;
- japari-net: very simple (and currently stuck in deadlock) server reimplementation of the Nexon KemoFure game using reverse engineering.&lt;br /&gt;
&lt;br /&gt;
- jaguar: intermediate proxy server that handles Pavilion API calls and translates (well, at least attempts to) some elements to English. Also logs everything you do for reverse engineering shenanigans. Doubles as a data mining utility as it would have access to all Friends found and what plaything caught their attention. Multi-purpose &amp;quot;swiss-army knife&amp;quot; server; can easily be turned into a server emulator ''iff'' (if and only if) Pavilion is closed. Currently only supports translating friend names as of now. Source will not be provided, even at request.&lt;br /&gt;
&lt;br /&gt;
- unity-modder: small program that will be able to mass extract Unity asset bundles and UnityFS files. It is also able to recreate bundle files, provided the source bundle is given. Currently targeting Texture2D objects only. Also technically my sandbox for testing out Java features since they can be pretty much applied everywhere here (var everywhere!) &lt;br /&gt;
&lt;br /&gt;
- pavilion-margay: Pavilion modded to connect to the jaguar server. Currently not updated to the latest version. Will be used as testing for translated assets. AKA &amp;quot;Pavilion: Margay Edition&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
In laymen terms:&lt;br /&gt;
&lt;br /&gt;
- japari-net: an attempt at reviving the Nexon game&lt;br /&gt;
&lt;br /&gt;
- jaguar: Pavilion translation service + data mining&lt;br /&gt;
&lt;br /&gt;
- unity-modder: Used to translate Pavilion for things that don't need jaguar&lt;br /&gt;
&lt;br /&gt;
- pavilion-margay: Partially translated version of Pavilion using unity-modder&lt;br /&gt;
&lt;br /&gt;
If you need something from me (or you have something, namely a data0.bytes key :finnak:), you can always contact me on Discord (tsunko#0001)! Alternatively, I do ''occasionally'' check my Twitter (tsunkoh). You can also attempt to contact me on Reddit (TsunkoH), but I probably won't notice it. &lt;br /&gt;
&lt;br /&gt;
If you want some technical info (more like notes; very incomplete) on the Nexon game, it can be found here (I'm aware the source for the pages is awful; I'm bad at MediaWiki!): [[/TechInfo]]&lt;br /&gt;
Technical info for Pavilion is unavailable. I will likely not be publishing it unless if Bushiroad closes its service.&lt;/div&gt;</summary>
		<author><name>Tsunko</name></author>
	</entry>
	<entry>
		<id>https://japari-library.com/index.php?title=User:Tsunko&amp;diff=29414</id>
		<title>User:Tsunko</title>
		<link rel="alternate" type="text/html" href="https://japari-library.com/index.php?title=User:Tsunko&amp;diff=29414"/>
		<updated>2018-05-21T04:55:19Z</updated>

		<summary type="html">&lt;p&gt;Tsunko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;いらっしゃい！&lt;br /&gt;
&lt;br /&gt;
List of things that I'm currently working on:&lt;br /&gt;
- japari-net: very simple (and currently stuck in deadlock) server reimplementation of the Nexon KemoFure game using reverse engineering.&lt;br /&gt;
- jaguar: intermediate proxy server that handles Pavilion API calls and translates (well, at least attempts to) some elements to English. Also logs everything you do for reverse engineering shenanigans. Doubles as a data mining utility as it would have access to all Friends found and what plaything caught their attention. Multi-purpose &amp;quot;swiss-army knife&amp;quot; server; can easily be turned into a server emulator ''iff'' (if and only if) Pavilion is closed. Currently only supports translating friend names as of now. Source will not be provided, even at request.&lt;br /&gt;
- unity-modder: small program that will be able to mass extract Unity asset bundles and UnityFS files. It is also able to recreate bundle files, provided the source bundle is given. Currently targeting Texture2D objects only. Also technically my sandbox for testing out Java features since they can be pretty much applied everywhere here (var everywhere!) &lt;br /&gt;
- pavilion-margay: Pavilion modded to connect to the jaguar server. Currently not updated to the latest version. Will be used as testing for translated assets. AKA &amp;quot;Pavilion: Margay Edition&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
In laymen terms:&lt;br /&gt;
- japari-net: an attempt at reviving the Nexon game&lt;br /&gt;
- jaguar: Pavilion translation service + data mining&lt;br /&gt;
- unity-modder: Used to translate Pavilion for things that don't need jaguar&lt;br /&gt;
- pavilion-margay: Partially translated version of Pavilion using unity-modder&lt;br /&gt;
&lt;br /&gt;
If you need something from me (or you have something, namely a data0.bytes key :finnak:), you can always contact me on Discord (tsunko#0001)! Alternatively, I do ''occasionally'' check my Twitter (tsunkoh). You can also attempt to contact me on Reddit (TsunkoH), but I probably won't notice it. &lt;br /&gt;
&lt;br /&gt;
If you want some technical info (more like notes; very incomplete) on the Nexon game, it can be found here (I'm aware the source for the pages is awful; I'm bad at MediaWiki!): [[/TechInfo]]&lt;br /&gt;
Technical info for Pavilion is unavailable. I will likely not be publishing it unless if Bushiroad closes its service.&lt;/div&gt;</summary>
		<author><name>Tsunko</name></author>
	</entry>
	<entry>
		<id>https://japari-library.com/index.php?title=User:Tsunko/TechInfo&amp;diff=9732</id>
		<title>User:Tsunko/TechInfo</title>
		<link rel="alternate" type="text/html" href="https://japari-library.com/index.php?title=User:Tsunko/TechInfo&amp;diff=9732"/>
		<updated>2017-11-05T02:04:03Z</updated>

		<summary type="html">&lt;p&gt;Tsunko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;tabber&amp;gt;&lt;br /&gt;
Communication=== &amp;quot;How does this game communicate!?&amp;quot; ==&lt;br /&gt;
Generally, communication is done over plain HTTP. Headers (as far as I can tell) are not used; I could be wrong on that fact, but I have no observed anything weird happening if I don't include certain headers.&amp;lt;br /&amp;gt;&lt;br /&gt;
Any encryption done uses AES128 ECB with a block and key size of 128, padding data with zeros, followed by being the encrypted result being represented in Base64.&lt;br /&gt;
Data is contained in JSON objects (typically, all data is wrapped inside of a named JSON object for some reason).&lt;br /&gt;
&lt;br /&gt;
=== Client to Server ===&lt;br /&gt;
Oddly enough, client to server ''isn't'' fully encrypted at all. If there is any encryption present, it is only done to any strings being passed from client to server. Other than that, expect plaintext.&lt;br /&gt;
&lt;br /&gt;
=== Server to Client ===&lt;br /&gt;
Data transmitted from the server is fully encrypted, however, unlike the client to server, there is no &amp;quot;nested&amp;quot; encryption. The client expects everything to be plaintext once the content is decrypted the first time.&lt;br /&gt;
|-|&lt;br /&gt;
data0.bytes=== The infamous brick wall we can't break.==&lt;br /&gt;
This file (on Android) is stored under {{#tag:code|/data/data/jp.co.nexon.kemo/files/kemofure/resources/common/common/data0.bytes}}.&amp;lt;br /&amp;gt;&lt;br /&gt;
It's loaded before either the client attempting to view the tutorial or view {{#tag:code|/mypage/get}} by class {{#tag:code|MasterData.cs}}.&amp;lt;br /&amp;gt;&lt;br /&gt;
The heart-breaking part is that it is encrypted with '''Rijndael-256''' with a block and key size of '''256''', making it practically impossible to recover the key. The default keys ({{#tag:code|appDecryptionKey}}/{{#tag:code|UtilData.AES_KEY}}) provided ({{#tag:code|QeEjSWTbFK2876yB}} or {{#tag:code|b8PWNMsYCt47YAai}}) do '''not''' work with this file; it's encrypted with a different key. However, we at least know the IV ({{#tag:code|FLXR4JXfD6Cw5jsJtj7VnferY93k4Zsg}}).&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;I have the key!&amp;quot; ===&lt;br /&gt;
Should you, or anyone else, happen to have or stumble across the decryption key (either you sniffed it or somehow logged the HTTP request), please contact me on Discord.&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;I want to help find the key!&amp;quot; ===&lt;br /&gt;
Unfortunately, while the Servals working in Nexon's programming department may have some of the most convoluted code possible (we'll call it a ''unique'' style of code), it does not look like finding the key will be something you randomly stumble across. However, here are some ways to try finding them:&lt;br /&gt;
# The most likely way to find it (and how I've been doing it) is to simply download other Nexon mobile games into an emulator with ProxyDroid setup to redirect traffic to a Fiddler instance. Look for any &amp;quot;startup&amp;quot; HTTP requests and see if they have a key. If they do, tell me them on Discord.&lt;br /&gt;
# Downloading APKs of any Nexon mobile games and decompiling them, inspecting any classes that could contain keys. Essentially, you're looking for any class that has the word &amp;quot;Crypto&amp;quot; in it, but the key could be hiding in other classes.&lt;br /&gt;
# Seeking assistance from others that could potentially have the key. This is probably the 2nd least likely, as they're probably not going to share the key (this is something that's probably sought after by many other developers). The most promising people who might have such key (or at least a decrypted copy of the data) are anons running around on the Gamerch wiki with the ID {{#tag:code|CB26BC965F}} and {{#tag:code|CFF60E1F35}}.&lt;br /&gt;
# Dressing up in a suit and walking on over to {{#tag:code|Shinkawa 2-3-1 Chuo-ku, Tokyo 104-0033 Japan}}, politely asking for the decryption key. We've tried getting Bird and Shadow on this, but they've declined :(&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;Let's recreate the file!&amp;quot; ===&lt;br /&gt;
... is our current best bet. The syntax of the file is relatively simple:&lt;br /&gt;
{{#tag:code|[number of elements]&amp;gt;[JSON elements]}}&lt;br /&gt;
The structure of the file has been documented (this is also the same order things are loaded in, and yes, it is fixed ordering) at [[User:Tsunko/data0.bytes]].&lt;br /&gt;
|-|&lt;br /&gt;
Data Mined Info===Information Data Mined from Gamerch's Wiki===&lt;br /&gt;
This was a struggle to write, but after what feels like a long time, I finally got a data miner working and running. When using the tool, the initial run may produce a &amp;quot;read timed out&amp;quot; error. This is fine; just re-run the tool again. I have no clue why this happens, but a re-run usually gets it going. It's currently multi-threaded (thread count is the same as CPU count) and dumps the info into 2 text files: friends.txt and items.txt&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Source code for tool used (self written): https://github.com/tsunko/kemofure-gamerch-dataminer/ &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;friends.txt&amp;quot; as of 11/4/2017: https://hastebin.com/cukukohuna.txt &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;quot;items.txt&amp;quot; as of 11/4/2017: https://hastebin.com/emeponelig.txt &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tsunko</name></author>
	</entry>
	<entry>
		<id>https://japari-library.com/index.php?title=User:Tsunko/TechInfo&amp;diff=9731</id>
		<title>User:Tsunko/TechInfo</title>
		<link rel="alternate" type="text/html" href="https://japari-library.com/index.php?title=User:Tsunko/TechInfo&amp;diff=9731"/>
		<updated>2017-11-05T02:03:09Z</updated>

		<summary type="html">&lt;p&gt;Tsunko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;tabber&amp;gt;&lt;br /&gt;
Communication=== &amp;quot;How does this game communicate!?&amp;quot; ==&lt;br /&gt;
Generally, communication is done over plain HTTP. Headers (as far as I can tell) are not used; I could be wrong on that fact, but I have no observed anything weird happening if I don't include certain headers.&amp;lt;br /&amp;gt;&lt;br /&gt;
Any encryption done uses AES128 ECB with a block and key size of 128, padding data with zeros, followed by being the encrypted result being represented in Base64.&lt;br /&gt;
Data is contained in JSON objects (typically, all data is wrapped inside of a named JSON object for some reason).&lt;br /&gt;
&lt;br /&gt;
=== Client to Server ===&lt;br /&gt;
Oddly enough, client to server ''isn't'' fully encrypted at all. If there is any encryption present, it is only done to any strings being passed from client to server. Other than that, expect plaintext.&lt;br /&gt;
&lt;br /&gt;
=== Server to Client ===&lt;br /&gt;
Data transmitted from the server is fully encrypted, however, unlike the client to server, there is no &amp;quot;nested&amp;quot; encryption. The client expects everything to be plaintext once the content is decrypted the first time.&lt;br /&gt;
|-|&lt;br /&gt;
data0.bytes=== The infamous brick wall we can't break.==&lt;br /&gt;
This file (on Android) is stored under {{#tag:code|/data/data/jp.co.nexon.kemo/files/kemofure/resources/common/common/data0.bytes}}.&amp;lt;br /&amp;gt;&lt;br /&gt;
It's loaded before either the client attempting to view the tutorial or view {{#tag:code|/mypage/get}} by class {{#tag:code|MasterData.cs}}.&amp;lt;br /&amp;gt;&lt;br /&gt;
The heart-breaking part is that it is encrypted with '''Rijndael-256''' with a block and key size of '''256''', making it practically impossible to recover the key. The default keys ({{#tag:code|appDecryptionKey}}/{{#tag:code|UtilData.AES_KEY}}) provided ({{#tag:code|QeEjSWTbFK2876yB}} or {{#tag:code|b8PWNMsYCt47YAai}}) do '''not''' work with this file; it's encrypted with a different key. However, we at least know the IV ({{#tag:code|FLXR4JXfD6Cw5jsJtj7VnferY93k4Zsg}}).&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;I have the key!&amp;quot; ===&lt;br /&gt;
Should you, or anyone else, happen to have or stumble across the decryption key (either you sniffed it or somehow logged the HTTP request), please contact me on Discord.&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;I want to help find the key!&amp;quot; ===&lt;br /&gt;
Unfortunately, while the Servals working in Nexon's programming department may have some of the most convoluted code possible (we'll call it a ''unique'' style of code), it does not look like finding the key will be something you randomly stumble across. However, here are some ways to try finding them:&lt;br /&gt;
# The most likely way to find it (and how I've been doing it) is to simply download other Nexon mobile games into an emulator with ProxyDroid setup to redirect traffic to a Fiddler instance. Look for any &amp;quot;startup&amp;quot; HTTP requests and see if they have a key. If they do, tell me them on Discord.&lt;br /&gt;
# Downloading APKs of any Nexon mobile games and decompiling them, inspecting any classes that could contain keys. Essentially, you're looking for any class that has the word &amp;quot;Crypto&amp;quot; in it, but the key could be hiding in other classes.&lt;br /&gt;
# Seeking assistance from others that could potentially have the key. This is probably the 2nd least likely, as they're probably not going to share the key (this is something that's probably sought after by many other developers). The most promising people who might have such key (or at least a decrypted copy of the data) are anons running around on the Gamerch wiki with the ID {{#tag:code|CB26BC965F}} and {{#tag:code|CFF60E1F35}}.&lt;br /&gt;
# Dressing up in a suit and walking on over to {{#tag:code|Shinkawa 2-3-1 Chuo-ku, Tokyo 104-0033 Japan}}, politely asking for the decryption key. We've tried getting Bird and Shadow on this, but they've declined :(&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;Let's recreate the file!&amp;quot; ===&lt;br /&gt;
... is our current best bet. The syntax of the file is relatively simple:&lt;br /&gt;
{{#tag:code|[number of elements]&amp;gt;[JSON elements]}}&lt;br /&gt;
The structure of the file has been documented (this is also the same order things are loaded in, and yes, it is fixed ordering) at [[User:Tsunko/data0.bytes]].&lt;br /&gt;
|-|&lt;br /&gt;
Data Mined Info===Information Data Mined from Gamerch's Wiki===&lt;br /&gt;
This was a struggle to write, but after what feels like a long time, I finally got a data miner working and running. When using the tool, the initial run may produce a &amp;quot;read timed out&amp;quot; error. This is fine; just re-run the tool again. I have no clue why this happens, but a re-run usually gets it going. It's currently multi-threaded (thread count is the same as CPU count) and dumps the info into 2 text files: friends.txt and items.txt&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Source code for tool used (self written): https://github.com/tsunko/kemofure-gamerch-dataminer/&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;quot;friends.txt&amp;quot; as of 11/4/2017: https://hastebin.com/cukukohuna.txt&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;quot;items.txt&amp;quot; as of 11/4/2017: https://hastebin.com/emeponelig.txt&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tsunko</name></author>
	</entry>
	<entry>
		<id>https://japari-library.com/index.php?title=User:Tsunko/TechInfo&amp;diff=9730</id>
		<title>User:Tsunko/TechInfo</title>
		<link rel="alternate" type="text/html" href="https://japari-library.com/index.php?title=User:Tsunko/TechInfo&amp;diff=9730"/>
		<updated>2017-11-05T02:00:10Z</updated>

		<summary type="html">&lt;p&gt;Tsunko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;tabber&amp;gt;&lt;br /&gt;
Communication=== &amp;quot;How does this game communicate!?&amp;quot; ==&lt;br /&gt;
Generally, communication is done over plain HTTP. Headers (as far as I can tell) are not used; I could be wrong on that fact, but I have no observed anything weird happening if I don't include certain headers.&amp;lt;br /&amp;gt;&lt;br /&gt;
Any encryption done uses AES128 ECB with a block and key size of 128, padding data with zeros, followed by being the encrypted result being represented in Base64.&lt;br /&gt;
Data is contained in JSON objects (typically, all data is wrapped inside of a named JSON object for some reason).&lt;br /&gt;
&lt;br /&gt;
=== Client to Server ===&lt;br /&gt;
Oddly enough, client to server ''isn't'' fully encrypted at all. If there is any encryption present, it is only done to any strings being passed from client to server. Other than that, expect plaintext.&lt;br /&gt;
&lt;br /&gt;
=== Server to Client ===&lt;br /&gt;
Data transmitted from the server is fully encrypted, however, unlike the client to server, there is no &amp;quot;nested&amp;quot; encryption. The client expects everything to be plaintext once the content is decrypted the first time.&lt;br /&gt;
|-|&lt;br /&gt;
data0.bytes=== The infamous brick wall we can't break.==&lt;br /&gt;
This file (on Android) is stored under {{#tag:code|/data/data/jp.co.nexon.kemo/files/kemofure/resources/common/common/data0.bytes}}.&amp;lt;br /&amp;gt;&lt;br /&gt;
It's loaded before either the client attempting to view the tutorial or view {{#tag:code|/mypage/get}} by class {{#tag:code|MasterData.cs}}.&amp;lt;br /&amp;gt;&lt;br /&gt;
The heart-breaking part is that it is encrypted with '''Rijndael-256''' with a block and key size of '''256''', making it practically impossible to recover the key. The default keys ({{#tag:code|appDecryptionKey}}/{{#tag:code|UtilData.AES_KEY}}) provided ({{#tag:code|QeEjSWTbFK2876yB}} or {{#tag:code|b8PWNMsYCt47YAai}}) do '''not''' work with this file; it's encrypted with a different key. However, we at least know the IV ({{#tag:code|FLXR4JXfD6Cw5jsJtj7VnferY93k4Zsg}}).&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;I have the key!&amp;quot; ===&lt;br /&gt;
Should you, or anyone else, happen to have or stumble across the decryption key (either you sniffed it or somehow logged the HTTP request), please contact me on Discord.&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;I want to help find the key!&amp;quot; ===&lt;br /&gt;
Unfortunately, while the Servals working in Nexon's programming department may have some of the most convoluted code possible (we'll call it a ''unique'' style of code), it does not look like finding the key will be something you randomly stumble across. However, here are some ways to try finding them:&lt;br /&gt;
# The most likely way to find it (and how I've been doing it) is to simply download other Nexon mobile games into an emulator with ProxyDroid setup to redirect traffic to a Fiddler instance. Look for any &amp;quot;startup&amp;quot; HTTP requests and see if they have a key. If they do, tell me them on Discord.&lt;br /&gt;
# Downloading APKs of any Nexon mobile games and decompiling them, inspecting any classes that could contain keys. Essentially, you're looking for any class that has the word &amp;quot;Crypto&amp;quot; in it, but the key could be hiding in other classes.&lt;br /&gt;
# Seeking assistance from others that could potentially have the key. This is probably the 2nd least likely, as they're probably not going to share the key (this is something that's probably sought after by many other developers). The most promising people who might have such key (or at least a decrypted copy of the data) are anons running around on the Gamerch wiki with the ID {{#tag:code|CB26BC965F}} and {{#tag:code|CFF60E1F35}}.&lt;br /&gt;
# Dressing up in a suit and walking on over to {{#tag:code|Shinkawa 2-3-1 Chuo-ku, Tokyo 104-0033 Japan}}, politely asking for the decryption key. We've tried getting Bird and Shadow on this, but they've declined :(&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;Let's recreate the file!&amp;quot; ===&lt;br /&gt;
... is our current best bet. The syntax of the file is relatively simple:&lt;br /&gt;
{{#tag:code|[number of elements]&amp;gt;[JSON elements]}}&lt;br /&gt;
The structure of the file has been documented (this is also the same order things are loaded in, and yes, it is fixed ordering) at [[User:Tsunko/data0.bytes]].&lt;br /&gt;
|-|&lt;br /&gt;
Data Mined Info===Information Data Mined from Gamerch's Wiki===&lt;br /&gt;
This was a struggle to write, but after what feels like a long time, I finally got a data miner working and running. When using the tool, the initial run may produce a &amp;quot;read timed out&amp;quot; error. This is fine; just re-run the tool again. I have no clue why this happens, but a re-run usually gets it going. It's currently multi-threaded (thread count is the same as CPU count) and dumps the info into 2 text files: friends.txt and items.txt&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Source code for tool used (self written): https://github.com/tsunko/kemofure-gamerch-dataminer/&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;quot;friends.txt&amp;quot; as of 11/4/2017: https://hastebin.com/cukukohuna.sql&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;quot;items.txt&amp;quot; as of 11/4/2017: https://hastebin.com/emeponelig.vbs&amp;lt;br/&amp;gt;&lt;br /&gt;
Disregard the .sql and .vbs extension; they're not actually .sql or .vbs files. HasteBin is making that assumption for some reason; don't know how to get it to not make assumptions :(&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tsunko</name></author>
	</entry>
	<entry>
		<id>https://japari-library.com/index.php?title=User:Tsunko/TechInfo&amp;diff=9728</id>
		<title>User:Tsunko/TechInfo</title>
		<link rel="alternate" type="text/html" href="https://japari-library.com/index.php?title=User:Tsunko/TechInfo&amp;diff=9728"/>
		<updated>2017-11-05T01:58:07Z</updated>

		<summary type="html">&lt;p&gt;Tsunko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;tabber&amp;gt;&lt;br /&gt;
Communication=== &amp;quot;How does this game communicate!?&amp;quot; ==&lt;br /&gt;
Generally, communication is done over plain HTTP. Headers (as far as I can tell) are not used; I could be wrong on that fact, but I have no observed anything weird happening if I don't include certain headers.&amp;lt;br /&amp;gt;&lt;br /&gt;
Any encryption done uses AES128 ECB with a block and key size of 128, padding data with zeros, followed by being the encrypted result being represented in Base64.&lt;br /&gt;
Data is contained in JSON objects (typically, all data is wrapped inside of a named JSON object for some reason).&lt;br /&gt;
&lt;br /&gt;
=== Client to Server ===&lt;br /&gt;
Oddly enough, client to server ''isn't'' fully encrypted at all. If there is any encryption present, it is only done to any strings being passed from client to server. Other than that, expect plaintext.&lt;br /&gt;
&lt;br /&gt;
=== Server to Client ===&lt;br /&gt;
Data transmitted from the server is fully encrypted, however, unlike the client to server, there is no &amp;quot;nested&amp;quot; encryption. The client expects everything to be plaintext once the content is decrypted the first time.&lt;br /&gt;
|-|&lt;br /&gt;
data0.bytes=== The infamous brick wall we can't break.==&lt;br /&gt;
This file (on Android) is stored under {{#tag:code|/data/data/jp.co.nexon.kemo/files/kemofure/resources/common/common/data0.bytes}}.&amp;lt;br /&amp;gt;&lt;br /&gt;
It's loaded before either the client attempting to view the tutorial or view {{#tag:code|/mypage/get}} by class {{#tag:code|MasterData.cs}}.&amp;lt;br /&amp;gt;&lt;br /&gt;
The heart-breaking part is that it is encrypted with '''Rijndael-256''' with a block and key size of '''256''', making it practically impossible to recover the key. The default keys ({{#tag:code|appDecryptionKey}}/{{#tag:code|UtilData.AES_KEY}}) provided ({{#tag:code|QeEjSWTbFK2876yB}} or {{#tag:code|b8PWNMsYCt47YAai}}) do '''not''' work with this file; it's encrypted with a different key. However, we at least know the IV ({{#tag:code|FLXR4JXfD6Cw5jsJtj7VnferY93k4Zsg}}).&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;I have the key!&amp;quot; ===&lt;br /&gt;
Should you, or anyone else, happen to have or stumble across the decryption key (either you sniffed it or somehow logged the HTTP request), please contact me on Discord.&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;I want to help find the key!&amp;quot; ===&lt;br /&gt;
Unfortunately, while the Servals working in Nexon's programming department may have some of the most convoluted code possible (we'll call it a ''unique'' style of code), it does not look like finding the key will be something you randomly stumble across. However, here are some ways to try finding them:&lt;br /&gt;
# The most likely way to find it (and how I've been doing it) is to simply download other Nexon mobile games into an emulator with ProxyDroid setup to redirect traffic to a Fiddler instance. Look for any &amp;quot;startup&amp;quot; HTTP requests and see if they have a key. If they do, tell me them on Discord.&lt;br /&gt;
# Downloading APKs of any Nexon mobile games and decompiling them, inspecting any classes that could contain keys. Essentially, you're looking for any class that has the word &amp;quot;Crypto&amp;quot; in it, but the key could be hiding in other classes.&lt;br /&gt;
# Seeking assistance from others that could potentially have the key. This is probably the 2nd least likely, as they're probably not going to share the key (this is something that's probably sought after by many other developers). The most promising people who might have such key (or at least a decrypted copy of the data) are anons running around on the Gamerch wiki with the ID {{#tag:code|CB26BC965F}} and {{#tag:code|CFF60E1F35}}.&lt;br /&gt;
# Dressing up in a suit and walking on over to {{#tag:code|Shinkawa 2-3-1 Chuo-ku, Tokyo 104-0033 Japan}}, politely asking for the decryption key. We've tried getting Bird and Shadow on this, but they've declined :(&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;Let's recreate the file!&amp;quot; ===&lt;br /&gt;
... is our current best bet. The syntax of the file is relatively simple:&lt;br /&gt;
{{#tag:code|[number of elements]&amp;gt;[JSON elements]}}&lt;br /&gt;
The structure of the file has been documented (this is also the same order things are loaded in, and yes, it is fixed ordering) at [[User:Tsunko/data0.bytes]].&lt;br /&gt;
|-|&lt;br /&gt;
Data Mined Info===Information Data Mined from Gamerch's Wiki===&lt;br /&gt;
This was a struggle to write, but after what feels like a long time, I finally got a data miner working and running. When using the tool, the initial run may produce a &amp;quot;read timed out&amp;quot; error. This is fine; just re-run the tool again. I have no clue why this happens, but a re-run usually gets it going. It's currently multi-threaded (thread count is the same as CPU count) and dumps the info into 2 text files: friends.txt and items.txt&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Source code for tool used (self written): https://github.com/tsunko/kemofure-gamerch-dataminer/&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Friends: https://hastebin.com/cukukohuna.sql&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Items: https://hastebin.com/emeponelig.vbs&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tsunko</name></author>
	</entry>
	<entry>
		<id>https://japari-library.com/index.php?title=User:Tsunko/TechInfo&amp;diff=9727</id>
		<title>User:Tsunko/TechInfo</title>
		<link rel="alternate" type="text/html" href="https://japari-library.com/index.php?title=User:Tsunko/TechInfo&amp;diff=9727"/>
		<updated>2017-11-05T01:57:55Z</updated>

		<summary type="html">&lt;p&gt;Tsunko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;tabber&amp;gt;&lt;br /&gt;
Communication=== &amp;quot;How does this game communicate!?&amp;quot; ==&lt;br /&gt;
Generally, communication is done over plain HTTP. Headers (as far as I can tell) are not used; I could be wrong on that fact, but I have no observed anything weird happening if I don't include certain headers.&amp;lt;br /&amp;gt;&lt;br /&gt;
Any encryption done uses AES128 ECB with a block and key size of 128, padding data with zeros, followed by being the encrypted result being represented in Base64.&lt;br /&gt;
Data is contained in JSON objects (typically, all data is wrapped inside of a named JSON object for some reason).&lt;br /&gt;
&lt;br /&gt;
=== Client to Server ===&lt;br /&gt;
Oddly enough, client to server ''isn't'' fully encrypted at all. If there is any encryption present, it is only done to any strings being passed from client to server. Other than that, expect plaintext.&lt;br /&gt;
&lt;br /&gt;
=== Server to Client ===&lt;br /&gt;
Data transmitted from the server is fully encrypted, however, unlike the client to server, there is no &amp;quot;nested&amp;quot; encryption. The client expects everything to be plaintext once the content is decrypted the first time.&lt;br /&gt;
|-|&lt;br /&gt;
data0.bytes=== The infamous brick wall we can't break.==&lt;br /&gt;
This file (on Android) is stored under {{#tag:code|/data/data/jp.co.nexon.kemo/files/kemofure/resources/common/common/data0.bytes}}.&amp;lt;br /&amp;gt;&lt;br /&gt;
It's loaded before either the client attempting to view the tutorial or view {{#tag:code|/mypage/get}} by class {{#tag:code|MasterData.cs}}.&amp;lt;br /&amp;gt;&lt;br /&gt;
The heart-breaking part is that it is encrypted with '''Rijndael-256''' with a block and key size of '''256''', making it practically impossible to recover the key. The default keys ({{#tag:code|appDecryptionKey}}/{{#tag:code|UtilData.AES_KEY}}) provided ({{#tag:code|QeEjSWTbFK2876yB}} or {{#tag:code|b8PWNMsYCt47YAai}}) do '''not''' work with this file; it's encrypted with a different key. However, we at least know the IV ({{#tag:code|FLXR4JXfD6Cw5jsJtj7VnferY93k4Zsg}}).&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;I have the key!&amp;quot; ===&lt;br /&gt;
Should you, or anyone else, happen to have or stumble across the decryption key (either you sniffed it or somehow logged the HTTP request), please contact me on Discord.&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;I want to help find the key!&amp;quot; ===&lt;br /&gt;
Unfortunately, while the Servals working in Nexon's programming department may have some of the most convoluted code possible (we'll call it a ''unique'' style of code), it does not look like finding the key will be something you randomly stumble across. However, here are some ways to try finding them:&lt;br /&gt;
# The most likely way to find it (and how I've been doing it) is to simply download other Nexon mobile games into an emulator with ProxyDroid setup to redirect traffic to a Fiddler instance. Look for any &amp;quot;startup&amp;quot; HTTP requests and see if they have a key. If they do, tell me them on Discord.&lt;br /&gt;
# Downloading APKs of any Nexon mobile games and decompiling them, inspecting any classes that could contain keys. Essentially, you're looking for any class that has the word &amp;quot;Crypto&amp;quot; in it, but the key could be hiding in other classes.&lt;br /&gt;
# Seeking assistance from others that could potentially have the key. This is probably the 2nd least likely, as they're probably not going to share the key (this is something that's probably sought after by many other developers). The most promising people who might have such key (or at least a decrypted copy of the data) are anons running around on the Gamerch wiki with the ID {{#tag:code|CB26BC965F}} and {{#tag:code|CFF60E1F35}}.&lt;br /&gt;
# Dressing up in a suit and walking on over to {{#tag:code|Shinkawa 2-3-1 Chuo-ku, Tokyo 104-0033 Japan}}, politely asking for the decryption key. We've tried getting Bird and Shadow on this, but they've declined :(&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;Let's recreate the file!&amp;quot; ===&lt;br /&gt;
... is our current best bet. The syntax of the file is relatively simple:&lt;br /&gt;
{{#tag:code|[number of elements]&amp;gt;[JSON elements]}}&lt;br /&gt;
The structure of the file has been documented (this is also the same order things are loaded in, and yes, it is fixed ordering) at [[User:Tsunko/data0.bytes]].&lt;br /&gt;
|-|&lt;br /&gt;
Data Mined Info===Information Data Mined from Gamerch's Wiki===&lt;br /&gt;
This was a struggle to write, but after what feels like a long time, I finally got a data miner working and running. When using the tool, the initial run may produce a &amp;quot;read timed out&amp;quot; error. This is fine; just re-run the tool again. I have no clue why this happens, but a re-run usually gets it going. It's currently multi-threaded (thread count is the same as CPU count) and dumps the info into 2 text files: friends.txt and items.txt&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Source code for tool used (self written): https://github.com/tsunko/kemofure-gamerch-dataminer/&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Friends: https://hastebin.com/cukukohuna.sql&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Items: https://hastebin.com/emeponelig.vbs&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tsunko</name></author>
	</entry>
	<entry>
		<id>https://japari-library.com/index.php?title=User:Tsunko/TechInfo&amp;diff=9725</id>
		<title>User:Tsunko/TechInfo</title>
		<link rel="alternate" type="text/html" href="https://japari-library.com/index.php?title=User:Tsunko/TechInfo&amp;diff=9725"/>
		<updated>2017-11-05T01:55:16Z</updated>

		<summary type="html">&lt;p&gt;Tsunko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;tabber&amp;gt;&lt;br /&gt;
Communication=== &amp;quot;How does this game communicate!?&amp;quot; ==&lt;br /&gt;
Generally, communication is done over plain HTTP. Headers (as far as I can tell) are not used; I could be wrong on that fact, but I have no observed anything weird happening if I don't include certain headers.&amp;lt;br /&amp;gt;&lt;br /&gt;
Any encryption done uses AES128 ECB with a block and key size of 128, padding data with zeros, followed by being the encrypted result being represented in Base64.&lt;br /&gt;
Data is contained in JSON objects (typically, all data is wrapped inside of a named JSON object for some reason).&lt;br /&gt;
&lt;br /&gt;
=== Client to Server ===&lt;br /&gt;
Oddly enough, client to server ''isn't'' fully encrypted at all. If there is any encryption present, it is only done to any strings being passed from client to server. Other than that, expect plaintext.&lt;br /&gt;
&lt;br /&gt;
=== Server to Client ===&lt;br /&gt;
Data transmitted from the server is fully encrypted, however, unlike the client to server, there is no &amp;quot;nested&amp;quot; encryption. The client expects everything to be plaintext once the content is decrypted the first time.&lt;br /&gt;
|-|&lt;br /&gt;
data0.bytes=== The infamous brick wall we can't break.==&lt;br /&gt;
This file (on Android) is stored under {{#tag:code|/data/data/jp.co.nexon.kemo/files/kemofure/resources/common/common/data0.bytes}}.&amp;lt;br /&amp;gt;&lt;br /&gt;
It's loaded before either the client attempting to view the tutorial or view {{#tag:code|/mypage/get}} by class {{#tag:code|MasterData.cs}}.&amp;lt;br /&amp;gt;&lt;br /&gt;
The heart-breaking part is that it is encrypted with '''Rijndael-256''' with a block and key size of '''256''', making it practically impossible to recover the key. The default keys ({{#tag:code|appDecryptionKey}}/{{#tag:code|UtilData.AES_KEY}}) provided ({{#tag:code|QeEjSWTbFK2876yB}} or {{#tag:code|b8PWNMsYCt47YAai}}) do '''not''' work with this file; it's encrypted with a different key. However, we at least know the IV ({{#tag:code|FLXR4JXfD6Cw5jsJtj7VnferY93k4Zsg}}).&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;I have the key!&amp;quot; ===&lt;br /&gt;
Should you, or anyone else, happen to have or stumble across the decryption key (either you sniffed it or somehow logged the HTTP request), please contact me on Discord.&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;I want to help find the key!&amp;quot; ===&lt;br /&gt;
Unfortunately, while the Servals working in Nexon's programming department may have some of the most convoluted code possible (we'll call it a ''unique'' style of code), it does not look like finding the key will be something you randomly stumble across. However, here are some ways to try finding them:&lt;br /&gt;
# The most likely way to find it (and how I've been doing it) is to simply download other Nexon mobile games into an emulator with ProxyDroid setup to redirect traffic to a Fiddler instance. Look for any &amp;quot;startup&amp;quot; HTTP requests and see if they have a key. If they do, tell me them on Discord.&lt;br /&gt;
# Downloading APKs of any Nexon mobile games and decompiling them, inspecting any classes that could contain keys. Essentially, you're looking for any class that has the word &amp;quot;Crypto&amp;quot; in it, but the key could be hiding in other classes.&lt;br /&gt;
# Seeking assistance from others that could potentially have the key. This is probably the 2nd least likely, as they're probably not going to share the key (this is something that's probably sought after by many other developers). The most promising people who might have such key (or at least a decrypted copy of the data) are anons running around on the Gamerch wiki with the ID {{#tag:code|CB26BC965F}} and {{#tag:code|CFF60E1F35}}.&lt;br /&gt;
# Dressing up in a suit and walking on over to {{#tag:code|Shinkawa 2-3-1 Chuo-ku, Tokyo 104-0033 Japan}}, politely asking for the decryption key. We've tried getting Bird and Shadow on this, but they've declined :(&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;Let's recreate the file!&amp;quot; ===&lt;br /&gt;
... is our current best bet. The syntax of the file is relatively simple:&lt;br /&gt;
{{#tag:code|[number of elements]&amp;gt;[JSON elements]}}&lt;br /&gt;
The structure of the file has been documented (this is also the same order things are loaded in, and yes, it is fixed ordering) at [[User:Tsunko/data0.bytes]].&lt;br /&gt;
|-|&lt;br /&gt;
Data Mined Info===Information Data Mined from Gamerch's Wiki===&lt;br /&gt;
Tool used (self written): https://github.com/tsunko/kemofure-gamerch-dataminer/&lt;br /&gt;
Friends: https://hastebin.com/cukukohuna.sql&lt;br /&gt;
Items: https://hastebin.com/emeponelig.vbs&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tsunko</name></author>
	</entry>
	<entry>
		<id>https://japari-library.com/index.php?title=User:Tsunko/TechInfo&amp;diff=9715</id>
		<title>User:Tsunko/TechInfo</title>
		<link rel="alternate" type="text/html" href="https://japari-library.com/index.php?title=User:Tsunko/TechInfo&amp;diff=9715"/>
		<updated>2017-11-05T01:06:56Z</updated>

		<summary type="html">&lt;p&gt;Tsunko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;tabber&amp;gt;&lt;br /&gt;
Communication=== &amp;quot;How does this game communicate!?&amp;quot; ==&lt;br /&gt;
Generally, communication is done over plain HTTP. Headers (as far as I can tell) are not used; I could be wrong on that fact, but I have no observed anything weird happening if I don't include certain headers.&amp;lt;br /&amp;gt;&lt;br /&gt;
Any encryption done uses AES128 ECB with a block and key size of 128, padding data with zeros, followed by being the encrypted result being represented in Base64.&lt;br /&gt;
Data is contained in JSON objects (typically, all data is wrapped inside of a named JSON object for some reason).&lt;br /&gt;
&lt;br /&gt;
=== Client to Server ===&lt;br /&gt;
Oddly enough, client to server ''isn't'' fully encrypted at all. If there is any encryption present, it is only done to any strings being passed from client to server. Other than that, expect plaintext.&lt;br /&gt;
&lt;br /&gt;
=== Server to Client ===&lt;br /&gt;
Data transmitted from the server is fully encrypted, however, unlike the client to server, there is no &amp;quot;nested&amp;quot; encryption. The client expects everything to be plaintext once the content is decrypted the first time.&lt;br /&gt;
|-|&lt;br /&gt;
data0.bytes=== The infamous brick wall we can't break.==&lt;br /&gt;
This file (on Android) is stored under {{#tag:code|/data/data/jp.co.nexon.kemo/files/kemofure/resources/common/common/data0.bytes}}.&amp;lt;br /&amp;gt;&lt;br /&gt;
It's loaded before either the client attempting to view the tutorial or view {{#tag:code|/mypage/get}} by class {{#tag:code|MasterData.cs}}.&amp;lt;br /&amp;gt;&lt;br /&gt;
The heart-breaking part is that it is encrypted with '''Rijndael-256''' with a block and key size of '''256''', making it practically impossible to recover the key. The default keys ({{#tag:code|appDecryptionKey}}/{{#tag:code|UtilData.AES_KEY}}) provided ({{#tag:code|QeEjSWTbFK2876yB}} or {{#tag:code|b8PWNMsYCt47YAai}}) do '''not''' work with this file; it's encrypted with a different key. However, we at least know the IV ({{#tag:code|FLXR4JXfD6Cw5jsJtj7VnferY93k4Zsg}}).&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;I have the key!&amp;quot; ===&lt;br /&gt;
Should you, or anyone else, happen to have or stumble across the decryption key (either you sniffed it or somehow logged the HTTP request), please contact me on Discord.&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;I want to help find the key!&amp;quot; ===&lt;br /&gt;
Unfortunately, while the Servals working in Nexon's programming department may have some of the most convoluted code possible (we'll call it a ''unique'' style of code), it does not look like finding the key will be something you randomly stumble across. However, here are some ways to try finding them:&lt;br /&gt;
# The most likely way to find it (and how I've been doing it) is to simply download other Nexon mobile games into an emulator with ProxyDroid setup to redirect traffic to a Fiddler instance. Look for any &amp;quot;startup&amp;quot; HTTP requests and see if they have a key. If they do, tell me them on Discord.&lt;br /&gt;
# Downloading APKs of any Nexon mobile games and decompiling them, inspecting any classes that could contain keys. Essentially, you're looking for any class that has the word &amp;quot;Crypto&amp;quot; in it, but the key could be hiding in other classes.&lt;br /&gt;
# Seeking assistance from others that could potentially have the key. This is probably the 2nd least likely, as they're probably not going to share the key (this is something that's probably sought after by many other developers). The most promising people who might have such key (or at least a decrypted copy of the data) are anons running around on the Gamerch wiki with the ID {{#tag:code|CB26BC965F}} and {{#tag:code|CFF60E1F35}}.&lt;br /&gt;
# Dressing up in a suit and walking on over to {{#tag:code|Shinkawa 2-3-1 Chuo-ku, Tokyo 104-0033 Japan}}, politely asking for the decryption key. We've tried getting Bird and Shadow on this, but they've declined :(&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;Let's recreate the file!&amp;quot; ===&lt;br /&gt;
... is our current best bet. The syntax of the file is relatively simple:&lt;br /&gt;
{{#tag:code|[number of elements]&amp;gt;[JSON elements]}}&lt;br /&gt;
The structure of the file has been documented (this is also the same order things are loaded in, and yes, it is fixed ordering) at [[User:Tsunko/data0.bytes]].&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tsunko</name></author>
	</entry>
	<entry>
		<id>https://japari-library.com/index.php?title=User:Tsunko/TechInfo&amp;diff=9714</id>
		<title>User:Tsunko/TechInfo</title>
		<link rel="alternate" type="text/html" href="https://japari-library.com/index.php?title=User:Tsunko/TechInfo&amp;diff=9714"/>
		<updated>2017-11-05T01:05:53Z</updated>

		<summary type="html">&lt;p&gt;Tsunko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;tabber&amp;gt;&lt;br /&gt;
Communication=== &amp;quot;How does this game communicate!?&amp;quot; ==&lt;br /&gt;
Generally, communication is done over plain HTTP. Headers (as far as I can tell) are not used; I could be wrong on that fact, but I have no observed anything weird happening if I don't include certain headers.&amp;lt;br /&amp;gt;&lt;br /&gt;
Any encryption done uses AES128 ECB with a block and key size of 128, padding data with zeros, followed by being the encrypted result being represented in Base64.&lt;br /&gt;
Data is contained in JSON objects (typically, all data is wrapped inside of a named JSON object for some reason).&lt;br /&gt;
&lt;br /&gt;
=== Client to Server ===&lt;br /&gt;
Oddly enough, client to server ''isn't'' fully encrypted at all. If there is any encryption present, it is only done to any strings being passed from client to server. Other than that, expect plaintext.&lt;br /&gt;
&lt;br /&gt;
=== Server to Client ===&lt;br /&gt;
Data transmitted from the server is fully encrypted, however, unlike the client to server, there is no &amp;quot;nested&amp;quot; encryption. The client expects everything to be plaintext once the content is decrypted the first time.&lt;br /&gt;
|-|&lt;br /&gt;
data0.bytes=== The infamous brick wall we can't break.==&lt;br /&gt;
This file (on Android) is stored under {{#tag:code|/data/data/jp.co.nexon.kemo/files/kemofure/resources/common/common/data0.bytes}}.&amp;lt;br /&amp;gt;&lt;br /&gt;
It's loaded before either the client attempting to view the tutorial or view {{#tag:code|/mypage/get}} by class {{#tag:code|MasterData.cs}}.&amp;lt;br /&amp;gt;&lt;br /&gt;
The heart-breaking part is that it is encrypted with '''Rijndael-256''' with a block and key size of '''256''', making it practically impossible to recover the key. The default keys ({{#tag:code|appDecryptionKey}}/{{#tag:code|UtilData.AES_KEY}}) provided ({{#tag:code|QeEjSWTbFK2876yB}} or {{#tag:code|b8PWNMsYCt47YAai}}) do '''not''' work with this file; it's encrypted with a different key. However, we at least know the IV ({{#tag:code|FLXR4JXfD6Cw5jsJtj7VnferY93k4Zsg}}).&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;I have the key!&amp;quot; ===&lt;br /&gt;
Should you, or anyone else, happen to have or stumble across the decryption key (either you sniffed it or somehow logged the HTTP request), please contact me on Discord.&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;I want to help find the key!&amp;quot; ===&lt;br /&gt;
Unfortunately, while the Servals working in Nexon's programming department may have some of the most convoluted code possible (we'll call it a ''unique'' style of code), it does not look like finding the key will be something you randomly stumble across. However, here are some ways to try finding them:&lt;br /&gt;
# The most likely way to find it (and how I've been doing it) is to simply download other Nexon mobile games into an emulator with ProxyDroid setup to redirect traffic to a Fiddler instance. Look for any &amp;quot;startup&amp;quot; HTTP requests and see if they have a key. If they do, tell me them on Discord.&lt;br /&gt;
# Downloading APKs of any Nexon mobile games and decompiling them, inspecting any classes that could contain keys. Essentially, you're looking for any class that has the word &amp;quot;Crypto&amp;quot; in it, but the key could be hiding in other classes.&lt;br /&gt;
# Seeking assistance from others that could potentially have the key. This is probably the 2nd least likely, as they're probably not going to share the key (this is something that's probably sought after by many other developers). The most promising people who might have such key (or at least a decrypted copy of the data) are anons running around on the Gamerch wiki with the ID {{#tag:code|CB26BC965F}} and {{#tag:code|CFF60E1F35}}.&lt;br /&gt;
# Dressing up in a suit and walking on over to {{#tag:code|Shinkawa 2-3-1 Chuo-ku, Tokyo 104-0033 Japan}}, politely asking for the decryption key. We've tried getting Bird and Shadow on this, but they've declined :(&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;Let's recreate the file!&amp;quot; ===&lt;br /&gt;
... is our current best bet. The syntax of the file is relatively simple:&lt;br /&gt;
{{#tag:code|[number of elements]&amp;gt;[JSON elements]}}&lt;br /&gt;
The structure of the file has been documented (this is also the same order things are loaded in, and yes, it is fixed ordering) at [[/data0.bytes]].&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tsunko</name></author>
	</entry>
	<entry>
		<id>https://japari-library.com/index.php?title=User:Tsunko/data0.bytes&amp;diff=9713</id>
		<title>User:Tsunko/data0.bytes</title>
		<link rel="alternate" type="text/html" href="https://japari-library.com/index.php?title=User:Tsunko/data0.bytes&amp;diff=9713"/>
		<updated>2017-11-05T01:05:06Z</updated>

		<summary type="html">&lt;p&gt;Tsunko: Created page with &amp;quot;== data0.bytes File Structure == &amp;lt;div style=&amp;quot;float:right; clear:both; margin-left:0.5em;&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt; ==== Data Types ==== {| class=&amp;quot;wikitable&amp;quot; |- ! scope=&amp;quot;col&amp;quot;| Type ! scop...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== data0.bytes File Structure ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; clear:both; margin-left:0.5em;&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
==== Data Types ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Actual type&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| i&lt;br /&gt;
| 32-bit integer&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| l&lt;br /&gt;
| 64-bit integer&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| f&lt;br /&gt;
| decimal floating; probably 32-bit floating?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| s&lt;br /&gt;
| string of characters&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| a&lt;br /&gt;
| array of elements; the element is typically a JSON object, which will be described in comments.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstLevel ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| level&lt;br /&gt;
| i&lt;br /&gt;
| internal ID&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| exp&lt;br /&gt;
| i&lt;br /&gt;
| possible EXP rewarded at end of level?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| maxStamina&lt;br /&gt;
| i&lt;br /&gt;
| possible stamina required? not too sure.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== MstItem ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| internal ID&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| Name of the item&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| info&lt;br /&gt;
| s&lt;br /&gt;
| Description of the item&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| unit&lt;br /&gt;
| i&lt;br /&gt;
| ??? unsure&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| itemType&lt;br /&gt;
| i&lt;br /&gt;
| internal ID referencing the type&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| itemTypeValue&lt;br /&gt;
| i&lt;br /&gt;
| unsure what it references&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| possessionLimitCount&lt;br /&gt;
| i&lt;br /&gt;
| maximum amount that can be inside inventory&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectRarity (optional)&lt;br /&gt;
| i&lt;br /&gt;
| internal ID referencing the rarity of the item (possibly just visual) (default: 1) (1-6?)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| sortNo (optional)&lt;br /&gt;
| i&lt;br /&gt;
| possible sorting index for when viewing (i.e item with sortNo 1 would be first, 2 would be second etc) (default: 1)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstCharacter ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| internal ID&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| Name of the character&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| rarity&lt;br /&gt;
| i&lt;br /&gt;
| rarity value (knowing typical gatcha, from between minimum of 1 to maximum of 6)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| maxLevel&lt;br /&gt;
| i&lt;br /&gt;
| highest level possible with character&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| hp&lt;br /&gt;
| i&lt;br /&gt;
| base hitpoints?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| maxHp&lt;br /&gt;
| i&lt;br /&gt;
| hitpoints when fully grinded out?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| attackType&lt;br /&gt;
| i&lt;br /&gt;
| internal ID referencing the type of attack done (enum index number possibly)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| attack&lt;br /&gt;
| i&lt;br /&gt;
| default amount of damage?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| maxAttack&lt;br /&gt;
| i&lt;br /&gt;
| maximum amount of damage?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| moveSpeed&lt;br /&gt;
| i&lt;br /&gt;
| movement speed of the character (unsure of what range though)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| attackSpeed&lt;br /&gt;
| f&lt;br /&gt;
| attack speed of character (? my guess is 1.0 would mean 1 attack a second)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| attackRange&lt;br /&gt;
| i&lt;br /&gt;
| the attack range/reach of the character&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| reach&lt;br /&gt;
| i&lt;br /&gt;
| melee reach? unknown, really&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| weight&lt;br /&gt;
| i&lt;br /&gt;
| how many japari buns does this character eat :^)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| knockBack&lt;br /&gt;
| i&lt;br /&gt;
| units to move attacked unit back?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| sameAttackCount&lt;br /&gt;
| i&lt;br /&gt;
| unknown, possible how many times the character can repeat a single attack&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| attribute&lt;br /&gt;
| i&lt;br /&gt;
| attribute of character (cool, beauty, whatever else was TL'd from that attribute array)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| groupId&lt;br /&gt;
| i&lt;br /&gt;
| group id of the character (not sure&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillId&lt;br /&gt;
| i&lt;br /&gt;
| unsure, maybe the internal power skill ID the character has?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillChargeSpeed&lt;br /&gt;
| f&lt;br /&gt;
| unsure, since it's a float, i'd assume &amp;quot;1&amp;quot; is fully charged and &amp;quot;0&amp;quot; is no charge&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| readerSkillId&lt;br /&gt;
| i&lt;br /&gt;
| unsure, don't know what a reader is&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillSE&lt;br /&gt;
| i&lt;br /&gt;
| skill sound effect index?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| cost&lt;br /&gt;
| i&lt;br /&gt;
| cost to summon unit&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| limitBreakStatus&lt;br /&gt;
| a&lt;br /&gt;
| no clue&lt;br /&gt;
	{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| maxLevel&lt;br /&gt;
	| i&lt;br /&gt;
	| maximum limit breaks&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| maxHp&lt;br /&gt;
	| i&lt;br /&gt;
	| unknown, what would hp would have to do with limit breaks?&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| maxAttack&lt;br /&gt;
	| i&lt;br /&gt;
	| unknown&lt;br /&gt;
	|-&lt;br /&gt;
	|}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| goodField&lt;br /&gt;
| i&lt;br /&gt;
| field type that is beneficiel for the character&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| badField&lt;br /&gt;
| i&lt;br /&gt;
| field type that is detrimental for the character&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| nocturnal&lt;br /&gt;
| i&lt;br /&gt;
| unknown, possible time-related (owls do more damage at night or something? i wouldn't have a clue)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| critical&lt;br /&gt;
| f&lt;br /&gt;
| crit chance&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| baseCharacterId&lt;br /&gt;
| i&lt;br /&gt;
| internal base character ID, possibly for when characters evolve or have multiple rarities&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| profile&lt;br /&gt;
| s&lt;br /&gt;
| description?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| scientificName&lt;br /&gt;
| s&lt;br /&gt;
| name of the character in scientific terms (i.e Suri Alpaca is &amp;quot;Vicugna pacos&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| genus&lt;br /&gt;
| s&lt;br /&gt;
| the genus of the character (i.e Suri Alpaca is &amp;quot;Vicugna&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| redlistCode&lt;br /&gt;
| i&lt;br /&gt;
| conversation status?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| word&lt;br /&gt;
| s&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| voiceArtist&lt;br /&gt;
| s&lt;br /&gt;
| seiyuu&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| size&lt;br /&gt;
| i&lt;br /&gt;
| size of the character (S, M, L)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| specificVirtue&lt;br /&gt;
| a&lt;br /&gt;
| ???&lt;br /&gt;
	{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| mstEventId&lt;br /&gt;
	| i&lt;br /&gt;
	| ???&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| mstSpecificVirtue&lt;br /&gt;
	| i&lt;br /&gt;
	| ???&lt;br /&gt;
	|-&lt;br /&gt;
	|}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| maxLimitBreakReducePercent (optional)&lt;br /&gt;
| i&lt;br /&gt;
| ??? (default: 0)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectRarity (optional)&lt;br /&gt;
| i&lt;br /&gt;
| rarity of the character's special effect? unsure. (default: 1) (1-6?)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| eventLimitBreakFlag (optional)&lt;br /&gt;
| i&lt;br /&gt;
| unknown (default: 0)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| tieUpFlag (optional)&lt;br /&gt;
| i&lt;br /&gt;
| unknown; also... :2lewd: (default: 0)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstCharacterRarity ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| rarity&lt;br /&gt;
| i&lt;br /&gt;
| rarity of a character? (1-6)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| salePrice&lt;br /&gt;
| i&lt;br /&gt;
| possibly how much they cost?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| dropPercent&lt;br /&gt;
| i&lt;br /&gt;
| chance to get character&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| maxLimitBreakCount&lt;br /&gt;
| i&lt;br /&gt;
| maximum amount of times the character can be limit broken&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| stockExp&lt;br /&gt;
| i&lt;br /&gt;
| amount of xp when obtained? (default: based on rarity, can be: 0, 500, 1000, 2000, 5000, 10000)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| maxLimitBreakReduceCoin&lt;br /&gt;
| i&lt;br /&gt;
| ??? (default: based on rarity, can be 0, 0, 0, 30, 100, 300)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstLevelCharacter ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| characterLevelList&lt;br /&gt;
| a&lt;br /&gt;
| possibly referencing data per level (how much to get to this level, etc)&lt;br /&gt;
	{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| level&lt;br /&gt;
	| i&lt;br /&gt;
	| not much to say; it's the level&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| exp&lt;br /&gt;
	| i&lt;br /&gt;
	| exp required?&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| limitBreakStep&lt;br /&gt;
	| i&lt;br /&gt;
	| ???&lt;br /&gt;
	|-&lt;br /&gt;
	|}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstUpGrade ====&lt;br /&gt;
I actually don't know what this is used for.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| level&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| cost&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| hp&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| attack&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| knockback&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| weight&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| hpRecover&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstKemonoLevelUp ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| getUp&lt;br /&gt;
| f&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| recoverSpeed&lt;br /&gt;
| f&lt;br /&gt;
| ??? how fast to recover per second? or something?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| needKp&lt;br /&gt;
| i&lt;br /&gt;
| ?? unknown&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstGroup ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| internal group id&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| name of group&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| information&lt;br /&gt;
| s&lt;br /&gt;
| possibly description or profile&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectValues&lt;br /&gt;
| s&lt;br /&gt;
| a string of integers, seperated by commas (i.e &amp;quot;1, 2, 3, 4, 5&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| members&lt;br /&gt;
| s&lt;br /&gt;
| a string of members, seperated by commas (i.e &amp;quot;a, b, c&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| prefixString&lt;br /&gt;
| s&lt;br /&gt;
| prefix for the group for its members&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| suffixString&lt;br /&gt;
| s&lt;br /&gt;
| suffix for the group for its members&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectInformation&lt;br /&gt;
| s&lt;br /&gt;
| possibly information regarding how the effect values work; could be informational and not do anything&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstSkill ====&lt;br /&gt;
imagine combining 6 friend attacks all at once :wao: (ty Chojiki for explaining how it worked)&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| internal skill id&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| name of the skill&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| info&lt;br /&gt;
| s&lt;br /&gt;
| display information for skill?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| prefixString&lt;br /&gt;
| s&lt;br /&gt;
| prefix for skill name&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| middleString&lt;br /&gt;
| s&lt;br /&gt;
| the skill name itself&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| suffixString&lt;br /&gt;
| s&lt;br /&gt;
| suffix for skill name&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillEffectId&lt;br /&gt;
| s&lt;br /&gt;
| comma seperated string of integers (i.e &amp;quot;1, 2, 3, 4&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillChrageSpeed (optional)&lt;br /&gt;
| f&lt;br /&gt;
| speed at which the skill charges (default 4f)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillSE (optional)&lt;br /&gt;
| i&lt;br /&gt;
| skill sound effect index? (default 0)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillWaitingTime (optional)&lt;br /&gt;
| i&lt;br /&gt;
| how long to wait before recharge (milliseconds?) (default 3000)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| resourceId (optional)&lt;br /&gt;
| i&lt;br /&gt;
| internal id for visual effects? (default 0)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillStartUpCondType (optional)&lt;br /&gt;
| i&lt;br /&gt;
| conditions for getting the skill pulled off? (default 0)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstAccessory ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| internal id for accessory&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| name of the accessory&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| information&lt;br /&gt;
| s&lt;br /&gt;
| flavor text&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| useCondType&lt;br /&gt;
| i&lt;br /&gt;
| ID for condition type in which this accessory can be equipped? (maybe restricted to type?)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| useCond&lt;br /&gt;
| i&lt;br /&gt;
| ID for condition?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectType&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectValue&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| salePrice&lt;br /&gt;
| i&lt;br /&gt;
| the value of the accessory in, maybe, gold?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectRarity (optional)&lt;br /&gt;
| i&lt;br /&gt;
| special effect for rarity (default 1)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== BusLevelList ====&lt;br /&gt;
No clue what this does&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| type&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| level&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| gold&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| defaultKp&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| hp&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| attack&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| addKp&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstBusParts ====&lt;br /&gt;
could possible be related to MstItem?&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| internal id referring to the bus part&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| name of the part&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| info&lt;br /&gt;
| s&lt;br /&gt;
| flavor text?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| type&lt;br /&gt;
| i&lt;br /&gt;
| type of part?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| useCondType&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| useCond&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectType&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectValue&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstLogin ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| count&lt;br /&gt;
| i&lt;br /&gt;
| how many times to login to recieve reward&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| rewardList&lt;br /&gt;
| a&lt;br /&gt;
| rewards at x amount of logins&lt;br /&gt;
	{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| type&lt;br /&gt;
	| i&lt;br /&gt;
	| type of award&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| typeValue&lt;br /&gt;
	| i&lt;br /&gt;
	| ??? value of type?&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| amount&lt;br /&gt;
	| i&lt;br /&gt;
	| the amount recieved&lt;br /&gt;
	|-&lt;br /&gt;
	|}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstCostume ====&lt;br /&gt;
suri alpaca in shoebill costume??? ehehe...&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id for costume&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| name of the costume&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| info&lt;br /&gt;
| s&lt;br /&gt;
| flavor text&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectType&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| salePrice&lt;br /&gt;
| i&lt;br /&gt;
| gold value of costume??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| colorVariation&lt;br /&gt;
| s&lt;br /&gt;
| flavor text variation?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectRarity (optional)&lt;br /&gt;
| i&lt;br /&gt;
| rarity special effect for item (default 1)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| displayGroup (optional)&lt;br /&gt;
| i&lt;br /&gt;
| ??? (default 1)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| useCondSize (optional)&lt;br /&gt;
| i&lt;br /&gt;
| i guess certain friends can't wear certain costumes based on size (default 0)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstCharacterStoryQuest ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id for the story quest&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| string name for quest&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| stamina&lt;br /&gt;
| i&lt;br /&gt;
| stamina required?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| fieldId&lt;br /&gt;
| i&lt;br /&gt;
| the field type for this quest&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| night&lt;br /&gt;
| i&lt;br /&gt;
| ah, this makes the &amp;quot;nocternal&amp;quot; field make sense; probably 0 for false, 1 for true; makes the field night-time&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| waveCount&lt;br /&gt;
| i&lt;br /&gt;
| amount of waves&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| linkMapId&lt;br /&gt;
| i&lt;br /&gt;
| next quest point on the map?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| linkAreaId&lt;br /&gt;
| i&lt;br /&gt;
| next quest point in the area?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| linkSymbolId&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| nextIds&lt;br /&gt;
| s&lt;br /&gt;
| no idea how this is formatted&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| rewardItemId&lt;br /&gt;
| i&lt;br /&gt;
| the ID of the item rewarded at the end of the quest&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| startAdvCharaId (optional)&lt;br /&gt;
| s&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| endAdvCharaId (optional)&lt;br /&gt;
| s&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| chapterSubtitle (optional)&lt;br /&gt;
| s&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| episodeSubtitle (optional)&lt;br /&gt;
| s&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstLevelMission ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id for the mission&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| string name for mission&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| information&lt;br /&gt;
| s&lt;br /&gt;
| flavor text&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| nextMissionId&lt;br /&gt;
| i&lt;br /&gt;
| the next sequential mission ID&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstBus ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id of bus&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| name of bus&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| information&lt;br /&gt;
| s&lt;br /&gt;
| flavor text&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| useCondType&lt;br /&gt;
| i&lt;br /&gt;
| condition type&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| useCond&lt;br /&gt;
| i&lt;br /&gt;
| condition&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectType&lt;br /&gt;
| i&lt;br /&gt;
| effect type ID&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectValue&lt;br /&gt;
| i&lt;br /&gt;
| value of the effect ID&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| itemId&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| groupId&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstSpecificVirtue ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| internal id for virtue&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| type&lt;br /&gt;
| i&lt;br /&gt;
| type of virtue&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| value&lt;br /&gt;
| i&lt;br /&gt;
| value of virtue&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| targetId&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| resourceId&lt;br /&gt;
| i&lt;br /&gt;
| target resource ID&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstArea ====&lt;br /&gt;
I can't figure out how this works exactly. The code is confusing.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| ID for the area&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| Name of the area&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstQuestArea ====&lt;br /&gt;
might be bugged? this doesn't take input json data&lt;br /&gt;
==== MstQuestSymbol ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id for the symbol&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| type&lt;br /&gt;
| i&lt;br /&gt;
| type of symbol&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| iconId&lt;br /&gt;
| i&lt;br /&gt;
| the internal resource ID for the icon&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| x&lt;br /&gt;
| i&lt;br /&gt;
| possibly X offset?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| y&lt;br /&gt;
| i&lt;br /&gt;
| possibly Y offset?&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstEvent ====&lt;br /&gt;
All fields are optional in this.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id for the event&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| type&lt;br /&gt;
| i&lt;br /&gt;
| type of event&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| i&lt;br /&gt;
| name for the event&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| countMstItemId&lt;br /&gt;
| i&lt;br /&gt;
| how many item IDs are involved&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| informationUrl&lt;br /&gt;
| i&lt;br /&gt;
| ??? maybe URL for additional information about the event&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== MstCampaignQuestNotice ====&lt;br /&gt;
All fields are optional in this.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id for the notice (default 0)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| noticeType&lt;br /&gt;
| i&lt;br /&gt;
| type of notice (default 0)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| displayImageName&lt;br /&gt;
| s&lt;br /&gt;
| path to image for notice? (default empty string)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| startDatetime&lt;br /&gt;
| l&lt;br /&gt;
| when the quest starts? (unix epoch time probably) (default 0, or January 1st, 1970, 00:00:00)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| endDatetime&lt;br /&gt;
| l&lt;br /&gt;
| when the quest ends? (unix epoch time) (default 0, or January 1st, 1970, 00:00:00)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Value of noticeType&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| _APService&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| _RaidUp&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| _Guerrilla&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| 1&lt;br /&gt;
| style=&amp;quot;background:#a8ffb2&amp;quot; | true&lt;br /&gt;
| style=&amp;quot;background:#ffa8a8&amp;quot; | false&lt;br /&gt;
| style=&amp;quot;background:#ffa8a8&amp;quot; | false&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| 2&lt;br /&gt;
| style=&amp;quot;background:#ffa8a8&amp;quot; | false&lt;br /&gt;
| style=&amp;quot;background:#a8ffb2&amp;quot; | true&lt;br /&gt;
| style=&amp;quot;background:#ffa8a8&amp;quot; | false&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#a8ffb2&amp;quot; | true&lt;br /&gt;
| style=&amp;quot;background:#a8ffb2&amp;quot; | true&lt;br /&gt;
| style=&amp;quot;background:#ffa8a8&amp;quot; | false&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| 4&lt;br /&gt;
| style=&amp;quot;background:#ffa8a8&amp;quot; | false&lt;br /&gt;
| style=&amp;quot;background:#ffa8a8&amp;quot; | false&lt;br /&gt;
| style=&amp;quot;background:#a8ffb2&amp;quot; | true&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#a8ffb2&amp;quot; | true&lt;br /&gt;
| style=&amp;quot;background:#ffa8a8&amp;quot; | false&lt;br /&gt;
| style=&amp;quot;background:#a8ffb2&amp;quot; | true&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| 6&lt;br /&gt;
| style=&amp;quot;background:#ffa8a8&amp;quot; | false&lt;br /&gt;
| style=&amp;quot;background:#a8ffb2&amp;quot; | true&lt;br /&gt;
| style=&amp;quot;background:#a8ffb2&amp;quot; | true&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#a8ffb2&amp;quot; | true&lt;br /&gt;
| style=&amp;quot;background:#a8ffb2&amp;quot; | true&lt;br /&gt;
| style=&amp;quot;background:#a8ffb2&amp;quot; | true&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstSerif ====&lt;br /&gt;
font?&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id for the serif&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| type&lt;br /&gt;
| i&lt;br /&gt;
| type of font?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| mstCharacterId&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| displaySeq&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| editType&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| serif&lt;br /&gt;
| s&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Tsunko</name></author>
	</entry>
	<entry>
		<id>https://japari-library.com/index.php?title=User:Tsunko/TechInfo&amp;diff=9430</id>
		<title>User:Tsunko/TechInfo</title>
		<link rel="alternate" type="text/html" href="https://japari-library.com/index.php?title=User:Tsunko/TechInfo&amp;diff=9430"/>
		<updated>2017-10-30T16:05:23Z</updated>

		<summary type="html">&lt;p&gt;Tsunko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;tabber&amp;gt;&lt;br /&gt;
Communication=== &amp;quot;How does this game communicate!?&amp;quot; ==&lt;br /&gt;
Generally, communication is done over plain HTTP. Headers (as far as I can tell) are not used; I could be wrong on that fact, but I have no observed anything weird happening if I don't include certain headers.&amp;lt;br /&amp;gt;&lt;br /&gt;
Any encryption done uses AES128 ECB with a block and key size of 128, padding data with zeros, followed by being the encrypted result being represented in Base64.&lt;br /&gt;
Data is contained in JSON objects (typically, all data is wrapped inside of a named JSON object for some reason).&lt;br /&gt;
&lt;br /&gt;
=== Client to Server ===&lt;br /&gt;
Oddly enough, client to server ''isn't'' fully encrypted at all. If there is any encryption present, it is only done to any strings being passed from client to server. Other than that, expect plaintext.&lt;br /&gt;
&lt;br /&gt;
=== Server to Client ===&lt;br /&gt;
Data transmitted from the server is fully encrypted, however, unlike the client to server, there is no &amp;quot;nested&amp;quot; encryption. The client expects everything to be plaintext once the content is decrypted the first time.&lt;br /&gt;
|-|&lt;br /&gt;
data0.bytes=== The infamous brick wall we can't break.==&lt;br /&gt;
This file (on Android) is stored under {{#tag:code|/data/data/jp.co.nexon.kemo/files/kemofure/resources/common/common/data0.bytes}}.&amp;lt;br /&amp;gt;&lt;br /&gt;
It's loaded before either the client attempting to view the tutorial or view {{#tag:code|/mypage/get}} by class {{#tag:code|MasterData.cs}}.&amp;lt;br /&amp;gt;&lt;br /&gt;
The heart-breaking part is that it is encrypted with '''Rijndael-256''' with a block and key size of '''256''', making it practically impossible to recover the key. The default keys ({{#tag:code|appDecryptionKey}}/{{#tag:code|UtilData.AES_KEY}}) provided ({{#tag:code|QeEjSWTbFK2876yB}} or {{#tag:code|b8PWNMsYCt47YAai}}) do '''not''' work with this file; it's encrypted with a different key. However, we at least know the IV ({{#tag:code|FLXR4JXfD6Cw5jsJtj7VnferY93k4Zsg}}).&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;I have the key!&amp;quot; ===&lt;br /&gt;
Should you, or anyone else, happen to have or stumble across the decryption key (either you sniffed it or somehow logged the HTTP request), please contact me on Discord.&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;I want to help find the key!&amp;quot; ===&lt;br /&gt;
Unfortunately, while the Servals working in Nexon's programming department may have some of the most convoluted code possible (we'll call it a ''unique'' style of code), it does not look like finding the key will be something you randomly stumble across. However, here are some ways to try finding them:&lt;br /&gt;
# The most likely way to find it (and how I've been doing it) is to simply download other Nexon mobile games into an emulator with ProxyDroid setup to redirect traffic to a Fiddler instance. Look for any &amp;quot;startup&amp;quot; HTTP requests and see if they have a key. If they do, tell me them on Discord.&lt;br /&gt;
# Downloading APKs of any Nexon mobile games and decompiling them, inspecting any classes that could contain keys. Essentially, you're looking for any class that has the word &amp;quot;Crypto&amp;quot; in it, but the key could be hiding in other classes.&lt;br /&gt;
# Seeking assistance from others that could potentially have the key. This is probably the 2nd least likely, as they're probably not going to share the key (this is something that's probably sought after by many other developers). The most promising people who might have such key (or at least a decrypted copy of the data) are anons running around on the Gamerch wiki with the ID {{#tag:code|CB26BC965F}} and {{#tag:code|CFF60E1F35}}.&lt;br /&gt;
# Dressing up in a suit and walking on over to {{#tag:code|Shinkawa 2-3-1 Chuo-ku, Tokyo 104-0033 Japan}}, politely asking for the decryption key. We've tried getting Bird and Shadow on this, but they've declined :(&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;Let's recreate the file!&amp;quot; ===&lt;br /&gt;
... is our current best bet. The syntax of the file is relatively simple:&lt;br /&gt;
{{#tag:code|[number of elements]&amp;gt;[JSON elements]}}&lt;br /&gt;
The structure of the file has been documented (this is also the same order things are loaded in, and yes, it is fixed ordering):&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; clear:both; margin-left:0.5em;&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
==== Data Types ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Actual type&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| i&lt;br /&gt;
| 32-bit integer&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| l&lt;br /&gt;
| 64-bit integer&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| f&lt;br /&gt;
| decimal floating; probably 32-bit floating?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| s&lt;br /&gt;
| string of characters&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| a&lt;br /&gt;
| array of elements; the element is typically a JSON object, which will be described in comments.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstLevel ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| level&lt;br /&gt;
| i&lt;br /&gt;
| internal ID&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| exp&lt;br /&gt;
| i&lt;br /&gt;
| possible EXP rewarded at end of level?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| maxStamina&lt;br /&gt;
| i&lt;br /&gt;
| possible stamina required? not too sure.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== MstItem ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| internal ID&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| Name of the item&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| info&lt;br /&gt;
| s&lt;br /&gt;
| Description of the item&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| unit&lt;br /&gt;
| i&lt;br /&gt;
| ??? unsure&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| itemType&lt;br /&gt;
| i&lt;br /&gt;
| internal ID referencing the type&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| itemTypeValue&lt;br /&gt;
| i&lt;br /&gt;
| unsure what it references&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| possessionLimitCount&lt;br /&gt;
| i&lt;br /&gt;
| maximum amount that can be inside inventory&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectRarity (optional)&lt;br /&gt;
| i&lt;br /&gt;
| internal ID referencing the rarity of the item (possibly just visual) (default: 1) (1-6?)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| sortNo (optional)&lt;br /&gt;
| i&lt;br /&gt;
| possible sorting index for when viewing (i.e item with sortNo 1 would be first, 2 would be second etc) (default: 1)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstCharacter ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| internal ID&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| Name of the character&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| rarity&lt;br /&gt;
| i&lt;br /&gt;
| rarity value (knowing typical gatcha, from between minimum of 1 to maximum of 6)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| maxLevel&lt;br /&gt;
| i&lt;br /&gt;
| highest level possible with character&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| hp&lt;br /&gt;
| i&lt;br /&gt;
| base hitpoints?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| maxHp&lt;br /&gt;
| i&lt;br /&gt;
| hitpoints when fully grinded out?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| attackType&lt;br /&gt;
| i&lt;br /&gt;
| internal ID referencing the type of attack done (enum index number possibly)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| attack&lt;br /&gt;
| i&lt;br /&gt;
| default amount of damage?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| maxAttack&lt;br /&gt;
| i&lt;br /&gt;
| maximum amount of damage?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| moveSpeed&lt;br /&gt;
| i&lt;br /&gt;
| movement speed of the character (unsure of what range though)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| attackSpeed&lt;br /&gt;
| f&lt;br /&gt;
| attack speed of character (? my guess is 1.0 would mean 1 attack a second)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| attackRange&lt;br /&gt;
| i&lt;br /&gt;
| the attack range/reach of the character&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| reach&lt;br /&gt;
| i&lt;br /&gt;
| melee reach? unknown, really&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| weight&lt;br /&gt;
| i&lt;br /&gt;
| how many japari buns does this character eat :^)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| knockBack&lt;br /&gt;
| i&lt;br /&gt;
| units to move attacked unit back?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| sameAttackCount&lt;br /&gt;
| i&lt;br /&gt;
| unknown, possible how many times the character can repeat a single attack&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| attribute&lt;br /&gt;
| i&lt;br /&gt;
| attribute of character (cool, beauty, whatever else was TL'd from that attribute array)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| groupId&lt;br /&gt;
| i&lt;br /&gt;
| group id of the character (not sure&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillId&lt;br /&gt;
| i&lt;br /&gt;
| unsure, maybe the internal power skill ID the character has?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillChargeSpeed&lt;br /&gt;
| f&lt;br /&gt;
| unsure, since it's a float, i'd assume &amp;quot;1&amp;quot; is fully charged and &amp;quot;0&amp;quot; is no charge&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| readerSkillId&lt;br /&gt;
| i&lt;br /&gt;
| unsure, don't know what a reader is&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillSE&lt;br /&gt;
| i&lt;br /&gt;
| skill sound effect index?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| cost&lt;br /&gt;
| i&lt;br /&gt;
| cost to summon unit&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| limitBreakStatus&lt;br /&gt;
| a&lt;br /&gt;
| no clue&lt;br /&gt;
	{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| maxLevel&lt;br /&gt;
	| i&lt;br /&gt;
	| maximum limit breaks&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| maxHp&lt;br /&gt;
	| i&lt;br /&gt;
	| unknown, what would hp would have to do with limit breaks?&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| maxAttack&lt;br /&gt;
	| i&lt;br /&gt;
	| unknown&lt;br /&gt;
	|-&lt;br /&gt;
	|}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| goodField&lt;br /&gt;
| i&lt;br /&gt;
| field type that is beneficiel for the character&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| badField&lt;br /&gt;
| i&lt;br /&gt;
| field type that is detrimental for the character&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| nocturnal&lt;br /&gt;
| i&lt;br /&gt;
| unknown, possible time-related (owls do more damage at night or something? i wouldn't have a clue)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| critical&lt;br /&gt;
| f&lt;br /&gt;
| crit chance&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| baseCharacterId&lt;br /&gt;
| i&lt;br /&gt;
| internal base character ID, possibly for when characters evolve or have multiple rarities&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| profile&lt;br /&gt;
| s&lt;br /&gt;
| description?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| scientificName&lt;br /&gt;
| s&lt;br /&gt;
| name of the character in scientific terms (i.e Suri Alpaca is &amp;quot;Vicugna pacos&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| genus&lt;br /&gt;
| s&lt;br /&gt;
| the genus of the character (i.e Suri Alpaca is &amp;quot;Vicugna&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| redlistCode&lt;br /&gt;
| i&lt;br /&gt;
| conversation status?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| word&lt;br /&gt;
| s&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| voiceArtist&lt;br /&gt;
| s&lt;br /&gt;
| seiyuu&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| size&lt;br /&gt;
| i&lt;br /&gt;
| size of the character (S, M, L)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| specificVirtue&lt;br /&gt;
| a&lt;br /&gt;
| ???&lt;br /&gt;
	{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| mstEventId&lt;br /&gt;
	| i&lt;br /&gt;
	| ???&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| mstSpecificVirtue&lt;br /&gt;
	| i&lt;br /&gt;
	| ???&lt;br /&gt;
	|-&lt;br /&gt;
	|}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| maxLimitBreakReducePercent (optional)&lt;br /&gt;
| i&lt;br /&gt;
| ??? (default: 0)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectRarity (optional)&lt;br /&gt;
| i&lt;br /&gt;
| rarity of the character's special effect? unsure. (default: 1) (1-6?)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| eventLimitBreakFlag (optional)&lt;br /&gt;
| i&lt;br /&gt;
| unknown (default: 0)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| tieUpFlag (optional)&lt;br /&gt;
| i&lt;br /&gt;
| unknown; also... :2lewd: (default: 0)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstCharacterRarity ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| rarity&lt;br /&gt;
| i&lt;br /&gt;
| rarity of a character? (1-6)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| salePrice&lt;br /&gt;
| i&lt;br /&gt;
| possibly how much they cost?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| dropPercent&lt;br /&gt;
| i&lt;br /&gt;
| chance to get character&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| maxLimitBreakCount&lt;br /&gt;
| i&lt;br /&gt;
| maximum amount of times the character can be limit broken&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| stockExp&lt;br /&gt;
| i&lt;br /&gt;
| amount of xp when obtained? (default: based on rarity, can be: 0, 500, 1000, 2000, 5000, 10000)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| maxLimitBreakReduceCoin&lt;br /&gt;
| i&lt;br /&gt;
| ??? (default: based on rarity, can be 0, 0, 0, 30, 100, 300)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstLevelCharacter ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| characterLevelList&lt;br /&gt;
| a&lt;br /&gt;
| possibly referencing data per level (how much to get to this level, etc)&lt;br /&gt;
	{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| level&lt;br /&gt;
	| i&lt;br /&gt;
	| not much to say; it's the level&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| exp&lt;br /&gt;
	| i&lt;br /&gt;
	| exp required?&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| limitBreakStep&lt;br /&gt;
	| i&lt;br /&gt;
	| ???&lt;br /&gt;
	|-&lt;br /&gt;
	|}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstUpGrade ====&lt;br /&gt;
I actually don't know what this is used for.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| level&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| cost&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| hp&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| attack&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| knockback&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| weight&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| hpRecover&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstKemonoLevelUp ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| getUp&lt;br /&gt;
| f&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| recoverSpeed&lt;br /&gt;
| f&lt;br /&gt;
| ??? how fast to recover per second? or something?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| needKp&lt;br /&gt;
| i&lt;br /&gt;
| ?? unknown&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstGroup ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| internal group id&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| name of group&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| information&lt;br /&gt;
| s&lt;br /&gt;
| possibly description or profile&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectValues&lt;br /&gt;
| s&lt;br /&gt;
| a string of integers, seperated by commas (i.e &amp;quot;1, 2, 3, 4, 5&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| members&lt;br /&gt;
| s&lt;br /&gt;
| a string of members, seperated by commas (i.e &amp;quot;a, b, c&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| prefixString&lt;br /&gt;
| s&lt;br /&gt;
| prefix for the group for its members&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| suffixString&lt;br /&gt;
| s&lt;br /&gt;
| suffix for the group for its members&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectInformation&lt;br /&gt;
| s&lt;br /&gt;
| possibly information regarding how the effect values work; could be informational and not do anything&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstSkill ====&lt;br /&gt;
imagine combining 6 friend attacks all at once :wao: (ty Chojiki for explaining how it worked)&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| internal skill id&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| name of the skill&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| info&lt;br /&gt;
| s&lt;br /&gt;
| display information for skill?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| prefixString&lt;br /&gt;
| s&lt;br /&gt;
| prefix for skill name&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| middleString&lt;br /&gt;
| s&lt;br /&gt;
| the skill name itself&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| suffixString&lt;br /&gt;
| s&lt;br /&gt;
| suffix for skill name&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillEffectId&lt;br /&gt;
| s&lt;br /&gt;
| comma seperated string of integers (i.e &amp;quot;1, 2, 3, 4&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillChrageSpeed (optional)&lt;br /&gt;
| f&lt;br /&gt;
| speed at which the skill charges (default 4f)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillSE (optional)&lt;br /&gt;
| i&lt;br /&gt;
| skill sound effect index? (default 0)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillWaitingTime (optional)&lt;br /&gt;
| i&lt;br /&gt;
| how long to wait before recharge (milliseconds?) (default 3000)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| resourceId (optional)&lt;br /&gt;
| i&lt;br /&gt;
| internal id for visual effects? (default 0)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillStartUpCondType (optional)&lt;br /&gt;
| i&lt;br /&gt;
| conditions for getting the skill pulled off? (default 0)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstAccessory ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| internal id for accessory&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| name of the accessory&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| information&lt;br /&gt;
| s&lt;br /&gt;
| flavor text&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| useCondType&lt;br /&gt;
| i&lt;br /&gt;
| ID for condition type in which this accessory can be equipped? (maybe restricted to type?)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| useCond&lt;br /&gt;
| i&lt;br /&gt;
| ID for condition?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectType&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectValue&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| salePrice&lt;br /&gt;
| i&lt;br /&gt;
| the value of the accessory in, maybe, gold?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectRarity (optional)&lt;br /&gt;
| i&lt;br /&gt;
| special effect for rarity (default 1)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== BusLevelList ====&lt;br /&gt;
No clue what this does&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| type&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| level&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| gold&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| defaultKp&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| hp&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| attack&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| addKp&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstBusParts ====&lt;br /&gt;
could possible be related to MstItem?&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| internal id referring to the bus part&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| name of the part&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| info&lt;br /&gt;
| s&lt;br /&gt;
| flavor text?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| type&lt;br /&gt;
| i&lt;br /&gt;
| type of part?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| useCondType&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| useCond&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectType&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectValue&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstLogin ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| count&lt;br /&gt;
| i&lt;br /&gt;
| how many times to login to recieve reward&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| rewardList&lt;br /&gt;
| a&lt;br /&gt;
| rewards at x amount of logins&lt;br /&gt;
	{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| type&lt;br /&gt;
	| i&lt;br /&gt;
	| type of award&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| typeValue&lt;br /&gt;
	| i&lt;br /&gt;
	| ??? value of type?&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| amount&lt;br /&gt;
	| i&lt;br /&gt;
	| the amount recieved&lt;br /&gt;
	|-&lt;br /&gt;
	|}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstCostume ====&lt;br /&gt;
suri alpaca in shoebill costume??? ehehe...&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id for costume&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| name of the costume&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| info&lt;br /&gt;
| s&lt;br /&gt;
| flavor text&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectType&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| salePrice&lt;br /&gt;
| i&lt;br /&gt;
| gold value of costume??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| colorVariation&lt;br /&gt;
| s&lt;br /&gt;
| flavor text variation?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectRarity (optional)&lt;br /&gt;
| i&lt;br /&gt;
| rarity special effect for item (default 1)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| displayGroup (optional)&lt;br /&gt;
| i&lt;br /&gt;
| ??? (default 1)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| useCondSize (optional)&lt;br /&gt;
| i&lt;br /&gt;
| i guess certain friends can't wear certain costumes based on size (default 0)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstCharacterStoryQuest ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id for the story quest&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| string name for quest&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| stamina&lt;br /&gt;
| i&lt;br /&gt;
| stamina required?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| fieldId&lt;br /&gt;
| i&lt;br /&gt;
| the field type for this quest&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| night&lt;br /&gt;
| i&lt;br /&gt;
| ah, this makes the &amp;quot;nocternal&amp;quot; field make sense; probably 0 for false, 1 for true; makes the field night-time&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| waveCount&lt;br /&gt;
| i&lt;br /&gt;
| amount of waves&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| linkMapId&lt;br /&gt;
| i&lt;br /&gt;
| next quest point on the map?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| linkAreaId&lt;br /&gt;
| i&lt;br /&gt;
| next quest point in the area?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| linkSymbolId&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| nextIds&lt;br /&gt;
| s&lt;br /&gt;
| no idea how this is formatted&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| rewardItemId&lt;br /&gt;
| i&lt;br /&gt;
| the ID of the item rewarded at the end of the quest&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| startAdvCharaId (optional)&lt;br /&gt;
| s&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| endAdvCharaId (optional)&lt;br /&gt;
| s&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| chapterSubtitle (optional)&lt;br /&gt;
| s&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| episodeSubtitle (optional)&lt;br /&gt;
| s&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstLevelMission ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id for the mission&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| string name for mission&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| information&lt;br /&gt;
| s&lt;br /&gt;
| flavor text&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| nextMissionId&lt;br /&gt;
| i&lt;br /&gt;
| the next sequential mission ID&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstBus ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id of bus&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| name of bus&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| information&lt;br /&gt;
| s&lt;br /&gt;
| flavor text&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| useCondType&lt;br /&gt;
| i&lt;br /&gt;
| condition type&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| useCond&lt;br /&gt;
| i&lt;br /&gt;
| condition&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectType&lt;br /&gt;
| i&lt;br /&gt;
| effect type ID&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectValue&lt;br /&gt;
| i&lt;br /&gt;
| value of the effect ID&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| itemId&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| groupId&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstSpecificVirtue ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| internal id for virtue&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| type&lt;br /&gt;
| i&lt;br /&gt;
| type of virtue&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| value&lt;br /&gt;
| i&lt;br /&gt;
| value of virtue&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| targetId&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| resourceId&lt;br /&gt;
| i&lt;br /&gt;
| target resource ID&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstArea ====&lt;br /&gt;
I can't figure out how this works exactly. The code is confusing.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| ID for the area&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| Name of the area&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstQuestArea ====&lt;br /&gt;
might be bugged? this doesn't take input json data&lt;br /&gt;
==== MstQuestSymbol ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id for the symbol&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| type&lt;br /&gt;
| i&lt;br /&gt;
| type of symbol&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| iconId&lt;br /&gt;
| i&lt;br /&gt;
| the internal resource ID for the icon&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| x&lt;br /&gt;
| i&lt;br /&gt;
| possibly X offset?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| y&lt;br /&gt;
| i&lt;br /&gt;
| possibly Y offset?&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstEvent ====&lt;br /&gt;
All fields are optional in this.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id for the event&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| type&lt;br /&gt;
| i&lt;br /&gt;
| type of event&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| i&lt;br /&gt;
| name for the event&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| countMstItemId&lt;br /&gt;
| i&lt;br /&gt;
| how many item IDs are involved&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| informationUrl&lt;br /&gt;
| i&lt;br /&gt;
| ??? maybe URL for additional information about the event&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== MstCampaignQuestNotice ====&lt;br /&gt;
All fields are optional in this.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id for the notice (default 0)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| noticeType&lt;br /&gt;
| i&lt;br /&gt;
| type of notice (default 0)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| displayImageName&lt;br /&gt;
| s&lt;br /&gt;
| path to image for notice? (default empty string)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| startDatetime&lt;br /&gt;
| l&lt;br /&gt;
| when the quest starts? (unix epoch time probably) (default 0, or January 1st, 1970, 00:00:00)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| endDatetime&lt;br /&gt;
| l&lt;br /&gt;
| when the quest ends? (unix epoch time) (default 0, or January 1st, 1970, 00:00:00)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Value of noticeType&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| _APService&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| _RaidUp&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| _Guerrilla&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| 1&lt;br /&gt;
| style=&amp;quot;background:#a8ffb2&amp;quot; | true&lt;br /&gt;
| style=&amp;quot;background:#ffa8a8&amp;quot; | false&lt;br /&gt;
| style=&amp;quot;background:#ffa8a8&amp;quot; | false&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| 2&lt;br /&gt;
| style=&amp;quot;background:#ffa8a8&amp;quot; | false&lt;br /&gt;
| style=&amp;quot;background:#a8ffb2&amp;quot; | true&lt;br /&gt;
| style=&amp;quot;background:#ffa8a8&amp;quot; | false&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#a8ffb2&amp;quot; | true&lt;br /&gt;
| style=&amp;quot;background:#a8ffb2&amp;quot; | true&lt;br /&gt;
| style=&amp;quot;background:#ffa8a8&amp;quot; | false&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| 4&lt;br /&gt;
| style=&amp;quot;background:#ffa8a8&amp;quot; | false&lt;br /&gt;
| style=&amp;quot;background:#ffa8a8&amp;quot; | false&lt;br /&gt;
| style=&amp;quot;background:#a8ffb2&amp;quot; | true&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#a8ffb2&amp;quot; | true&lt;br /&gt;
| style=&amp;quot;background:#ffa8a8&amp;quot; | false&lt;br /&gt;
| style=&amp;quot;background:#a8ffb2&amp;quot; | true&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| 6&lt;br /&gt;
| style=&amp;quot;background:#ffa8a8&amp;quot; | false&lt;br /&gt;
| style=&amp;quot;background:#a8ffb2&amp;quot; | true&lt;br /&gt;
| style=&amp;quot;background:#a8ffb2&amp;quot; | true&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#a8ffb2&amp;quot; | true&lt;br /&gt;
| style=&amp;quot;background:#a8ffb2&amp;quot; | true&lt;br /&gt;
| style=&amp;quot;background:#a8ffb2&amp;quot; | true&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstSerif ====&lt;br /&gt;
font?&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id for the serif&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| type&lt;br /&gt;
| i&lt;br /&gt;
| type of font?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| mstCharacterId&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| displaySeq&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| editType&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| serif&lt;br /&gt;
| s&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tsunko</name></author>
	</entry>
	<entry>
		<id>https://japari-library.com/index.php?title=User:Tsunko/TechInfo&amp;diff=9429</id>
		<title>User:Tsunko/TechInfo</title>
		<link rel="alternate" type="text/html" href="https://japari-library.com/index.php?title=User:Tsunko/TechInfo&amp;diff=9429"/>
		<updated>2017-10-30T16:03:10Z</updated>

		<summary type="html">&lt;p&gt;Tsunko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;tabber&amp;gt;&lt;br /&gt;
Communication=== &amp;quot;How does this game communicate!?&amp;quot; ==&lt;br /&gt;
Generally, communication is done over plain HTTP. Headers (as far as I can tell) are not used; I could be wrong on that fact, but I have no observed anything weird happening if I don't include certain headers.&amp;lt;br /&amp;gt;&lt;br /&gt;
Any encryption done uses AES128 ECB with a block and key size of 128, padding data with zeros, followed by being the encrypted result being represented in Base64.&lt;br /&gt;
Data is contained in JSON objects (typically, all data is wrapped inside of a named JSON object for some reason).&lt;br /&gt;
&lt;br /&gt;
=== Client to Server ===&lt;br /&gt;
Oddly enough, client to server ''isn't'' fully encrypted at all. If there is any encryption present, it is only done to any strings being passed from client to server. Other than that, expect plaintext.&lt;br /&gt;
&lt;br /&gt;
=== Server to Client ===&lt;br /&gt;
Data transmitted from the server is fully encrypted, however, unlike the client to server, there is no &amp;quot;nested&amp;quot; encryption. The client expects everything to be plaintext once the content is decrypted the first time.&lt;br /&gt;
|-|&lt;br /&gt;
data0.bytes=== The infamous brick wall we can't break.==&lt;br /&gt;
This file (on Android) is stored under {{#tag:code|/data/data/jp.co.nexon.kemo/files/kemofure/resources/common/common/data0.bytes}}.&amp;lt;br /&amp;gt;&lt;br /&gt;
It's loaded before either the client attempting to view the tutorial or view {{#tag:code|/mypage/get}} by class {{#tag:code|MasterData.cs}}.&amp;lt;br /&amp;gt;&lt;br /&gt;
The heart-breaking part is that it is encrypted with '''Rijndael-256''' with a block and key size of '''256''', making it practically impossible to recover the key. The default keys ({{#tag:code|appDecryptionKey}}/{{#tag:code|UtilData.AES_KEY}}) provided ({{#tag:code|QeEjSWTbFK2876yB}} or {{#tag:code|b8PWNMsYCt47YAai}}) do '''not''' work with this file; it's encrypted with a different key. However, we at least know the IV ({{#tag:code|FLXR4JXfD6Cw5jsJtj7VnferY93k4Zsg}}).&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;I have the key!&amp;quot; ===&lt;br /&gt;
Should you, or anyone else, happen to have or stumble across the decryption key (either you sniffed it or somehow logged the HTTP request), please contact me on Discord.&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;I want to help find the key!&amp;quot; ===&lt;br /&gt;
Unfortunately, while the Servals working in Nexon's programming department may have some of the most convoluted code possible (we'll call it a ''unique'' style of code), it does not look like finding the key will be something you randomly stumble across. However, here are some ways to try finding them:&lt;br /&gt;
# The most likely way to find it (and how I've been doing it) is to simply download other Nexon mobile games into an emulator with ProxyDroid setup to redirect traffic to a Fiddler instance. Look for any &amp;quot;startup&amp;quot; HTTP requests and see if they have a key. If they do, tell me them on Discord.&lt;br /&gt;
# Downloading APKs of any Nexon mobile games and decompiling them, inspecting any classes that could contain keys. Essentially, you're looking for any class that has the word &amp;quot;Crypto&amp;quot; in it, but the key could be hiding in other classes.&lt;br /&gt;
# Seeking assistance from others that could potentially have the key. This is probably the 2nd least likely, as they're probably not going to share the key (this is something that's probably sought after by many other developers). The most promising people who might have such key (or at least a decrypted copy of the data) are anons running around on the Gamerch wiki with the ID {{#tag:code|CB26BC965F}} and {{#tag:code|CFF60E1F35}}.&lt;br /&gt;
# Dressing up in a suit and walking on over to {{#tag:code|Shinkawa 2-3-1 Chuo-ku, Tokyo 104-0033 Japan}}, politely asking for the decryption key. We've tried getting Bird and Shadow on this, but they've declined :(&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;Let's recreate the file!&amp;quot; ===&lt;br /&gt;
... is our current best bet. The syntax of the file is relatively simple:&lt;br /&gt;
{{#tag:code|[number of elements]&amp;gt;[JSON elements]}}&lt;br /&gt;
The structure of the file has been documented (this is also the same order things are loaded in, and yes, it is fixed ordering):&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; clear:both; margin-left:0.5em;&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
==== Data Types ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Actual type&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| i&lt;br /&gt;
| 32-bit integer&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| l&lt;br /&gt;
| 64-bit integer&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| f&lt;br /&gt;
| decimal floating; probably 32-bit floating?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| s&lt;br /&gt;
| string of characters&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| a&lt;br /&gt;
| array of elements; the element is typically a JSON object, which will be described in comments.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstLevel ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| level&lt;br /&gt;
| i&lt;br /&gt;
| internal ID&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| exp&lt;br /&gt;
| i&lt;br /&gt;
| possible EXP rewarded at end of level?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| maxStamina&lt;br /&gt;
| i&lt;br /&gt;
| possible stamina required? not too sure.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== MstItem ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| internal ID&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| Name of the item&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| info&lt;br /&gt;
| s&lt;br /&gt;
| Description of the item&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| unit&lt;br /&gt;
| i&lt;br /&gt;
| ??? unsure&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| itemType&lt;br /&gt;
| i&lt;br /&gt;
| internal ID referencing the type&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| itemTypeValue&lt;br /&gt;
| i&lt;br /&gt;
| unsure what it references&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| possessionLimitCount&lt;br /&gt;
| i&lt;br /&gt;
| maximum amount that can be inside inventory&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectRarity (optional)&lt;br /&gt;
| i&lt;br /&gt;
| internal ID referencing the rarity of the item (possibly just visual) (default: 1) (1-6?)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| sortNo (optional)&lt;br /&gt;
| i&lt;br /&gt;
| possible sorting index for when viewing (i.e item with sortNo 1 would be first, 2 would be second etc) (default: 1)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstCharacter ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| internal ID&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| Name of the character&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| rarity&lt;br /&gt;
| i&lt;br /&gt;
| rarity value (knowing typical gatcha, from between minimum of 1 to maximum of 6)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| maxLevel&lt;br /&gt;
| i&lt;br /&gt;
| highest level possible with character&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| hp&lt;br /&gt;
| i&lt;br /&gt;
| base hitpoints?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| maxHp&lt;br /&gt;
| i&lt;br /&gt;
| hitpoints when fully grinded out?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| attackType&lt;br /&gt;
| i&lt;br /&gt;
| internal ID referencing the type of attack done (enum index number possibly)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| attack&lt;br /&gt;
| i&lt;br /&gt;
| default amount of damage?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| maxAttack&lt;br /&gt;
| i&lt;br /&gt;
| maximum amount of damage?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| moveSpeed&lt;br /&gt;
| i&lt;br /&gt;
| movement speed of the character (unsure of what range though)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| attackSpeed&lt;br /&gt;
| f&lt;br /&gt;
| attack speed of character (? my guess is 1.0 would mean 1 attack a second)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| attackRange&lt;br /&gt;
| i&lt;br /&gt;
| the attack range/reach of the character&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| reach&lt;br /&gt;
| i&lt;br /&gt;
| melee reach? unknown, really&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| weight&lt;br /&gt;
| i&lt;br /&gt;
| how many japari buns does this character eat :^)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| knockBack&lt;br /&gt;
| i&lt;br /&gt;
| units to move attacked unit back?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| sameAttackCount&lt;br /&gt;
| i&lt;br /&gt;
| unknown, possible how many times the character can repeat a single attack&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| attribute&lt;br /&gt;
| i&lt;br /&gt;
| attribute of character (cool, beauty, whatever else was TL'd from that attribute array)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| groupId&lt;br /&gt;
| i&lt;br /&gt;
| group id of the character (not sure&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillId&lt;br /&gt;
| i&lt;br /&gt;
| unsure, maybe the internal power skill ID the character has?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillChargeSpeed&lt;br /&gt;
| f&lt;br /&gt;
| unsure, since it's a float, i'd assume &amp;quot;1&amp;quot; is fully charged and &amp;quot;0&amp;quot; is no charge&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| readerSkillId&lt;br /&gt;
| i&lt;br /&gt;
| unsure, don't know what a reader is&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillSE&lt;br /&gt;
| i&lt;br /&gt;
| skill sound effect index?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| cost&lt;br /&gt;
| i&lt;br /&gt;
| cost to summon unit&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| limitBreakStatus&lt;br /&gt;
| a&lt;br /&gt;
| no clue&lt;br /&gt;
	{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| maxLevel&lt;br /&gt;
	| i&lt;br /&gt;
	| maximum limit breaks&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| maxHp&lt;br /&gt;
	| i&lt;br /&gt;
	| unknown, what would hp would have to do with limit breaks?&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| maxAttack&lt;br /&gt;
	| i&lt;br /&gt;
	| unknown&lt;br /&gt;
	|-&lt;br /&gt;
	|}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| goodField&lt;br /&gt;
| i&lt;br /&gt;
| field type that is beneficiel for the character&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| badField&lt;br /&gt;
| i&lt;br /&gt;
| field type that is detrimental for the character&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| nocturnal&lt;br /&gt;
| i&lt;br /&gt;
| unknown, possible time-related (owls do more damage at night or something? i wouldn't have a clue)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| critical&lt;br /&gt;
| f&lt;br /&gt;
| crit chance&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| baseCharacterId&lt;br /&gt;
| i&lt;br /&gt;
| internal base character ID, possibly for when characters evolve or have multiple rarities&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| profile&lt;br /&gt;
| s&lt;br /&gt;
| description?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| scientificName&lt;br /&gt;
| s&lt;br /&gt;
| name of the character in scientific terms (i.e Suri Alpaca is &amp;quot;Vicugna pacos&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| genus&lt;br /&gt;
| s&lt;br /&gt;
| the genus of the character (i.e Suri Alpaca is &amp;quot;Vicugna&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| redlistCode&lt;br /&gt;
| i&lt;br /&gt;
| conversation status?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| word&lt;br /&gt;
| s&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| voiceArtist&lt;br /&gt;
| s&lt;br /&gt;
| seiyuu&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| size&lt;br /&gt;
| i&lt;br /&gt;
| size of the character (S, M, L)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| specificVirtue&lt;br /&gt;
| a&lt;br /&gt;
| ???&lt;br /&gt;
	{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| mstEventId&lt;br /&gt;
	| i&lt;br /&gt;
	| ???&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| mstSpecificVirtue&lt;br /&gt;
	| i&lt;br /&gt;
	| ???&lt;br /&gt;
	|-&lt;br /&gt;
	|}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| maxLimitBreakReducePercent (optional)&lt;br /&gt;
| i&lt;br /&gt;
| ??? (default: 0)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectRarity (optional)&lt;br /&gt;
| i&lt;br /&gt;
| rarity of the character's special effect? unsure. (default: 1) (1-6?)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| eventLimitBreakFlag (optional)&lt;br /&gt;
| i&lt;br /&gt;
| unknown (default: 0)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| tieUpFlag (optional)&lt;br /&gt;
| i&lt;br /&gt;
| unknown; also... :2lewd: (default: 0)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstCharacterRarity ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| rarity&lt;br /&gt;
| i&lt;br /&gt;
| rarity of a character? (1-6)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| salePrice&lt;br /&gt;
| i&lt;br /&gt;
| possibly how much they cost?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| dropPercent&lt;br /&gt;
| i&lt;br /&gt;
| chance to get character&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| maxLimitBreakCount&lt;br /&gt;
| i&lt;br /&gt;
| maximum amount of times the character can be limit broken&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| stockExp&lt;br /&gt;
| i&lt;br /&gt;
| amount of xp when obtained? (default: based on rarity, can be: 0, 500, 1000, 2000, 5000, 10000)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| maxLimitBreakReduceCoin&lt;br /&gt;
| i&lt;br /&gt;
| ??? (default: based on rarity, can be 0, 0, 0, 30, 100, 300)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstLevelCharacter ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| characterLevelList&lt;br /&gt;
| a&lt;br /&gt;
| possibly referencing data per level (how much to get to this level, etc)&lt;br /&gt;
	{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| level&lt;br /&gt;
	| i&lt;br /&gt;
	| not much to say; it's the level&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| exp&lt;br /&gt;
	| i&lt;br /&gt;
	| exp required?&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| limitBreakStep&lt;br /&gt;
	| i&lt;br /&gt;
	| ???&lt;br /&gt;
	|-&lt;br /&gt;
	|}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstUpGrade ====&lt;br /&gt;
I actually don't know what this is used for.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| level&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| cost&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| hp&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| attack&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| knockback&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| weight&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| hpRecover&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstKemonoLevelUp ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| getUp&lt;br /&gt;
| f&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| recoverSpeed&lt;br /&gt;
| f&lt;br /&gt;
| ??? how fast to recover per second? or something?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| needKp&lt;br /&gt;
| i&lt;br /&gt;
| ?? unknown&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstGroup ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| internal group id&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| name of group&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| information&lt;br /&gt;
| s&lt;br /&gt;
| possibly description or profile&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectValues&lt;br /&gt;
| s&lt;br /&gt;
| a string of integers, seperated by commas (i.e &amp;quot;1, 2, 3, 4, 5&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| members&lt;br /&gt;
| s&lt;br /&gt;
| a string of members, seperated by commas (i.e &amp;quot;a, b, c&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| prefixString&lt;br /&gt;
| s&lt;br /&gt;
| prefix for the group for its members&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| suffixString&lt;br /&gt;
| s&lt;br /&gt;
| suffix for the group for its members&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectInformation&lt;br /&gt;
| s&lt;br /&gt;
| possibly information regarding how the effect values work; could be informational and not do anything&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstSkill ====&lt;br /&gt;
imagine combining 6 friend attacks all at once :wao: (ty Chojiki for explaining how it worked)&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| internal skill id&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| name of the skill&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| info&lt;br /&gt;
| s&lt;br /&gt;
| display information for skill?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| prefixString&lt;br /&gt;
| s&lt;br /&gt;
| prefix for skill name&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| middleString&lt;br /&gt;
| s&lt;br /&gt;
| the skill name itself&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| suffixString&lt;br /&gt;
| s&lt;br /&gt;
| suffix for skill name&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillEffectId&lt;br /&gt;
| s&lt;br /&gt;
| comma seperated string of integers (i.e &amp;quot;1, 2, 3, 4&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillChrageSpeed (optional)&lt;br /&gt;
| f&lt;br /&gt;
| speed at which the skill charges (default 4f)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillSE (optional)&lt;br /&gt;
| i&lt;br /&gt;
| skill sound effect index? (default 0)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillWaitingTime (optional)&lt;br /&gt;
| i&lt;br /&gt;
| how long to wait before recharge (milliseconds?) (default 3000)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| resourceId (optional)&lt;br /&gt;
| i&lt;br /&gt;
| internal id for visual effects? (default 0)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillStartUpCondType (optional)&lt;br /&gt;
| i&lt;br /&gt;
| conditions for getting the skill pulled off? (default 0)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstAccessory ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| internal id for accessory&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| name of the accessory&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| information&lt;br /&gt;
| s&lt;br /&gt;
| flavor text&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| useCondType&lt;br /&gt;
| i&lt;br /&gt;
| ID for condition type in which this accessory can be equipped? (maybe restricted to type?)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| useCond&lt;br /&gt;
| i&lt;br /&gt;
| ID for condition?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectType&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectValue&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| salePrice&lt;br /&gt;
| i&lt;br /&gt;
| the value of the accessory in, maybe, gold?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectRarity (optional)&lt;br /&gt;
| i&lt;br /&gt;
| special effect for rarity (default 1)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== BusLevelList ====&lt;br /&gt;
No clue what this does&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| type&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| level&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| gold&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| defaultKp&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| hp&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| attack&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| addKp&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstBusParts ====&lt;br /&gt;
could possible be related to MstItem?&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| internal id referring to the bus part&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| name of the part&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| info&lt;br /&gt;
| s&lt;br /&gt;
| flavor text?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| type&lt;br /&gt;
| i&lt;br /&gt;
| type of part?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| useCondType&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| useCond&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectType&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectValue&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstLogin ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| count&lt;br /&gt;
| i&lt;br /&gt;
| how many times to login to recieve reward&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| rewardList&lt;br /&gt;
| a&lt;br /&gt;
| rewards at x amount of logins&lt;br /&gt;
	{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| type&lt;br /&gt;
	| i&lt;br /&gt;
	| type of award&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| typeValue&lt;br /&gt;
	| i&lt;br /&gt;
	| ??? value of type?&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| amount&lt;br /&gt;
	| i&lt;br /&gt;
	| the amount recieved&lt;br /&gt;
	|-&lt;br /&gt;
	|}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstCostume ====&lt;br /&gt;
suri alpaca in shoebill costume??? ehehe...&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id for costume&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| name of the costume&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| info&lt;br /&gt;
| s&lt;br /&gt;
| flavor text&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectType&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| salePrice&lt;br /&gt;
| i&lt;br /&gt;
| gold value of costume??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| colorVariation&lt;br /&gt;
| s&lt;br /&gt;
| flavor text variation?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectRarity (optional)&lt;br /&gt;
| i&lt;br /&gt;
| rarity special effect for item (default 1)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| displayGroup (optional)&lt;br /&gt;
| i&lt;br /&gt;
| ??? (default 1)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| useCondSize (optional)&lt;br /&gt;
| i&lt;br /&gt;
| i guess certain friends can't wear certain costumes based on size (default 0)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstCharacterStoryQuest ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id for the story quest&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| string name for quest&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| stamina&lt;br /&gt;
| i&lt;br /&gt;
| stamina required?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| fieldId&lt;br /&gt;
| i&lt;br /&gt;
| the field type for this quest&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| night&lt;br /&gt;
| i&lt;br /&gt;
| ah, this makes the &amp;quot;nocternal&amp;quot; field make sense; probably 0 for false, 1 for true; makes the field night-time&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| waveCount&lt;br /&gt;
| i&lt;br /&gt;
| amount of waves&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| linkMapId&lt;br /&gt;
| i&lt;br /&gt;
| next quest point on the map?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| linkAreaId&lt;br /&gt;
| i&lt;br /&gt;
| next quest point in the area?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| linkSymbolId&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| nextIds&lt;br /&gt;
| s&lt;br /&gt;
| no idea how this is formatted&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| rewardItemId&lt;br /&gt;
| i&lt;br /&gt;
| the ID of the item rewarded at the end of the quest&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| startAdvCharaId (optional)&lt;br /&gt;
| s&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| endAdvCharaId (optional)&lt;br /&gt;
| s&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| chapterSubtitle (optional)&lt;br /&gt;
| s&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| episodeSubtitle (optional)&lt;br /&gt;
| s&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstLevelMission ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id for the mission&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| string name for mission&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| information&lt;br /&gt;
| s&lt;br /&gt;
| flavor text&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| nextMissionId&lt;br /&gt;
| i&lt;br /&gt;
| the next sequential mission ID&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstBus ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id of bus&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| name of bus&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| information&lt;br /&gt;
| s&lt;br /&gt;
| flavor text&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| useCondType&lt;br /&gt;
| i&lt;br /&gt;
| condition type&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| useCond&lt;br /&gt;
| i&lt;br /&gt;
| condition&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectType&lt;br /&gt;
| i&lt;br /&gt;
| effect type ID&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectValue&lt;br /&gt;
| i&lt;br /&gt;
| value of the effect ID&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| itemId&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| groupId&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstSpecificVirtue ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| internal id for virtue&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| type&lt;br /&gt;
| i&lt;br /&gt;
| type of virtue&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| value&lt;br /&gt;
| i&lt;br /&gt;
| value of virtue&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| targetId&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| resourceId&lt;br /&gt;
| i&lt;br /&gt;
| target resource ID&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstArea ====&lt;br /&gt;
I can't figure out how this works exactly. The code is confusing.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| ID for the area&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| Name of the area&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstQuestArea ====&lt;br /&gt;
might be bugged? this doesn't take input json data&lt;br /&gt;
==== MstQuestSymbol ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id for the symbol&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| type&lt;br /&gt;
| i&lt;br /&gt;
| type of symbol&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| iconId&lt;br /&gt;
| i&lt;br /&gt;
| the internal resource ID for the icon&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| x&lt;br /&gt;
| i&lt;br /&gt;
| possibly X offset?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| y&lt;br /&gt;
| i&lt;br /&gt;
| possibly Y offset?&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstEvent ====&lt;br /&gt;
All fields are optional in this.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id for the event&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| type&lt;br /&gt;
| i&lt;br /&gt;
| type of event&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| i&lt;br /&gt;
| name for the event&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| countMstItemId&lt;br /&gt;
| i&lt;br /&gt;
| how many item IDs are involved&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| informationUrl&lt;br /&gt;
| i&lt;br /&gt;
| ??? maybe URL for additional information about the event&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== MstCampaignQuestNotice ====&lt;br /&gt;
All fields are optional in this.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id for the notice (default 0)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| noticeType&lt;br /&gt;
| i&lt;br /&gt;
| type of notice (default 0)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| displayImageName&lt;br /&gt;
| s&lt;br /&gt;
| path to image for notice? (default empty string)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| startDatetime&lt;br /&gt;
| l&lt;br /&gt;
| when the quest starts? (unix epoch time probably) (default 0, or January 1st, 1970, 00:00:00)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| endDatetime&lt;br /&gt;
| l&lt;br /&gt;
| when the quest ends? (unix epoch time) (default 0, or January 1st, 1970, 00:00:00)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Value of noticeType&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| _APService&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| _RaidUp&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| _Guerrilla&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| 1&lt;br /&gt;
| true&lt;br /&gt;
| false&lt;br /&gt;
| false&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| 2&lt;br /&gt;
| false&lt;br /&gt;
| true&lt;br /&gt;
| false&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| 3&lt;br /&gt;
| true&lt;br /&gt;
| true&lt;br /&gt;
| false&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| 4&lt;br /&gt;
| false&lt;br /&gt;
| false&lt;br /&gt;
| true&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| 5&lt;br /&gt;
| true&lt;br /&gt;
| false&lt;br /&gt;
| true&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| 6&lt;br /&gt;
| false&lt;br /&gt;
| true&lt;br /&gt;
| true&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| 7&lt;br /&gt;
| true&lt;br /&gt;
| true&lt;br /&gt;
| true&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstSerif ====&lt;br /&gt;
font?&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id for the serif&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| type&lt;br /&gt;
| i&lt;br /&gt;
| type of font?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| mstCharacterId&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| displaySeq&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| editType&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| serif&lt;br /&gt;
| s&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tsunko</name></author>
	</entry>
	<entry>
		<id>https://japari-library.com/index.php?title=User:Tsunko/TechInfo&amp;diff=9427</id>
		<title>User:Tsunko/TechInfo</title>
		<link rel="alternate" type="text/html" href="https://japari-library.com/index.php?title=User:Tsunko/TechInfo&amp;diff=9427"/>
		<updated>2017-10-30T15:34:05Z</updated>

		<summary type="html">&lt;p&gt;Tsunko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;tabber&amp;gt;&lt;br /&gt;
Communication=== &amp;quot;How does this game communicate!?&amp;quot; ==&lt;br /&gt;
Generally, communication is done over plain HTTP. Headers (as far as I can tell) are not used; I could be wrong on that fact, but I have no observed anything weird happening if I don't include certain headers.&amp;lt;br /&amp;gt;&lt;br /&gt;
Any encryption done uses AES128 ECB with a block and key size of 128, padding data with zeros, followed by being the encrypted result being represented in Base64.&lt;br /&gt;
Data is contained in JSON objects (typically, all data is wrapped inside of a named JSON object for some reason).&lt;br /&gt;
&lt;br /&gt;
=== Client to Server ===&lt;br /&gt;
Oddly enough, client to server ''isn't'' fully encrypted at all. If there is any encryption present, it is only done to any strings being passed from client to server. Other than that, expect plaintext.&lt;br /&gt;
&lt;br /&gt;
=== Server to Client ===&lt;br /&gt;
Data transmitted from the server is fully encrypted, however, unlike the client to server, there is no &amp;quot;nested&amp;quot; encryption. The client expects everything to be plaintext once the content is decrypted the first time.&lt;br /&gt;
|-|&lt;br /&gt;
data0.bytes=== The infamous brick wall we can't break.==&lt;br /&gt;
This file (on Android) is stored under {{#tag:code|/data/data/jp.co.nexon.kemo/files/kemofure/resources/common/common/data0.bytes}}.&amp;lt;br /&amp;gt;&lt;br /&gt;
It's loaded before either the client attempting to view the tutorial or view {{#tag:code|/mypage/get}} by class {{#tag:code|MasterData.cs}}.&amp;lt;br /&amp;gt;&lt;br /&gt;
The heart-breaking part is that it is encrypted with '''Rijndael-256''' with a block and key size of '''256''', making it practically impossible to recover the key. The default keys ({{#tag:code|appDecryptionKey}}/{{#tag:code|UtilData.AES_KEY}}) provided ({{#tag:code|QeEjSWTbFK2876yB}} or {{#tag:code|b8PWNMsYCt47YAai}}) do '''not''' work with this file; it's encrypted with a different key. However, we at least know the IV ({{#tag:code|FLXR4JXfD6Cw5jsJtj7VnferY93k4Zsg}}).&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;I have the key!&amp;quot; ===&lt;br /&gt;
Should you, or anyone else, happen to have or stumble across the decryption key (either you sniffed it or somehow logged the HTTP request), please contact me on Discord.&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;I want to help find the key!&amp;quot; ===&lt;br /&gt;
Unfortunately, while the Servals working in Nexon's programming department may have some of the most convoluted code possible (we'll call it a ''unique'' style of code), it does not look like finding the key will be something you randomly stumble across. However, here are some ways to try finding them:&lt;br /&gt;
# The most likely way to find it (and how I've been doing it) is to simply download other Nexon mobile games into an emulator with ProxyDroid setup to redirect traffic to a Fiddler instance. Look for any &amp;quot;startup&amp;quot; HTTP requests and see if they have a key. If they do, tell me them on Discord.&lt;br /&gt;
# Downloading APKs of any Nexon mobile games and decompiling them, inspecting any classes that could contain keys. Essentially, you're looking for any class that has the word &amp;quot;Crypto&amp;quot; in it, but the key could be hiding in other classes.&lt;br /&gt;
# Seeking assistance from others that could potentially have the key. This is probably the 2nd least likely, as they're probably not going to share the key (this is something that's probably sought after by many other developers). The most promising people who might have such key (or at least a decrypted copy of the data) are anons running around on the Gamerch wiki with the ID {{#tag:code|CB26BC965F}} and {{#tag:code|CFF60E1F35}}.&lt;br /&gt;
# Dressing up in a suit and walking on over to {{#tag:code|Shinkawa 2-3-1 Chuo-ku, Tokyo 104-0033 Japan}}, politely asking for the decryption key. We've tried getting Bird and Shadow on this, but they've declined :(&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;Let's recreate the file!&amp;quot; ===&lt;br /&gt;
... is our current best bet. The syntax of the file is relatively simple:&lt;br /&gt;
{{#tag:code|[number of elements]&amp;gt;[JSON elements]}}&lt;br /&gt;
The structure of the file has been documented (this is also the same order things are loaded in, and yes, it is fixed ordering):&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; clear:both; margin-left:0.5em;&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
==== Data Types ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Actual type&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| i&lt;br /&gt;
| 32-bit integer&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| l&lt;br /&gt;
| 64-bit integer&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| f&lt;br /&gt;
| decimal floating; probably 32-bit floating?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| s&lt;br /&gt;
| string of characters&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| a&lt;br /&gt;
| array of elements; the element is typically a JSON object, which will be described in comments.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstLevel ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| level&lt;br /&gt;
| i&lt;br /&gt;
| internal ID&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| exp&lt;br /&gt;
| i&lt;br /&gt;
| possible EXP rewarded at end of level?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| maxStamina&lt;br /&gt;
| i&lt;br /&gt;
| possible stamina required? not too sure.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== MstItem ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| internal ID&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| Name of the item&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| info&lt;br /&gt;
| s&lt;br /&gt;
| Description of the item&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| unit&lt;br /&gt;
| i&lt;br /&gt;
| ??? unsure&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| itemType&lt;br /&gt;
| i&lt;br /&gt;
| internal ID referencing the type&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| itemTypeValue&lt;br /&gt;
| i&lt;br /&gt;
| unsure what it references&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| possessionLimitCount&lt;br /&gt;
| i&lt;br /&gt;
| maximum amount that can be inside inventory&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectRarity (optional)&lt;br /&gt;
| i&lt;br /&gt;
| internal ID referencing the rarity of the item (possibly just visual) (default: 1) (1-6?)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| sortNo (optional)&lt;br /&gt;
| i&lt;br /&gt;
| possible sorting index for when viewing (i.e item with sortNo 1 would be first, 2 would be second etc) (default: 1)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstCharacter ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| internal ID&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| Name of the character&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| rarity&lt;br /&gt;
| i&lt;br /&gt;
| rarity value (knowing typical gatcha, from between minimum of 1 to maximum of 6)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| maxLevel&lt;br /&gt;
| i&lt;br /&gt;
| highest level possible with character&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| hp&lt;br /&gt;
| i&lt;br /&gt;
| base hitpoints?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| maxHp&lt;br /&gt;
| i&lt;br /&gt;
| hitpoints when fully grinded out?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| attackType&lt;br /&gt;
| i&lt;br /&gt;
| internal ID referencing the type of attack done (enum index number possibly)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| attack&lt;br /&gt;
| i&lt;br /&gt;
| default amount of damage?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| maxAttack&lt;br /&gt;
| i&lt;br /&gt;
| maximum amount of damage?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| moveSpeed&lt;br /&gt;
| i&lt;br /&gt;
| movement speed of the character (unsure of what range though)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| attackSpeed&lt;br /&gt;
| f&lt;br /&gt;
| attack speed of character (? my guess is 1.0 would mean 1 attack a second)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| attackRange&lt;br /&gt;
| i&lt;br /&gt;
| the attack range/reach of the character&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| reach&lt;br /&gt;
| i&lt;br /&gt;
| melee reach? unknown, really&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| weight&lt;br /&gt;
| i&lt;br /&gt;
| how many japari buns does this character eat :^)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| knockBack&lt;br /&gt;
| i&lt;br /&gt;
| units to move attacked unit back?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| sameAttackCount&lt;br /&gt;
| i&lt;br /&gt;
| unknown, possible how many times the character can repeat a single attack&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| attribute&lt;br /&gt;
| i&lt;br /&gt;
| attribute of character (cool, beauty, whatever else was TL'd from that attribute array)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| groupId&lt;br /&gt;
| i&lt;br /&gt;
| group id of the character (not sure&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillId&lt;br /&gt;
| i&lt;br /&gt;
| unsure, maybe the internal power skill ID the character has?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillChargeSpeed&lt;br /&gt;
| f&lt;br /&gt;
| unsure, since it's a float, i'd assume &amp;quot;1&amp;quot; is fully charged and &amp;quot;0&amp;quot; is no charge&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| readerSkillId&lt;br /&gt;
| i&lt;br /&gt;
| unsure, don't know what a reader is&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillSE&lt;br /&gt;
| i&lt;br /&gt;
| skill sound effect index?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| cost&lt;br /&gt;
| i&lt;br /&gt;
| cost to summon unit&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| limitBreakStatus&lt;br /&gt;
| a&lt;br /&gt;
| no clue&lt;br /&gt;
	{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| maxLevel&lt;br /&gt;
	| i&lt;br /&gt;
	| maximum limit breaks&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| maxHp&lt;br /&gt;
	| i&lt;br /&gt;
	| unknown, what would hp would have to do with limit breaks?&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| maxAttack&lt;br /&gt;
	| i&lt;br /&gt;
	| unknown&lt;br /&gt;
	|-&lt;br /&gt;
	|}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| goodField&lt;br /&gt;
| i&lt;br /&gt;
| field type that is beneficiel for the character&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| badField&lt;br /&gt;
| i&lt;br /&gt;
| field type that is detrimental for the character&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| nocturnal&lt;br /&gt;
| i&lt;br /&gt;
| unknown, possible time-related (owls do more damage at night or something? i wouldn't have a clue)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| critical&lt;br /&gt;
| f&lt;br /&gt;
| crit chance&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| baseCharacterId&lt;br /&gt;
| i&lt;br /&gt;
| internal base character ID, possibly for when characters evolve or have multiple rarities&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| profile&lt;br /&gt;
| s&lt;br /&gt;
| description?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| scientificName&lt;br /&gt;
| s&lt;br /&gt;
| name of the character in scientific terms (i.e Suri Alpaca is &amp;quot;Vicugna pacos&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| genus&lt;br /&gt;
| s&lt;br /&gt;
| the genus of the character (i.e Suri Alpaca is &amp;quot;Vicugna&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| redlistCode&lt;br /&gt;
| i&lt;br /&gt;
| conversation status?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| word&lt;br /&gt;
| s&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| voiceArtist&lt;br /&gt;
| s&lt;br /&gt;
| seiyuu&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| size&lt;br /&gt;
| i&lt;br /&gt;
| size of the character (S, M, L)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| specificVirtue&lt;br /&gt;
| a&lt;br /&gt;
| ???&lt;br /&gt;
	{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| mstEventId&lt;br /&gt;
	| i&lt;br /&gt;
	| ???&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| mstSpecificVirtue&lt;br /&gt;
	| i&lt;br /&gt;
	| ???&lt;br /&gt;
	|-&lt;br /&gt;
	|}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| maxLimitBreakReducePercent (optional)&lt;br /&gt;
| i&lt;br /&gt;
| ??? (default: 0)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectRarity (optional)&lt;br /&gt;
| i&lt;br /&gt;
| rarity of the character's special effect? unsure. (default: 1) (1-6?)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| eventLimitBreakFlag (optional)&lt;br /&gt;
| i&lt;br /&gt;
| unknown (default: 0)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| tieUpFlag (optional)&lt;br /&gt;
| i&lt;br /&gt;
| unknown; also... :2lewd: (default: 0)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstCharacterRarity ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| rarity&lt;br /&gt;
| i&lt;br /&gt;
| rarity of a character? (1-6)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| salePrice&lt;br /&gt;
| i&lt;br /&gt;
| possibly how much they cost?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| dropPercent&lt;br /&gt;
| i&lt;br /&gt;
| chance to get character&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| maxLimitBreakCount&lt;br /&gt;
| i&lt;br /&gt;
| maximum amount of times the character can be limit broken&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| stockExp&lt;br /&gt;
| i&lt;br /&gt;
| amount of xp when obtained? (default: based on rarity, can be: 0, 500, 1000, 2000, 5000, 10000)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| maxLimitBreakReduceCoin&lt;br /&gt;
| i&lt;br /&gt;
| ??? (default: based on rarity, can be 0, 0, 0, 30, 100, 300)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstLevelCharacter ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| characterLevelList&lt;br /&gt;
| a&lt;br /&gt;
| possibly referencing data per level (how much to get to this level, etc)&lt;br /&gt;
	{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| level&lt;br /&gt;
	| i&lt;br /&gt;
	| not much to say; it's the level&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| exp&lt;br /&gt;
	| i&lt;br /&gt;
	| exp required?&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| limitBreakStep&lt;br /&gt;
	| i&lt;br /&gt;
	| ???&lt;br /&gt;
	|-&lt;br /&gt;
	|}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstUpGrade ====&lt;br /&gt;
I actually don't know what this is used for.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| level&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| cost&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| hp&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| attack&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| knockback&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| weight&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| hpRecover&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstKemonoLevelUp ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| getUp&lt;br /&gt;
| f&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| recoverSpeed&lt;br /&gt;
| f&lt;br /&gt;
| ??? how fast to recover per second? or something?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| needKp&lt;br /&gt;
| i&lt;br /&gt;
| ?? unknown&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstGroup ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| internal group id&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| name of group&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| information&lt;br /&gt;
| s&lt;br /&gt;
| possibly description or profile&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectValues&lt;br /&gt;
| s&lt;br /&gt;
| a string of integers, seperated by commas (i.e &amp;quot;1, 2, 3, 4, 5&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| members&lt;br /&gt;
| s&lt;br /&gt;
| a string of members, seperated by commas (i.e &amp;quot;a, b, c&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| prefixString&lt;br /&gt;
| s&lt;br /&gt;
| prefix for the group for its members&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| suffixString&lt;br /&gt;
| s&lt;br /&gt;
| suffix for the group for its members&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectInformation&lt;br /&gt;
| s&lt;br /&gt;
| possibly information regarding how the effect values work; could be informational and not do anything&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstSkill ====&lt;br /&gt;
imagine combining 6 friend attacks all at once :wao: (ty Chojiki for explaining how it worked)&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| internal skill id&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| name of the skill&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| info&lt;br /&gt;
| s&lt;br /&gt;
| display information for skill?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| prefixString&lt;br /&gt;
| s&lt;br /&gt;
| prefix for skill name&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| middleString&lt;br /&gt;
| s&lt;br /&gt;
| the skill name itself&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| suffixString&lt;br /&gt;
| s&lt;br /&gt;
| suffix for skill name&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillEffectId&lt;br /&gt;
| s&lt;br /&gt;
| comma seperated string of integers (i.e &amp;quot;1, 2, 3, 4&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillChrageSpeed (optional)&lt;br /&gt;
| f&lt;br /&gt;
| speed at which the skill charges (default 4f)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillSE (optional)&lt;br /&gt;
| i&lt;br /&gt;
| skill sound effect index? (default 0)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillWaitingTime (optional)&lt;br /&gt;
| i&lt;br /&gt;
| how long to wait before recharge (milliseconds?) (default 3000)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| resourceId (optional)&lt;br /&gt;
| i&lt;br /&gt;
| internal id for visual effects? (default 0)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillStartUpCondType (optional)&lt;br /&gt;
| i&lt;br /&gt;
| conditions for getting the skill pulled off? (default 0)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstAccessory ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| internal id for accessory&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| name of the accessory&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| information&lt;br /&gt;
| s&lt;br /&gt;
| flavor text&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| useCondType&lt;br /&gt;
| i&lt;br /&gt;
| ID for condition type in which this accessory can be equipped? (maybe restricted to type?)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| useCond&lt;br /&gt;
| i&lt;br /&gt;
| ID for condition?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectType&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectValue&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| salePrice&lt;br /&gt;
| i&lt;br /&gt;
| the value of the accessory in, maybe, gold?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectRarity (optional)&lt;br /&gt;
| i&lt;br /&gt;
| special effect for rarity (default 1)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== BusLevelList ====&lt;br /&gt;
No clue what this does&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| type&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| level&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| gold&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| defaultKp&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| hp&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| attack&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| addKp&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstBusParts ====&lt;br /&gt;
could possible be related to MstItem?&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| internal id referring to the bus part&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| name of the part&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| info&lt;br /&gt;
| s&lt;br /&gt;
| flavor text?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| type&lt;br /&gt;
| i&lt;br /&gt;
| type of part?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| useCondType&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| useCond&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectType&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectValue&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstLogin ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| count&lt;br /&gt;
| i&lt;br /&gt;
| how many times to login to recieve reward&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| rewardList&lt;br /&gt;
| a&lt;br /&gt;
| rewards at x amount of logins&lt;br /&gt;
	{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| type&lt;br /&gt;
	| i&lt;br /&gt;
	| type of award&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| typeValue&lt;br /&gt;
	| i&lt;br /&gt;
	| ??? value of type?&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| amount&lt;br /&gt;
	| i&lt;br /&gt;
	| the amount recieved&lt;br /&gt;
	|-&lt;br /&gt;
	|}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstCostume ====&lt;br /&gt;
suri alpaca in shoebill costume??? ehehe...&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id for costume&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| name of the costume&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| info&lt;br /&gt;
| s&lt;br /&gt;
| flavor text&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectType&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| salePrice&lt;br /&gt;
| i&lt;br /&gt;
| gold value of costume??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| colorVariation&lt;br /&gt;
| s&lt;br /&gt;
| flavor text variation?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectRarity (optional)&lt;br /&gt;
| i&lt;br /&gt;
| rarity special effect for item (default 1)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| displayGroup (optional)&lt;br /&gt;
| i&lt;br /&gt;
| ??? (default 1)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| useCondSize (optional)&lt;br /&gt;
| i&lt;br /&gt;
| i guess certain friends can't wear certain costumes based on size (default 0)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstCharacterStoryQuest ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id for the story quest&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| string name for quest&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| stamina&lt;br /&gt;
| i&lt;br /&gt;
| stamina required?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| fieldId&lt;br /&gt;
| i&lt;br /&gt;
| the field type for this quest&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| night&lt;br /&gt;
| i&lt;br /&gt;
| ah, this makes the &amp;quot;nocternal&amp;quot; field make sense; probably 0 for false, 1 for true; makes the field night-time&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| waveCount&lt;br /&gt;
| i&lt;br /&gt;
| amount of waves&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| linkMapId&lt;br /&gt;
| i&lt;br /&gt;
| next quest point on the map?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| linkAreaId&lt;br /&gt;
| i&lt;br /&gt;
| next quest point in the area?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| linkSymbolId&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| nextIds&lt;br /&gt;
| s&lt;br /&gt;
| no idea how this is formatted&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| rewardItemId&lt;br /&gt;
| i&lt;br /&gt;
| the ID of the item rewarded at the end of the quest&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| startAdvCharaId (optional)&lt;br /&gt;
| s&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| endAdvCharaId (optional)&lt;br /&gt;
| s&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| chapterSubtitle (optional)&lt;br /&gt;
| s&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| episodeSubtitle (optional)&lt;br /&gt;
| s&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstLevelMission ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id for the mission&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| string name for mission&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| information&lt;br /&gt;
| s&lt;br /&gt;
| flavor text&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| nextMissionId&lt;br /&gt;
| i&lt;br /&gt;
| the next sequential mission ID&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstBus ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id of bus&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| name of bus&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| information&lt;br /&gt;
| s&lt;br /&gt;
| flavor text&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| useCondType&lt;br /&gt;
| i&lt;br /&gt;
| condition type&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| useCond&lt;br /&gt;
| i&lt;br /&gt;
| condition&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectType&lt;br /&gt;
| i&lt;br /&gt;
| effect type ID&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectValue&lt;br /&gt;
| i&lt;br /&gt;
| value of the effect ID&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| itemId&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| groupId&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstSpecificVirtue ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| internal id for virtue&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| type&lt;br /&gt;
| i&lt;br /&gt;
| type of virtue&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| value&lt;br /&gt;
| i&lt;br /&gt;
| value of virtue&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| targetId&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| resourceId&lt;br /&gt;
| i&lt;br /&gt;
| target resource ID&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstArea ====&lt;br /&gt;
I can't figure out how this works exactly. The code is confusing.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| ID for the area&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| Name of the area&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstQuestArea ====&lt;br /&gt;
might be bugged? this doesn't take input json data&lt;br /&gt;
==== MstQuestSymbol ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id for the symbol&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| type&lt;br /&gt;
| i&lt;br /&gt;
| type of symbol&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| iconId&lt;br /&gt;
| i&lt;br /&gt;
| the internal resource ID for the icon&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| x&lt;br /&gt;
| i&lt;br /&gt;
| possibly X offset?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| y&lt;br /&gt;
| i&lt;br /&gt;
| possibly Y offset?&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstEvent ====&lt;br /&gt;
All fields are optional in this.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id for the event&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| type&lt;br /&gt;
| i&lt;br /&gt;
| type of event&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| i&lt;br /&gt;
| name for the event&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| countMstItemId&lt;br /&gt;
| i&lt;br /&gt;
| how many item IDs are involved&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| informationUrl&lt;br /&gt;
| i&lt;br /&gt;
| ??? maybe URL for additional information about the event&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== MstCampaignQuestNotice ====&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
	switch (this.NoticeType)&lt;br /&gt;
		case 1:&lt;br /&gt;
			this._APService = true;&lt;br /&gt;
			this._RaidUp = false;&lt;br /&gt;
			this._Guerrilla = false;&lt;br /&gt;
			break;&lt;br /&gt;
		case 2:&lt;br /&gt;
			this._APService = false;&lt;br /&gt;
			this._RaidUp = true;&lt;br /&gt;
			this._Guerrilla = false;&lt;br /&gt;
			break;&lt;br /&gt;
		case 3:&lt;br /&gt;
			this._APService = true;&lt;br /&gt;
			this._RaidUp = true;&lt;br /&gt;
			this._Guerrilla = false;&lt;br /&gt;
			break;&lt;br /&gt;
		case 4:&lt;br /&gt;
			this._APService = false;&lt;br /&gt;
			this._RaidUp = false;&lt;br /&gt;
			this._Guerrilla = true;&lt;br /&gt;
			break;&lt;br /&gt;
		case 5:&lt;br /&gt;
			this._APService = true;&lt;br /&gt;
			this._RaidUp = false;&lt;br /&gt;
			this._Guerrilla = true;&lt;br /&gt;
			break;&lt;br /&gt;
		case 6:&lt;br /&gt;
			this._APService = false;&lt;br /&gt;
			this._RaidUp = true;&lt;br /&gt;
			this._Guerrilla = true;&lt;br /&gt;
			break;&lt;br /&gt;
		case 7:&lt;br /&gt;
			this._APService = true;&lt;br /&gt;
			this._RaidUp = true;&lt;br /&gt;
			this._Guerrilla = true;&lt;br /&gt;
			break;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
All fields are optional in this.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id for the notice (default 0)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| noticeType&lt;br /&gt;
| i&lt;br /&gt;
| type of notice (default 0)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| displayImageName&lt;br /&gt;
| s&lt;br /&gt;
| path to image for notice? (default empty string)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| startDatetime&lt;br /&gt;
| l&lt;br /&gt;
| when the quest starts? (unix epoch time probably) (default 0, or January 1st, 1970, 00:00:00)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| endDatetime&lt;br /&gt;
| l&lt;br /&gt;
| when the quest ends? (unix epoch time) (default 0, or January 1st, 1970, 00:00:00)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstSerif ====&lt;br /&gt;
font?&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id for the serif&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| type&lt;br /&gt;
| i&lt;br /&gt;
| type of font?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| mstCharacterId&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| displaySeq&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| editType&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| serif&lt;br /&gt;
| s&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tsunko</name></author>
	</entry>
	<entry>
		<id>https://japari-library.com/index.php?title=User:Tsunko/TechInfo&amp;diff=9426</id>
		<title>User:Tsunko/TechInfo</title>
		<link rel="alternate" type="text/html" href="https://japari-library.com/index.php?title=User:Tsunko/TechInfo&amp;diff=9426"/>
		<updated>2017-10-30T15:18:59Z</updated>

		<summary type="html">&lt;p&gt;Tsunko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;tabber&amp;gt;&lt;br /&gt;
Communication=== &amp;quot;How does this game communicate!?&amp;quot; ==&lt;br /&gt;
Generally, communication is done over plain HTTP. Headers (as far as I can tell) are not used; I could be wrong on that fact, but I have no observed anything weird happening if I don't include certain headers.&amp;lt;br /&amp;gt;&lt;br /&gt;
Any encryption done uses AES128 ECB with a block and key size of 128, padding data with zeros, followed by being the encrypted result being represented in Base64.&lt;br /&gt;
Data is contained in JSON objects (typically, all data is wrapped inside of a named JSON object for some reason).&lt;br /&gt;
&lt;br /&gt;
=== Client to Server ===&lt;br /&gt;
Oddly enough, client to server ''isn't'' fully encrypted at all. If there is any encryption present, it is only done to any strings being passed from client to server. Other than that, expect plaintext.&lt;br /&gt;
&lt;br /&gt;
=== Server to Client ===&lt;br /&gt;
Data transmitted from the server is fully encrypted, however, unlike the client to server, there is no &amp;quot;nested&amp;quot; encryption. The client expects everything to be plaintext once the content is decrypted the first time.&lt;br /&gt;
|-|&lt;br /&gt;
data0.bytes=== The infamous brick wall we can't break.==&lt;br /&gt;
This file (on Android) is stored under {{#tag:code|/data/data/jp.co.nexon.kemo/files/kemofure/resources/common/common/data0.bytes}}.&amp;lt;br /&amp;gt;&lt;br /&gt;
It's loaded before either the client attempting to view the tutorial or view {{#tag:code|/mypage/get}} by class {{#tag:code|MasterData.cs}}.&amp;lt;br /&amp;gt;&lt;br /&gt;
The heart-breaking part is that it is encrypted with '''Rijndael-256''' with a block and key size of '''256''', making it practically impossible to recover the key. The default keys ({{#tag:code|appDecryptionKey}}/{{#tag:code|UtilData.AES_KEY}}) provided ({{#tag:code|QeEjSWTbFK2876yB}} or {{#tag:code|b8PWNMsYCt47YAai}}) do '''not''' work with this file; it's encrypted with a different key. However, we at least know the IV ({{#tag:code|FLXR4JXfD6Cw5jsJtj7VnferY93k4Zsg}}).&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;I have the key!&amp;quot; ===&lt;br /&gt;
Should you, or anyone else, happen to have or stumble across the decryption key (either you sniffed it or somehow logged the HTTP request), please contact me on Discord.&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;I want to help find the key!&amp;quot; ===&lt;br /&gt;
Unfortunately, while the Servals working in Nexon's programming department may have some of the most convoluted code possible (we'll call it a ''unique'' style of code), it does not look like finding the key will be something you randomly stumble across. However, here are some ways to try finding them:&lt;br /&gt;
# The most likely way to find it (and how I've been doing it) is to simply download other Nexon mobile games into an emulator with ProxyDroid setup to redirect traffic to a Fiddler instance. Look for any &amp;quot;startup&amp;quot; HTTP requests and see if they have a key. If they do, tell me them on Discord.&lt;br /&gt;
# Downloading APKs of any Nexon mobile games and decompiling them, inspecting any classes that could contain keys. Essentially, you're looking for any class that has the word &amp;quot;Crypto&amp;quot; in it, but the key could be hiding in other classes.&lt;br /&gt;
# Seeking assistance from others that could potentially have the key. This is probably the 2nd least likely, as they're probably not going to share the key (this is something that's probably sought after by many other developers). The most promising people who might have such key (or at least a decrypted copy of the data) are anons running around on the Gamerch wiki with the ID {{#tag:code|CB26BC965F}} and {{#tag:code|CFF60E1F35}}.&lt;br /&gt;
# Dressing up in a suit and walking on over to {{#tag:code|Shinkawa 2-3-1 Chuo-ku, Tokyo 104-0033 Japan}}, politely asking for the decryption key. We've tried getting Bird and Shadow on this, but they've declined :(&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;Let's recreate the file!&amp;quot; ===&lt;br /&gt;
... is our current best bet. The syntax of the file is relatively simple:&lt;br /&gt;
{{#tag:code|[number of elements]&amp;gt;[JSON elements]}}&lt;br /&gt;
The structure of the file has been documented (this is also the same order things are loaded in, and yes, it is fixed ordering):&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; clear:both; margin-left:0.5em;&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
==== Data Types ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Actual type&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| i&lt;br /&gt;
| 32-bit integer&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| l&lt;br /&gt;
| 64-bit integer&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| f&lt;br /&gt;
| decimal floating; probably 32-bit floating?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| s&lt;br /&gt;
| string of characters&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| a&lt;br /&gt;
| array of elements; the element is typically a JSON object, which will be described in comments.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstLevel ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| level&lt;br /&gt;
| i&lt;br /&gt;
| internal ID&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| exp&lt;br /&gt;
| i&lt;br /&gt;
| possible EXP rewarded at end of level?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| maxStamina&lt;br /&gt;
| i&lt;br /&gt;
| possible stamina required? not too sure.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== MstItem ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| internal ID&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| Name of the item&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| info&lt;br /&gt;
| s&lt;br /&gt;
| Description of the item&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| unit&lt;br /&gt;
| i&lt;br /&gt;
| ??? unsure&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| itemType&lt;br /&gt;
| i&lt;br /&gt;
| internal ID referencing the type&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| itemTypeValue&lt;br /&gt;
| i&lt;br /&gt;
| unsure what it references&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| possessionLimitCount&lt;br /&gt;
| i&lt;br /&gt;
| maximum amount that can be inside inventory&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectRarity (optional)&lt;br /&gt;
| i&lt;br /&gt;
| internal ID referencing the rarity of the item (possibly just visual) (default: 1) (1-6?)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| sortNo (optional)&lt;br /&gt;
| i&lt;br /&gt;
| possible sorting index for when viewing (i.e item with sortNo 1 would be first, 2 would be second etc) (default: 1)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstCharacter ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| internal ID&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| Name of the character&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| rarity&lt;br /&gt;
| i&lt;br /&gt;
| rarity value (knowing typical gatcha, from between minimum of 1 to maximum of 6)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| maxLevel&lt;br /&gt;
| i&lt;br /&gt;
| highest level possible with character&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| hp&lt;br /&gt;
| i&lt;br /&gt;
| base hitpoints?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| maxHp&lt;br /&gt;
| i&lt;br /&gt;
| hitpoints when fully grinded out?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| attackType&lt;br /&gt;
| i&lt;br /&gt;
| internal ID referencing the type of attack done (enum index number possibly)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| attack&lt;br /&gt;
| i&lt;br /&gt;
| default amount of damage?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| maxAttack&lt;br /&gt;
| i&lt;br /&gt;
| maximum amount of damage?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| moveSpeed&lt;br /&gt;
| i&lt;br /&gt;
| movement speed of the character (unsure of what range though)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| attackSpeed&lt;br /&gt;
| f&lt;br /&gt;
| attack speed of character (? my guess is 1.0 would mean 1 attack a second)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| attackRange&lt;br /&gt;
| i&lt;br /&gt;
| the attack range/reach of the character&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| reach&lt;br /&gt;
| i&lt;br /&gt;
| melee reach? unknown, really&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| weight&lt;br /&gt;
| i&lt;br /&gt;
| how many japari buns does this character eat :^)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| knockBack&lt;br /&gt;
| i&lt;br /&gt;
| units to move attacked unit back?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| sameAttackCount&lt;br /&gt;
| i&lt;br /&gt;
| unknown, possible how many times the character can repeat a single attack&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| attribute&lt;br /&gt;
| i&lt;br /&gt;
| attribute of character (cool, beauty, whatever else was TL'd from that attribute array)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| groupId&lt;br /&gt;
| i&lt;br /&gt;
| group id of the character (not sure&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillId&lt;br /&gt;
| i&lt;br /&gt;
| unsure, maybe the internal power skill ID the character has?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillChargeSpeed&lt;br /&gt;
| f&lt;br /&gt;
| unsure, since it's a float, i'd assume &amp;quot;1&amp;quot; is fully charged and &amp;quot;0&amp;quot; is no charge&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| readerSkillId&lt;br /&gt;
| i&lt;br /&gt;
| unsure, don't know what a reader is&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillSE&lt;br /&gt;
| i&lt;br /&gt;
| skill sound effect index?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| cost&lt;br /&gt;
| i&lt;br /&gt;
| cost to summon unit&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| limitBreakStatus&lt;br /&gt;
| a&lt;br /&gt;
| no clue&lt;br /&gt;
	{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| maxLevel&lt;br /&gt;
	| i&lt;br /&gt;
	| maximum limit breaks&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| maxHp&lt;br /&gt;
	| i&lt;br /&gt;
	| unknown, what would hp would have to do with limit breaks?&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| maxAttack&lt;br /&gt;
	| i&lt;br /&gt;
	| unknown&lt;br /&gt;
	|-&lt;br /&gt;
	|}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| goodField&lt;br /&gt;
| i&lt;br /&gt;
| field type that is beneficiel for the character&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| badField&lt;br /&gt;
| i&lt;br /&gt;
| field type that is detrimental for the character&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| nocturnal&lt;br /&gt;
| i&lt;br /&gt;
| unknown, possible time-related (owls do more damage at night or something? i wouldn't have a clue)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| critical&lt;br /&gt;
| f&lt;br /&gt;
| crit chance&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| baseCharacterId&lt;br /&gt;
| i&lt;br /&gt;
| internal base character ID, possibly for when characters evolve or have multiple rarities&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| profile&lt;br /&gt;
| s&lt;br /&gt;
| description?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| scientificName&lt;br /&gt;
| s&lt;br /&gt;
| name of the character in scientific terms (i.e Suri Alpaca is &amp;quot;Vicugna pacos&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| genus&lt;br /&gt;
| s&lt;br /&gt;
| the genus of the character (i.e Suri Alpaca is &amp;quot;Vicugna&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| redlistCode&lt;br /&gt;
| i&lt;br /&gt;
| conversation status?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| word&lt;br /&gt;
| s&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| voiceArtist&lt;br /&gt;
| s&lt;br /&gt;
| seiyuu&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| size&lt;br /&gt;
| i&lt;br /&gt;
| size of the character (unknown units)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| specificVirtue&lt;br /&gt;
| a&lt;br /&gt;
| ???&lt;br /&gt;
	{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| mstEventId&lt;br /&gt;
	| i&lt;br /&gt;
	| ???&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| mstSpecificVirtue&lt;br /&gt;
	| i&lt;br /&gt;
	| ???&lt;br /&gt;
	|-&lt;br /&gt;
	|}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| maxLimitBreakReducePercent (optional)&lt;br /&gt;
| i&lt;br /&gt;
| ??? (default: 0)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectRarity (optional)&lt;br /&gt;
| i&lt;br /&gt;
| rarity of the character's special effect? unsure. (default: 1) (1-6?)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| eventLimitBreakFlag (optional)&lt;br /&gt;
| i&lt;br /&gt;
| unknown (default: 0)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| tieUpFlag (optional)&lt;br /&gt;
| i&lt;br /&gt;
| unknown; also... :2lewd: (default: 0)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstCharacterRarity ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| rarity&lt;br /&gt;
| i&lt;br /&gt;
| rarity of a character? (1-6)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| salePrice&lt;br /&gt;
| i&lt;br /&gt;
| possibly how much they cost?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| dropPercent&lt;br /&gt;
| i&lt;br /&gt;
| chance to get character&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| maxLimitBreakCount&lt;br /&gt;
| i&lt;br /&gt;
| maximum amount of times the character can be limit broken&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| stockExp&lt;br /&gt;
| i&lt;br /&gt;
| amount of xp when obtained? (default: based on rarity, can be: 0, 500, 1000, 2000, 5000, 10000)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| maxLimitBreakReduceCoin&lt;br /&gt;
| i&lt;br /&gt;
| ??? (default: based on rarity, can be 0, 0, 0, 30, 100, 300)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstLevelCharacter ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| characterLevelList&lt;br /&gt;
| a&lt;br /&gt;
| possibly referencing data per level (how much to get to this level, etc)&lt;br /&gt;
	{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| level&lt;br /&gt;
	| i&lt;br /&gt;
	| not much to say; it's the level&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| exp&lt;br /&gt;
	| i&lt;br /&gt;
	| exp required?&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| limitBreakStep&lt;br /&gt;
	| i&lt;br /&gt;
	| ???&lt;br /&gt;
	|-&lt;br /&gt;
	|}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstUpGrade ====&lt;br /&gt;
I actually don't know what this is used for.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| level&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| cost&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| hp&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| attack&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| knockback&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| weight&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| hpRecover&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstKemonoLevelUp ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| getUp&lt;br /&gt;
| f&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| recoverSpeed&lt;br /&gt;
| f&lt;br /&gt;
| ??? how fast to recover per second? or something?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| needKp&lt;br /&gt;
| i&lt;br /&gt;
| ?? unknown&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstGroup ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| internal group id&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| name of group&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| information&lt;br /&gt;
| s&lt;br /&gt;
| possibly description or profile&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectValues&lt;br /&gt;
| s&lt;br /&gt;
| a string of integers, seperated by commas (i.e &amp;quot;1, 2, 3, 4, 5&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| members&lt;br /&gt;
| s&lt;br /&gt;
| a string of members, seperated by commas (i.e &amp;quot;a, b, c&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| prefixString&lt;br /&gt;
| s&lt;br /&gt;
| prefix for the group for its members&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| suffixString&lt;br /&gt;
| s&lt;br /&gt;
| suffix for the group for its members&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectInformation&lt;br /&gt;
| s&lt;br /&gt;
| possibly information regarding how the effect values work; could be informational and not do anything&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstSkill ====&lt;br /&gt;
imagine combining 6 friend attacks all at once :wao: (ty Chojiki for explaining how it worked)&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| internal skill id&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| name of the skill&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| info&lt;br /&gt;
| s&lt;br /&gt;
| display information for skill?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| prefixString&lt;br /&gt;
| s&lt;br /&gt;
| prefix for skill name&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| middleString&lt;br /&gt;
| s&lt;br /&gt;
| the skill name itself&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| suffixString&lt;br /&gt;
| s&lt;br /&gt;
| suffix for skill name&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillEffectId&lt;br /&gt;
| s&lt;br /&gt;
| comma seperated string of integers (i.e &amp;quot;1, 2, 3, 4&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillChrageSpeed (optional)&lt;br /&gt;
| f&lt;br /&gt;
| speed at which the skill charges (default 4f)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillSE (optional)&lt;br /&gt;
| i&lt;br /&gt;
| skill sound effect index? (default 0)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillWaitingTime (optional)&lt;br /&gt;
| i&lt;br /&gt;
| how long to wait before recharge (milliseconds?) (default 3000)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| resourceId (optional)&lt;br /&gt;
| i&lt;br /&gt;
| internal id for visual effects? (default 0)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillStartUpCondType (optional)&lt;br /&gt;
| i&lt;br /&gt;
| conditions for getting the skill pulled off? (default 0)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstAccessory ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| internal id for accessory&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| name of the accessory&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| information&lt;br /&gt;
| s&lt;br /&gt;
| flavor text&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| useCondType&lt;br /&gt;
| i&lt;br /&gt;
| ID for condition type in which this accessory can be equipped? (maybe restricted to type?)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| useCond&lt;br /&gt;
| i&lt;br /&gt;
| ID for condition?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectType&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectValue&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| salePrice&lt;br /&gt;
| i&lt;br /&gt;
| the value of the accessory in, maybe, gold?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectRarity (optional)&lt;br /&gt;
| i&lt;br /&gt;
| special effect for rarity (default 1)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== BusLevelList ====&lt;br /&gt;
No clue what this does&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| type&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| level&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| gold&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| defaultKp&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| hp&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| attack&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| addKp&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstBusParts ====&lt;br /&gt;
could possible be related to MstItem?&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| internal id referring to the bus part&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| name of the part&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| info&lt;br /&gt;
| s&lt;br /&gt;
| flavor text?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| type&lt;br /&gt;
| i&lt;br /&gt;
| type of part?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| useCondType&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| useCond&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectType&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectValue&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstLogin ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| count&lt;br /&gt;
| i&lt;br /&gt;
| how many times to login to recieve reward&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| rewardList&lt;br /&gt;
| a&lt;br /&gt;
| rewards at x amount of logins&lt;br /&gt;
	{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| type&lt;br /&gt;
	| i&lt;br /&gt;
	| type of award&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| typeValue&lt;br /&gt;
	| i&lt;br /&gt;
	| ??? value of type?&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| amount&lt;br /&gt;
	| i&lt;br /&gt;
	| the amount recieved&lt;br /&gt;
	|-&lt;br /&gt;
	|}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstCostume ====&lt;br /&gt;
suri alpaca in shoebill costume??? ehehe...&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id for costume&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| name of the costume&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| info&lt;br /&gt;
| s&lt;br /&gt;
| flavor text&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectType&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| salePrice&lt;br /&gt;
| i&lt;br /&gt;
| gold value of costume??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| colorVariation&lt;br /&gt;
| s&lt;br /&gt;
| flavor text variation?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectRarity (optional)&lt;br /&gt;
| i&lt;br /&gt;
| rarity special effect for item (default 1)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| displayGroup (optional)&lt;br /&gt;
| i&lt;br /&gt;
| ??? (default 1)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| useCondSize (optional)&lt;br /&gt;
| i&lt;br /&gt;
| i guess certain friends can't wear certain costumes based on size (default 0)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstCharacterStoryQuest ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id for the story quest&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| string name for quest&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| stamina&lt;br /&gt;
| i&lt;br /&gt;
| stamina required?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| fieldId&lt;br /&gt;
| i&lt;br /&gt;
| the field type for this quest&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| night&lt;br /&gt;
| i&lt;br /&gt;
| ah, this makes the &amp;quot;nocternal&amp;quot; field make sense; probably 0 for false, 1 for true; makes the field night-time&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| waveCount&lt;br /&gt;
| i&lt;br /&gt;
| amount of waves&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| linkMapId&lt;br /&gt;
| i&lt;br /&gt;
| next quest point on the map?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| linkAreaId&lt;br /&gt;
| i&lt;br /&gt;
| next quest point in the area?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| linkSymbolId&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| nextIds&lt;br /&gt;
| s&lt;br /&gt;
| no idea how this is formatted&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| rewardItemId&lt;br /&gt;
| i&lt;br /&gt;
| the ID of the item rewarded at the end of the quest&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| startAdvCharaId (optional)&lt;br /&gt;
| s&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| endAdvCharaId (optional)&lt;br /&gt;
| s&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| chapterSubtitle (optional)&lt;br /&gt;
| s&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| episodeSubtitle (optional)&lt;br /&gt;
| s&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstLevelMission ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id for the mission&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| string name for mission&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| information&lt;br /&gt;
| s&lt;br /&gt;
| flavor text&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| nextMissionId&lt;br /&gt;
| i&lt;br /&gt;
| the next sequential mission ID&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstBus ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id of bus&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| name of bus&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| information&lt;br /&gt;
| s&lt;br /&gt;
| flavor text&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| useCondType&lt;br /&gt;
| i&lt;br /&gt;
| condition type&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| useCond&lt;br /&gt;
| i&lt;br /&gt;
| condition&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectType&lt;br /&gt;
| i&lt;br /&gt;
| effect type ID&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectValue&lt;br /&gt;
| i&lt;br /&gt;
| value of the effect ID&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| itemId&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| groupId&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstSpecificVirtue ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| internal id for virtue&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| type&lt;br /&gt;
| i&lt;br /&gt;
| type of virtue&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| value&lt;br /&gt;
| i&lt;br /&gt;
| value of virtue&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| targetId&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| resourceId&lt;br /&gt;
| i&lt;br /&gt;
| target resource ID&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstArea ====&lt;br /&gt;
I can't figure out how this works exactly. The code is confusing.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| ID for the area&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| Name of the area&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstQuestArea ====&lt;br /&gt;
might be bugged? this doesn't take input json data&lt;br /&gt;
==== MstQuestSymbol ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id for the symbol&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| type&lt;br /&gt;
| i&lt;br /&gt;
| type of symbol&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| iconId&lt;br /&gt;
| i&lt;br /&gt;
| the internal resource ID for the icon&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| x&lt;br /&gt;
| i&lt;br /&gt;
| possibly X offset?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| y&lt;br /&gt;
| i&lt;br /&gt;
| possibly Y offset?&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstEvent ====&lt;br /&gt;
All fields are optional in this.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id for the event&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| type&lt;br /&gt;
| i&lt;br /&gt;
| type of event&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| i&lt;br /&gt;
| name for the event&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| countMstItemId&lt;br /&gt;
| i&lt;br /&gt;
| how many item IDs are involved&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| informationUrl&lt;br /&gt;
| i&lt;br /&gt;
| ??? maybe URL for additional information about the event&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== MstCampaignQuestNotice ====&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
	switch (this.NoticeType)&lt;br /&gt;
		case 1:&lt;br /&gt;
			this._APService = true;&lt;br /&gt;
			this._RaidUp = false;&lt;br /&gt;
			this._Guerrilla = false;&lt;br /&gt;
			break;&lt;br /&gt;
		case 2:&lt;br /&gt;
			this._APService = false;&lt;br /&gt;
			this._RaidUp = true;&lt;br /&gt;
			this._Guerrilla = false;&lt;br /&gt;
			break;&lt;br /&gt;
		case 3:&lt;br /&gt;
			this._APService = true;&lt;br /&gt;
			this._RaidUp = true;&lt;br /&gt;
			this._Guerrilla = false;&lt;br /&gt;
			break;&lt;br /&gt;
		case 4:&lt;br /&gt;
			this._APService = false;&lt;br /&gt;
			this._RaidUp = false;&lt;br /&gt;
			this._Guerrilla = true;&lt;br /&gt;
			break;&lt;br /&gt;
		case 5:&lt;br /&gt;
			this._APService = true;&lt;br /&gt;
			this._RaidUp = false;&lt;br /&gt;
			this._Guerrilla = true;&lt;br /&gt;
			break;&lt;br /&gt;
		case 6:&lt;br /&gt;
			this._APService = false;&lt;br /&gt;
			this._RaidUp = true;&lt;br /&gt;
			this._Guerrilla = true;&lt;br /&gt;
			break;&lt;br /&gt;
		case 7:&lt;br /&gt;
			this._APService = true;&lt;br /&gt;
			this._RaidUp = true;&lt;br /&gt;
			this._Guerrilla = true;&lt;br /&gt;
			break;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
All fields are optional in this.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id for the notice (default 0)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| noticeType&lt;br /&gt;
| i&lt;br /&gt;
| type of notice (default 0)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| displayImageName&lt;br /&gt;
| s&lt;br /&gt;
| path to image for notice? (default empty string)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| startDatetime&lt;br /&gt;
| l&lt;br /&gt;
| when the quest starts? (unix epoch time probably) (default 0, or January 1st, 1970, 00:00:00)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| endDatetime&lt;br /&gt;
| l&lt;br /&gt;
| when the quest ends? (unix epoch time) (default 0, or January 1st, 1970, 00:00:00)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstSerif ====&lt;br /&gt;
font?&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id for the serif&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| type&lt;br /&gt;
| i&lt;br /&gt;
| type of font?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| mstCharacterId&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| displaySeq&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| editType&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| serif&lt;br /&gt;
| s&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tsunko</name></author>
	</entry>
	<entry>
		<id>https://japari-library.com/index.php?title=User:Tsunko/TechInfo&amp;diff=9408</id>
		<title>User:Tsunko/TechInfo</title>
		<link rel="alternate" type="text/html" href="https://japari-library.com/index.php?title=User:Tsunko/TechInfo&amp;diff=9408"/>
		<updated>2017-10-30T05:47:39Z</updated>

		<summary type="html">&lt;p&gt;Tsunko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;tabber&amp;gt;&lt;br /&gt;
Communication=== &amp;quot;How does this game communicate!?&amp;quot; ==&lt;br /&gt;
Generally, communication is done over plain HTTP. Headers (as far as I can tell) are not used; I could be wrong on that fact, but I have no observed anything weird happening if I don't include certain headers.&amp;lt;br /&amp;gt;&lt;br /&gt;
Any encryption done uses AES128 ECB with a block and key size of 128, padding data with zeros, followed by being the encrypted result being represented in Base64.&lt;br /&gt;
Data is contained in JSON objects (typically, all data is wrapped inside of a named JSON object for some reason).&lt;br /&gt;
&lt;br /&gt;
=== Client to Server ===&lt;br /&gt;
Oddly enough, client to server ''isn't'' fully encrypted at all. If there is any encryption present, it is only done to any strings being passed from client to server. Other than that, expect plaintext.&lt;br /&gt;
&lt;br /&gt;
=== Server to Client ===&lt;br /&gt;
Data transmitted from the server is fully encrypted, however, unlike the client to server, there is no &amp;quot;nested&amp;quot; encryption. The client expects everything to be plaintext once the content is decrypted the first time.&lt;br /&gt;
|-|&lt;br /&gt;
data0.bytes=== The infamous brick wall we can't break.==&lt;br /&gt;
This file (on Android) is stored under {{#tag:code|/data/data/jp.co.nexon.kemo/files/kemofure/resources/common/common/data0.bytes}}.&amp;lt;br /&amp;gt;&lt;br /&gt;
It's loaded before either the client attempting to view the tutorial or view {{#tag:code|/mypage/get}} by class {{#tag:code|MasterData.cs}}.&amp;lt;br /&amp;gt;&lt;br /&gt;
The heart-breaking part is that it is encrypted with '''Rijndael-256''' with a block and key size of '''256''', making it practically impossible to recover the key. The default keys ({{#tag:code|appDecryptionKey}}/{{#tag:code|UtilData.AES_KEY}}) provided ({{#tag:code|QeEjSWTbFK2876yB}} or {{#tag:code|b8PWNMsYCt47YAai}}) do '''not''' work with this file; it's encrypted with a different key. However, we at least know the IV ({{#tag:code|FLXR4JXfD6Cw5jsJtj7VnferY93k4Zsg}}).&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;I have the key!&amp;quot; ===&lt;br /&gt;
Should you, or anyone else, happen to have or stumble across the decryption key (either you sniffed it or somehow logged the HTTP request), please contact me on Discord.&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;I want to help find the key!&amp;quot; ===&lt;br /&gt;
Unfortunately, while the Servals working in Nexon's programming department may have some of the most convoluted code possible (we'll call it a ''unique'' style of code), it does not look like finding the key will be something you randomly stumble across. However, here are some ways to try finding them:&lt;br /&gt;
# The most likely way to find it (and how I've been doing it) is to simply download other Nexon mobile games into an emulator with ProxyDroid setup to redirect traffic to a Fiddler instance. Look for any &amp;quot;startup&amp;quot; HTTP requests and see if they have a key. If they do, tell me them on Discord.&lt;br /&gt;
# Downloading APKs of any Nexon mobile games and decompiling them, inspecting any classes that could contain keys. Essentially, you're looking for any class that has the word &amp;quot;Crypto&amp;quot; in it, but the key could be hiding in other classes.&lt;br /&gt;
# Seeking assistance from others that could potentially have the key. This is probably the 2nd least likely, as they're probably not going to share the key (this is something that's probably sought after by many other developers). The most promising people who might have such key (or at least a decrypted copy of the data) are anons running around on the Gamerch wiki with the ID {{#tag:code|CB26BC965F}} and {{#tag:code|CFF60E1F35}}.&lt;br /&gt;
# Dressing up in a suit and walking on over to {{#tag:code|Shinkawa 2-3-1 Chuo-ku, Tokyo 104-0033 Japan}}, politely asking for the decryption key. We've tried getting Bird and Shadow on this, but they've declined :(&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;Let's recreate the file!&amp;quot; ===&lt;br /&gt;
... is our current best bet. The syntax of the file is relatively simple:&lt;br /&gt;
{{#tag:code|[number of elements]&amp;gt;[JSON elements]}}&lt;br /&gt;
The structure of the file has been documented:&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; clear:both; margin-left:0.5em;&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
==== Data Types ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Actual type&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| i&lt;br /&gt;
| 32-bit integer&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| l&lt;br /&gt;
| 64-bit integer&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| f&lt;br /&gt;
| decimal floating; probably 32-bit floating?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| s&lt;br /&gt;
| string of characters&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstLevel ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| level&lt;br /&gt;
| i&lt;br /&gt;
| internal ID&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| exp&lt;br /&gt;
| i&lt;br /&gt;
| possible EXP rewarded at end of level?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| maxStamina&lt;br /&gt;
| i&lt;br /&gt;
| possible stamina required? not too sure.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== MstItem ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| internal ID&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| Name of the item&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| info&lt;br /&gt;
| s&lt;br /&gt;
| Description of the item&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| unit&lt;br /&gt;
| i&lt;br /&gt;
| ??? unsure&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| itemType&lt;br /&gt;
| i&lt;br /&gt;
| internal ID referencing the type&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| itemTypeValue&lt;br /&gt;
| i&lt;br /&gt;
| unsure what it references&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| possessionLimitCount&lt;br /&gt;
| i&lt;br /&gt;
| maximum amount that can be inside inventory&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectRarity (optional)&lt;br /&gt;
| i&lt;br /&gt;
| internal ID referencing the rarity of the item (possibly just visual) (default: 1) (1-6?)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| sortNo (optional)&lt;br /&gt;
| i&lt;br /&gt;
| possible sorting index for when viewing (i.e item with sortNo 1 would be first, 2 would be second etc) (default: 1)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstCharacter ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| internal ID&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| Name of the character&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| rarity&lt;br /&gt;
| i&lt;br /&gt;
| rarity value (knowing typical gatcha, from between minimum of 1 to maximum of 6)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| maxLevel&lt;br /&gt;
| i&lt;br /&gt;
| highest level possible with character&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| hp&lt;br /&gt;
| i&lt;br /&gt;
| base hitpoints?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| maxHp&lt;br /&gt;
| i&lt;br /&gt;
| hitpoints when fully grinded out?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| attackType&lt;br /&gt;
| i&lt;br /&gt;
| internal ID referencing the type of attack done (enum index number possibly)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| attack&lt;br /&gt;
| i&lt;br /&gt;
| default amount of damage?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| maxAttack&lt;br /&gt;
| i&lt;br /&gt;
| maximum amount of damage?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| moveSpeed&lt;br /&gt;
| i&lt;br /&gt;
| movement speed of the character (unsure of what range though)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| attackSpeed&lt;br /&gt;
| f&lt;br /&gt;
| attack speed of character (? my guess is 1.0 would mean 1 attack a second)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| attackRange&lt;br /&gt;
| i&lt;br /&gt;
| the attack range/reach of the character&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| reach&lt;br /&gt;
| i&lt;br /&gt;
| melee reach? unknown, really&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| weight&lt;br /&gt;
| i&lt;br /&gt;
| how many japari buns does this character eat :^)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| knockBack&lt;br /&gt;
| i&lt;br /&gt;
| units to move attacked unit back?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| sameAttackCount&lt;br /&gt;
| i&lt;br /&gt;
| unknown, possible how many times the character can repeat a single attack&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| attribute&lt;br /&gt;
| i&lt;br /&gt;
| attribute of character (cool, beauty, whatever else was TL'd from that attribute array)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| groupId&lt;br /&gt;
| i&lt;br /&gt;
| group id of the character (not sure&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillId&lt;br /&gt;
| i&lt;br /&gt;
| unsure, maybe the internal power skill ID the character has?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillChargeSpeed&lt;br /&gt;
| f&lt;br /&gt;
| unsure, since it's a float, i'd assume &amp;quot;1&amp;quot; is fully charged and &amp;quot;0&amp;quot; is no charge&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| readerSkillId&lt;br /&gt;
| i&lt;br /&gt;
| unsure, don't know what a reader is&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillSE&lt;br /&gt;
| i&lt;br /&gt;
| skill sound effect index?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| cost&lt;br /&gt;
| i&lt;br /&gt;
| cost to summon unit&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| limitBreakStatus&lt;br /&gt;
| a&lt;br /&gt;
| no clue&lt;br /&gt;
	{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| maxLevel&lt;br /&gt;
	| i&lt;br /&gt;
	| maximum limit breaks&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| maxHp&lt;br /&gt;
	| i&lt;br /&gt;
	| unknown, what would hp would have to do with limit breaks?&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| maxAttack&lt;br /&gt;
	| i&lt;br /&gt;
	| unknown&lt;br /&gt;
	|-&lt;br /&gt;
	|}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| goodField&lt;br /&gt;
| i&lt;br /&gt;
| field type that is beneficiel for the character&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| badField&lt;br /&gt;
| i&lt;br /&gt;
| field type that is detrimental for the character&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| nocturnal&lt;br /&gt;
| i&lt;br /&gt;
| unknown, possible time-related (owls do more damage at night or something? i wouldn't have a clue)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| critical&lt;br /&gt;
| f&lt;br /&gt;
| crit chance&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| baseCharacterId&lt;br /&gt;
| i&lt;br /&gt;
| internal base character ID, possibly for when characters evolve or have multiple rarities&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| profile&lt;br /&gt;
| s&lt;br /&gt;
| description?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| scientificName&lt;br /&gt;
| s&lt;br /&gt;
| name of the character in scientific terms (i.e Suri Alpaca is &amp;quot;Vicugna pacos&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| genus&lt;br /&gt;
| s&lt;br /&gt;
| the genus of the character (i.e Suri Alpaca is &amp;quot;Vicugna&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| redlistCode&lt;br /&gt;
| i&lt;br /&gt;
| conversation status?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| word&lt;br /&gt;
| s&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| voiceArtist&lt;br /&gt;
| s&lt;br /&gt;
| seiyuu&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| size&lt;br /&gt;
| i&lt;br /&gt;
| size of the character (unknown units)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| specificVirtue&lt;br /&gt;
| a&lt;br /&gt;
| ???&lt;br /&gt;
	{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| mstEventId&lt;br /&gt;
	| i&lt;br /&gt;
	| ???&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| mstSpecificVirtue&lt;br /&gt;
	| i&lt;br /&gt;
	| ???&lt;br /&gt;
	|-&lt;br /&gt;
	|}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| maxLimitBreakReducePercent (optional)&lt;br /&gt;
| i&lt;br /&gt;
| ??? (default: 0)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectRarity (optional)&lt;br /&gt;
| i&lt;br /&gt;
| rarity of the character's special effect? unsure. (default: 1) (1-6?)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| eventLimitBreakFlag (optional)&lt;br /&gt;
| i&lt;br /&gt;
| unknown (default: 0)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| tieUpFlag (optional)&lt;br /&gt;
| i&lt;br /&gt;
| unknown; also... :2lewd: (default: 0)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstCharacterRarity ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| rarity&lt;br /&gt;
| i&lt;br /&gt;
| rarity of a character? (1-6)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| salePrice&lt;br /&gt;
| i&lt;br /&gt;
| possibly how much they cost?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| dropPercent&lt;br /&gt;
| i&lt;br /&gt;
| chance to get character&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| maxLimitBreakCount&lt;br /&gt;
| i&lt;br /&gt;
| maximum amount of times the character can be limit broken&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| stockExp&lt;br /&gt;
| i&lt;br /&gt;
| amount of xp when obtained? (default: based on rarity, can be: 0, 500, 1000, 2000, 5000, 10000)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| maxLimitBreakReduceCoin&lt;br /&gt;
| i&lt;br /&gt;
| ??? (default: based on rarity, can be 0, 0, 0, 30, 100, 300)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstLevelCharacter ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| characterLevelList&lt;br /&gt;
| a&lt;br /&gt;
| possibly referencing data per level (how much to get to this level, etc)&lt;br /&gt;
	{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| level&lt;br /&gt;
	| i&lt;br /&gt;
	| not much to say; it's the level&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| exp&lt;br /&gt;
	| i&lt;br /&gt;
	| exp required?&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| limitBreakStep&lt;br /&gt;
	| i&lt;br /&gt;
	| ???&lt;br /&gt;
	|-&lt;br /&gt;
	|}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstUpGrade ====&lt;br /&gt;
I actually don't know what this is used for.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| level&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| cost&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| hp&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| attack&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| knockback&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| weight&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| hpRecover&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstKemonoLevelUp ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| getUp&lt;br /&gt;
| f&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| recoverSpeed&lt;br /&gt;
| f&lt;br /&gt;
| ??? how fast to recover per second? or something?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| needKp&lt;br /&gt;
| i&lt;br /&gt;
| ?? unknown&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstGroup ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| internal group id&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| name of group&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| information&lt;br /&gt;
| s&lt;br /&gt;
| possibly description or profile&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectValues&lt;br /&gt;
| s&lt;br /&gt;
| a string of integers, seperated by commas (i.e &amp;quot;1, 2, 3, 4, 5&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| members&lt;br /&gt;
| s&lt;br /&gt;
| a string of members, seperated by commas (i.e &amp;quot;a, b, c&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| prefixString&lt;br /&gt;
| s&lt;br /&gt;
| prefix for the group for its members&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| suffixString&lt;br /&gt;
| s&lt;br /&gt;
| suffix for the group for its members&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectInformation&lt;br /&gt;
| s&lt;br /&gt;
| possibly information regarding how the effect values work; could be informational and not do anything&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstSkill ====&lt;br /&gt;
imagine combining 6 friend attacks all at once :wao: (ty Chojiki for explaining how it worked)&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| internal skill id&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| name of the skill&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| info&lt;br /&gt;
| s&lt;br /&gt;
| display information for skill?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| prefixString&lt;br /&gt;
| s&lt;br /&gt;
| prefix for skill name&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| middleString&lt;br /&gt;
| s&lt;br /&gt;
| the skill name itself&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| suffixString&lt;br /&gt;
| s&lt;br /&gt;
| suffix for skill name&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillEffectId&lt;br /&gt;
| s&lt;br /&gt;
| comma seperated string of integers (i.e &amp;quot;1, 2, 3, 4&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillChrageSpeed (optional)&lt;br /&gt;
| f&lt;br /&gt;
| speed at which the skill charges (default 4f)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillSE (optional)&lt;br /&gt;
| i&lt;br /&gt;
| skill sound effect index? (default 0)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillWaitingTime (optional)&lt;br /&gt;
| i&lt;br /&gt;
| how long to wait before recharge (milliseconds?) (default 3000)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| resourceId (optional)&lt;br /&gt;
| i&lt;br /&gt;
| internal id for visual effects? (default 0)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillStartUpCondType (optional)&lt;br /&gt;
| i&lt;br /&gt;
| conditions for getting the skill pulled off? (default 0)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstAccessory ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| internal id for accessory&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| name of the accessory&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| information&lt;br /&gt;
| s&lt;br /&gt;
| flavor text&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| useCondType&lt;br /&gt;
| i&lt;br /&gt;
| ID for condition type in which this accessory can be equipped? (maybe restricted to type?)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| useCond&lt;br /&gt;
| i&lt;br /&gt;
| ID for condition?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectType&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectValue&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| salePrice&lt;br /&gt;
| i&lt;br /&gt;
| the value of the accessory in, maybe, gold?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectRarity (optional)&lt;br /&gt;
| i&lt;br /&gt;
| special effect for rarity (default 1)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== BusLevelList ====&lt;br /&gt;
No clue what this does&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| type&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| level&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| gold&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| defaultKp&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| hp&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| attack&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| addKp&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstBusParts ====&lt;br /&gt;
could possible be related to MstItem?&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| internal id referring to the bus part&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| name of the part&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| info&lt;br /&gt;
| s&lt;br /&gt;
| flavor text?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| type&lt;br /&gt;
| i&lt;br /&gt;
| type of part?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| useCondType&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| useCond&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectType&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectValue&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstLogin ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| count&lt;br /&gt;
| i&lt;br /&gt;
| how many times to login to recieve reward&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| rewardList&lt;br /&gt;
| a&lt;br /&gt;
| rewards at x amount of logins&lt;br /&gt;
	{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| type&lt;br /&gt;
	| i&lt;br /&gt;
	| type of award&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| typeValue&lt;br /&gt;
	| i&lt;br /&gt;
	| ??? value of type?&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| amount&lt;br /&gt;
	| i&lt;br /&gt;
	| the amount recieved&lt;br /&gt;
	|-&lt;br /&gt;
	|}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstCostume ====&lt;br /&gt;
suri alpaca in shoebill costume??? ehehe...&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id for costume&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| name of the costume&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| info&lt;br /&gt;
| s&lt;br /&gt;
| flavor text&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectType&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| salePrice&lt;br /&gt;
| i&lt;br /&gt;
| gold value of costume??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| colorVariation&lt;br /&gt;
| s&lt;br /&gt;
| flavor text variation?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectRarity (optional)&lt;br /&gt;
| i&lt;br /&gt;
| rarity special effect for item (default 1)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| displayGroup (optional)&lt;br /&gt;
| i&lt;br /&gt;
| ??? (default 1)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| useCondSize (optional)&lt;br /&gt;
| i&lt;br /&gt;
| i guess certain friends can't wear certain costumes based on size (default 0)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstCharacterStoryQuest ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id for the story quest&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| string name for quest&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| stamina&lt;br /&gt;
| i&lt;br /&gt;
| stamina required?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| fieldId&lt;br /&gt;
| i&lt;br /&gt;
| the field type for this quest&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| night&lt;br /&gt;
| i&lt;br /&gt;
| ah, this makes the &amp;quot;nocternal&amp;quot; field make sense; probably 0 for false, 1 for true; makes the field night-time&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| waveCount&lt;br /&gt;
| i&lt;br /&gt;
| amount of waves&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| linkMapId&lt;br /&gt;
| i&lt;br /&gt;
| next quest point on the map?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| linkAreaId&lt;br /&gt;
| i&lt;br /&gt;
| next quest point in the area?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| linkSymbolId&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| nextIds&lt;br /&gt;
| s&lt;br /&gt;
| no idea how this is formatted&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| rewardItemId&lt;br /&gt;
| i&lt;br /&gt;
| the ID of the item rewarded at the end of the quest&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| startAdvCharaId (optional)&lt;br /&gt;
| s&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| endAdvCharaId (optional)&lt;br /&gt;
| s&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| chapterSubtitle (optional)&lt;br /&gt;
| s&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| episodeSubtitle (optional)&lt;br /&gt;
| s&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstLevelMission ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id for the mission&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| string name for mission&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| information&lt;br /&gt;
| s&lt;br /&gt;
| flavor text&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| nextMissionId&lt;br /&gt;
| i&lt;br /&gt;
| the next sequential mission ID&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstBus ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id of bus&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| name of bus&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| information&lt;br /&gt;
| s&lt;br /&gt;
| flavor text&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| useCondType&lt;br /&gt;
| i&lt;br /&gt;
| condition type&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| useCond&lt;br /&gt;
| i&lt;br /&gt;
| condition&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectType&lt;br /&gt;
| i&lt;br /&gt;
| effect type ID&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectValue&lt;br /&gt;
| i&lt;br /&gt;
| value of the effect ID&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| itemId&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| groupId&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstSpecificVirtue ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| internal id for virtue&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| type&lt;br /&gt;
| i&lt;br /&gt;
| type of virtue&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| value&lt;br /&gt;
| i&lt;br /&gt;
| value of virtue&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| targetId&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| resourceId&lt;br /&gt;
| i&lt;br /&gt;
| target resource ID&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstArea ====&lt;br /&gt;
I can't figure out how this works exactly. The code is confusing.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| ID for the area&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| Name of the area&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstQuestArea ====&lt;br /&gt;
might be bugged? this doesn't take input json data&lt;br /&gt;
==== MstQuestSymbol ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id for the symbol&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| type&lt;br /&gt;
| i&lt;br /&gt;
| type of symbol&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| iconId&lt;br /&gt;
| i&lt;br /&gt;
| the internal resource ID for the icon&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| x&lt;br /&gt;
| i&lt;br /&gt;
| possibly X offset?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| y&lt;br /&gt;
| i&lt;br /&gt;
| possibly Y offset?&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstEvent ====&lt;br /&gt;
All fields are optional in this.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id for the event&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| type&lt;br /&gt;
| i&lt;br /&gt;
| type of event&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| i&lt;br /&gt;
| name for the event&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| countMstItemId&lt;br /&gt;
| i&lt;br /&gt;
| how many item IDs are involved&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| informationUrl&lt;br /&gt;
| i&lt;br /&gt;
| ??? maybe URL for additional information about the event&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== MstCampaignQuestNotice ====&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
	switch (this.NoticeType)&lt;br /&gt;
		case 1:&lt;br /&gt;
			this._APService = true;&lt;br /&gt;
			this._RaidUp = false;&lt;br /&gt;
			this._Guerrilla = false;&lt;br /&gt;
			break;&lt;br /&gt;
		case 2:&lt;br /&gt;
			this._APService = false;&lt;br /&gt;
			this._RaidUp = true;&lt;br /&gt;
			this._Guerrilla = false;&lt;br /&gt;
			break;&lt;br /&gt;
		case 3:&lt;br /&gt;
			this._APService = true;&lt;br /&gt;
			this._RaidUp = true;&lt;br /&gt;
			this._Guerrilla = false;&lt;br /&gt;
			break;&lt;br /&gt;
		case 4:&lt;br /&gt;
			this._APService = false;&lt;br /&gt;
			this._RaidUp = false;&lt;br /&gt;
			this._Guerrilla = true;&lt;br /&gt;
			break;&lt;br /&gt;
		case 5:&lt;br /&gt;
			this._APService = true;&lt;br /&gt;
			this._RaidUp = false;&lt;br /&gt;
			this._Guerrilla = true;&lt;br /&gt;
			break;&lt;br /&gt;
		case 6:&lt;br /&gt;
			this._APService = false;&lt;br /&gt;
			this._RaidUp = true;&lt;br /&gt;
			this._Guerrilla = true;&lt;br /&gt;
			break;&lt;br /&gt;
		case 7:&lt;br /&gt;
			this._APService = true;&lt;br /&gt;
			this._RaidUp = true;&lt;br /&gt;
			this._Guerrilla = true;&lt;br /&gt;
			break;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
All fields are optional in this.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id for the notice (default 0)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| noticeType&lt;br /&gt;
| i&lt;br /&gt;
| type of notice (default 0)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| displayImageName&lt;br /&gt;
| s&lt;br /&gt;
| path to image for notice? (default empty string)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| startDatetime&lt;br /&gt;
| l&lt;br /&gt;
| when the quest starts? (unix epoch time probably) (default 0, or January 1st, 1970, 00:00:00)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| endDatetime&lt;br /&gt;
| l&lt;br /&gt;
| when the quest ends? (unix epoch time) (default 0, or January 1st, 1970, 00:00:00)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstSerif ====&lt;br /&gt;
font?&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id for the serif&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| type&lt;br /&gt;
| i&lt;br /&gt;
| type of font?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| mstCharacterId&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| displaySeq&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| editType&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| serif&lt;br /&gt;
| s&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tsunko</name></author>
	</entry>
	<entry>
		<id>https://japari-library.com/index.php?title=User:Tsunko/TechInfo&amp;diff=9407</id>
		<title>User:Tsunko/TechInfo</title>
		<link rel="alternate" type="text/html" href="https://japari-library.com/index.php?title=User:Tsunko/TechInfo&amp;diff=9407"/>
		<updated>2017-10-30T05:39:52Z</updated>

		<summary type="html">&lt;p&gt;Tsunko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;tabber&amp;gt;&lt;br /&gt;
Communication=== &amp;quot;How does this game communicate!?&amp;quot; ==&lt;br /&gt;
Generally, communication is done over plain HTTP. Headers (as far as I can tell) are not used; I could be wrong on that fact, but I have no observed anything weird happening if I don't include certain headers.&amp;lt;br /&amp;gt;&lt;br /&gt;
Any encryption done uses AES128 ECB with a block and key size of 128, padding data with zeros, followed by being the encrypted result being represented in Base64.&lt;br /&gt;
Data is contained in JSON objects (typically, all data is wrapped inside of a named JSON object for some reason).&lt;br /&gt;
&lt;br /&gt;
=== Client to Server ===&lt;br /&gt;
Oddly enough, client to server ''isn't'' fully encrypted at all. If there is any encryption present, it is only done to any strings being passed from client to server. Other than that, expect plaintext.&lt;br /&gt;
&lt;br /&gt;
=== Server to Client ===&lt;br /&gt;
Data transmitted from the server is fully encrypted, however, unlike the client to server, there is no &amp;quot;nested&amp;quot; encryption. The client expects everything to be plaintext once the content is decrypted the first time.&lt;br /&gt;
|-|&lt;br /&gt;
data0.bytes=== The infamous brick wall we can't break.==&lt;br /&gt;
This file (on Android) is stored under {{#tag:code|/data/data/jp.co.nexon.kemo/files/kemofure/resources/common/common/data0.bytes}}.&amp;lt;br /&amp;gt;&lt;br /&gt;
It's loaded before either the client attempting to view the tutorial or view {{#tag:code|/mypage/get}} by class {{#tag:code|MasterData.cs}}.&amp;lt;br /&amp;gt;&lt;br /&gt;
The heart-breaking part is that it is encrypted with '''Rijndael-256''' with a block and key size of '''256''', making it practically impossible to recover the key. The default keys ({{#tag:code|appDecryptionKey}}/{{#tag:code|UtilData.AES_KEY}}) provided ({{#tag:code|QeEjSWTbFK2876yB}} or {{#tag:code|b8PWNMsYCt47YAai}}) do '''not''' work with this file; it's encrypted with a different key. However, we at least know the IV ({{#tag:code|FLXR4JXfD6Cw5jsJtj7VnferY93k4Zsg}}).&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;I have the key!&amp;quot; ===&lt;br /&gt;
Should you, or anyone else, happen to have or stumble across the decryption key (either you sniffed it or somehow logged the HTTP request), please contact me on Discord.&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;I want to help find the key!&amp;quot; ===&lt;br /&gt;
Unfortunately, while the Servals working in Nexon's programming department may have some of the most convoluted code possible (we'll call it a ''unique'' style of code), it does not look like finding the key will be something you randomly stumble across. However, here are some ways to try finding them:&lt;br /&gt;
# The most likely way to find it (and how I've been doing it) is to simply download other Nexon mobile games into an emulator with ProxyDroid setup to redirect traffic to a Fiddler instance. Look for any &amp;quot;startup&amp;quot; HTTP requests and see if they have a key. If they do, tell me them on Discord.&lt;br /&gt;
# Downloading APKs of any Nexon mobile games and decompiling them, inspecting any classes that could contain keys. Essentially, you're looking for any class that has the word &amp;quot;Crypto&amp;quot; in it, but the key could be hiding in other classes.&lt;br /&gt;
# Seeking assistance from others that could potentially have the key. This is probably the 2nd least likely, as they're probably not going to share the key (this is something that's probably sought after by many other developers). The most promising people who might have such key (or at least a decrypted copy of the data) are anons running around on the Gamerch wiki with the ID {{#tag:code|CB26BC965F}} and {{#tag:code|CFF60E1F35}}.&lt;br /&gt;
# Dressing up in a suit and walking on over to {{#tag:code|Shinkawa 2-3-1 Chuo-ku, Tokyo 104-0033 Japan}}, politely asking for the decryption key. We've tried getting Bird and Shadow on this, but they've declined :(&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;Let's recreate the file!&amp;quot; ===&lt;br /&gt;
... is our current best bet. The syntax of the file is relatively simple:&lt;br /&gt;
{{#tag:code|[number of elements]&amp;gt;[JSON elements]}}&lt;br /&gt;
The structure of the file has been documented:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Actual type&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| i&lt;br /&gt;
| 32-bit integer&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| l&lt;br /&gt;
| 64-bit integer&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| f&lt;br /&gt;
| decimal floating; probably 32-bit floating?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| s&lt;br /&gt;
| string of characters&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstLevel ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| level&lt;br /&gt;
| i&lt;br /&gt;
| internal ID&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| exp&lt;br /&gt;
| i&lt;br /&gt;
| possible EXP rewarded at end of level?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| maxStamina&lt;br /&gt;
| i&lt;br /&gt;
| possible stamina required? not too sure.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== MstItem ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| internal ID&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| Name of the item&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| info&lt;br /&gt;
| s&lt;br /&gt;
| Description of the item&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| unit&lt;br /&gt;
| i&lt;br /&gt;
| ??? unsure&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| itemType&lt;br /&gt;
| i&lt;br /&gt;
| internal ID referencing the type&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| itemTypeValue&lt;br /&gt;
| i&lt;br /&gt;
| unsure what it references&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| possessionLimitCount&lt;br /&gt;
| i&lt;br /&gt;
| maximum amount that can be inside inventory&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectRarity (optional)&lt;br /&gt;
| i&lt;br /&gt;
| internal ID referencing the rarity of the item (possibly just visual) (default: 1) (1-6?)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| sortNo (optional)&lt;br /&gt;
| i&lt;br /&gt;
| possible sorting index for when viewing (i.e item with sortNo 1 would be first, 2 would be second etc) (default: 1)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstCharacter ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| internal ID&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| Name of the character&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| rarity&lt;br /&gt;
| i&lt;br /&gt;
| rarity value (knowing typical gatcha, from between minimum of 1 to maximum of 6)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| maxLevel&lt;br /&gt;
| i&lt;br /&gt;
| highest level possible with character&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| hp&lt;br /&gt;
| i&lt;br /&gt;
| base hitpoints?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| maxHp&lt;br /&gt;
| i&lt;br /&gt;
| hitpoints when fully grinded out?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| attackType&lt;br /&gt;
| i&lt;br /&gt;
| internal ID referencing the type of attack done (enum index number possibly)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| attack&lt;br /&gt;
| i&lt;br /&gt;
| default amount of damage?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| maxAttack&lt;br /&gt;
| i&lt;br /&gt;
| maximum amount of damage?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| moveSpeed&lt;br /&gt;
| i&lt;br /&gt;
| movement speed of the character (unsure of what range though)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| attackSpeed&lt;br /&gt;
| f&lt;br /&gt;
| attack speed of character (? my guess is 1.0 would mean 1 attack a second)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| attackRange&lt;br /&gt;
| i&lt;br /&gt;
| the attack range/reach of the character&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| reach&lt;br /&gt;
| i&lt;br /&gt;
| melee reach? unknown, really&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| weight&lt;br /&gt;
| i&lt;br /&gt;
| how many japari buns does this character eat :^)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| knockBack&lt;br /&gt;
| i&lt;br /&gt;
| units to move attacked unit back?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| sameAttackCount&lt;br /&gt;
| i&lt;br /&gt;
| unknown, possible how many times the character can repeat a single attack&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| attribute&lt;br /&gt;
| i&lt;br /&gt;
| attribute of character (cool, beauty, whatever else was TL'd from that attribute array)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| groupId&lt;br /&gt;
| i&lt;br /&gt;
| group id of the character (not sure&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillId&lt;br /&gt;
| i&lt;br /&gt;
| unsure, maybe the internal power skill ID the character has?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillChargeSpeed&lt;br /&gt;
| f&lt;br /&gt;
| unsure, since it's a float, i'd assume &amp;quot;1&amp;quot; is fully charged and &amp;quot;0&amp;quot; is no charge&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| readerSkillId&lt;br /&gt;
| i&lt;br /&gt;
| unsure, don't know what a reader is&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillSE&lt;br /&gt;
| i&lt;br /&gt;
| skill sound effect index?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| cost&lt;br /&gt;
| i&lt;br /&gt;
| cost to summon unit&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| limitBreakStatus&lt;br /&gt;
| a&lt;br /&gt;
| no clue&lt;br /&gt;
	{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| maxLevel&lt;br /&gt;
	| i&lt;br /&gt;
	| maximum limit breaks&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| maxHp&lt;br /&gt;
	| i&lt;br /&gt;
	| unknown, what would hp would have to do with limit breaks?&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| maxAttack&lt;br /&gt;
	| i&lt;br /&gt;
	| unknown&lt;br /&gt;
	|-&lt;br /&gt;
	|}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| goodField&lt;br /&gt;
| i&lt;br /&gt;
| field type that is beneficiel for the character&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| badField&lt;br /&gt;
| i&lt;br /&gt;
| field type that is detrimental for the character&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| nocturnal&lt;br /&gt;
| i&lt;br /&gt;
| unknown, possible time-related (owls do more damage at night or something? i wouldn't have a clue)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| critical&lt;br /&gt;
| f&lt;br /&gt;
| crit chance&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| baseCharacterId&lt;br /&gt;
| i&lt;br /&gt;
| internal base character ID, possibly for when characters evolve or have multiple rarities&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| profile&lt;br /&gt;
| s&lt;br /&gt;
| description?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| scientificName&lt;br /&gt;
| s&lt;br /&gt;
| name of the character in scientific terms (i.e Suri Alpaca is &amp;quot;Vicugna pacos&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| genus&lt;br /&gt;
| s&lt;br /&gt;
| the genus of the character (i.e Suri Alpaca is &amp;quot;Vicugna&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| redlistCode&lt;br /&gt;
| i&lt;br /&gt;
| conversation status?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| word&lt;br /&gt;
| s&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| voiceArtist&lt;br /&gt;
| s&lt;br /&gt;
| seiyuu&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| size&lt;br /&gt;
| i&lt;br /&gt;
| size of the character (unknown units)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| specificVirtue&lt;br /&gt;
| a&lt;br /&gt;
| ???&lt;br /&gt;
	{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| mstEventId&lt;br /&gt;
	| i&lt;br /&gt;
	| ???&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| mstSpecificVirtue&lt;br /&gt;
	| i&lt;br /&gt;
	| ???&lt;br /&gt;
	|-&lt;br /&gt;
	|}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| maxLimitBreakReducePercent (optional)&lt;br /&gt;
| i&lt;br /&gt;
| ??? (default: 0)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectRarity (optional)&lt;br /&gt;
| i&lt;br /&gt;
| rarity of the character's special effect? unsure. (default: 1) (1-6?)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| eventLimitBreakFlag (optional)&lt;br /&gt;
| i&lt;br /&gt;
| unknown (default: 0)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| tieUpFlag (optional)&lt;br /&gt;
| i&lt;br /&gt;
| unknown; also... :2lewd: (default: 0)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstCharacterRarity ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| rarity&lt;br /&gt;
| i&lt;br /&gt;
| rarity of a character? (1-6)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| salePrice&lt;br /&gt;
| i&lt;br /&gt;
| possibly how much they cost?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| dropPercent&lt;br /&gt;
| i&lt;br /&gt;
| chance to get character&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| maxLimitBreakCount&lt;br /&gt;
| i&lt;br /&gt;
| maximum amount of times the character can be limit broken&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| stockExp&lt;br /&gt;
| i&lt;br /&gt;
| amount of xp when obtained? (default: based on rarity, can be: 0, 500, 1000, 2000, 5000, 10000)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| maxLimitBreakReduceCoin&lt;br /&gt;
| i&lt;br /&gt;
| ??? (default: based on rarity, can be 0, 0, 0, 30, 100, 300)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstLevelCharacter ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| characterLevelList&lt;br /&gt;
| a&lt;br /&gt;
| possibly referencing data per level (how much to get to this level, etc)&lt;br /&gt;
	{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| level&lt;br /&gt;
	| i&lt;br /&gt;
	| not much to say; it's the level&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| exp&lt;br /&gt;
	| i&lt;br /&gt;
	| exp required?&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| limitBreakStep&lt;br /&gt;
	| i&lt;br /&gt;
	| ???&lt;br /&gt;
	|-&lt;br /&gt;
	|}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstUpGrade ====&lt;br /&gt;
I actually don't know what this is used for.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| level&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| cost&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| hp&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| attack&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| knockback&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| weight&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| hpRecover&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstKemonoLevelUp ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| getUp&lt;br /&gt;
| f&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| recoverSpeed&lt;br /&gt;
| f&lt;br /&gt;
| ??? how fast to recover per second? or something?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| needKp&lt;br /&gt;
| i&lt;br /&gt;
| ?? unknown&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstGroup ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| internal group id&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| name of group&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| information&lt;br /&gt;
| s&lt;br /&gt;
| possibly description or profile&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectValues&lt;br /&gt;
| s&lt;br /&gt;
| a string of integers, seperated by commas (i.e &amp;quot;1, 2, 3, 4, 5&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| members&lt;br /&gt;
| s&lt;br /&gt;
| a string of members, seperated by commas (i.e &amp;quot;a, b, c&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| prefixString&lt;br /&gt;
| s&lt;br /&gt;
| prefix for the group for its members&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| suffixString&lt;br /&gt;
| s&lt;br /&gt;
| suffix for the group for its members&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectInformation&lt;br /&gt;
| s&lt;br /&gt;
| possibly information regarding how the effect values work; could be informational and not do anything&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstSkill ====&lt;br /&gt;
imagine combining 6 friend attacks all at once :wao: (ty Chojiki for explaining how it worked)&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| internal skill id&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| name of the skill&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| info&lt;br /&gt;
| s&lt;br /&gt;
| display information for skill?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| prefixString&lt;br /&gt;
| s&lt;br /&gt;
| prefix for skill name&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| middleString&lt;br /&gt;
| s&lt;br /&gt;
| the skill name itself&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| suffixString&lt;br /&gt;
| s&lt;br /&gt;
| suffix for skill name&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillEffectId&lt;br /&gt;
| s&lt;br /&gt;
| comma seperated string of integers (i.e &amp;quot;1, 2, 3, 4&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillChrageSpeed (optional)&lt;br /&gt;
| f&lt;br /&gt;
| speed at which the skill charges (default 4f)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillSE (optional)&lt;br /&gt;
| i&lt;br /&gt;
| skill sound effect index? (default 0)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillWaitingTime (optional)&lt;br /&gt;
| i&lt;br /&gt;
| how long to wait before recharge (milliseconds?) (default 3000)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| resourceId (optional)&lt;br /&gt;
| i&lt;br /&gt;
| internal id for visual effects? (default 0)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillStartUpCondType (optional)&lt;br /&gt;
| i&lt;br /&gt;
| conditions for getting the skill pulled off? (default 0)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstAccessory ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| internal id for accessory&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| name of the accessory&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| information&lt;br /&gt;
| s&lt;br /&gt;
| flavor text&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| useCondType&lt;br /&gt;
| i&lt;br /&gt;
| ID for condition type in which this accessory can be equipped? (maybe restricted to type?)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| useCond&lt;br /&gt;
| i&lt;br /&gt;
| ID for condition?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectType&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectValue&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| salePrice&lt;br /&gt;
| i&lt;br /&gt;
| the value of the accessory in, maybe, gold?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectRarity (optional)&lt;br /&gt;
| i&lt;br /&gt;
| special effect for rarity (default 1)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== BusLevelList ====&lt;br /&gt;
No clue what this does&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| type&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| level&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| gold&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| defaultKp&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| hp&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| attack&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| addKp&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstBusParts ====&lt;br /&gt;
could possible be related to MstItem?&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| internal id referring to the bus part&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| name of the part&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| info&lt;br /&gt;
| s&lt;br /&gt;
| flavor text?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| type&lt;br /&gt;
| i&lt;br /&gt;
| type of part?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| useCondType&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| useCond&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectType&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectValue&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstLogin ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| count&lt;br /&gt;
| i&lt;br /&gt;
| how many times to login to recieve reward&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| rewardList&lt;br /&gt;
| a&lt;br /&gt;
| rewards at x amount of logins&lt;br /&gt;
	{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| type&lt;br /&gt;
	| i&lt;br /&gt;
	| type of award&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| typeValue&lt;br /&gt;
	| i&lt;br /&gt;
	| ??? value of type?&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| amount&lt;br /&gt;
	| i&lt;br /&gt;
	| the amount recieved&lt;br /&gt;
	|-&lt;br /&gt;
	|}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstCostume ====&lt;br /&gt;
suri alpaca in shoebill costume??? ehehe...&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id for costume&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| name of the costume&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| info&lt;br /&gt;
| s&lt;br /&gt;
| flavor text&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectType&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| salePrice&lt;br /&gt;
| i&lt;br /&gt;
| gold value of costume??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| colorVariation&lt;br /&gt;
| s&lt;br /&gt;
| flavor text variation?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectRarity (optional)&lt;br /&gt;
| i&lt;br /&gt;
| rarity special effect for item (default 1)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| displayGroup (optional)&lt;br /&gt;
| i&lt;br /&gt;
| ??? (default 1)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| useCondSize (optional)&lt;br /&gt;
| i&lt;br /&gt;
| i guess certain friends can't wear certain costumes based on size (default 0)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstCharacterStoryQuest ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id for the story quest&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| string name for quest&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| stamina&lt;br /&gt;
| i&lt;br /&gt;
| stamina required?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| fieldId&lt;br /&gt;
| i&lt;br /&gt;
| the field type for this quest&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| night&lt;br /&gt;
| i&lt;br /&gt;
| ah, this makes the &amp;quot;nocternal&amp;quot; field make sense; probably 0 for false, 1 for true; makes the field night-time&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| waveCount&lt;br /&gt;
| i&lt;br /&gt;
| amount of waves&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| linkMapId&lt;br /&gt;
| i&lt;br /&gt;
| next quest point on the map?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| linkAreaId&lt;br /&gt;
| i&lt;br /&gt;
| next quest point in the area?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| linkSymbolId&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| nextIds&lt;br /&gt;
| s&lt;br /&gt;
| no idea how this is formatted&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| rewardItemId&lt;br /&gt;
| i&lt;br /&gt;
| the ID of the item rewarded at the end of the quest&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| startAdvCharaId (optional)&lt;br /&gt;
| s&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| endAdvCharaId (optional)&lt;br /&gt;
| s&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| chapterSubtitle (optional)&lt;br /&gt;
| s&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| episodeSubtitle (optional)&lt;br /&gt;
| s&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstLevelMission ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id for the mission&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| string name for mission&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| information&lt;br /&gt;
| s&lt;br /&gt;
| flavor text&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| nextMissionId&lt;br /&gt;
| i&lt;br /&gt;
| the next sequential mission ID&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstBus ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id of bus&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| name of bus&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| information&lt;br /&gt;
| s&lt;br /&gt;
| flavor text&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| useCondType&lt;br /&gt;
| i&lt;br /&gt;
| condition type&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| useCond&lt;br /&gt;
| i&lt;br /&gt;
| condition&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectType&lt;br /&gt;
| i&lt;br /&gt;
| effect type ID&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectValue&lt;br /&gt;
| i&lt;br /&gt;
| value of the effect ID&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| itemId&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| groupId&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstSpecificVirtue ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| internal id for virtue&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| type&lt;br /&gt;
| i&lt;br /&gt;
| type of virtue&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| value&lt;br /&gt;
| i&lt;br /&gt;
| value of virtue&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| targetId&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| resourceId&lt;br /&gt;
| i&lt;br /&gt;
| target resource ID&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstArea ====&lt;br /&gt;
I can't figure out how this works exactly. The code is confusing.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| ID for the area&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| Name of the area&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstQuestArea ====&lt;br /&gt;
might be bugged? this doesn't take input json data&lt;br /&gt;
==== MstQuestSymbol ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id for the symbol&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| type&lt;br /&gt;
| i&lt;br /&gt;
| type of symbol&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| iconId&lt;br /&gt;
| i&lt;br /&gt;
| the internal resource ID for the icon&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| x&lt;br /&gt;
| i&lt;br /&gt;
| possibly X offset?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| y&lt;br /&gt;
| i&lt;br /&gt;
| possibly Y offset?&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstEvent ====&lt;br /&gt;
All fields are optional in this.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id for the event&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| type&lt;br /&gt;
| i&lt;br /&gt;
| type of event&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| i&lt;br /&gt;
| name for the event&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| countMstItemId&lt;br /&gt;
| i&lt;br /&gt;
| how many item IDs are involved&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| informationUrl&lt;br /&gt;
| i&lt;br /&gt;
| ??? maybe URL for additional information about the event&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== MstCampaignQuestNotice ====&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
	switch (this.NoticeType)&lt;br /&gt;
		case 1:&lt;br /&gt;
			this._APService = true;&lt;br /&gt;
			this._RaidUp = false;&lt;br /&gt;
			this._Guerrilla = false;&lt;br /&gt;
			break;&lt;br /&gt;
		case 2:&lt;br /&gt;
			this._APService = false;&lt;br /&gt;
			this._RaidUp = true;&lt;br /&gt;
			this._Guerrilla = false;&lt;br /&gt;
			break;&lt;br /&gt;
		case 3:&lt;br /&gt;
			this._APService = true;&lt;br /&gt;
			this._RaidUp = true;&lt;br /&gt;
			this._Guerrilla = false;&lt;br /&gt;
			break;&lt;br /&gt;
		case 4:&lt;br /&gt;
			this._APService = false;&lt;br /&gt;
			this._RaidUp = false;&lt;br /&gt;
			this._Guerrilla = true;&lt;br /&gt;
			break;&lt;br /&gt;
		case 5:&lt;br /&gt;
			this._APService = true;&lt;br /&gt;
			this._RaidUp = false;&lt;br /&gt;
			this._Guerrilla = true;&lt;br /&gt;
			break;&lt;br /&gt;
		case 6:&lt;br /&gt;
			this._APService = false;&lt;br /&gt;
			this._RaidUp = true;&lt;br /&gt;
			this._Guerrilla = true;&lt;br /&gt;
			break;&lt;br /&gt;
		case 7:&lt;br /&gt;
			this._APService = true;&lt;br /&gt;
			this._RaidUp = true;&lt;br /&gt;
			this._Guerrilla = true;&lt;br /&gt;
			break;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
All fields are optional in this.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id for the notice (default 0)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| noticeType&lt;br /&gt;
| i&lt;br /&gt;
| type of notice (default 0)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| displayImageName&lt;br /&gt;
| s&lt;br /&gt;
| path to image for notice? (default empty string)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| startDatetime&lt;br /&gt;
| l&lt;br /&gt;
| when the quest starts? (unix epoch time probably) (default 0, or January 1st, 1970, 00:00:00)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| endDatetime&lt;br /&gt;
| l&lt;br /&gt;
| when the quest ends? (unix epoch time) (default 0, or January 1st, 1970, 00:00:00)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstSerif ====&lt;br /&gt;
font?&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id for the serif&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| type&lt;br /&gt;
| i&lt;br /&gt;
| type of font?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| mstCharacterId&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| displaySeq&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| editType&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| serif&lt;br /&gt;
| s&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tsunko</name></author>
	</entry>
	<entry>
		<id>https://japari-library.com/index.php?title=User:Tsunko&amp;diff=9406</id>
		<title>User:Tsunko</title>
		<link rel="alternate" type="text/html" href="https://japari-library.com/index.php?title=User:Tsunko&amp;diff=9406"/>
		<updated>2017-10-30T05:35:47Z</updated>

		<summary type="html">&lt;p&gt;Tsunko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi; I'm just someone working on the KemoFure Nexon server emulator. If you can't tell, I'm really bad at MediaWiki.&lt;br /&gt;
&lt;br /&gt;
You can get technical information about the game here:&lt;br /&gt;
[[/TechInfo]]&lt;/div&gt;</summary>
		<author><name>Tsunko</name></author>
	</entry>
	<entry>
		<id>https://japari-library.com/index.php?title=User:Tsunko/TechInfo&amp;diff=9405</id>
		<title>User:Tsunko/TechInfo</title>
		<link rel="alternate" type="text/html" href="https://japari-library.com/index.php?title=User:Tsunko/TechInfo&amp;diff=9405"/>
		<updated>2017-10-30T05:32:16Z</updated>

		<summary type="html">&lt;p&gt;Tsunko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;tabber&amp;gt;&lt;br /&gt;
Communication=== &amp;quot;How does this game communicate!?&amp;quot; ==&lt;br /&gt;
Generally, communication is done over plain HTTP. Headers (as far as I can tell) are not used; I could be wrong on that fact, but I have no observed anything weird happening if I don't include certain headers.&amp;lt;br /&amp;gt;&lt;br /&gt;
Any encryption done uses AES128 ECB with a block and key size of 128, padding data with zeros, followed by being the encrypted result being represented in Base64.&lt;br /&gt;
Data is contained in JSON objects (typically, all data is wrapped inside of a named JSON object for some reason).&lt;br /&gt;
&lt;br /&gt;
=== Client to Server ===&lt;br /&gt;
Oddly enough, client to server ''isn't'' fully encrypted at all. If there is any encryption present, it is only done to any strings being passed from client to server. Other than that, expect plaintext.&lt;br /&gt;
&lt;br /&gt;
=== Server to Client ===&lt;br /&gt;
Data transmitted from the server is fully encrypted, however, unlike the client to server, there is no &amp;quot;nested&amp;quot; encryption. The client expects everything to be plaintext once the content is decrypted the first time.&lt;br /&gt;
|-|&lt;br /&gt;
data0.bytes=== The infamous brick wall we can't break.==&lt;br /&gt;
This file (on Android) is stored under {{#tag:code|/data/data/jp.co.nexon.kemo/files/kemofure/resources/common/common/data0.bytes}}.&amp;lt;br /&amp;gt;&lt;br /&gt;
It's loaded before either the client attempting to view the tutorial or view {{#tag:code|/mypage/get}} by class {{#tag:code|MasterData.cs}}.&amp;lt;br /&amp;gt;&lt;br /&gt;
The heart-breaking part is that it is encrypted with '''Rijndael-256''' with a block and key size of '''256''', making it practically impossible to recover the key. The default keys ({{#tag:code|appDecryptionKey}}/{{#tag:code|UtilData.AES_KEY}}) provided ({{#tag:code|QeEjSWTbFK2876yB}} or {{#tag:code|b8PWNMsYCt47YAai}}) do '''not''' work with this file; it's encrypted with a different key. However, we at least know the IV ({{#tag:code|FLXR4JXfD6Cw5jsJtj7VnferY93k4Zsg}}).&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;I have the key!&amp;quot; ===&lt;br /&gt;
Should you, or anyone else, happen to have or stumble across the decryption key (either you sniffed it or somehow logged the HTTP request), please contact me on Discord.&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;I want to help find the key!&amp;quot; ===&lt;br /&gt;
Unfortunately, while the Servals working in Nexon's programming department may have some of the most convoluted code possible (we'll call it a ''unique'' style of code), it does not look like finding the key will be something you randomly stumble across. However, here are some ways to try finding them:&lt;br /&gt;
# The most likely way to find it (and how I've been doing it) is to simply download other Nexon mobile games into an emulator with ProxyDroid setup to redirect traffic to a Fiddler instance. Look for any &amp;quot;startup&amp;quot; HTTP requests and see if they have a key. If they do, tell me them on Discord.&lt;br /&gt;
# Downloading APKs of any Nexon mobile games and decompiling them, inspecting any classes that could contain keys. Essentially, you're looking for any class that has the word &amp;quot;Crypto&amp;quot; in it, but the key could be hiding in other classes.&lt;br /&gt;
# Seeking assistance from others that could potentially have the key. This is probably the 2nd least likely, as they're probably not going to share the key (this is something that's probably sought after by many other developers). The most promising people who might have such key (or at least a decrypted copy of the data) are anons running around on the Gamerch wiki with the ID {{#tag:code|CB26BC965F}} and {{#tag:code|CFF60E1F35}}.&lt;br /&gt;
# Dressing up in a suit and walking on over to {{#tag:code|Shinkawa 2-3-1 Chuo-ku, Tokyo 104-0033 Japan}}, politely asking for the decryption key. We've tried getting Bird and Shadow on this, but they've declined :(&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;Let's recreate the file!&amp;quot; ===&lt;br /&gt;
... is our current best bet. The syntax of the file is relatively simple:&lt;br /&gt;
{{#tag:code|[number of elements]&amp;gt;[JSON elements]}}&lt;br /&gt;
The structure of the file has been documented:&lt;br /&gt;
==== MstLevel ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| level&lt;br /&gt;
| i&lt;br /&gt;
| internal ID&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| exp&lt;br /&gt;
| i&lt;br /&gt;
| possible EXP rewarded at end of level?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| maxStamina&lt;br /&gt;
| i&lt;br /&gt;
| possible stamina required? not too sure.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== MstItem ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| internal ID&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| Name of the item&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| info&lt;br /&gt;
| s&lt;br /&gt;
| Description of the item&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| unit&lt;br /&gt;
| i&lt;br /&gt;
| ??? unsure&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| itemType&lt;br /&gt;
| i&lt;br /&gt;
| internal ID referencing the type&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| itemTypeValue&lt;br /&gt;
| i&lt;br /&gt;
| unsure what it references&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| possessionLimitCount&lt;br /&gt;
| i&lt;br /&gt;
| maximum amount that can be inside inventory&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectRarity (optional)&lt;br /&gt;
| i&lt;br /&gt;
| internal ID referencing the rarity of the item (possibly just visual) (default: 1) (1-6?)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| sortNo (optional)&lt;br /&gt;
| i&lt;br /&gt;
| possible sorting index for when viewing (i.e item with sortNo 1 would be first, 2 would be second etc) (default: 1)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstCharacter ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| internal ID&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| Name of the character&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| rarity&lt;br /&gt;
| i&lt;br /&gt;
| rarity value (knowing typical gatcha, from between minimum of 1 to maximum of 6)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| maxLevel&lt;br /&gt;
| i&lt;br /&gt;
| highest level possible with character&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| hp&lt;br /&gt;
| i&lt;br /&gt;
| base hitpoints?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| maxHp&lt;br /&gt;
| i&lt;br /&gt;
| hitpoints when fully grinded out?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| attackType&lt;br /&gt;
| i&lt;br /&gt;
| internal ID referencing the type of attack done (enum index number possibly)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| attack&lt;br /&gt;
| i&lt;br /&gt;
| default amount of damage?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| maxAttack&lt;br /&gt;
| i&lt;br /&gt;
| maximum amount of damage?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| moveSpeed&lt;br /&gt;
| i&lt;br /&gt;
| movement speed of the character (unsure of what range though)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| attackSpeed&lt;br /&gt;
| f&lt;br /&gt;
| attack speed of character (? my guess is 1.0 would mean 1 attack a second)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| attackRange&lt;br /&gt;
| i&lt;br /&gt;
| the attack range/reach of the character&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| reach&lt;br /&gt;
| i&lt;br /&gt;
| melee reach? unknown, really&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| weight&lt;br /&gt;
| i&lt;br /&gt;
| how many japari buns does this character eat :^)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| knockBack&lt;br /&gt;
| i&lt;br /&gt;
| units to move attacked unit back?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| sameAttackCount&lt;br /&gt;
| i&lt;br /&gt;
| unknown, possible how many times the character can repeat a single attack&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| attribute&lt;br /&gt;
| i&lt;br /&gt;
| attribute of character (cool, beauty, whatever else was TL'd from that attribute array)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| groupId&lt;br /&gt;
| i&lt;br /&gt;
| group id of the character (not sure&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillId&lt;br /&gt;
| i&lt;br /&gt;
| unsure, maybe the internal power skill ID the character has?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillChargeSpeed&lt;br /&gt;
| f&lt;br /&gt;
| unsure, since it's a float, i'd assume &amp;quot;1&amp;quot; is fully charged and &amp;quot;0&amp;quot; is no charge&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| readerSkillId&lt;br /&gt;
| i&lt;br /&gt;
| unsure, don't know what a reader is&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillSE&lt;br /&gt;
| i&lt;br /&gt;
| skill sound effect index?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| cost&lt;br /&gt;
| i&lt;br /&gt;
| cost to summon unit&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| limitBreakStatus&lt;br /&gt;
| a&lt;br /&gt;
| no clue&lt;br /&gt;
	{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| maxLevel&lt;br /&gt;
	| i&lt;br /&gt;
	| maximum limit breaks&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| maxHp&lt;br /&gt;
	| i&lt;br /&gt;
	| unknown, what would hp would have to do with limit breaks?&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| maxAttack&lt;br /&gt;
	| i&lt;br /&gt;
	| unknown&lt;br /&gt;
	|-&lt;br /&gt;
	|}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| goodField&lt;br /&gt;
| i&lt;br /&gt;
| field type that is beneficiel for the character&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| badField&lt;br /&gt;
| i&lt;br /&gt;
| field type that is detrimental for the character&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| nocturnal&lt;br /&gt;
| i&lt;br /&gt;
| unknown, possible time-related (owls do more damage at night or something? i wouldn't have a clue)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| critical&lt;br /&gt;
| f&lt;br /&gt;
| crit chance&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| baseCharacterId&lt;br /&gt;
| i&lt;br /&gt;
| internal base character ID, possibly for when characters evolve or have multiple rarities&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| profile&lt;br /&gt;
| s&lt;br /&gt;
| description?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| scientificName&lt;br /&gt;
| s&lt;br /&gt;
| name of the character in scientific terms (i.e Suri Alpaca is &amp;quot;Vicugna pacos&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| genus&lt;br /&gt;
| s&lt;br /&gt;
| the genus of the character (i.e Suri Alpaca is &amp;quot;Vicugna&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| redlistCode&lt;br /&gt;
| i&lt;br /&gt;
| conversation status?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| word&lt;br /&gt;
| s&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| voiceArtist&lt;br /&gt;
| s&lt;br /&gt;
| seiyuu&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| size&lt;br /&gt;
| i&lt;br /&gt;
| size of the character (unknown units)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| specificVirtue&lt;br /&gt;
| a&lt;br /&gt;
| ???&lt;br /&gt;
	{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| mstEventId&lt;br /&gt;
	| i&lt;br /&gt;
	| ???&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| mstSpecificVirtue&lt;br /&gt;
	| i&lt;br /&gt;
	| ???&lt;br /&gt;
	|-&lt;br /&gt;
	|}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| maxLimitBreakReducePercent (optional)&lt;br /&gt;
| i&lt;br /&gt;
| ??? (default: 0)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectRarity (optional)&lt;br /&gt;
| i&lt;br /&gt;
| rarity of the character's special effect? unsure. (default: 1) (1-6?)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| eventLimitBreakFlag (optional)&lt;br /&gt;
| i&lt;br /&gt;
| unknown (default: 0)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| tieUpFlag (optional)&lt;br /&gt;
| i&lt;br /&gt;
| unknown; also... :2lewd: (default: 0)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstCharacterRarity ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| rarity&lt;br /&gt;
| i&lt;br /&gt;
| rarity of a character? (1-6)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| salePrice&lt;br /&gt;
| i&lt;br /&gt;
| possibly how much they cost?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| dropPercent&lt;br /&gt;
| i&lt;br /&gt;
| chance to get character&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| maxLimitBreakCount&lt;br /&gt;
| i&lt;br /&gt;
| maximum amount of times the character can be limit broken&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| stockExp&lt;br /&gt;
| i&lt;br /&gt;
| amount of xp when obtained? (default: based on rarity, can be: 0, 500, 1000, 2000, 5000, 10000)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| maxLimitBreakReduceCoin&lt;br /&gt;
| i&lt;br /&gt;
| ??? (default: based on rarity, can be 0, 0, 0, 30, 100, 300)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstLevelCharacter ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| characterLevelList&lt;br /&gt;
| a&lt;br /&gt;
| possibly referencing data per level (how much to get to this level, etc)&lt;br /&gt;
	{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| level&lt;br /&gt;
	| i&lt;br /&gt;
	| not much to say; it's the level&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| exp&lt;br /&gt;
	| i&lt;br /&gt;
	| exp required?&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| limitBreakStep&lt;br /&gt;
	| i&lt;br /&gt;
	| ???&lt;br /&gt;
	|-&lt;br /&gt;
	|}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstUpGrade ====&lt;br /&gt;
I actually don't know what this is used for.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| level&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| cost&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| hp&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| attack&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| knockback&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| weight&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| hpRecover&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstKemonoLevelUp ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| getUp&lt;br /&gt;
| f&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| recoverSpeed&lt;br /&gt;
| f&lt;br /&gt;
| ??? how fast to recover per second? or something?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| needKp&lt;br /&gt;
| i&lt;br /&gt;
| ?? unknown&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstGroup ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| internal group id&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| name of group&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| information&lt;br /&gt;
| s&lt;br /&gt;
| possibly description or profile&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectValues&lt;br /&gt;
| s&lt;br /&gt;
| a string of integers, seperated by commas (i.e &amp;quot;1, 2, 3, 4, 5&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| members&lt;br /&gt;
| s&lt;br /&gt;
| a string of members, seperated by commas (i.e &amp;quot;a, b, c&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| prefixString&lt;br /&gt;
| s&lt;br /&gt;
| prefix for the group for its members&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| suffixString&lt;br /&gt;
| s&lt;br /&gt;
| suffix for the group for its members&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectInformation&lt;br /&gt;
| s&lt;br /&gt;
| possibly information regarding how the effect values work; could be informational and not do anything&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstSkill ====&lt;br /&gt;
imagine combining 6 friend attacks all at once :wao: (ty Chojiki for explaining how it worked)&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| internal skill id&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| name of the skill&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| info&lt;br /&gt;
| s&lt;br /&gt;
| display information for skill?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| prefixString&lt;br /&gt;
| s&lt;br /&gt;
| prefix for skill name&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| middleString&lt;br /&gt;
| s&lt;br /&gt;
| the skill name itself&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| suffixString&lt;br /&gt;
| s&lt;br /&gt;
| suffix for skill name&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillEffectId&lt;br /&gt;
| s&lt;br /&gt;
| comma seperated string of integers (i.e &amp;quot;1, 2, 3, 4&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillChrageSpeed (optional)&lt;br /&gt;
| f&lt;br /&gt;
| speed at which the skill charges (default 4f)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillSE (optional)&lt;br /&gt;
| i&lt;br /&gt;
| skill sound effect index? (default 0)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillWaitingTime (optional)&lt;br /&gt;
| i&lt;br /&gt;
| how long to wait before recharge (milliseconds?) (default 3000)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| resourceId (optional)&lt;br /&gt;
| i&lt;br /&gt;
| internal id for visual effects? (default 0)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillStartUpCondType (optional)&lt;br /&gt;
| i&lt;br /&gt;
| conditions for getting the skill pulled off? (default 0)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstAccessory ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| internal id for accessory&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| name of the accessory&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| information&lt;br /&gt;
| s&lt;br /&gt;
| flavor text&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| useCondType&lt;br /&gt;
| i&lt;br /&gt;
| ID for condition type in which this accessory can be equipped? (maybe restricted to type?)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| useCond&lt;br /&gt;
| i&lt;br /&gt;
| ID for condition?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectType&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectValue&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| salePrice&lt;br /&gt;
| i&lt;br /&gt;
| the value of the accessory in, maybe, gold?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectRarity (optional)&lt;br /&gt;
| i&lt;br /&gt;
| special effect for rarity (default 1)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== BusLevelList ====&lt;br /&gt;
No clue what this does&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| type&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| level&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| gold&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| defaultKp&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| hp&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| attack&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| addKp&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstBusParts ====&lt;br /&gt;
could possible be related to MstItem?&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| internal id referring to the bus part&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| name of the part&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| info&lt;br /&gt;
| s&lt;br /&gt;
| flavor text?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| type&lt;br /&gt;
| i&lt;br /&gt;
| type of part?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| useCondType&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| useCond&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectType&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectValue&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstLogin ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| count&lt;br /&gt;
| i&lt;br /&gt;
| how many times to login to recieve reward&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| rewardList&lt;br /&gt;
| a&lt;br /&gt;
| rewards at x amount of logins&lt;br /&gt;
	{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| type&lt;br /&gt;
	| i&lt;br /&gt;
	| type of award&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| typeValue&lt;br /&gt;
	| i&lt;br /&gt;
	| ??? value of type?&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| amount&lt;br /&gt;
	| i&lt;br /&gt;
	| the amount recieved&lt;br /&gt;
	|-&lt;br /&gt;
	|}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstCostume ====&lt;br /&gt;
suri alpaca in shoebill costume??? ehehe...&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id for costume&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| name of the costume&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| info&lt;br /&gt;
| s&lt;br /&gt;
| flavor text&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectType&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| salePrice&lt;br /&gt;
| i&lt;br /&gt;
| gold value of costume??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| colorVariation&lt;br /&gt;
| s&lt;br /&gt;
| flavor text variation?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectRarity (optional)&lt;br /&gt;
| i&lt;br /&gt;
| rarity special effect for item (default 1)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| displayGroup (optional)&lt;br /&gt;
| i&lt;br /&gt;
| ??? (default 1)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| useCondSize (optional)&lt;br /&gt;
| i&lt;br /&gt;
| i guess certain friends can't wear certain costumes based on size (default 0)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstCharacterStoryQuest ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id for the story quest&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| string name for quest&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| stamina&lt;br /&gt;
| i&lt;br /&gt;
| stamina required?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| fieldId&lt;br /&gt;
| i&lt;br /&gt;
| the field type for this quest&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| night&lt;br /&gt;
| i&lt;br /&gt;
| ah, this makes the &amp;quot;nocternal&amp;quot; field make sense; probably 0 for false, 1 for true; makes the field night-time&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| waveCount&lt;br /&gt;
| i&lt;br /&gt;
| amount of waves&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| linkMapId&lt;br /&gt;
| i&lt;br /&gt;
| next quest point on the map?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| linkAreaId&lt;br /&gt;
| i&lt;br /&gt;
| next quest point in the area?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| linkSymbolId&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| nextIds&lt;br /&gt;
| s&lt;br /&gt;
| no idea how this is formatted&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| rewardItemId&lt;br /&gt;
| i&lt;br /&gt;
| the ID of the item rewarded at the end of the quest&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| startAdvCharaId (optional)&lt;br /&gt;
| s&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| endAdvCharaId (optional)&lt;br /&gt;
| s&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| chapterSubtitle (optional)&lt;br /&gt;
| s&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| episodeSubtitle (optional)&lt;br /&gt;
| s&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstLevelMission ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id for the mission&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| string name for mission&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| information&lt;br /&gt;
| s&lt;br /&gt;
| flavor text&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| nextMissionId&lt;br /&gt;
| i&lt;br /&gt;
| the next sequential mission ID&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstBus ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id of bus&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| name of bus&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| information&lt;br /&gt;
| s&lt;br /&gt;
| flavor text&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| useCondType&lt;br /&gt;
| i&lt;br /&gt;
| condition type&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| useCond&lt;br /&gt;
| i&lt;br /&gt;
| condition&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectType&lt;br /&gt;
| i&lt;br /&gt;
| effect type ID&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectValue&lt;br /&gt;
| i&lt;br /&gt;
| value of the effect ID&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| itemId&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| groupId&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstSpecificVirtue ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| internal id for virtue&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| type&lt;br /&gt;
| i&lt;br /&gt;
| type of virtue&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| value&lt;br /&gt;
| i&lt;br /&gt;
| value of virtue&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| targetId&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| resourceId&lt;br /&gt;
| i&lt;br /&gt;
| target resource ID&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstArea ====&lt;br /&gt;
I can't figure out how this works exactly. The code is confusing.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| ID for the area&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| Name of the area&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstQuestArea ====&lt;br /&gt;
might be bugged? this doesn't take input json data&lt;br /&gt;
==== MstQuestSymbol ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id for the symbol&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| type&lt;br /&gt;
| i&lt;br /&gt;
| type of symbol&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| iconId&lt;br /&gt;
| i&lt;br /&gt;
| the internal resource ID for the icon&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| x&lt;br /&gt;
| i&lt;br /&gt;
| possibly X offset?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| y&lt;br /&gt;
| i&lt;br /&gt;
| possibly Y offset?&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstEvent ====&lt;br /&gt;
All fields are optional in this.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id for the event&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| type&lt;br /&gt;
| i&lt;br /&gt;
| type of event&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| i&lt;br /&gt;
| name for the event&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| countMstItemId&lt;br /&gt;
| i&lt;br /&gt;
| how many item IDs are involved&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| informationUrl&lt;br /&gt;
| i&lt;br /&gt;
| ??? maybe URL for additional information about the event&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== MstCampaignQuestNotice ====&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
	switch (this.NoticeType)&lt;br /&gt;
		case 1:&lt;br /&gt;
			this._APService = true;&lt;br /&gt;
			this._RaidUp = false;&lt;br /&gt;
			this._Guerrilla = false;&lt;br /&gt;
			break;&lt;br /&gt;
		case 2:&lt;br /&gt;
			this._APService = false;&lt;br /&gt;
			this._RaidUp = true;&lt;br /&gt;
			this._Guerrilla = false;&lt;br /&gt;
			break;&lt;br /&gt;
		case 3:&lt;br /&gt;
			this._APService = true;&lt;br /&gt;
			this._RaidUp = true;&lt;br /&gt;
			this._Guerrilla = false;&lt;br /&gt;
			break;&lt;br /&gt;
		case 4:&lt;br /&gt;
			this._APService = false;&lt;br /&gt;
			this._RaidUp = false;&lt;br /&gt;
			this._Guerrilla = true;&lt;br /&gt;
			break;&lt;br /&gt;
		case 5:&lt;br /&gt;
			this._APService = true;&lt;br /&gt;
			this._RaidUp = false;&lt;br /&gt;
			this._Guerrilla = true;&lt;br /&gt;
			break;&lt;br /&gt;
		case 6:&lt;br /&gt;
			this._APService = false;&lt;br /&gt;
			this._RaidUp = true;&lt;br /&gt;
			this._Guerrilla = true;&lt;br /&gt;
			break;&lt;br /&gt;
		case 7:&lt;br /&gt;
			this._APService = true;&lt;br /&gt;
			this._RaidUp = true;&lt;br /&gt;
			this._Guerrilla = true;&lt;br /&gt;
			break;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
All fields are optional in this.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id for the notice (default 0)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| noticeType&lt;br /&gt;
| i&lt;br /&gt;
| type of notice (default 0)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| displayImageName&lt;br /&gt;
| s&lt;br /&gt;
| path to image for notice? (default empty string)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| startDatetime&lt;br /&gt;
| l&lt;br /&gt;
| when the quest starts? (unix epoch time probably) (default 0, or January 1st, 1970, 00:00:00)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| endDatetime&lt;br /&gt;
| l&lt;br /&gt;
| when the quest ends? (unix epoch time) (default 0, or January 1st, 1970, 00:00:00)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstSerif ====&lt;br /&gt;
font?&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id for the serif&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| type&lt;br /&gt;
| i&lt;br /&gt;
| type of font?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| mstCharacterId&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| displaySeq&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| editType&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| serif&lt;br /&gt;
| s&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tsunko</name></author>
	</entry>
	<entry>
		<id>https://japari-library.com/index.php?title=User:Tsunko/TechInfo&amp;diff=9404</id>
		<title>User:Tsunko/TechInfo</title>
		<link rel="alternate" type="text/html" href="https://japari-library.com/index.php?title=User:Tsunko/TechInfo&amp;diff=9404"/>
		<updated>2017-10-30T05:31:49Z</updated>

		<summary type="html">&lt;p&gt;Tsunko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;tabber&amp;gt;&lt;br /&gt;
Communication=== &amp;quot;How does this game communicate!?&amp;quot; ==&lt;br /&gt;
Generally, communication is done over plain HTTP. Headers (as far as I can tell) are not used; I could be wrong on that fact, but I have no observed anything weird happening if I don't include certain headers.&amp;lt;br /&amp;gt;&lt;br /&gt;
Any encryption done uses AES128 ECB with a block and key size of 128, padding data with zeros, followed by being the encrypted result being represented in Base64.&lt;br /&gt;
Data is contained in JSON objects (typically, all data is wrapped inside of a named JSON object for some reason).&lt;br /&gt;
&lt;br /&gt;
=== Client to Server ===&lt;br /&gt;
Oddly enough, client to server ''isn't'' fully encrypted at all. If there is any encryption present, it is only done to any strings being passed from client to server. Other than that, expect plaintext.&lt;br /&gt;
&lt;br /&gt;
=== Server to Client ===&lt;br /&gt;
Data transmitted from the server is fully encrypted, however, unlike the client to server, there is no &amp;quot;nested&amp;quot; encryption. The client expects everything to be plaintext once the content is decrypted the first time.&lt;br /&gt;
|-|&lt;br /&gt;
data0.bytes=== The infamous brick wall we can't break.==&lt;br /&gt;
This file (on Android) is stored under {{#tag:code|/data/data/jp.co.nexon.kemo/files/kemofure/resources/common/common/data0.bytes}}.&amp;lt;br /&amp;gt;&lt;br /&gt;
It's loaded before either the client attempting to view the tutorial or view {{#tag:code|/mypage/get}} by class {{#tag:code|MasterData.cs}}.&amp;lt;br /&amp;gt;&lt;br /&gt;
The heart-breaking part is that it is encrypted with '''Rijndael-256''' with a block and key size of '''256''', making it practically impossible to recover the key. The default keys ({{#tag:code|appDecryptionKey}}/{{#tag:code|UtilData.AES_KEY}}) provided ({{#tag:code|QeEjSWTbFK2876yB}} or {{#tag:code|b8PWNMsYCt47YAai}}) do '''not''' work with this file; it's encrypted with a different key. However, we at least know the IV ({{#tag:code|FLXR4JXfD6Cw5jsJtj7VnferY93k4Zsg}}).&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;I have the key!&amp;quot; ===&lt;br /&gt;
Should you, or anyone else, happen to have or stumble across the decryption key (either you sniffed it or somehow logged the HTTP request), please contact me on Discord.&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;I want to help find the key!&amp;quot; ===&lt;br /&gt;
Unfortunately, while the Servals working in Nexon's programming department may have some of the most convoluted code possible (we'll call it a ''unique'' style of code), it does not look like finding the key will be something you randomly stumble across. However, here are some ways to try finding them:&lt;br /&gt;
# The most likely way to find it (and how I've been doing it) is to simply download other Nexon mobile games into an emulator with ProxyDroid setup to redirect traffic to a Fiddler instance. Look for any &amp;quot;startup&amp;quot; HTTP requests and see if they have a key. If they do, tell me them on Discord.&lt;br /&gt;
# Downloading APKs of any Nexon mobile games and decompiling them, inspecting any classes that could contain keys. Essentially, you're looking for any class that has the word &amp;quot;Crypto&amp;quot; in it, but the key could be hiding in other classes.&lt;br /&gt;
# Seeking assistance from others that could potentially have the key. This is probably the 2nd least likely, as they're probably not going to share the key (this is something that's probably sought after by many other developers). The most promising people who might have such key (or at least a decrypted copy of the data) are anons running around on the Gamerch wiki with the ID {{#tag:code|CB26BC965F}} and {{#tag:code|CFF60E1F35}}.&lt;br /&gt;
# Dressing up in a suit and walking on over to {{#tag:code|Shinkawa 2-3-1 Chuo-ku, Tokyo 104-0033 Japan}}, politely asking for the decryption key. We've tried getting Bird and Shadow on this, but they've declined :(&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;Let's recreate the file!&amp;quot; ===&lt;br /&gt;
... is our current best bet. The syntax of the file is relatively simple:&lt;br /&gt;
{{#tag:code|[number of elements]&amp;gt;[JSON elements]}}&lt;br /&gt;
The structure of the file has been documented:&lt;br /&gt;
==== MstLevel ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| level&lt;br /&gt;
| i&lt;br /&gt;
| internal ID&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| exp&lt;br /&gt;
| i&lt;br /&gt;
| possible EXP rewarded at end of level?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| maxStamina&lt;br /&gt;
| i&lt;br /&gt;
| possible stamina required? not too sure.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== MstItem ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| internal ID&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| Name of the item&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| info&lt;br /&gt;
| s&lt;br /&gt;
| Description of the item&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| unit&lt;br /&gt;
| i&lt;br /&gt;
| ??? unsure&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| itemType&lt;br /&gt;
| i&lt;br /&gt;
| internal ID referencing the type&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| itemTypeValue&lt;br /&gt;
| i&lt;br /&gt;
| unsure what it references&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| possessionLimitCount&lt;br /&gt;
| i&lt;br /&gt;
| maximum amount that can be inside inventory&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectRarity (optional)&lt;br /&gt;
| i&lt;br /&gt;
| internal ID referencing the rarity of the item (possibly just visual) (default: 1) (1-6?)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| sortNo (optional)&lt;br /&gt;
| i&lt;br /&gt;
| possible sorting index for when viewing (i.e item with sortNo 1 would be first, 2 would be second etc) (default: 1)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstCharacter ====&lt;br /&gt;
==== MstCharacter ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| internal ID&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| Name of the character&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| rarity&lt;br /&gt;
| i&lt;br /&gt;
| rarity value (knowing typical gatcha, from between minimum of 1 to maximum of 6)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| maxLevel&lt;br /&gt;
| i&lt;br /&gt;
| highest level possible with character&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| hp&lt;br /&gt;
| i&lt;br /&gt;
| base hitpoints?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| maxHp&lt;br /&gt;
| i&lt;br /&gt;
| hitpoints when fully grinded out?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| attackType&lt;br /&gt;
| i&lt;br /&gt;
| internal ID referencing the type of attack done (enum index number possibly)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| attack&lt;br /&gt;
| i&lt;br /&gt;
| default amount of damage?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| maxAttack&lt;br /&gt;
| i&lt;br /&gt;
| maximum amount of damage?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| moveSpeed&lt;br /&gt;
| i&lt;br /&gt;
| movement speed of the character (unsure of what range though)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| attackSpeed&lt;br /&gt;
| f&lt;br /&gt;
| attack speed of character (? my guess is 1.0 would mean 1 attack a second)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| attackRange&lt;br /&gt;
| i&lt;br /&gt;
| the attack range/reach of the character&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| reach&lt;br /&gt;
| i&lt;br /&gt;
| melee reach? unknown, really&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| weight&lt;br /&gt;
| i&lt;br /&gt;
| how many japari buns does this character eat :^)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| knockBack&lt;br /&gt;
| i&lt;br /&gt;
| units to move attacked unit back?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| sameAttackCount&lt;br /&gt;
| i&lt;br /&gt;
| unknown, possible how many times the character can repeat a single attack&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| attribute&lt;br /&gt;
| i&lt;br /&gt;
| attribute of character (cool, beauty, whatever else was TL'd from that attribute array)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| groupId&lt;br /&gt;
| i&lt;br /&gt;
| group id of the character (not sure&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillId&lt;br /&gt;
| i&lt;br /&gt;
| unsure, maybe the internal power skill ID the character has?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillChargeSpeed&lt;br /&gt;
| f&lt;br /&gt;
| unsure, since it's a float, i'd assume &amp;quot;1&amp;quot; is fully charged and &amp;quot;0&amp;quot; is no charge&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| readerSkillId&lt;br /&gt;
| i&lt;br /&gt;
| unsure, don't know what a reader is&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillSE&lt;br /&gt;
| i&lt;br /&gt;
| skill sound effect index?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| cost&lt;br /&gt;
| i&lt;br /&gt;
| cost to summon unit&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| limitBreakStatus&lt;br /&gt;
| a&lt;br /&gt;
| no clue&lt;br /&gt;
	{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| maxLevel&lt;br /&gt;
	| i&lt;br /&gt;
	| maximum limit breaks&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| maxHp&lt;br /&gt;
	| i&lt;br /&gt;
	| unknown, what would hp would have to do with limit breaks?&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| maxAttack&lt;br /&gt;
	| i&lt;br /&gt;
	| unknown&lt;br /&gt;
	|-&lt;br /&gt;
	|}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| goodField&lt;br /&gt;
| i&lt;br /&gt;
| field type that is beneficiel for the character&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| badField&lt;br /&gt;
| i&lt;br /&gt;
| field type that is detrimental for the character&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| nocturnal&lt;br /&gt;
| i&lt;br /&gt;
| unknown, possible time-related (owls do more damage at night or something? i wouldn't have a clue)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| critical&lt;br /&gt;
| f&lt;br /&gt;
| crit chance&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| baseCharacterId&lt;br /&gt;
| i&lt;br /&gt;
| internal base character ID, possibly for when characters evolve or have multiple rarities&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| profile&lt;br /&gt;
| s&lt;br /&gt;
| description?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| scientificName&lt;br /&gt;
| s&lt;br /&gt;
| name of the character in scientific terms (i.e Suri Alpaca is &amp;quot;Vicugna pacos&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| genus&lt;br /&gt;
| s&lt;br /&gt;
| the genus of the character (i.e Suri Alpaca is &amp;quot;Vicugna&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| redlistCode&lt;br /&gt;
| i&lt;br /&gt;
| conversation status?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| word&lt;br /&gt;
| s&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| voiceArtist&lt;br /&gt;
| s&lt;br /&gt;
| seiyuu&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| size&lt;br /&gt;
| i&lt;br /&gt;
| size of the character (unknown units)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| specificVirtue&lt;br /&gt;
| a&lt;br /&gt;
| ???&lt;br /&gt;
	{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| mstEventId&lt;br /&gt;
	| i&lt;br /&gt;
	| ???&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| mstSpecificVirtue&lt;br /&gt;
	| i&lt;br /&gt;
	| ???&lt;br /&gt;
	|-&lt;br /&gt;
	|}&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| maxLimitBreakReducePercent (optional)&lt;br /&gt;
| i&lt;br /&gt;
| ??? (default: 0)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectRarity (optional)&lt;br /&gt;
| i&lt;br /&gt;
| rarity of the character's special effect? unsure. (default: 1) (1-6?)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| eventLimitBreakFlag (optional)&lt;br /&gt;
| i&lt;br /&gt;
| unknown (default: 0)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| tieUpFlag (optional)&lt;br /&gt;
| i&lt;br /&gt;
| unknown; also... :2lewd: (default: 0)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstCharacterRarity ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| rarity&lt;br /&gt;
| i&lt;br /&gt;
| rarity of a character? (1-6)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| salePrice&lt;br /&gt;
| i&lt;br /&gt;
| possibly how much they cost?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| dropPercent&lt;br /&gt;
| i&lt;br /&gt;
| chance to get character&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| maxLimitBreakCount&lt;br /&gt;
| i&lt;br /&gt;
| maximum amount of times the character can be limit broken&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| stockExp&lt;br /&gt;
| i&lt;br /&gt;
| amount of xp when obtained? (default: based on rarity, can be: 0, 500, 1000, 2000, 5000, 10000)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| maxLimitBreakReduceCoin&lt;br /&gt;
| i&lt;br /&gt;
| ??? (default: based on rarity, can be 0, 0, 0, 30, 100, 300)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstLevelCharacter ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| characterLevelList&lt;br /&gt;
| a&lt;br /&gt;
| possibly referencing data per level (how much to get to this level, etc)&lt;br /&gt;
	{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| level&lt;br /&gt;
	| i&lt;br /&gt;
	| not much to say; it's the level&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| exp&lt;br /&gt;
	| i&lt;br /&gt;
	| exp required?&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| limitBreakStep&lt;br /&gt;
	| i&lt;br /&gt;
	| ???&lt;br /&gt;
	|-&lt;br /&gt;
	|}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstUpGrade ====&lt;br /&gt;
I actually don't know what this is used for.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| level&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| cost&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| hp&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| attack&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| knockback&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| weight&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| hpRecover&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstKemonoLevelUp ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| getUp&lt;br /&gt;
| f&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| recoverSpeed&lt;br /&gt;
| f&lt;br /&gt;
| ??? how fast to recover per second? or something?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| needKp&lt;br /&gt;
| i&lt;br /&gt;
| ?? unknown&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstGroup ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| internal group id&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| name of group&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| information&lt;br /&gt;
| s&lt;br /&gt;
| possibly description or profile&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectValues&lt;br /&gt;
| s&lt;br /&gt;
| a string of integers, seperated by commas (i.e &amp;quot;1, 2, 3, 4, 5&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| members&lt;br /&gt;
| s&lt;br /&gt;
| a string of members, seperated by commas (i.e &amp;quot;a, b, c&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| prefixString&lt;br /&gt;
| s&lt;br /&gt;
| prefix for the group for its members&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| suffixString&lt;br /&gt;
| s&lt;br /&gt;
| suffix for the group for its members&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectInformation&lt;br /&gt;
| s&lt;br /&gt;
| possibly information regarding how the effect values work; could be informational and not do anything&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstSkill ====&lt;br /&gt;
imagine combining 6 friend attacks all at once :wao: (ty Chojiki for explaining how it worked)&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| internal skill id&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| name of the skill&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| info&lt;br /&gt;
| s&lt;br /&gt;
| display information for skill?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| prefixString&lt;br /&gt;
| s&lt;br /&gt;
| prefix for skill name&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| middleString&lt;br /&gt;
| s&lt;br /&gt;
| the skill name itself&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| suffixString&lt;br /&gt;
| s&lt;br /&gt;
| suffix for skill name&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillEffectId&lt;br /&gt;
| s&lt;br /&gt;
| comma seperated string of integers (i.e &amp;quot;1, 2, 3, 4&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillChrageSpeed (optional)&lt;br /&gt;
| f&lt;br /&gt;
| speed at which the skill charges (default 4f)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillSE (optional)&lt;br /&gt;
| i&lt;br /&gt;
| skill sound effect index? (default 0)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillWaitingTime (optional)&lt;br /&gt;
| i&lt;br /&gt;
| how long to wait before recharge (milliseconds?) (default 3000)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| resourceId (optional)&lt;br /&gt;
| i&lt;br /&gt;
| internal id for visual effects? (default 0)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| skillStartUpCondType (optional)&lt;br /&gt;
| i&lt;br /&gt;
| conditions for getting the skill pulled off? (default 0)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstAccessory ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| internal id for accessory&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| name of the accessory&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| information&lt;br /&gt;
| s&lt;br /&gt;
| flavor text&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| useCondType&lt;br /&gt;
| i&lt;br /&gt;
| ID for condition type in which this accessory can be equipped? (maybe restricted to type?)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| useCond&lt;br /&gt;
| i&lt;br /&gt;
| ID for condition?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectType&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectValue&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| salePrice&lt;br /&gt;
| i&lt;br /&gt;
| the value of the accessory in, maybe, gold?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectRarity (optional)&lt;br /&gt;
| i&lt;br /&gt;
| special effect for rarity (default 1)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== BusLevelList ====&lt;br /&gt;
No clue what this does&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| type&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| level&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| gold&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| defaultKp&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| hp&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| attack&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| addKp&lt;br /&gt;
| f&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstBusParts ====&lt;br /&gt;
could possible be related to MstItem?&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| internal id referring to the bus part&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| name of the part&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| info&lt;br /&gt;
| s&lt;br /&gt;
| flavor text?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| type&lt;br /&gt;
| i&lt;br /&gt;
| type of part?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| useCondType&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| useCond&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectType&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectValue&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstLogin ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| count&lt;br /&gt;
| i&lt;br /&gt;
| how many times to login to recieve reward&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| rewardList&lt;br /&gt;
| a&lt;br /&gt;
| rewards at x amount of logins&lt;br /&gt;
	{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| type&lt;br /&gt;
	| i&lt;br /&gt;
	| type of award&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| typeValue&lt;br /&gt;
	| i&lt;br /&gt;
	| ??? value of type?&lt;br /&gt;
	|-&lt;br /&gt;
	! scope=&amp;quot;row&amp;quot;| amount&lt;br /&gt;
	| i&lt;br /&gt;
	| the amount recieved&lt;br /&gt;
	|-&lt;br /&gt;
	|}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstCostume ====&lt;br /&gt;
suri alpaca in shoebill costume??? ehehe...&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id for costume&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| name of the costume&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| info&lt;br /&gt;
| s&lt;br /&gt;
| flavor text&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectType&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| salePrice&lt;br /&gt;
| i&lt;br /&gt;
| gold value of costume??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| colorVariation&lt;br /&gt;
| s&lt;br /&gt;
| flavor text variation?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectRarity (optional)&lt;br /&gt;
| i&lt;br /&gt;
| rarity special effect for item (default 1)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| displayGroup (optional)&lt;br /&gt;
| i&lt;br /&gt;
| ??? (default 1)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| useCondSize (optional)&lt;br /&gt;
| i&lt;br /&gt;
| i guess certain friends can't wear certain costumes based on size (default 0)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstCharacterStoryQuest ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id for the story quest&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| string name for quest&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| stamina&lt;br /&gt;
| i&lt;br /&gt;
| stamina required?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| fieldId&lt;br /&gt;
| i&lt;br /&gt;
| the field type for this quest&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| night&lt;br /&gt;
| i&lt;br /&gt;
| ah, this makes the &amp;quot;nocternal&amp;quot; field make sense; probably 0 for false, 1 for true; makes the field night-time&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| waveCount&lt;br /&gt;
| i&lt;br /&gt;
| amount of waves&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| linkMapId&lt;br /&gt;
| i&lt;br /&gt;
| next quest point on the map?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| linkAreaId&lt;br /&gt;
| i&lt;br /&gt;
| next quest point in the area?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| linkSymbolId&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| nextIds&lt;br /&gt;
| s&lt;br /&gt;
| no idea how this is formatted&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| rewardItemId&lt;br /&gt;
| i&lt;br /&gt;
| the ID of the item rewarded at the end of the quest&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| startAdvCharaId (optional)&lt;br /&gt;
| s&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| endAdvCharaId (optional)&lt;br /&gt;
| s&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| chapterSubtitle (optional)&lt;br /&gt;
| s&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| episodeSubtitle (optional)&lt;br /&gt;
| s&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstLevelMission ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id for the mission&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| string name for mission&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| information&lt;br /&gt;
| s&lt;br /&gt;
| flavor text&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| nextMissionId&lt;br /&gt;
| i&lt;br /&gt;
| the next sequential mission ID&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstBus ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id of bus&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| name of bus&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| information&lt;br /&gt;
| s&lt;br /&gt;
| flavor text&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| useCondType&lt;br /&gt;
| i&lt;br /&gt;
| condition type&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| useCond&lt;br /&gt;
| i&lt;br /&gt;
| condition&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectType&lt;br /&gt;
| i&lt;br /&gt;
| effect type ID&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| effectValue&lt;br /&gt;
| i&lt;br /&gt;
| value of the effect ID&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| itemId&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| groupId&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstSpecificVirtue ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| internal id for virtue&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| type&lt;br /&gt;
| i&lt;br /&gt;
| type of virtue&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| value&lt;br /&gt;
| i&lt;br /&gt;
| value of virtue&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| targetId&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| resourceId&lt;br /&gt;
| i&lt;br /&gt;
| target resource ID&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstArea ====&lt;br /&gt;
I can't figure out how this works exactly. The code is confusing.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| ID for the area&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| s&lt;br /&gt;
| Name of the area&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstQuestArea ====&lt;br /&gt;
might be bugged? this doesn't take input json data&lt;br /&gt;
==== MstQuestSymbol ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id for the symbol&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| type&lt;br /&gt;
| i&lt;br /&gt;
| type of symbol&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| iconId&lt;br /&gt;
| i&lt;br /&gt;
| the internal resource ID for the icon&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| x&lt;br /&gt;
| i&lt;br /&gt;
| possibly X offset?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| y&lt;br /&gt;
| i&lt;br /&gt;
| possibly Y offset?&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstEvent ====&lt;br /&gt;
All fields are optional in this.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id for the event&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| type&lt;br /&gt;
| i&lt;br /&gt;
| type of event&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| name&lt;br /&gt;
| i&lt;br /&gt;
| name for the event&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| countMstItemId&lt;br /&gt;
| i&lt;br /&gt;
| how many item IDs are involved&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| informationUrl&lt;br /&gt;
| i&lt;br /&gt;
| ??? maybe URL for additional information about the event&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== MstCampaignQuestNotice ====&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
	switch (this.NoticeType)&lt;br /&gt;
		case 1:&lt;br /&gt;
			this._APService = true;&lt;br /&gt;
			this._RaidUp = false;&lt;br /&gt;
			this._Guerrilla = false;&lt;br /&gt;
			break;&lt;br /&gt;
		case 2:&lt;br /&gt;
			this._APService = false;&lt;br /&gt;
			this._RaidUp = true;&lt;br /&gt;
			this._Guerrilla = false;&lt;br /&gt;
			break;&lt;br /&gt;
		case 3:&lt;br /&gt;
			this._APService = true;&lt;br /&gt;
			this._RaidUp = true;&lt;br /&gt;
			this._Guerrilla = false;&lt;br /&gt;
			break;&lt;br /&gt;
		case 4:&lt;br /&gt;
			this._APService = false;&lt;br /&gt;
			this._RaidUp = false;&lt;br /&gt;
			this._Guerrilla = true;&lt;br /&gt;
			break;&lt;br /&gt;
		case 5:&lt;br /&gt;
			this._APService = true;&lt;br /&gt;
			this._RaidUp = false;&lt;br /&gt;
			this._Guerrilla = true;&lt;br /&gt;
			break;&lt;br /&gt;
		case 6:&lt;br /&gt;
			this._APService = false;&lt;br /&gt;
			this._RaidUp = true;&lt;br /&gt;
			this._Guerrilla = true;&lt;br /&gt;
			break;&lt;br /&gt;
		case 7:&lt;br /&gt;
			this._APService = true;&lt;br /&gt;
			this._RaidUp = true;&lt;br /&gt;
			this._Guerrilla = true;&lt;br /&gt;
			break;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
All fields are optional in this.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id for the notice (default 0)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| noticeType&lt;br /&gt;
| i&lt;br /&gt;
| type of notice (default 0)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| displayImageName&lt;br /&gt;
| s&lt;br /&gt;
| path to image for notice? (default empty string)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| startDatetime&lt;br /&gt;
| l&lt;br /&gt;
| when the quest starts? (unix epoch time probably) (default 0, or January 1st, 1970, 00:00:00)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| endDatetime&lt;br /&gt;
| l&lt;br /&gt;
| when the quest ends? (unix epoch time) (default 0, or January 1st, 1970, 00:00:00)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== MstSerif ====&lt;br /&gt;
font?&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Field Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Comment&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| id&lt;br /&gt;
| i&lt;br /&gt;
| id for the serif&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| type&lt;br /&gt;
| i&lt;br /&gt;
| type of font?&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| mstCharacterId&lt;br /&gt;
| i&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| displaySeq&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| editType&lt;br /&gt;
| i&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| serif&lt;br /&gt;
| s&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tsunko</name></author>
	</entry>
	<entry>
		<id>https://japari-library.com/index.php?title=User:Tsunko/TechInfo&amp;diff=9403</id>
		<title>User:Tsunko/TechInfo</title>
		<link rel="alternate" type="text/html" href="https://japari-library.com/index.php?title=User:Tsunko/TechInfo&amp;diff=9403"/>
		<updated>2017-10-30T04:48:38Z</updated>

		<summary type="html">&lt;p&gt;Tsunko: Created page with &amp;quot;&amp;lt;tabber&amp;gt; Communication=== &amp;quot;How does this game communicate!?&amp;quot; == Generally, communication is done over plain HTTP. Headers (as far as I can tell) are not used; I could be wrong...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;tabber&amp;gt;&lt;br /&gt;
Communication=== &amp;quot;How does this game communicate!?&amp;quot; ==&lt;br /&gt;
Generally, communication is done over plain HTTP. Headers (as far as I can tell) are not used; I could be wrong on that fact, but I have no observed anything weird happening if I don't include certain headers.&amp;lt;br /&amp;gt;&lt;br /&gt;
Any encryption done uses AES128 ECB with a block and key size of 128, padding data with zeros, followed by being the encrypted result being represented in Base64.&lt;br /&gt;
Data is contained in JSON objects (typically, all data is wrapped inside of a named JSON object for some reason).&lt;br /&gt;
&lt;br /&gt;
=== Client to Server ===&lt;br /&gt;
Oddly enough, client to server ''isn't'' fully encrypted at all. If there is any encryption present, it is only done to any strings being passed from client to server. Other than that, expect plaintext.&lt;br /&gt;
&lt;br /&gt;
=== Server to Client ===&lt;br /&gt;
Data transmitted from the server is fully encrypted, however, unlike the client to server, there is no &amp;quot;nested&amp;quot; encryption. The client expects everything to be plaintext once the content is decrypted the first time.&lt;br /&gt;
|-|&lt;br /&gt;
data0.bytes=== The infamous brick wall we can't break.==&lt;br /&gt;
This file (on Android) is stored under {{#tag:code|/data/data/jp.co.nexon.kemo/files/kemofure/resources/common/common/data0.bytes}}.&amp;lt;br /&amp;gt;&lt;br /&gt;
It's loaded before either the client attempting to view the tutorial or view {{#tag:code|/mypage/get}} by class {{#tag:code|MasterData.cs}}.&amp;lt;br /&amp;gt;&lt;br /&gt;
The heart-breaking part is that it is encrypted with '''Rijndael-256''' with a block and key size of '''256''', making it practically impossible to recover the key. The default keys ({{#tag:code|appDecryptionKey}}/{{#tag:code|UtilData.AES_KEY}}) provided ({{#tag:code|QeEjSWTbFK2876yB}} or {{#tag:code|b8PWNMsYCt47YAai}}) do '''not''' work with this file; it's encrypted with a different key. However, we at least know the IV ({{#tag:code|FLXR4JXfD6Cw5jsJtj7VnferY93k4Zsg}}).&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;I have the key!&amp;quot; ===&lt;br /&gt;
Should you, or anyone else, happen to have or stumble across the decryption key (either you sniffed it or somehow logged the HTTP request), please contact me on Discord.&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;I want to help find the key!&amp;quot; ===&lt;br /&gt;
Unfortunately, while the Servals working in Nexon's programming department may have some of the most convoluted code possible (we'll call it a ''unique'' style of code), it does not look like finding the key will be something you randomly stumble across. However, here are some ways to try finding them:&lt;br /&gt;
# The most likely way to find it (and how I've been doing it) is to simply download other Nexon mobile games into an emulator with ProxyDroid setup to redirect traffic to a Fiddler instance. Look for any &amp;quot;startup&amp;quot; HTTP requests and see if they have a key. If they do, tell me them on Discord.&lt;br /&gt;
# Downloading APKs of any Nexon mobile games and decompiling them, inspecting any classes that could contain keys. Essentially, you're looking for any class that has the word &amp;quot;Crypto&amp;quot; in it, but the key could be hiding in other classes.&lt;br /&gt;
# Seeking assistance from others that could potentially have the key. This is probably the 2nd least likely, as they're probably not going to share the key (this is something that's probably sought after by many other developers). The most promising people who might have such key (or at least a decrypted copy of the data) are anons running around on the Gamerch wiki with the ID {{#tag:code|CB26BC965F}} and {{#tag:code|CFF60E1F35}}.&lt;br /&gt;
# Dressing up in a suit and walking on over to {{#tag:code|Shinkawa 2-3-1 Chuo-ku, Tokyo 104-0033 Japan}}, politely asking for the decryption key. We've tried getting Bird and Shadow on this, but they've declined :(&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tsunko</name></author>
	</entry>
	<entry>
		<id>https://japari-library.com/index.php?title=User:Tsunko&amp;diff=9402</id>
		<title>User:Tsunko</title>
		<link rel="alternate" type="text/html" href="https://japari-library.com/index.php?title=User:Tsunko&amp;diff=9402"/>
		<updated>2017-10-30T04:02:02Z</updated>

		<summary type="html">&lt;p&gt;Tsunko: Created page with &amp;quot;Hi; I'm just someone working on the KemoFure Nexon server emulator.  You can get technical information about the game here: /TechInfo&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi; I'm just someone working on the KemoFure Nexon server emulator.&lt;br /&gt;
&lt;br /&gt;
You can get technical information about the game here:&lt;br /&gt;
[[/TechInfo]]&lt;/div&gt;</summary>
		<author><name>Tsunko</name></author>
	</entry>
</feed>