6352e8e319
all at once
173 lines
4.6 KiB
Markdown
173 lines
4.6 KiB
Markdown
The monster table contains bindings specific to monsters which are available in addition to their common tables.
|
|
|
|
---
|
|
|
|
#### `String` monster.type()
|
|
|
|
Returns the monster's configured monster type.
|
|
|
|
---
|
|
|
|
#### `String` monster.seed()
|
|
|
|
Returns a string representation of the monster's random seed.
|
|
|
|
---
|
|
|
|
#### `Json` monster.uniqueParameters()
|
|
|
|
Returns a table of the monster's unique (override) parameters.
|
|
|
|
---
|
|
|
|
#### `unsigned` monster.familyIndex()
|
|
|
|
Returns the monster's family index.
|
|
|
|
---
|
|
|
|
#### `float` monster.level()
|
|
|
|
Returns the monster's level.
|
|
|
|
---
|
|
|
|
#### `void` monster.setDamageOnTouch(`bool` enabled)
|
|
|
|
Enables or disables the monster's touch damage.
|
|
|
|
---
|
|
|
|
#### `void` monster.setDamageSources([`List<DamageSource>` damageSources])
|
|
|
|
Sets the monster's active damage sources (or clears them if unspecified).
|
|
|
|
---
|
|
|
|
#### `void` monster.setDamageParts(`StringSet` damageParts)
|
|
|
|
Sets the monster's active damage parts. Damage parts must be defined in the monster's configuration parameters. A damage part specifies a damage source and an animation part to anchor the damage source to. The anchor part's transformation will be applied to the damage source's damage poly, and if a vector, the damage source's knockback.
|
|
|
|
```js
|
|
"animationDamageParts" : {
|
|
"beam" : {
|
|
"anchorPart" : "partName", // animation part to anchor the damage source to
|
|
"checkLineCollision" : false, // optional, if the damage source is a line, check for collision along the line
|
|
"bounces" : 0, // optional, if the damage source is a line and it checks for collision
|
|
"damageSource" : {
|
|
"line" : [ [0.0, 0.0], [5.0, 0.0] ],
|
|
"damage" : 10,
|
|
"damageSourceKind" : "default",
|
|
"teamType" : "enemy",
|
|
"teamNumber" : 2
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
```lua
|
|
monster.setDamageParts({"beam"}) -- sets the "beam" damage part active
|
|
```
|
|
|
|
---
|
|
|
|
#### `void` monster.setAggressive(`bool` aggressive)
|
|
|
|
Sets whether the monster is currently aggressive.
|
|
|
|
---
|
|
|
|
#### `void` monster.setDropPool(`Json` dropPool)
|
|
|
|
Sets the monster's drop pool, which determines the items that it will drop on death. This can be specified as the `String` name of a treasure pool, or as a `Map<String, String>` to specify different drop pools for different damage types. If specified as a map, the pool should contain a "default" entry for unhandled damage types.
|
|
|
|
---
|
|
|
|
#### `Vec2F` monster.toAbsolutePosition(`Vec2F` relativePosition)
|
|
|
|
Returns an absolute world position calculated from the given relative position.
|
|
|
|
---
|
|
|
|
#### `Vec2F` monster.mouthPosition()
|
|
|
|
Returns the world position of the monster's mouth.
|
|
|
|
---
|
|
|
|
#### `void` monster.flyTo(`Vec2F` position)
|
|
|
|
Causes the monster to controlFly toward the given world position.
|
|
|
|
---
|
|
|
|
#### `void` monster.setDeathParticleBurst([`String` particleEmitter)
|
|
|
|
Sets the name of the particle emitter (configured in the animation) to burst when the monster dies, or clears it if unspecified.
|
|
|
|
---
|
|
|
|
#### `void` monster.setDeathSound([`String` sound])
|
|
|
|
Sets the name of the sound (configured in the animation) to play when the monster dies, or clears it if unspecified.
|
|
|
|
---
|
|
|
|
#### `void` monster.setPhysicsForces(`List<PhysicsForceRegion>` forceRegions)
|
|
|
|
Sets a list of physics force regions that the monster will project, used for applying forces to other nearby entities. Set an empty list to clear the force regions.
|
|
|
|
---
|
|
|
|
#### `void` monster.setName(`String` name)
|
|
|
|
Sets the monster's name.
|
|
|
|
---
|
|
|
|
#### `void` monster.setDisplayNametag(`bool` enabled)
|
|
|
|
Sets whether the monster should display its nametag.
|
|
|
|
---
|
|
|
|
#### `bool` monster.say(`String` line, [`Map<String, String>` tags])
|
|
|
|
Causes the monster to say the line, optionally replacing any specified tags in the text. Returns `true` if anything is said (i.e. the line is not empty) and `false` otherwise.
|
|
|
|
---
|
|
|
|
#### `bool` monster.sayPortrait(`String` line, `String` portrait, [`Map<String, String>` tags])
|
|
|
|
Similar to monster.say, but uses a portrait chat bubble with the specified portrait image.
|
|
|
|
---
|
|
|
|
#### `void` monster.setDamageTeam(`DamageTeam` team)
|
|
|
|
Sets the monster's current damage team type and number.
|
|
|
|
---
|
|
|
|
#### `void` monster.setUniqueId([`String` uniqueId])
|
|
|
|
Sets the monster's unique entity id, or clears it if unspecified.
|
|
|
|
---
|
|
|
|
#### `void` monster.setDamageBar(`String` damageBarType)
|
|
|
|
Sets the type of damage bar that the monster should display. Valid options are "default", "none" and "special".
|
|
|
|
---
|
|
|
|
#### `void` monster.setInteractive(`bool` interactive)
|
|
|
|
Sets whether the monster is currently interactive.
|
|
|
|
---
|
|
|
|
#### `void` monster.setAnimationParameter(`String` key, `Json` value)
|
|
|
|
Sets a networked scripted animator parameter to be used in a client side rendering script using animationConfig.getParameter.
|