Dungeon Editor

Mobile Blocks
Mobile Blocks dictate what kind of ground or terrain the Pokémon are traveling on. For instance, a Pikachu may walk across obvious land such as grass or gravel or sand, but find itself unable to travel across water or walk through a wall. Some Pokémon have abilities that circumvent these limitations such as Flygon, who despite being a Dragon- and Ground-type Pokémon can traverse Water, Lava, and Air terrain with the ability Levitate. Other Pokémon, such as Buizel, can traverse the Boiling Water terrain (which causes a burn) safely with the ability Water Veil.

Under Attributes, you'll see a section for the Water / extra terrain and a section for Walls (the section for Ground should be left as walkable) For special terrain that only certain types of Pokémon may cross, add one of these to Data 1:

2 - Water (Water-, Flying- and Ghost-type Pokémon can travel across this terrain)

8 - Lava (Fire-type Pokémon can travel across this terrain, if any other type of Pokémon does they will be Burned immediately)

4 - Air (Flying- and Ghost-type Pokémon can travel across this terrain)

For Water effects, put one of these in String 1. "

1 - (Boiling Water) 2 - (Freezing Water) 3 - (Paralyzing Water) 4 - (Poisonous Water) 5 - (Sleep-inducing Water)

They will cause a status ailment and a battle message will appear. For instance, the Freeze effect will display "the water is freezing!" and freeze a Pokèmon on contact, while the Sleep effect will display "the water is oddly calming.." and put a Pokèmon to sleep on contact. Under Walls, choose Mobile Block. Enter the value 16 in Data 1. This will allow Ghost-type Pokémon to walk through walls (the default wall attribute for any dungeon). You may otherwise leave it blocked as regular.

For the hallway, set it to attribute 33, Hallway. Leave the data boxes blank. This will make npcs unable to spawn in hallways.

Traps
First, set the ground tile. It will be the trap tile from the tileset (tileset 4). For instance, a Slowpoke face for a Slow Trap. The Masked tile should be the same as your dungeon tile's environment. Traps must additionally be set to 'Scripted' instead of 'Walkable'. In Trap Data 1, put the number of the trap you want. They are as follows:

Explosion: 2 ; Triggers an explosion with a surrounding range of 1 tile, and depletes the Pokémon's HP by half of the remaining HP.

Chestnut: 3 ; Drops chestnuts on the Pokémon that deal 10 damage of HP.

PP Zero: 4 ; Depletes all of a random move's PP to zero.

Grimy: 5 ; May turn Apple items into Grimy Food, and Berry items into Grimy Berry. Both items are consumable, but heal half the original item's amount of Belly and have a wide range of possible negative effects such as stat drops or status ailments.

Poison: 6 ; Poisons the Pokémon.

Random: 7 ; Triggers a random effect drawn from all traps.

Warp: 15 ; Warps the Pokémon to another location on the floor.

Spikes: 17 ; Damages a Pokèmon for 1/8 of their total HP. Laid by the move Spikes.

Toxic Spikes: 18 ; Poisons a Pokèmon. Laid by the move Toxic Spikes.

Stealth Rock: 19 ; Damages a Pokémon. Laid by the move Stealth Rock.

Sticky: 23 ; Renders an item in the inventory sticky. Sticky items, if equipped, cannot be taken off and will also render the item unusable. The effect is neutralized with the use of a Cleanse Orb that is not sticky, or using a cleaning service in the overworld.

Mud: 25 ; A somewhat harmless trap that reduces a random stat harshly.

Wonder Tile: 26 ; The most basic form of trap that resets stat changes to their original states.

Trip: 28 ; A trap that forces the Pokémon to drop its held item. Very dangerous if triggeted near a stairwell.

Secret Room: 34 ; Reveals hidden stairs!

Pitfall: 39 ; Drops the user down one floor, and causes 10 damage.

Seal: 42 ; Disables the use of a random move. This effect lasts until the Pokémon reaches another floor.

Slow: 43 ; Renders the Pokémon unable to run, progressively slowing it down more and more as it triggers the trap.

Confused (Spin): 44 ; Renders the Pokémon's movement controls chaotic. Regardless of what direction movement is attempted in, the Pokémon may very well direct an action in any other random direction. Attempting to use a move may make it damage itself.

Sweet Scent: 49 ; Spawns enemy Pokémon to the trap's immediate location.

Grudge: 50 ; Spawns enemy Pokémon to the traps's immediate location, and the enemy Pokémon have the Grudge effect.

Selfdestruct: 51 ; Triggers an explosion much the same as the Explosion trap.

Slumber: 52 ; Puts the Pokémon to sleep for an extended period of time.

Gust: 53 ; Blows the Pokémon into a direction, traveling until stopped by a wall or an enemy Pokémon.

Shocker: 70 ; Renders the Pokémon Shocked, where moves used will harm ally Pokémon and enemies alike. Goes away after some actions are taken or the Pokémon moves to another floor.

Mystery Eggs
Under items, choose item 110 Mystery Egg. In the Tag, you must insert 3 values. The first is the dex number of the Pokémon you want. The second controls the amount of time until the first egg cycle is completed. The third controls the amount of time until the second egg cycle is completed. Afterwards it will reach the third and last egg cycle on its own. It is recommended that you keep these last two numbers small as setting them to numbers such as 50 will make the egg take a very long time to complete its egg cycles. 1-5 is a suggested range.

You must have the 3 numbers separated by only a semicolon

Example: inserting 16;1;1 into the Tag will produce a Pidgey egg at the lowest possible hatching time.

Secret Rooms
Secret Rooms are not completely functioning yet. The goal warp for them does not work. It is still possible to add a Secret Room, but it will only be for one floor as the end warp does not currently remember your place in the dungeon, so you would have to set it on a specific floor.

To make a Secret Room, create a map for it, with a Deluxe Box (or two) placed as an Item attribute with the desired items contained. Then open the Traps section in the Dungeon Editor. Add a trap as follows:

For the Ground tile, a set of stairs to be revealed (tileset 4)

For Mask 2 (leave Mask empty) the same tile as your floor's Ground, to hide the stairs

Data 1: 34

string 1: map#

string 2: x coordinate

string 3: y coordinate

To let a player leave the Secret Room, add a Scripted Tile, either 33 or 36 will work. 33 is supposed to be the right one, and 36 is just a normal Dungeon Editor, but they both function the same. Set parameters as you would normally for a dungeon entrance. Have this take the player to the room after the one the Secret Room's trap was on. For now, you can only have a Secret Room on one floor because of this.

Chambers
Where it says "Chamber Num" put one of the following numbers:

10 Silver Key Door

This will create a small locked chamber with a door that can be opened only with a Silver Key item. This is commonly used for chambers containing Silk, but you can put any item inside. For a normal item just put the ID in string 1. For a box, put the box ID in string 1 and the possible items in string 2. Separate them with a semicolon

11 Kecleon Shop

In string 2 put the item ID separated by a semicolon. The items will be chosen randomly from this selection. In string 3, put the corresponding price of each item separated by a semicolon.

String 1 should be left blank.

1 Pre-mapped (decorative)

Create a map to put the chambers on. Fill the ground tile with the same floor, or floors, as your dungeon. Now in the map editor, go to the attributes tab. There will be a box at the bottom labeled Dungeon Tile Value. Set this to 3. Now choose the Ambiguous attribute. Fill the entire map with this attribute. Now, you can have more than one pre-mapped chamber on this map. Only one will show on each floor, picked randomly from the list. Because of this, on floors where you want a chamber to always spawn, like a kec shop, make sure that is the only chamber for that floor. Map whatever you want here to go in your dungeon. For this example I'll use a tree. Now what you need to do is take the cooridinates of your chamber, and when you do this you need to make sure to have one tile all around it be empty and grab from there. Notice this image where I put bottles around the tree. What you would do is write down first the coordinate of the very first bottle, the top left one. That will be your starting coordinate. Then write down the coordinates of the bottom right bottle, that will be your end coordinate. Of course you don't have to actually put bottles on yours, I just put them there to show how you need to grab a whole empty tile all the way around. Now in the dungeon editor, in the chambers menu, use these parameters:

String 1: Map number (of the chamber map)

String 2: Starting coordinates separated by a colon

String 3: Ending coordinates separated by a colon

You can also add certain attributes to the map. Just make sure the Dungeon Tile Value is set to 3 when you add them. For instance, you can add a sign on the map, and when it appears in the dungeon players will be able to read the sign. You can even add an item to spawn in said chamber. Npcs added to the map will not appear in the dungeon, however.

Items may spawn in chambers, even on blocked tiles. For this reason, you may choose to use ghost mobile blocks instead of normal blocks.

Bosses
1) Create the boss room map. There should be an exit with a one-tile wide path that is blocked off (block attribute). The blocked image (that will be removed when the boss is defeated) should be placed on Mask2.

2) Create an NPC to act as the boss. It should have a behavior of.

3) Create an introduction story. Create a small blocked area on the map. You will place the story tile here to start the boss battle. The story will warp the player further into the map, preventing the player from restarting the story.

4) At the end of the introduction story, add a  action. The X and Y is the starting location of the boss. NPC is the NPC number of your boss. Buff is a buff to add for the boss. A decent value is 3. This action should be the last action. After it is run, the story will end, and the boss will spawn.

5) Create a boss defeat story. At the end of the story, add an  action. The X/Y should correspond to the blocked area you created earlier. Once this is run, the blocked attribute and Mask2 image will be removed from the specified tile.

6) Edit your boss NPC to set the  value to the boss defeat story you just created. If you have multiple npcs as a boss, make sure they all have the boss behavior and death story.

For a seamless transition (so you don't have to have the player visibly warp over a rock or something) have the player spawn directly onto the story tile after the last floor of the dungeon. Immediately after this the screen should be made invisible. The player won't see the screen where they have spawned. You can add dialogue here if you want. Now have the player warp to the desired starting position, and then make the map visible again.

Requirements & Restrictions
In order to put requirement and restrictions to a dungeon, you will have to use the Dungeon Editor.

Open Dungeon Editor, then go to Script panel.

Level Set Restriction

This restriction will reset your team's level upon entering the dungeon.

Num: 2 Parameter String: A;B;C (A = 1 B = Restricted Level C = 0 => Reset Moveset / C = 1 => Current Moveset)

Example:

-If you want the dungeon to set player to Level 1 and have their movesets reset, put Num as 2 and Parameter String as: 1;1;0.

-If you want the dungeon to set player to Level 50 and their movesets are kept as they are, put Num as 2 and Parameter String as: 1;50;1

Item Requirement

This will require player to bring an amount of item that is not higher than the maximum number upon entering the dungeon.

Num: 1 Parameter String: 3;A (A = Maximum number of items)

Example: If you put String as 3;5, you can only bring up to 5 items to this dungeon.

Level Requirement

This will require player to have all Pokémon in their team not having a lower level than the required level.

Num: 1 Parameter String: 2;A (A = Required Level)

Example: If you put String as 2;60, all Pokémon in your team must be Level 60 or higher to enter.

Team Requirement

This will require player to bring an amount of Pokémon in their team.

Num: 1 Parameter String: 6; A (A = Required team member)

Example: If you put String as 6;2, you can only bring up to 2 Pokémon to this dungeon.