Hacking TinyTower

I finally got around to poking at the contents of the TinyTower app on my new iPhone 4s :D.

I’ll have some screenshots of my modifications up soon, but for now I just wanted to do a quick overview of what I have currently achieved and discovered.

First of all, I’m working in the “TinyTower” Folder. I’ve pointed out the key directories and files below.

TinyTower

> Documents
backup.txt
game.txt
mission.plist

> Library > Preferences
com.apple.PeoplePicker.plist
com.eeenmachine.tinytowers.plist

> Tiny Tower.app # Sound files are located here along with most game images.
achivements.plist
bb_events.plist
CodeResources
costumes.csv
finder.plist
floors.csv
Info.plist
ResourceRules.plist
sample_missions.plist
silkscreen.fnt
Tiny Tower
tips.plist

ATTENTION!
BEFORE YOU CONTINUE PLEASE MAKE A FULL BACKUP OF YOUR TINYTOWER FOLDER!

Editing Mission Rewards:
If you want to make your missions more rewarding, challenging or just easier, you’ll want to edit the missions.plist file. Although you can do this using a simple text editor. You may find a .plist editor or Xcode easier to read.

Let’s review the following data taken from within the missions.plist file.
<dict>
<key>bitCostume</key>
<string>madhatter</string>
<key>bitSeed</key>
<string>1234567</string>
<key>description</key>
<string>A Mad Hatter is thowing a absolutely mad tea party and needs the following:N</string>
<key>name</key>
<string>One Mad Tea Party</string>
<key>products</key>
<string>2:0:1500,14:0:2800</string>
<key>reward</key>
<string>1</string>
</dict>

First off I couldn’t help but notice the typo “thowing” which of course should be “throwing”.
But were not here to correct typos so lets move on…

Reward

Obviously to change the reward for this mission we would just change the <string> value of “1” under the <reward> key to a value of say “50”. Like so…

<key>reward</key>
<string>50</string>

You can of course make this any number you want.

Product

If you feel guilty about setting the value of your reward to 50 why not increase the supply requirements?

<key>products</key>
<string>2:0:1500,14:0:2800</string>

Here we see a <string> value that is simply specifying the quantity of the products required in the mission.

2:0:1500 = 1500 Green Tea’s
14:0:2800 = 2800 Cookies

So to make things a little more challenging we would do the following…

 

<key>products</key>
<string>2:0:3000,14:0:5600</string>

or why not make things even more of challenging, and add a third item requirement!

<key>products</key>
<string>2:0:1500,14:0:2800,90:0:500</string>

 

Understanding bitCostume:

<key>bitCostume</key>
<string>madhatter</string>

Think of the as the name or id. And the string as the value. In this case the is “bitCostume” which is referring to the icon of the character next to the mission. So naturally the character we would want as our value is the madhatter. You can find the list of characters in the costumes.csv file or you can add your own to this list and use that. The costumes.csv file lists the “madhatter” as the following: mad hatter,madhatter,5,255.159.74

You’re probably wondering what those numbers are right?

Name: mad hatter
File: madhatter
Costume: 5
Shoes: 255.159.74

Now believe it or not, the numbers for the shoes are simply decimal colour codes used in CSS and most graphic tools.

Here is a chart if you want to change the shoes colours.
http://html-color-codes.com/rgb.html

And as far as I can tell the Costume options are limited to the digits 3, and 5. I did a quick test and changing the value from 5 to 3 didn’t change anything visibly. So I’m not yet sure what this is for.

 

Editing floors.csv:

First off, this is a critical file, one wrong edit and even a backup won’t save you from re-installing.
Not to fear though, although everything will return to normal, you can safely delete and re-install this game as the game.txt file contains all important data and is saved on the TinyTower Servers. After you re-install you’ll find everything just the way it was before the corruption.

The “floors.csv” file is located in the Directory “~/TinyTower/Tiny Tower.app/floors.csv”

Each single line consists of a single floors name and products. I’ve cleaned up a line as an example for easy viewing.

Index: 0
Name: Sushi Bar
Type: 0
Level: 1
ProductA: California Roll
ProductB: Tuna Sushi
ProductC: Sea Urchin

Each product is followed by the time it will take complete. The longer it takes to complete the more it costs, and a higher quantity is produced.

Example: Sea Urchin:25

UPDATE: Jan 18th 11:20PM
The index number is the id of the floor.
Example 1: The Pizza place ID is “12”, pub is “97”, then you add the type like so 12:1 (6Pack of Cola) or 97:1 (Pizza)

The 1st item is 0 then 1, and 2.
Example 2: The Tea House ID would be “2” and Green Tea would be “0”, Dumplings would be “1”, and Pork Katsu would be “2”.

You can add items to a floor like so…
2:0:150,2:1:350,2:2:500
Floor ID:Item:Quantity. “,” is used to separate the items.

UPDATE: LMAO! You can just tap the floor you want to rename then at the top where the name is tap it and edit it xD of course I like my way better, besides you can use special characters you can’t use the legit way 😛

I’ll be adding more to this post later, starting with “com.eeenmachine.tinytowers.plist” and how to use this file to make fast gold. As well as customizing the BB (Bit Book) Statuses!

Advertisements

2 thoughts on “Hacking TinyTower

  1. DNA Post author

    @Jen
    Just drag a copy of the file or folders to your desktop or other device for safe keeping.

    You can use iFunBox or iExplorer to do this.

    P.S.
    Sorry it took me so long to reply, I have to read through thousands of spam postings and it’s easy to overlook a little comment.

    Like

    Reply

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s