!help Entities
!help Entities
---
PhysicalParams
justThumbnail - true if entity doesn't want another flag, but still show up
in the thumbnail
(default: false)
health - integer between 1 and 100 for initial health given to entity at map
load.
(default: 100)
It's taken into account in the following situations:
- for humans damage is subtracted from the actual health (if the
resulting health of the human is < 30, they will get gibbed)
- other entities don't subtract from it when taking damage. It
only matters when:
- if damage is 'explosive', they will only get destroyed if
health < damage
If you want TEC Torches to break an item, make their health
< 50
Breakable
deleteOnDeath = true if entity should be deleted when it's broken into pieces
(default: true)
template = name of target entity which will be used as a source for the
"Breakable" list. This way you don't have to specify how it breaks over and over
again for similar objects.
when this is defined, all the other options are no longer taken into
account, everything will be copied from the target template.
---
RenderObject2D
sizeX - size in meters
sizeY - size in meters
scaleX - amount by which the pixel size is multiplied.
Final result is in meters
scaleY - amount by which the pixel size is multiplied.
Final result is in meters
flipX - false(d)/true
flipY - false(d)/true
texRepeatX - tiling on x. if different from 1 we're gonna enable
texture repeat
texRepeatY - tiling on y. if different from 1 we're gonna enable
texture repeat
hideInGame - false(d)/true - don't render this in the game, only
in the editor (for things like lights or particle systems)
billboardX - false(d)/true - keep aligned to camera on X axis
(the left-to-right axis in photoshop)
billboardY - false(d)/true - same as above, but only align on Y
axis (top-down)
billboard - false(d)/true - align on both axes
disableDepthTest - false(d)/true - always visible, even if behind something,
good for light flares
color - "ffffffff" - RGBA multiply color
blendMode - "none" - See RenderObject3D blendMode
---
RenderObject3D
model - khm model to load
attachSlot - the name of the object in 3ds max / khm internal hierarchy where
we want our object to be "attached" - this is valid only for rigid objects
can be used as a parent -> child relation or as a link-here to
get transform function
blendMode
"none", // DEFAULT. blend
disabled, object opaque
"normal", // src alpha, one minus src
alpha
"multiply", // dst color, zero
"multiply_inverse", // zero, 1-srccolor
"add", // one, one
"add_masked", // src_alpha, one
"overlay", // dst color, src color (2 *
dst * src)
"replace_masked", // src_alpha, zero
"normal_premultiplied_alpha"
disableLighting [false/true]
- makes the object only use the diffuse texture/color, without
receiving any effects. Disables lighting, receiving shadows (not casting though),
receiving decals, receiving gossao (not casting though), SSAO
disableDecals [false/true]
skipSSAO [true/false]
- doesn't do SSAO calculations for this object. Use for rugs/carpets or
large objects where SSAO can impact performance for no additional benefit.
skipGOSSAO [false/true]
- doesn't draw the GOSSAO floor shadows for this object
gossaoCastHeight [0..N], defaults to 0.0, which means the game will disregard
it, using the default global value of 2.0
- use the ConfigTool gossao "Cast height" slider to see how this looks
before modifying it per object material
As a rule, setting a larger value will make the shadow less visible,
whereas a smaller value will make the shadow darker.
To make the shadow dissapear, set skipGOSSAO="true"
skipCastShadows [false/true]
- object doesn't cast shadows in shadowmap
alphaTest [false/true]
- if 'true' enables alpha testing, using the texture's alpha channel
pixels to cut out pixels below the specified threshold
maxMipLevel [0..N]
- maximum (lowest detail) mip level to use from the mipmap chain.
default is 1000, which means all mipmaps will be used.
diffuseTex
- texture file
diffuseColor
- color hexadecimal value, in RRGGBBAA format (same as Photoshop
without AA). Defaults to ffffffff. If AA is not specified, it defaults to FF.
reflections [false/true]
- hardcoded to use data/textures/outdoor_reflection.dds for reflections
coverFOVPreview [false/true]
- render over the unit FOV preview. On by default on Door, Windows,
Humans and MovementBlock objects
---
Bind - allows you to use equipment (or equipment types) on that entity. Can specify
either individual equipment names or type name.
Can be defined in both the equipment xml, or the entity xml.
We chose to define it in the entity xml because we add new entities more
times than we do equipment.
When adding a new equipment, you should define it near the equipment itself.
<Bind eqp="Flashbang" to="door_wood_01"/>
<Bind eqp="SmokeGrenade" to="door_wood_01"/>
or
<Bind eqp="Grenade" to="door_wood_01"/> to include all grenade types
<Bind eqp="ExplosiveCharge" to="window_frame_03"/> includes slaps/slap
kit/breaching charge
---
Wall
widthMeters
- default 0.25
heightMeters
- default 2.0
breakTemplate - name of entity template to place in places where the wall
breaks. leave empty to make unbreakable walls
- default empty
groundDebrisTemplate - name of entity template to place on ground along the
break
- default empty
debrisDensityPerM - amount of debris to spawn per broken meter.
- default 0.5
If a 1m hole is made for this wall, it will spawn debris totaling 0.5 in size
So either 1 pot + 2 teapots, or 4 pins + 1 teapot or any other combination
that adds up to 0.5
---
Human
deployMode
0 (d) - auto deploy: if the human is defined as a class in units.xml we will
use the DeploySlots flow (which is: remove all humans placed in editor and replace
with those customized. Only use the ones that are placed above deploy slots).
1 - always deploy: if the human is NOT defined in units.xml, we will deploy
the unit as defined in the editor (the behavior of DEPLOY_ALWAYS).
if it's defined as a playable unit, will force-deploy that human as an
ally, as specified in the editor, without using troops from your roster
---
POI Object Explanation & Details
XML Config
There are two tags responsible for controlling the two parts of a POIObject
*<Interactible/>* controls things to do with how AI interact with this object
anim - default none - name of looping animation to play when interacting.
when left empty the Human will play a random idle animation
animIn - default none - name of animation to play when starting to interact.
for example, "sit_down" for chairs
animOut - default none - name of animation to play when stopping interaction.
for example, "sit_up" for chairs
singleUser - default "false" -
look - default "around" - valid options are "at", "away" or "around".
look="at" makes interacting humans look straight at the object when interacting
with it. "away" makes them turn their back to it and "around" has them pick a
random direction, and occasionally turn around
durationMinMS - default 12000 -
durationMaxMS - default 45000 -
*<POI/>* makes the object generate POI spots around it. A POIObject without a POI
tag will be ignored by the AI, and is only useful as a Target that AI humans
interact with when the map starts
---
Interactible objects
Objects that will activate targetted Triggers when Used by player units
To use one, place it in a level and target the Trigger that you want activated. So
the target should be from Interactible to a Trigger
TIP: If you want to activate a Trigger more than once, you have to set its Reset
time to 0 (instead of the default -1)
See "Activate Keyboard" in various.xml
*<Interactible/>* Unrelated to the POI <Interactible> tag (for now)
durationMs - default 500 - duration in milliseconds until the Trigger is
activated
animation - default *none* - name of animation to play when interacting
onlyStopOnCancel - default false - when set to true the trooper will not stop
Using unless the player cancels the action.
The trigger will be activated twice, once when duration expires and
once when the action is stopped. You can use this to toggle things on only while a
trooper is using the thing
needsUnequip - default true - if trooper should be unarmed when Using
playSound - default none - what sound to play when using
noiseRadiusMeters - default none - if set, will create a Suspicious sound
event with this radius
---
DamageArea
Circular area that deals damage (or other effects) when activated by a trigger.
Target it with a trigger to link them
All properties can be changed in the editor, these will just be the default
*<DamageArea />*
radius - in meters
damage - same as Equipment
damageType - same as Equipment
armorPenetration - same as Equipment
pushForce - same as Equipment
knockbackDistance - same as Equipment
suppressionScale - same as Equipment
stunTimeMs - same as Equipment
burnTimeMs - same as Equipment
triggerAtSpawn - auto-trigger when "true"