Plants vs. Zombies 2 Hacking Guide/pp.dat

This guide will show you how to edit your pp.dat. You better be ready, because I'm only going through this, not how to convert the pp.dat to JSON then back to RTON.

\*If you have multiple profiles, make sure you are editing the right one. It should be the one under your player name.

\*You can change counts to anything you please, but do not go beyond 2,147,483,647, or the game will overflow and numbers will go negative.

\*Do not add any commas in counts.

## Enable Gems

Scroll down until you see a "**v"**. This integer takes care of some version number. Setting it to **8** removes all your gems when you start your profile. (Default is **9**) (It could have other side-effects)

## Edit Name

Scroll down until you see a "**n**". This string takes care of your profile name. Edit it to the name you want if the game won't let you pick it.

## Accept Updated Terms

Scroll down until you see a "**v**", this is a timestamp of when you created your profile. Setting it to long ago will ask you to accept the updated terms. **DON'T DELETE THIS NODE OR YOU'LL SOFTLOCK.**

## Edit Coin Count

Scroll down until you see a "**c**". This integer takes care of the number of coins you have. Edit it to the amount you want.

## Edit Gem Count

Scroll down until you see a "**g**". This integer takes care of the number of gems you have. Edit it to the amount you want.

## Edit Gauntlet Count

Scroll down until you see a "**t**". This integer takes care of the number of gauntlets you have. Edit it to the amount you want.

## Edit Mint Count

Scroll down until you see an "**m**". This integer takes care of the number of mints you have. Edit it to the amount you want.

## Edit Penny Fuel Count

Scroll down until you see a "**pf**". This integer takes care of the number of fuel you have. Edit it to the amount you want.

## Edit Perk Progression Count

Scroll down until you see a "**pt**". This integer takes care of the progression number you have. Edit it to the amount you want. Note, Perk Progression will reset to 0 whenever a new Penny's Pursuit week start.

## Edit which Plants you have

Scroll down until you see a "**p**". Click the **+** to expand and you will see a list of numbers. Each plant has their own number ID. For a list of plant IDs, click here (numerical). If you want to remove a plant, click on the plant's corresponding number ID and press delete. If you want to add a plant, right click on the "p" and select "add child", change the "Node type" from "string" to "integer" and type in the plant's number ID you want to add. A faster way is to highlight the lowest one on the list, press Crtl + D, which will duplicate it, and then edit the duplicated to a different value.

## Edit Events

Scroll down until you see a "**tei**". Click the **+** to expand and you will see a list of objects.

### e

This seems to control the energy you have available. Default 80.

**ae**

Appears to be a Unix Timestamp of when the event started.

## Edit which Zombie almanacs you have

Scroll down until you see a "**kz**". Click the **+** to expand and you will see a list of numbers. Each zombie has their own number ID. For a list of zombie IDs, click here. If you want to remove a zombie, click on the zombie's corresponding number ID and press delete. If you want to add a zombie, right click on the "kz" and select "add child", change the "Node type" from "string" to "integer" and type in the zombie's number ID you want to add. A faster way is to highlight the lowest one on the list, press Crtl + D, which will duplicate it, and then edit the duplicated to a different value. Note: not every single zombie in the game's code has a unique ID, so if it's not in the ID list then it doesn't have one.

## Edit world map event data

Scroll down until you see "**wmed**", right click on it, go to Expand, 2 Levels. You'll see a list of worlds with the levels you've unlocked. Any node that is not listed I have no knowledge of, edit at your own risk.

### w

"**w**" takes care of the world ID. For a list of world IDs, click here (numerical).

### e

For "**e**", click the **+** to expand and you will see a list of objects. These are the levels you've completed. For a list of level IDs, click here (numerical).

## Edit which Upgrades and World Trophies you have

Scroll down until you see "**gf**". Click the **+** to expand and you will see a list of numbers. Each Upgrade and World Trophy has their own number ID. For a list of Upgrade and World Trophy IDs, click here (numerical). If you want to remove an upgrade or world trophy, click on the upgrade or world trophy's corresponding number ID and press delete. If you want to add one, right click on the "p" and select "add child", change the "Node type" from "string" to "integer" and type in the corresponding number ID you want to add. A faster way is to highlight the lowest one on the list, press Crtl + D, which will duplicate it, and then edit the duplicated to a different value.

## Edit which Narration you have seen

Scroll down until you see "**ne**". Click the **+** to expand and you will see a list of numbers. This takes care of each narrative you have seen in-game. For a list of narration IDs, click here.

## Travel Log Dialog Data ***(unspecified)***

Scroll down until you see "**ct**". This seems to take care of whether the Travel Log's intro dialog has been triggered, as deleting it will cause the Travel Log intro dialog to play.

## Edit your Endless Zones

Scroll down until you see "**dri**", right click on it, go to Expand, 2 Levels. You will see a list of Endless Zones you have unlocked. Any node that is not listed I have no knowledge of, edit at your own risk.

### wn

"**wn**" takes care of the world's Endless Zone, which should otherwise be easy to guess. Do not edit this.

### cl

"**cl**" is the current level you are in the Endless Zone. Edit it to the amount you want.

### hl

"**hl**" is the high score of your Endless Zone. Edit it to the amount you want.

### pfco

"**pfco**" is the amount of Plant Food you have stored, although setting it higher than your Plant Food slots will yield no extra. Edit it to the amount you want.

### l

"**l**" is the amount of lawn mowers you have left. But it isn't as simple as setting a number, as each set up actually has their own ID. For a list of lawn mower set up IDs, click here . Any number divisible by 2 will just give you the Game Over screen, and any other odd number after 63 will just repeat the table.

### sb

For "**sb**", click the **+** to expand and you will see a list of numbers. These are the current plants you have with you in an Endless Zone. For a list of plant IDs, click here (numerical).

### hr

"**hr**" is a boolean which determines if this level will draw a card. If set to False, it will not. If True, then yes.

### ts

"**ts**" is likely the last time when you played an Endless Zone. The value is written in Unix Timestamp, you will need to PvZ2Tool to convert it into the date/time form. It is not necessary to edit this.

## Edit which Costumes you have

Scroll down until you see "**cos**". Click the **+** to expand and you will see a list of numbers. Each costume has their own number ID. For a list of costume IDs, click here. If you want to add a costume, right click on "cos" and select "add child", change the "Node type" from "string" to "integer" and type in the costume ID you want to add. A faster way is to highlight the lowest one on the list, press Crtl + D, which will duplicate it, and then edit the duplicated to a different value.

## Edit Powerups Count

Scroll down until you see "**pr**", right click on it, go to Expand, All. You will see a list of powerups you have unlocked. "**n**" takes care of the powerup type, which should otherwise be easy to identify see list of GameFeatures. "**i**" takes care of the corresponding powerup's count. Edit it to the amount you want.

## Edit Treasure Yeti in which level

Scroll down until you see "**tyi**", this controls in which level a Yeti will spawn.

## Edit your Zen Garden

Scroll down until you see "**gpi**", right click on it, go to Expand, All. You should see a list of plants you have in your Zen Garden. If the node is not present, go to your Zen Garden and plant a sprout. Any node that is not listed I have no knowledge of, edit at your own risk.

### p

This is the plant's ID. For a list of plant IDs, click here (numerical).

### k

The plant's flower pot position. Each position has its own ID, click here for the flower pot positions. Any other number will not make the plant appear.

### s

The stage the plant is currently on.

* 0 - Will not make the plant appear.
* 1 - The plant's sprout will be planted upon entering the Zen Garden.
* 2 - The plant sprout is already planted and requires watering.
* 3 - The plant will grow, dropping its boosted seed packet.
* 4 - The plant will start at around 1/3 grown, growing the rest to full size and drop its boosted seed packet.
* 5 - The plant will start at around 2/3 grown, growing the rest to full size and drop its boosted seed packet.
* 6 - The plant is fully grown, but has no seed packet dropped, perhaps due to a glitch. Set "rt" to 21 to have its seed packet already dropped upon entrance.
* 7 - The plant is boosted, but will not boost the plant in-game. Set "rt" to 21, it may cause the seed packets to glitch and not show the boosted one, but it should work if these are set correctly.

### rt

Not entirely sure how it works, but has something to do with making stages 6 and 7 work properly.

* Stage 6 - If you choose to have it at this stage, make sure you set this integer to 21 or the boosted seed packet will not appear, possibly due to a glitch. Tapping the plant causes it to disappear in the glitched state.
* Stage 7 - Make sure to also set the "rt" integer to 21 to make the boost work properly. It may glitch the in-game seed packet and cause the boosted seed packet to not be displayed, but it should still boost the plant when planted in-game.

## Edit Bought Zen Garden Pots

Scroll down until you see "**upsi**". Click the **+** to expand and you will see a list of numbers. Each flower pot has their own number ID. For a list of flower pot IDs, click here. If you want to remove a flower pot, click on the corresponding number ID and press delete. If you want to add a flower pot, right click on "**upsi**" and select "add child", change the "Node type" from "string" to "integer" and type in the plant's number ID you want to add. A faster way is to highlight the lowest one on the list, press Crtl + D, which will duplicate it, and then edit the duplicated to a different value.

## Edit Sprout Count

Scroll down until you see "**spr**", this integer takes care of the number of sprouts you have. Edit it to the amount you want.

## Edit Boosted Plants

Scroll down until you see "**pli**", right click on it, go to Expand, All. You will see a list of plants which have been boosted. Note: for some reason this data is duplicated under "**pbi**", as a backup.

### p

This is the plant's ID. For a list of plant IDs, click here (numerical).

### c

Unknown. By default it is always set to 1, but changing it does not seem to do anything.

### a

The type of boost a plant has. However, since First Strike is the only used one, it will always be at 4. For a list of boost IDs, click here. Note: the plant you want to boost must have it under their Boosts in PlantProperties.json, otherwise the boost does nothing.

### b

Unknown. It is empty by default. Adding a number to it does not seem to do anything.

### t

Unsure, but appears to be a Unix Timestamp of when a plant can next be planted in the Zen Garden. Likely related to the ZenGardenDurationOverrideSeconds in a plant's code in PlantProperties.json.

## Start from the Zen Garden

Scroll down until you see "**izg**". This boolean is usually set to False, setting it to True will start you off from the Zen Garden.

## Enable Treasure Yeti

Scroll down until you see "**mcs**", delete this node to remove the treasure yeti if specified. (It could have side-effects)

## Edit played mini games

Scroll down until you see "**ap**". This controls which mini games you've completed.

## Edit collected rewards

Scroll down until you see "**up**". This controls which rewards you've collected.

## Edit your Plant Leveling

Scroll down until you see "**plis**", right click on it, go to Expand, All.

### p

This is the plant's ID. For a list of plant IDs, click here (numerical).

### l

The current level of a plant. It counts up from 0. For example, 0 equals Lv. 1, 1 equals Lv. 2, and so on.

### x

The number of Seed Packets a plant has. Edit it to the amount you want.

### m

The current Mastery level of a plant. It counts up from 1. For example, 1 equals M 1, 2 equals M 2, you get the idea. Can be modified even though a plant has not reached its max level, but causes the plant's leveling to glitch.

## Edit Penny Pursuit (WIP)

Not sure how this works yet, but removing these values resets Penny Pursuit: rid - rsid - rzw - rza - rzc - rzd - rpd0 - rpd1 - rpd1 - rznt - rzfc

## Edit Calendar

### cllt & cllst

Unsure, but appears to be a Unix Timestamp of when the calendar was last opened.

### cli

This is a list of the rewards of the 3 calendar tabs as resetting it unlocks the rewards again.