Mod:制作一个自定义敌人
跳到导航
跳到搜索
此页面的内容需要被翻译。
你可以帮助我们来翻译此页面。至于翻译的话请遵守本Wiki的翻译准则。
基础 |
---|
入门 • 基础 • Lua脚本 • Data.wak • 实用工具 |
制作指南 |
音频 • 敌人 • 生物群系 • 天赋 • 法术 • 精灵表 • 材料 • 图像放射器 • 特殊行为 • CMake使用 |
组件/实体 |
组件文档 • 枚举 • 特殊标签 • 所有标签列表 |
Lua编程 |
Lua API • 实用脚本 |
其他信息 |
法术和天赋的ID • 声音事件 • 魔数(Magic Numbers) |
WIP
如果英文wiki更新了记得帮这个也更新了-->链接
此页面介绍了用于创建新敌人的基础知识。(WIP)
常见组件和标签
Component | Purpose |
---|---|
AnimalAIComponent | Determines enemy behaviour and attacks. |
DamageModelComponent | Allows the enemy to be hurt, determines their damage multipliers and material weaknesses. |
PathFindingComponent | Allows the enemy to path-find through terrain and to other entities. |
PathFindingGridMarkerComponent | Affects path-finding grid in some way, limited documentation. (To be researched.) |
faction, food-chain rank and more. | |
CharacterPlatformingComponent | Determines the enemy's movement capabilities. |
CharacterDataComponent | Affects enemy collision, physics and more. |
HitboxComponent | Determines enemey's hitbox for incoming attacks, ect. |
CameraBoundComponent | Controls the distance from the camera where the enemy should be unloaded. |
SpriteComponent | The enemy's sprite graphics. |
SpriteAnimatorComponent | Updates the enemy's current sprite animation when doing certain actions, i.e. idling, walking, attacking. |
AudioComponent | Determines the audio to be played upon certain events. |
Tag | Purpose |
---|---|
mortal | Multi-purpose tag for living creatures and entities that can be destroyed. (To be researched.) |
hittable | Enemy can be hit. |
enemy | Enemy is an enemy. |
flying | Enemy is a flying enemy. |
boss | Enemy is a boss. |
miniboss | Enemy is a mini-boss. |
human | (To be researched.) |
prey | Enemy may be targeted by predators. |
homing_target | Enemy can be tracked by homing projectiles. |
destruction_target | Enemy will be targeted the Destruction spell. |
teleportable_NOT | Enemy cannot be teleported. |
polymorphable_NOT | Enemy cannot be polymorphed. |
necrobot_NOT | Enemy cannot be revived by enemies like Necrobot. |
glue_NOT | Enemy cannot be glued. |
curse_NOT | Enemy is immune to venomous curse? Grants no immunity to curse damage. |
touchmagic_immunity | Enemy has immunity to Touch of spells. |
AnimalAIComponent.ai_state Enum Values
The AnimalAIComponent::ai_state
has values 1-21, which correspond to the following states:
local states = {
"RandomMove",
"Wandering",
"Eating",
"RaisingHead",
"PreparingJump",
"MoveNearTarget",
"Peeing",
"Defecating",
"Alert",
"Landing",
"TakingFireDamage",
"EscapingPrey",
"AttackingMelee",
"AttackingMeleeDash",
"AttackingRanged",
"AttackingRangedMulti",
"Escaping",
"JobDefault",
"JobGoto",
"JobHelpOtherEntity",
"GoNearHome",
}
These can be printed out like so:
local animal = GetUpdatedEntityID()
local state = ComponentGetValue2(
EntityGetFirstComponentIncludingDisabled(animal, "AnimalAIComponent"), "ai_state"
)
print(states[state])