This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
ixe:json:start [2025/01/17 16:30] – Switched to description list format. Fireswamp | ixe:json:start [2025/02/14 14:57] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | A unit is defined by a json file. Below is a list of all json tags that can be used. | + | A unit is defined by a JSON file. Below is a list of all JSON tags that can be used. |
- | A guide for how to use these json tags to create a unit can be found [[ixe: | + | A guide for how to use these JSON tags to create a unit can be found [[ixe: |
===== Unit Tags ===== | ===== Unit Tags ===== | ||
Line 9: | Line 9: | ||
:When true, the unit remains in the inventory at an amount of " | :When true, the unit remains in the inventory at an amount of " | ||
? | ? | ||
- | :When true, this unit will not appear | + | :When true, this unit will not appear |
?maxammo (float) | ?maxammo (float) | ||
:The max energy ammo for the unit. | :The max energy ammo for the unit. | ||
?ammo (float) | ?ammo (float) | ||
- | :The starting | + | :The starting |
?maxcammo (float) | ?maxcammo (float) | ||
- | :The max AC ammo for the unit. | + | :The max anticreeper |
?cammo (float) | ?cammo (float) | ||
- | :The starting | + | :The starting |
?isportal (bool) | ?isportal (bool) | ||
:When true, this unit acts as a portal for packets. | :When true, this unit acts as a portal for packets. | ||
Line 29: | Line 29: | ||
:Whether or not a unit is selectable by the player. | :Whether or not a unit is selectable by the player. | ||
?movable (bool) | ?movable (bool) | ||
- | :Whether or not a unit can be moved by the player. In this instance, it means dematerialization based movement. | + | :Whether or not a unit can be moved by the player. In this instance, it means dematerialization-based movement |
?movelayer (int) | ?movelayer (int) | ||
:Used for legality of placement for movable units. When units are in different move layers, they do not collide and can be stacked. | :Used for legality of placement for movable units. When units are in different move layers, they do not collide and can be stacked. | ||
?hasphysics (bool) | ?hasphysics (bool) | ||
- | :When true, the unit is controlled by the physics engine. | + | :When true, the unit is controlled by the physics engine. This means it will collide with sand and other physics-having units, and be affected by gravity. |
? | ? | ||
- | :When the unit has physics, this controls the rigid body constraints. The int is treated as a bit field with bit 0 meaning to freeze x-axis motion, bit 1 meaning to freeze y-axis motion, and bit 2 meaning to freeze rotation. | + | :When the unit has physics, this controls the rigid body constraints. The int is treated as a bit field with bit 0 meaning to freeze x-axis motion, bit 1 meaning to freeze y-axis motion, and bit 2 meaning to freeze rotation. |
+ | * 0 = no constraints | ||
+ | * 1 = can't move horizontally | ||
+ | * 2 = can't move vertically | ||
+ | * 3 = can't move in any direction | ||
+ | | ||
+ | * 5 = can't rotate or move horizontally | ||
+ | * 6 = can't rotate or move vertically | ||
+ | * 7 = can't rotate or move in any direction | ||
? | ? | ||
:The scale at which gravity affects the unit when the unit has physics enabled. 1 is the default. | :The scale at which gravity affects the unit when the unit has physics enabled. 1 is the default. | ||
Line 41: | Line 49: | ||
:How a unit rotates/ | :How a unit rotates/ | ||
? | ? | ||
- | :When true, the unit will auto destroy when the pixel count is too low. The "DeadFraction" is the maximum allowed amount of dead pixels. | + | :When true, the unit will auto destroy when the pixel count is too low. The "deadfraction" is the maximum allowed amount of dead pixels. |
? | ? | ||
:A fraction (0 to 1 range) that specifies the maximum dead pixel amount allowed on a unit before it self destructs, when destroyonhealth is true. | :A fraction (0 to 1 range) that specifies the maximum dead pixel amount allowed on a unit before it self destructs, when destroyonhealth is true. | ||
? | ? | ||
- | :An optional health that can be used to track damage on a unit. Not related to the pixel count. | + | :An optional health that can be used to track damage on a unit. Not related to the pixel count. |
? | ? | ||
:The max optional health. | :The max optional health. | ||
? | ? | ||
- | :The regeneration rate of the optional health | + | :The regeneration rate of internalhealth |
? | ? | ||
- | :The damage that occurs to the optional health | + | :The damage that occurs to internalhealth per game update |
? | ? | ||
- | :The damage that occurs to the optional health | + | :The damage that occurs to internalhealth per game update |
? | ? | ||
- | :The damage that occurs to the optional health | + | :The damage that occurs to internalhealth per game update |
? | ? | ||
:When true, enemy units like phantoms and bots will ignore this unit. | :When true, enemy units like phantoms and bots will ignore this unit. | ||
? | ? | ||
- | :When true, a dark ray will damage the unit. | + | :When true, dark rays will damage the unit. |
? | ? | ||
:When true, exploding sand will damage the unit. | :When true, exploding sand will damage the unit. | ||
Line 69: | Line 77: | ||
:When true, the unit acts as an IXE core objective. | :When true, the unit acts as an IXE core objective. | ||
? | ? | ||
- | :The cell range to look for an anchor point. When non-zero, the unit will attempt to anchor itself to land in this range. If not fould, placement of the unit will be illegal. | + | :The cell range to look for an anchor point. When non-zero, the unit will attempt to anchor itself to land in this range. If not found, placement of the unit will be illegal. |
? | ? | ||
:The distance an anchor will attempt to maintain between the anchor and the anchor cell. | :The distance an anchor will attempt to maintain between the anchor and the anchor cell. | ||
Line 77: | Line 85: | ||
:When true, the unit can manage the mouse drawn move paths. Used by the spirit ship, for instance. | :When true, the unit can manage the mouse drawn move paths. Used by the spirit ship, for instance. | ||
? | ? | ||
- | :When true, the player can destroy | + | :When true, the player can order the unit to self-destruct. |
? | ? | ||
:When true, the player can toggle the build supply for the unit. | :When true, the player can toggle the build supply for the unit. | ||
Line 85: | Line 93: | ||
:When true, a physics controlled unit will not collide with other units. | :When true, a physics controlled unit will not collide with other units. | ||
?autoammo (float) | ?autoammo (float) | ||
- | :The amount of ammo to automatically add to the unit each game frame. | + | :The amount of ammo the unit regenerates |
?autocammo (float) | ?autocammo (float) | ||
- | :The amount of AC ammo to automatically add to the unit each game frame. | + | :The amount of anticreeper |
? | ? | ||
- | :The game frame ammo request rate. Default is 6. | + | :The time (in game updates) between |
? | ? | ||
- | :The game frame AC ammo request rate. Default is 6. | + | :The time (in game updates) between |
?ammosupply (bool) | ?ammosupply (bool) | ||
- | :When false, the unit won't request ammo or AC ammo. Defaults to true. | + | :When false, the unit won't request ammo or anticreeper |
? | ? | ||
:The game objective type for the unit. The types are: 0 = NONE, 1 = IXE_CORE, 2 = INHIBITOR, 3 = ITEM, 4 = EMITTER, 5 = CREEPER, 6 = SPECIAL, 7 = MISSION | :The game objective type for the unit. The types are: 0 = NONE, 1 = IXE_CORE, 2 = INHIBITOR, 3 = ITEM, 4 = EMITTER, 5 = CREEPER, 6 = SPECIAL, 7 = MISSION | ||
? | ? | ||
- | :Similar to autoAmmo, except added in the late game update. | + | :Similar to autoammo, except added in the late game update. |
? | ? | ||
- | :The type of physics ' | + | :The type of physics ' |
? | ? | ||
:The name of another unit type to destroy when this unit is destroyed. | :The name of another unit type to destroy when this unit is destroyed. | ||
Line 121: | Line 129: | ||
:Whether the part should rotate when the part is flipped. | :Whether the part should rotate when the part is flipped. | ||
?isbuilt (bool) | ?isbuilt (bool) | ||
- | :If the part should be built already. | + | :If the part should be fully built upon unit spawn. |
? | ? | ||
:If creeper damages the part. | :If creeper damages the part. | ||
?acdamages (bool) | ?acdamages (bool) | ||
- | :If AC damages the part. | + | :If anticreeper |
?botdamages (bool) | ?botdamages (bool) | ||
- | :If bots damages | + | :If bots damage |
? | ? | ||
:The maximum amount of energy the unit can store for energy dispatch. | :The maximum amount of energy the unit can store for energy dispatch. | ||
? | ? | ||
- | :An array of three values for energy production. Min production | + | :An array of three values for energy production. Min is the minimum |
? | ? | ||
:If the part causes digitalis to grow. | :If the part causes digitalis to grow. | ||
Line 137: | Line 145: | ||
:The rate at which creeper damages each pixel of a part. Default is 10000. | :The rate at which creeper damages each pixel of a part. Default is 10000. | ||
?damageheal (int) | ?damageheal (int) | ||
- | :The rate at whcih part pixels heal when damaged and not under creeper. Default is 10000. | + | :The rate at which part pixels heal when damaged and not under creeper. Default is 10000. |
? | ? | ||
:The game updates it takes to regrow a part pixel. Default is 500. | :The game updates it takes to regrow a part pixel. Default is 500. | ||
Line 143: | Line 151: | ||
:Whether sand damages the pixels of this part. | :Whether sand damages the pixels of this part. | ||
? | ? | ||
- | :If Sand Particles | + | :If sand particles |
? | ? | ||
:When true, a unit with a show_range will always show the range with a range circle. | :When true, a unit with a show_range will always show the range with a range circle. | ||
Line 149: | Line 157: | ||
:The range to reveal FOW (fog of war). | :The range to reveal FOW (fog of war). | ||
? | ? | ||
- | :For physics controlled units, the unit will be frozen if this is true and the part is over blocking | + | :For physics controlled units, the unit will be frozen if this is true and the part is over any sand that blocks movement. |
? | ? | ||
- | :For physics controlled units will apply a force upwards when over a sand that is a liquid. | + | :For physics controlled units, this will apply a force upwards when over a sand that is a liquid. |
? | ? | ||
:The physics drag for the whole unit when this part is over a liquid sand. | :The physics drag for the whole unit when this part is over a liquid sand. | ||
Line 157: | Line 165: | ||
:The default drag on the whole unit. | :The default drag on the whole unit. | ||
? | ? | ||
- | :The layer that determins | + | :The layer that determines |
? | ? | ||
:The upgrade gems awarded when the part is destroyed with destroy actions enabled. | :The upgrade gems awarded when the part is destroyed with destroy actions enabled. | ||
?collider {" | ?collider {" | ||
- | :The physics collider for the part. The type can be " | + | :The physics collider for the part. The type can be " |
?image (string) | ?image (string) | ||
- | :The path name for the image to use for the parts pixels. | + | :The path name for the image to use for the part' |
?pivot [float, | ?pivot [float, | ||
- | :The pivot for the part. 0.5,0.5 is the center. | + | :The pivot for the part. [0.5,0.5] is the center. |
? | ? | ||
- | :The visual sorting order used for the parts pixels. | + | :The visual sorting order used for the part' |
? | ? | ||
- | :The exclusion mask for the parts collider. | + | :The exclusion mask for the part' |
?scale [float, | ?scale [float, | ||
- | :The x,y, scale of the part. | + | :The x,y scale of the part. |
?anim (string) | ?anim (string) | ||
:The path to an image that contains frames of an animation. | :The path to an image that contains frames of an animation. | ||
Line 177: | Line 185: | ||
:A list of RPL scripts to attach to the part. Each {script} consists of a " | :A list of RPL scripts to attach to the part. Each {script} consists of a " | ||
? | ? | ||
- | :A list of controllers to attach to the part. Each {controller} consists of a " | + | :A list of controllers to attach to the part. Each {controller} consists of a " |
?parts [{part}, | ?parts [{part}, | ||
:A list of sub parts. Each {part} consists of a " | :A list of sub parts. Each {part} consists of a " | ||