GameObject 常见类型详解 -- 光环生成对象(AURA GENERATOR)
GAMEOBJECT_TYPE_AURA_GENERATOR 是 TrinityCore 中用于创建光环生成对象的 GameObject 类型
字段详细说明
字段索引 | 字段名称 | 数据类型 | 默认值 | 说明 | 可选值/范围 |
---|---|---|---|---|---|
data0 | startOpen | enum | true | 初始状态 | 0 = 关闭, 1 = 开启 |
data1 | radius | uint32 | 10 | 作用半径 | 0 - 100 |
data2 | auraID1 | uint32 | 0 | 光环ID1 | 引用 Spell.db2 |
data3 | conditionID1 | uint32 | 0 | 条件ID1 | 引用 PlayerCondition.db2 |
data4 | auraID2 | uint32 | 0 | 光环ID2 | 引用 Spell.db2 |
data5 | conditionID2 | uint32 | 0 | 条件ID2 | 引用 PlayerCondition.db2 |
data6 | serverOnly | enum | false | 是否仅服务器端 | 0 = 否, 1 = 是 |
data7 | InteractRadiusOverride | uint32 | 0 | 交互半径覆盖值(码*100) | 0 - 2147483647 |
状态控制字段
字段 | 说明 |
---|---|
startOpen | 光环生成器的初始状态,true表示开启,false表示关闭 |
范围控制字段
字段 | 说明 |
---|---|
radius | 光环生成器的作用半径,单位为码,默认值为10码,最大100码 |
光环定义字段
字段 | 说明 |
---|---|
auraID1 | 第一个光环的法术ID,引用 Spell.db2 表 |
auraID2 | 第二个光环的法术ID,引用 Spell.db2 表 |
条件控制字段
字段 | 说明 |
---|---|
conditionID1 | 应用第一个光环所需的条件,引用 PlayerCondition.db2 表 |
conditionID2 | 应用第二个光环所需的条件,引用 PlayerCondition.db2 表 |
服务器机制字段
字段 | 说明 |
---|---|
serverOnly | 控制光环生成器是否仅在服务器端存在,客户端不可见 |
性能优化字段
字段 | 说明 |
---|---|
InteractRadiusOverride | 自定义光环生成器的交互距离,覆盖默认值 |
注意事项
光环系统集成: auraID1和auraID2是该类型的核心字段,连接了游戏的法术光环系统
范围控制: radius字段定义了光环生成器的作用范围
条件系统: conditionID1和conditionID2允许为每个光环设置独立的触发条件
双重光环: 支持同时提供两个不同的光环效果
初始状态: startOpen字段控制生成器的初始开启状态
性能考虑: 较大的radius值会影响服务器性能,应谨慎设置
使用示例
-- 一个基本的光环生成器,提供单个光环效果
INSERT INTO `gameobject_template`
(entry, [type](file://c:\TrinityCore\dep\protobuf\src\google\protobuf\descriptor.h#L797-L797), displayId, [name](file://c:\TrinityCore\dep\g3dlite\include\G3D\XML.h#L166-L168), data2)
VALUES (3023456, 30, 30234, '基本光环生成器', 12345);
-- 一个提供两个光环效果的生成器
INSERT INTO `gameobject_template`
(entry, [type](file://c:\TrinityCore\dep\protobuf\src\google\protobuf\descriptor.h#L797-L797), displayId, [name](file://c:\TrinityCore\dep\g3dlite\include\G3D\XML.h#L166-L168), data2, data4)
VALUES (3023457, 30, 30235, '双光环生成器', 12346, 12347);
-- 一个带条件控制的光环生成器
INSERT INTO `gameobject_template`
(entry, [type](file://c:\TrinityCore\dep\protobuf\src\google\protobuf\descriptor.h#L797-L797), displayId, [name](file://c:\TrinityCore\dep\g3dlite\include\G3D\XML.h#L166-L168), data2, data3)
VALUES (3023458, 30, 30236, '条件光环生成器', 12348, 100);