How To: View Game Assets

In order to get accurate drop rates, quest rewards, and everything else, it is best to find the information directly from the game assets.

## Extracting Game Assets

### Prerequisites

* A PC
* 7-Zip or another zip file extractor
* AssetStudio for opening Unity assets
* WinMerge if comparing changes between versions
* Some technical savvy

Do not use AssetBundleExtractor (UABE), the latest version reports as a virus and older versions do not work.

### Extracting

1. Download a copy of the latest Android version .xapk file from a **trustworthy** source like apkpure or apkcombo. Be careful, some sites advertise modded versions of the game. *An .xapk file contains binary code and other files which could be replaced by a malicious person to execute unsafe code on your computer, so do so at your own risk and verify your sources.*
2. Extract the files from the `.xapk` file, which is just basically a zip file. You can rename the file to `.zip` if your extractor doesn't recognize the file as an archive.
3. Extract the files from the `com.pixodust.games.free.rpg.medieval.merge.puzzle.empire.apk` file, which is just basically a zip file, same as above.
4. Load the file `data.unity3d` in AssetStudio, which is typically in `assets\bin\Data`
5. Switch to the Asset List tab. You can use the Filter Type menu to filter by type. The most important asset types are TextAsset (text files) and Sprite (images).
6. Extract the assets for easier viewing

### Sprites

If you are considering converting sprite for use on the wiki, please see How To: Format Images

### Text Assets

Text assets store information in JSON format. An easy way to view this is to make the text more readable by "pretty" printing it. One tool is https://jsonformatter.org/json-pretty-print, just copy and paste.

Items are referred to by their Item Ids. Coins are referred to as "soft currency" or "sc" and gems are "hard currency" or "hc".

This is a list of the information in each text asset.

* achievement-settings - achievements for Apple and Google Play
* backpack-settings - how many items each level of the Backpack item can hold
* BillingMode - setting for determining if the Shop connects to Apple or Google Play
* board-item-settings - details about all the Items and Generators. **Most interesting**
* bubble-settings - drop rate of bubbles for different items when merging and how much the bubbles cost to unlock
* bundle-offer-settings - how many merges between offering a bundle from the shop
* catalog-settings - current gem bundles in the store
* cobweb-unlock-settings - how much it costs to remove the cobweb from an item
* cutscene-settings - details on when cutscenes are triggered
* daily-quest-cycle-settings - list of daily quests rewards
* daily-quest-settings - list of daily quests
* daily-sale-settings - items for sale once everyday Piggybank, Cauldron, Hourglass
* energy-settings - controls max energy, energy recharge and recharge costs/rewards
* feature-unlock-settings - details on what points different features are unlocked in the game, like the Shop
* first-board-settings - new game board setup
* flash-sale-settings - list of flash sale (daily shop) item slots, let you know where are the item you can buy each currency and the amount
* game-session-settings - game save settings
* hard-currency-settings - starting gems and how many gems it takes per minute to unlock a chest
* helper-indicator-settings -
* iap-settings - list of thing you can buy in shop (for real money) + list of bundle (permanent shop bundle AND limited time offer bundle)
* iap-tracking-settings - facebook is tracking you...
* inventory-entry-purchase-catalog - cost of each slot in the Inventory
* item-sale-catalog-settings - how much you can sell item depending on the level
* level-progression-settings - xp required for each Level
* LineBreaking Following Characters - used to add line breaks near characters in different languages
* LineBreaking Leading Characters - used to add line breaks near characters in different languages
* local-notification-settings - notification triggers
* narrative-settings - cutscene portrait animation and text
* night-area-settings - quest id when night starts and ends
* notification-popup-settings - popup settings that tell you about notifications
* quest-config-settings - max amount of quests available at once
* quest-settings - quests and rewards. **Interesting**
* random-treasure-settings - setting and reward you can get from treasure reward (offer that pop randomly)
* review-popup-settings - when to prompt the player for a review
* review-settings - when to stop promptting the player for a review
* reward-auto-collect-settings - automatically collect gems from certain quests instead of dropping the item
* rigged-item-cooldown-settings -
* rigged-item-settings - drop specific items on first use of an generator type as a tutorial?
* scaling-price-sale-settings - price increment of boxes sold in shop
* shop-bundle-settings - current bundles in the store
* shop-refresh-settings - how much it costs to refresh the flash sale and how often
* source-accelerator-settings - pocket watch details. **Interesting**
* source-drop-limiter-settings - limits jewel drop chances when jewel boxes have been merged
* source-refresh-settings - how much it costs to recharge a generators
* source-reward-popup-settings - items that are show as drops for generators
* task-event-settings -
* tutorial-settings - tutorial triggers
* unlock-sell-settings - unlocks after what quests can certain items be sold
* VersionInfo - contains the build number of the app

### Comparing Versions

Its easiest to find new updates by comparing the old version to the new version with a diff tool such as WinMerge.

1. Follow the extract instructions to extract all text assets from the old version
2. Follow the extract instructions to extract all text assets from the new version to a different folder.
3. Open the old version folder as "Folder 1" and the new version folder as "Folder 2" in WinMerge and click "Compare"
4. You will have a list of differences
	* "Text Files Are Different" - individual details different and require more comparison
		+ Double click on the file to open text comparison.
		+ From the menu select Plugins -> Unpacker -> Prettification -> Prettify JSON to add line breaks and make it easier to read
		+ Click "Next Difference" to find each difference.
	* "Left Only" - this file was removed in the new version so it's not used anymore
	* "Right Only" - this file was added in the new version so it's all new