Tile properties

From PZwiki
Revision as of 19:15, 12 April 2021 by Faalagorn (talk | contribs) (→‎Lighting: Added line)

This serves as an unofficial documentation or observation of the tile properties used by the game. See Adding new tiles for info on how to edit these properties in TileZed.

Not all properties have known functions, entries with question marks are merely guesses.

Note: as of April 2021, the editors ship with properties for b40. If you want to mod for b41, a fan-edited copy of TileProperties.txt can be found at this link in the "Editor Stuff" folder. Place it in %userprofile%\.TileZed\ after making a backup of the existing TileProperties.txt. This file contains all the known properties found in b41 .tiles file, and will be out of date in the future. This article was written while build 41 was still in beta, so all previous properties are marked as being "new" in b40 as a starting point.

The following list contains tile properties up to b41.

If you're unsure of which tiles use a given property, you can use a text editor to open .tiles file, and search for the property name. If there's a Name value nearby, you can use that to orient yourself, or page up until you find the line declaring which tilesheet that entry is from.

Not all game interactions come from tile properties. For example, if a car is driving on a floor tile from blends_street_*, it's considered to be on a road, otherwise the car is offroad. Reading the java source files is the only way to find other such interactions.

Moveable and Scrappable

Added Property Description
b40 IsMoveAble Can be picked up.
b40 GroupName Groups sprites together, for facing direction purposes and is usually an adjective. (can appear in translation files.)
b40 CustomName Usually a noun to describe the item, must be used with GroupName? (can appear in translation files.)
b40 PickUpTool Which tool/profession (if any) is required to pick it up.
b40 PlaceTool Which tool/profession (if any) is required to place it in the world.
b40 PickUpWeight Inventory weight of the object being picked up.
b40 PickUpLevel Minimum required skill level to pick up this object.
b40 CanBreak Chance for the object to break when picking up, chance is tied to PickUpLevel.
b40 IsClosedState Used in curtains, the open sprite is picked automatically with an offset of +4.
b40 Facing Which direction a sprite faces.
b41 CurtainDirection Which direction a curtain faces.
b40 SpriteGridPos In multi-tile, movable sprites, sets their position in the group via offset. The first coordinate is North, the second is West.
b40 ForceSingleItem When picked up, a multi-tile item will be a single inventory item.
b40 IsGridExtensionTile Uncertain of exact use, seems to have duplicate behavior of SpritegridPos.
b40 IsoType Hard-coded for moveable, interactibles like stoves and radios.
b40 Item(fullname) Defines a unique item name that can be referenced in lua scripts.
b40 CanScrap The object can be disassembled or scrapped into parts.
b40 ScrapUseTool Which tool/profession is required to scrap the object.
??? ScrapUseSkill Unknown, no current tiles use this property.
b40 ScrapSize Quantity of items given when scrapped.
??? ScrapToolUseOverride Unknown, no current tiles use this property.
b40 Material Material 1, 2, and 3 set the items that will be returned when scrapping the object.
b40 Material2
b40 Material3

Furniture

Added Property Description
b40 BlocksPlacement Prevents other sprites from occupying the same tile.
b40 IsHigh(onlyoccupiesupperhalf) Used in upper cupboards, uncertain how the game uses this.
b40 IsLow(onlyoccupieslowerhalf) Used in low tables, chairs or cupboards, uncertain how the game uses this, possibly collision or visibility checks.
b40 IsTable Object can be used as a table, often used with Surface for placing other objects.
b41 Microwave Object is a microwave.
b41 TV Object is a television, uncertain how this differs from the IsoType or signal property.
b40 IsTableTop Requires that it be placed on a sprite with IsTable checked.
b41 IsMirror Gives mirror functionality.
b41 livingRoom Used in furniture typically found in a living room. Possibly used to check if a house can be a safehouse.
b40 PropaneTank Object is a propane tank.
b40 IsBed Object is a bed.
b41 BedType How the character will feel after sleeping in a Bed.
b41 BedQuality Same as BedType?
b41 chairDirection Object is a chair, and which direction it faces.
b40 BurntTile When burnt, swap to the listed sprite. Example: carpentry_02 fence west refers to fencing_burnt_01_0.
??? FlatTextureOverride Unknown, no current tiles use this property.
b40 FlatTextureOffset Uncertain. This is inconsistently used to define walls and may be deprecated.

Lighting

Added Property Description
b40 Light Object is a light (or lightswitch) requiring electricity.
b40 LightR Red component of light
b40 LightG Green component of light
b40 LightB Blue component of light
b41 Lightb Unknown, used in street lamps.
b40 Streetlight Object is also a street light, turning on at night, and off at day.
b41 LightRadius StreetLight radius, assume distance in tiles.

Floors / Render Flags

Added Property Description
b41 TileOverlay Object is a tile overlay, such as with containers. Presumably to avoid any potential clashes when right clicking on this tile.
b40 FloorOverlay Floor decoration that doesn't occupy the full tile.
b40 IsFloor Object is a floor tile.
b41 diamondFloor Required if IsFloor is checked, has to do with rendering and shorelines, possibly footstep sounds.
b41 natureFloor Uncertain of exact usage.
b41 grassFloor Uncertain of exact usage.
b41 transparentFloor Doesn't seem to work as expected, but allows a floor tile to be seen through.
b41 RenderLayer Duplicate of FloorOverlay? Found in railroad parts and dug graves.
b40 IsIndoor Uncertain, checked by default, and not always turned off for outdoors types of sprites.
b40 TileBlockStyle Solid objects cannot be seen or walked through. SolidTransparent can be seen across, but not walked through.
??? LightPolyStyle Unknown, no current tiles use this property.
b40 DisableFade Uncertain, found in door/window frames and curtains. Possibly for limiting vision cone.
??? ForceFade Unknown, no current tiles use this property.
b40 ForceAmbient Sprite will only have ambient lighting, flashlights have no effect. Common on roof tiles.
b40 PreSeen No current tiles use this property. Presumably forces the object to draw as if the player had already seen it, but not currently in direct view.
b40 NoWallLighting Disable the special lighting that walls receive. Found in some semitransparent fences.
b41 alwaysDraw Does not fade when the player walks behind it.

Containers

Added Property Description
b40 ContainerType Object is a container of the type selected. This is used when the game generates loot.
b40 ContainerCapacity How much weight the container can store.
b41 ContainerPosition As in stacked crates, containers can be Low, High, or Mid (which uses the default of "None")
b40 Freezer Object is or also contains a freezer
b40 FreezerCapacity How much weight the freezer can store.
b41 FreezerPosition Same as ContainerPosition, but for the freezer, in the case of many refrigerator/freezer types.
b41 NoFreezer For refrigerators that do not contain a freezer.
b40 WheelieBin Object is a wheelie bin. (game seems to have unused code stating these can be pushed)
b41 IsTrashCan Object is a trash can. Objects within will be removed after some time.
b41 CollisionShape Counters have special partial-tile collision shapes.
b40 Surface Height in pixels where the tabletop is, if it's a table. Or the height offset that a placeable object can sit on.
b40 IsSurfaceOffset Object is a placeable that can snap to a surface matching the Surface value. For example, the televisions have Surface of 15 and can only sit on a table with a Surface of 15.
b40 IgnoreSurfaceSnap Ignores the above value, place the object regardless if it fits or not.

Stairs / Walls / Fences

Added Property Description
b40 StairStyle Which direction and segment this stair sprite is.
b40 WallStyle Which direction and visibility conditions a wall should have.
b41 WallType Uncertain, Inconsistently used on some walls.
b40 GrimeType Building Editor can automatically add grime and uses this as an override for a few special wall types.
b41 CutWestGrime(rounded) An extension of GrimeType. Seen in Sun Star Motel's rounded door frames.
b41 CutNorthGrime(rounded) An extension of GrimeType.
b41 CloseSneakBonus Uncertain of value ranges, applies a visibility bonus to players crouching nearby. Found in fences.
b41 TreatAsWallOrder Uncertain render flag(?), only found in bath door.
b41 CantClimb For Wall Type NorthWallTrans (such as a military fence), prevents player from climbing over.
b41 SpearOnlyAttackThrough In conjnction with the above, only spear attacks can connect to the other side.
b40 HoppableN For small fences, allows players to hop over.
b40 HoppableW
b41 TallHoppableN for tall fences, allows players to hop over.
b41 TallHoppableW
b40 CollideNorth Appears to be used instead of a wall style, used in some railings.
b40 CollideWest
b40 WallOverlay Render flag for wall details like trim or grime.
b40 attachedN All Attached properties are for moveable objects. They prevent removing the underlying objects, such as a table before this one is removed.
b40 attachedS Attached to North, South, Southeast, East, West, Northwest walls.
b41 attachedSE
b40 attachedE
b40 attachedW
b40 attachedNW
b40 attachedFloor Attached to a floor.
b41 attachedCeiling Uncertain of this usage, found in industry_02 roof vents.
b41 attachedSurface Attached to a table or other surface.

Doors / Windows / Roofs

Added Property Description
b40 Door Object is a door in this orientation. The open states are chosen automatically with a tilesheet offset of +2 and do not get marked as being a door.
b40 DoorFrame Object is a door frame.
b40 DoorTransparent Door is glass or has a window that can be clearly seen through.
b40 DoubleDoor For flagging doors that are 2 tiles wide. (the author has not tested what these values actually do yet.)
b41 forceLocked This door will be locked when a new game is started. Normally, doors have a random chance to be locked or not.
b41 GarageDoor These are 3 tiles wide, and the open states are picked by using FlatTextureOffset. See walls_garage_01 for examples.
b41 InteriorSide Uncertain, possibly for the Building Editor's ability to rotate buildings. Seems to define the "inside" of doors, or the south and east sides of a garage door.
b40 Window Object is a window in this orientation, can be opened, smashed, or climbed through.
b40 OpenTileOffset Tile offset to declare which is the open state.
b40 SmashedTileOffset Tile offset to declare which is the smashed glass state.
b40 GlassRemovedOffset Tile offset to declare which is the removed glass state.
b40 WindowLocked The widnow is always locked. Commonly used in commercial buildings with very large windows that don't make sense to be opened the way regular windows are. Can still be smashed.
b40 MakeWindowInvincible Window cannot be smashed. (location_shop_mall_01 uses this without stating the sprites are windows, needs investigation to know if this prevents any destruction.)
b40 RoofStyle Object is a roof. WestRoofT seems to be the only functional setting. (location_community_church_small_01 uses WestRoofB, but no sprites currently exist in those positions.)
b41 RoofGroup Roof sprites are laid out in a particular fashion. This sets a unique number to group each visual style.
b41 RoofWallStart Likely for Building Editor's benefit. Links west walls to their corresponding walls cut for roof slopes.
b41 FloorHeight Used for slightly sloped roof tiles that could potentially be walked on. Possibly used to prevent players from falling through these tiles.

Miscellaneous

Added Property Description
b41 IsPaintable This object can be painted by the player.
b41 PaintingType The type of furniture or wall for painting consideration.
b40 WaterAmount Object is a container that only stores water, and how much water it can have at game start. (such as a well or bathtub).
b40 WaterMaxAmount The total amount the water container can store.
b40 WaterPiped Links the water container to city infrastructure. The source is infinite until the water lines shut off, after which the WaterAmount will be reduced until empty.
b40 TaintedWater Contains untreated water which is unsafe to drink by default.
b40 IsWaterCollector Will replenish water if the object is outside during rain.
??? FishingWater Unknown, no current tiles use this property.
b40 FuelAmount Object is a container that holds fuel, and how much of it.
b40 IsStackable Objects like crates and boxes can be stacked three high.
b40 StackReplaceTileOffset No value is ground level, -1 is middle, -2 is highest.
b40 tree Object is a tree, the value represents the growth stage from sapling to fully grown.
b40 CanBeCut(tree) The tree can be chopped down.
b40 CanBeRemoved(grass) Grass that can be removed.
b41 MoveWithWind Grass and trees can sway in the wind.
??? WindType Unknown, no current tiles use this property.
b40 FireRequirement Untested, but presumably sets the minimum "fire" value the tile or neighbor tiles must have before this tile ignites.
b40 Vegitation Uncertain of exact use, possibly footsteps or regrowth considerations.
b41 Bush Bushes slow player movement, but can be walked through.
b41 Movement High bushes block sight, low bushes do not.
b41 SpeedFactor How much of a movement debuff to apply when walking through the bush.
b41 HitByCar Object can be hit by a car.
b41 StopCar Small objects that can be walked through, but not driven through in a car, such as stop signs or fences.
b41 MinimumCarSpeedDmg Minimum speed to break the object, which then flips to using the DamagedSprite instead.
b40 DamagedSprite Defines the tilesheet and location for the damaged version of the object.
b41 PhysicsShape Uncertain of exact use, found in fences.
b40 ClimbSheet Sheets and rope ladders use this to be climbable.
b40 signal Uncertain of exact use, found in televisions and radios, possibly to set which stations they can receive.
b41 ModularScript Uncertain of exact use, only found in the computer in appliances_com_01. Possibly to automatically and always run a lua script on this object.
??? excludeFromIso Unknown, no current tiles use this property.