Difference between revisions of "Maps"

From Pokémon 3D Wiki
Jump to navigation Jump to search
m
m (fixed typo)
(8 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{InfoV2|There is a newer version of this documentation. It is incomplete but some missing tags have been reinserted into the new page.<br /><br />If you want to take a look, visit: [[Maps New]].}}
<!-- {{InfoV2|There is a newer version of this documentation. It is incomplete but some missing tags have been reinserted into the new page.<br /><br />If you want to take a look, visit: [[Maps New]].<br /><br />The table is not imported over yet. Now only details part done.}} -->


The maps folder holds most of the maps used to run the games. It is located in the [[File Paths and Editing|Pokemon Folder]] and contains many folders and files.
The maps folder holds most of the maps used to run the games. It is located in the [[File Paths and Editing|Pokemon Folder]] and contains many folders and files.
Line 52: Line 52:
| If true, Wild Pokemon can be found every step you take and not just in grass.
| If true, Wild Pokemon can be found every step you take and not just in grass.
|-
|-
| <code>{"OverwolrdPokemon"{bool[1]}}</code>
| <code>{"OverworldPokemon"{bool[1]}}</code>
| Allows the following pokemon to show.
| Allows the following pokemon to show.
|-
|-
Line 97: Line 97:
* 7 - Sandstorm
* 7 - Sandstorm
|-
|-
| <code>{"Lightning"{int[1]}}</code>
| <code>{"Lighting"{int[1]}}</code>
| A variety(0-3) of different lighting effects.
| A variety(0-3) of different lighting effects.
|-
|-
Line 235: Line 235:
|-
|-
| <code>{"TextureID"{str[texturename]}}</code>
| <code>{"TextureID"{str[texturename]}}</code>
| The name of the sprite from /content/textures/npc/.
| <nowiki>The name of the sprite from /content/textures/npc/. You can also make the NPC use a Pokémon's texture by setting this value to the national dex number of the Pokémon and adding "[POKEMON|N]" or "[POKEMON|S]" in front of it. N = Normal. S = Shiny. E.g. {"TextureID"{str[[POKEMON|S]151]}} wil set the texture to that of a shiny Mewtwo.</nowiki>
|-
|-
| <code>{"Rotation"{int[0-3]}}</code>
| <code>{"Rotation"{int[0-3]}}</code>
Line 386: Line 386:
|-
|-
| TurningSign
| TurningSign
| A sign that spins at the center.
| An entity that spins at the center (doesn't have to be sign).
| An int defining what texture is used for the sign.
Depending on what the "Action" property is set to, the entity will spin on different axes.
* 0 - PokeCenter
* 0 - The entity will spin on the Y axis.
* 1 - Mart
* 1 - The entity will spin on the X axis.
* 2 - Gym Sign
* 2 - The entity will spin on the Z axis.
| An [http://en.wikipedia.org/wiki/Integer Integer number] specifying how fast the entity spins.
|-
|-
| WallBill
| WallBill
| An entity that always shows the same face to the player(spins on the center.
| An entity that always shows one texture and rotates to face the player.
| None
| None
|-
|-
Line 470: Line 471:


== .poke files ==
== .poke files ==
The .poke files contain the wild [[Pokemon]] data for each location.  
The .poke files decide which wild Pokemon are available in each map, how they are encountered, at what levels they are, what time of the day they appear, and how often they appear.


Each Pokemon is represented by a line of code like this:
=== Template ===
<pre>{#1|#2|#3|#4|#5,#6}</pre>


<nowiki>{#|PKMN#|%|TIME|Lv1,Lv2}</nowiki>
=== Explanation ===
==== #1 ====
The encounter code. Dictate how the Pokemon is encountered. There are currently 2 options:
* 0 - Grass/floor
* 1 - Headbutt trees
 
==== #2 ====
This is the Pokemon code. Finds the Pokemon whose national dex number is given.
 
==== #3 ====
The chance of encounter. This number decides how easy it will be to find this Pokemon. The higher the number the more likely it will be.
 
==== #4 ====
Time code. This decides when this Pokemon will be available. There are 5 options:
* -1 - All times.
* 0 - Night.
* 1 - Morning.
* 2 - Day.
* 3 - Evening.
 
==== #5 ====
The Minimum level.
 
==== #6 ====
The maximum level. If the Pokemon should only appear at one level this number should be the same as ##5.


* # - Type of encounter.
** 0 - Grass/Floor.
** 1 - Headbutt trees.
** 2 - Surf
** 3 - Old Rod
** 31 - Good Rod
** 32 - Super Rod
** 5 - Rock Smash
* PKMN# - National dex number of the pokemon.
* % - Possibility that the pokemon will be encountered.
* TIME - time of day
** -1 - All times
** 0 - Night
** 1 - Morning
** 2 - Day
** 3 - Evening
* Lv1 - Min Level
* Lv2 - Max Level
{{FilePaths}}
{{FilePaths}}

Revision as of 01:46, 12 October 2022


The maps folder holds most of the maps used to run the games. It is located in the Pokemon Folder and contains many folders and files.

Each major map for the game is contained in the maps folder and named for their location.

The files contain many lines of code describing the many different parts of the map. Each line contains a myriad of details used to create each portion of the map.

Map Objects

Objects are defined by a line of code in each map file.

{"Object"{CAT[TAGS]}}

There are 8 Objects split into 5 categories(CAT):

  • LEV
    • Level - Defines the map
    • Actions - Defines map conditions(ie. weather, lighting, etc)
  • ENT
    • Floor - Can be walked upon, produces a flat surface.
    • Entity - Produces one block.
    • Entity Field - Produces multiple blocks.
  • NPC
    • NPC - Produces an interactive NPC.
  • SHA
    • Shader - Darkens an area of tiles.
  • MAP
    • OffsetMap - Loads an offset map.

Each Object has many different tags that can be used with them.

Tags

This is a full list of the tags for each Object.

The full tag with either the default value or a general value will be in the tag column. If there is not a default value then the tag must be given for that object.

Tag Description

Level

{"Name"{str[Name]}} The map name, displays in the upper left corner of the screen when first arriving at the place.
Used to determine if a Pokemon evolves there.
{"MusicLoop"{str[MusicFile]}} The song to loop while on the map.
{"WildPokemon"{bool[0]}} If true, Wild Pokemon can be found every step you take and not just in grass.
{"OverworldPokemon"{bool[1]}} Allows the following pokemon to show.
{"CurrentRegion"{str[Johto]}} Contains a list of all of the Maps seperated by commas that can be seen when flying from or
viewing the town map in the PokeGear while on this map.

Actions

{"CanTeleport"{bool[0]}} Allows Teleporting.
{"CanDig"{bool[0]}} Allows Digging.
{"CanFly"{bool[0]}} Allows Flying
{"RideType"{int[0]}} Allows Riding
  • 0 - If both CanDig and CanFly = false then Cannot ride.
  • 1 - Can Ride.
  • 2 - Cannot Ride.
{"EnviromentType"{int[0]}} Determines the Environment(the background).
  • 0 - Day/Night cycle
  • 1 - Day
  • 2 - Cave
  • 3 - Night
  • 4 - UnderWater

Anything not listed defaults to 0.

{"Weather"{int[0]}} Determines the weather.
  • 0 - Random
  • 1 - Normal
  • 2 - Rain
  • 3 - Snow
  • 4 - Bubbles
  • 5 -
  • 6 -
  • 7 - Sandstorm
{"Lighting"{int[1]}} A variety(0-3) of different lighting effects.
{"IsDark"{bool[0]}} Makes the cave dark to use flash for.
{"IsSafariZone"{bool[0]}} Makes all wild battles into "Safari" Battles
{"BugCatchingContest"{str[str]}} Used during bug catching contest.
{"MapScript"{str[]}} A script to run upon entering the map(after landing if flying).

Floor

{"Size"{intArr[x,z]}} A field of spaces for the floors to cover.
{"Position"{intArr[x,y,z]}} The position of the first floor tile.
{"TexturePath"{str[texture]}} The Texture file used for these tiles.
{"Texture"{rec[xstart,ystart,xlen,ylen]}} The specific texture (starting at pixel xstart,ystart; xlen right and ylen down).
{"Visible"{bool[1]}} If the floor is visible.
{"Shader"{sngArr[1,1,1]}} Shaders to apply.
{"Remove"{bool[0]}} Removes the floor.
{"hasSnow"{bool[1]}} Allows snow to collect on it when it is snowing.
{"hasSand"{bool[1]}} Allows sand to collect on it when it is a sandstorm.
{"isIce"{bool[0]}} Causes the player to slide until it reaches another floor or an entity that it cannot pass through.
{"Rotation"{int[0]}} Rotation of the floor(rotates the each tile individually
{"SeasonTexture"{str[]}} What Season Texture to apply.

Entity

{"EntityID"{str[see below]}} Defines what happens when the player interacts with it, how it reacts to surroundings and how it displays.
See the section below for more details.
{"ID"{int[-1]}} An ID to be used with scripts.
{"Position"{sngArr[x,y,z]}} The 3 - Dimensional position of the entity.
{"Textures"{recArr[[xstart,ystart,xlen,ylen]]}} A list of all of the pixels used for this entity. Multiple can be listed.
{"TexturePath"{str[texture]}} The texture file used with this entity.
{"TextureIndex"{intArr[# of faces * 2]}} Each face(rectangles count as 2 triangles) is gets a number based on the texture in the
"Textures" tag with 0 being the first texture listed. -1 makes the face not render.
{"Scale"{sngArr[1,1,1]}} Changes the size of the entity.
{"Collision"{bool[]}} Prevents the player from walking into the entity
{"ModelID"{int[see below]}} The Model used for this entity. See the list of Models below for specifics.
{"Action"{int[see below]}} Determines how the "AdditionalValue" tag is interpreted. See the list of Entities below for more specifics.
{"AdditionalValue"{str[see below]}} What is done when the player interacts with the entity. See the list of Entities below for more specifics
{"Visible"{bool[1]}} Decides if the Entity is seen or not.
{"Rotation"{int[r]}} The direction(0-3) that the entity is facing.
{"Shader"{sngArr[]}} The sader for the object.
{"RotationXYZ"{sngArr[]}} A 3 - Dimensional Rotation using radians(3.1415 = a full rotation).
{"UseSeasonColors"{bool[]}} Determines if the object actually uses the season texture.
{"SeasonTexture"{str[]}} The season texture for the entity to use.
{"SeasonToggle"{str[]}} Forces the entity to use the given season for the season texture.

EntityField

*Any tags used for Entity apply here*

{"Size"{intArr[x,(y,)z]}} Either 2 or 3 - Dimensional field for the entity to be repeated in.
{"Fill"{bool[0]}} Makes the entities only in the outside(2D) of the field.
{"Steps"{sngArr[1,(1,)1]}} The pattern that the field is laid out in.

NPC

{"Position"{sngArr[x,y,z]}} The three dimensional start position for the NPC.
{"Scale"{sngArr[x,y,z]}} Allows the NPC to be made bigger.
{"TextureID"{str[texturename]}} The name of the sprite from /content/textures/npc/. You can also make the NPC use a Pokémon's texture by setting this value to the national dex number of the Pokémon and adding "[POKEMON|N]" or "[POKEMON|S]" in front of it. N = Normal. S = Shiny. E.g. {"TextureID"{str[[POKEMON|S]151]}} wil set the texture to that of a shiny Mewtwo.
{"Rotation"{int[0-3]}} The direction the npc is facing when the map is loaded.
{"Action"{int[0-2]}} Determines how the "AdditionalValue" tag is interpreted:
  • 0 - As text.
  • 1 - As a script.
  • 2 - As a script to activate from a distance.
{"AdditionalValue"{str[script]}} Contains the text or script to be used as directed by the "Action" tag.
For "Action"=2 enter steps from player|script to activate
{"Name"{str[name]}} Name of the NPC, used by scripts.
{"ID"{int[ID]}} ID of the NPC main form of targeting an NPC with a script command.
{"Movement"{str[movement type]}} Determines the type of movement the NPC will do:
  • Still - Does not move or turn.
  • Looking - Turns to random directions.
  • Walk - Randomly moves according to the "MoveRectangles" tag.
  • Turning - Turns in a circle.
  • Straight - Walks in a straight line according to the "MoveRectangles" tag.
  • Pokeball, or FacePlayer - Always shows the same face to the player.
{"MoveRectangles"{recArr[[xsrt,ysrt,xpcs,ypcs]]}} Defines the spaces that the character can walk in when "Movement" = Walk, or Straight
{"Shader"{sngArr[1,1,1]}} NPC's Shader
{"AnimateIdle"{bool[0]}} Allows the NPC to animate the walk cycle even when standing still.

Shader

{"Position"{intArr[x,y,z]}} 3 - Dimensional Position for the shader to start from.
{"Size"{intArr[x,y,z]}} 3 - Dimensional size.
{"Shader"{sngArr[1,1,1]}} Defines the shader
{"StopOnContact"{bool[0]}} Tells the shader if it shouldn't effect faces which have a face between it and the source.
{"DayTime"{intArr[timeIDs]}} A list of numbers(0-3) representing the time of day that the shader will be applied.

OffsetMap

{"Map"{str[mapfile]}} Map to load as the offset.
{"Offset"{intArr[x,y,z]}} Position for the offset map to treat as 0,0,0.

Types of Entities

A list of the possibilities for the "EntityID" Tag above.

Defining the "Action" tag as 1 for Water, Waterfall, and Whirlpool prevents the HM from activating when coming into contact with them.

Entity ID Description "AdditionalValue" tag
AllSidesObject or Cube Renders sides from all directions. None
ApricornPlant Creates an Apricorn Plant. An integer defining which Apricorn is used.
  • 0 - White
  • 1 - Black
  • 2 - Pink
  • 3 - Blue
  • 4 - Red
  • 5 - Green
  • 6 - Yellow
CutTree Allows the player to use cut on the Entity. None
Grass Creates long grass where the player may run into wild pokemon. None
HeadbuttTree Allows the player to use headbutt on the Entity. None
ItemObject Creates an item, if the "Action" tag = 1 then it is a "hidden" item. int,int - the first value is the ID for the item on that map(each item should have a unique ID) The second is the item's ID.
LoamySoil Creates a spot to grow a berry in. None
ScriptBlock Creates a block to trigger a script when it is either walked on or clicked on. Depending on the "Action" tag the way the "AdditionalValue" tag is interpreted is changed
  • 0 - Activates the given script when walked on. Automatically invisible.
  • 1 - Activates the given script when clicked on.
  • 2 - Displays the given text when clicked on.
  • 3 - Interprets the given text as a script.
  • 4 - Activates the given script when walked on.
SignBlock Creates an entity that either displays text or activates a script when the player "talks" to it. Based on the "Action" tag the "AdditionalValue" tag is interpreted differently:
  • 0 - Displays the given text as text.
  • 1 - Activates the given script.
  • 2 - Converts the given text to a script.
SlideBlock Creates a stairway. None
SmashRock Allows the player to use rock smash on the Entity. None
Step Creates a ledge the player can lead down. None
StrengthRock Allows the player to use strength on the Entity. None
StrengthTrigger Creates a Trigger that activates when a "StrengthRock" is pushed onto it. bool,bool,str - the bools are for if the rock is removed immediately, and if the rock is nolonger loaded with the map, the string is the script activated when the trigger is activated.
TurningSign An entity that spins at the center (doesn't have to be sign).

Depending on what the "Action" property is set to, the entity will spin on different axes.

  • 0 - The entity will spin on the Y axis.
  • 1 - The entity will spin on the X axis.
  • 2 - The entity will spin on the Z axis.
An Integer number specifying how fast the entity spins.
WallBill An entity that always shows one texture and rotates to face the player. None
WallBlock Basic Entity. None
WarpBlock Creates a warp. mapfilepath,X,Y,Z,R,E - The mapfile, position, number of 1/4 turns to warp, and directions from which it can be accessed separated by "|".
Water Creates a surf spot, ignores texture(s) given. None
Waterfall Creates a Waterfall, ignores texture(s) given. None
Whirlpool Creates a Whirlpool, ignores texture(s) given. None

Model ID

This is a list of the different models available to be used for entities. Any number not listed here becomes 0.

ID. Model description.
0 Flat surface.
1 Box(five sides)
2 45 degree slant.
3 Flat vertical surface
4 Thin block. 4 Pixels wide.
5 "Out" corner.
6 "In" corner.
7 Ledge.
8 Ledge Corner.
9 Water's edge.
10 Water's edge "in" corner.
11 Water's edge "out" corner.
12 Box (Six Sides).
13 Two Flat pieces intersecting in their centers at 90 degree angles.
14 Double floor (a floor with a floor above it)

.poke files

The .poke files decide which wild Pokemon are available in each map, how they are encountered, at what levels they are, what time of the day they appear, and how often they appear.

Template

{#1|#2|#3|#4|#5,#6}

Explanation

#1

The encounter code. Dictate how the Pokemon is encountered. There are currently 2 options:

  • 0 - Grass/floor
  • 1 - Headbutt trees

#2

This is the Pokemon code. Finds the Pokemon whose national dex number is given.

#3

The chance of encounter. This number decides how easy it will be to find this Pokemon. The higher the number the more likely it will be.

#4

Time code. This decides when this Pokemon will be available. There are 5 options:

  • -1 - All times.
  • 0 - Night.
  • 1 - Morning.
  • 2 - Day.
  • 3 - Evening.

#5

The Minimum level.

#6

The maximum level. If the Pokemon should only appear at one level this number should be the same as ##5.

Game Folder
Content ContentPacks GameModes Saves Screenshots Game Executable
Pokemon Data ContentPack Folder GameMode folder Savegame folder Version History
Data Maps Moves Scripts Control Files Content GameMode.dat Party.dat Player.dat Options.dat
poke battle structures V1 V2 trainer worldmap