|
多个系统(掉落、对话等)的条件定义
SourceTypeOrReferenceId:如果是负数,可以参考以下数据表模板
CONDITION_SOURCE_TYPE_NONE = 0,
CONDITION_SOURCE_TYPE_CREATURE_LOOT_TEMPLATE = 1,
CONDITION_SOURCE_TYPE_DISENCHANT_LOOT_TEMPLATE = 2,
CONDITION_SOURCE_TYPE_FISHING_LOOT_TEMPLATE = 3,
CONDITION_SOURCE_TYPE_GAMEOBJECT_LOOT_TEMPLATE = 4,
CONDITION_SOURCE_TYPE_ITEM_LOOT_TEMPLATE = 5,
CONDITION_SOURCE_TYPE_MAIL_LOOT_TEMPLATE = 6,
CONDITION_SOURCE_TYPE_MILLING_LOOT_TEMPLATE = 7,
CONDITION_SOURCE_TYPE_PICKPOCKETING_LOOT_TEMPLATE = 8,
CONDITION_SOURCE_TYPE_PROSPECTING_LOOT_TEMPLATE = 9,
CONDITION_SOURCE_TYPE_REFERENCE_LOOT_TEMPLATE = 10,
CONDITION_SOURCE_TYPE_SKINNING_LOOT_TEMPLATE = 11,
CONDITION_SOURCE_TYPE_SPELL_LOOT_TEMPLATE = 12,
CONDITION_SOURCE_TYPE_SPELL_IMPLICIT_TARGET = 13,
CONDITION_SOURCE_TYPE_GOSSIP_MENU = 14,
CONDITION_SOURCE_TYPE_GOSSIP_MENU_OPTION = 15,
CONDITION_SOURCE_TYPE_CREATURE_TEMPLATE_VEHICLE = 16,
CONDITION_SOURCE_TYPE_SPELL = 17,
CONDITION_SOURCE_TYPE_SPELL_CLICK_EVENT = 18,
CONDITION_SOURCE_TYPE_QUEST_ACCEPT = 19,
CONDITION_SOURCE_TYPE_QUEST_SHOW_MARK = 20,
CONDITION_SOURCE_TYPE_VEHICLE_SPELL = 21,
CONDITION_SOURCE_TYPE_SMART_EVENT = 22,
CONDITION_SOURCE_TYPE_NPC_VENDOR = 23,
CONDITION_SOURCE_TYPE_SPELL_PROC = 24,
CONDITION_SOURCE_TYPE_MAX = 25
ElseGroup:允许所有建筑状态归类,所有相同状态的编号(相同的SourceType、SourceGroup和SourceEntry)在ElseGroup中共享同一个数字,定义为一个组;
ConditionTypeOrReference: CONDITION_NONE = 0,
CONDITION_AURA = 1,
CONDITION_ITEM = 2,
CONDITION_ITEM_EQUIPPED = 3,
CONDITION_ZONEID = 4,
CONDITION_REPUTATION_RANK = 5,
CONDITION_TEAM = 6,
CONDITION_SKILL = 7,
CONDITION_QUESTREWARDED = 8,
CONDITION_QUESTTAKEN = 9,
CONDITION_DRUNKENSTATE = 10,
CONDITION_WORLD_STATE = 11,
CONDITION_ACTIVE_EVENT = 12,
CONDITION_INSTANCE_INFO = 13,
CONDITION_QUEST_NONE = 14,
CONDITION_CLASS = 15,
CONDITION_RACE = 16,
CONDITION_ACHIEVEMENT = 17,
CONDITION_TITLE = 18,
CONDITION_SPAWNMASK = 19,
CONDITION_GENDER = 20,
CONDITION_UNIT_STATE = 21,
CONDITION_MAPID = 22,
CONDITION_AREAID = 23,
CONDITION_UNUSED_24 = 24,
CONDITION_SPELL = 25,
CONDITION_PHASEMASK = 26,
CONDITION_LEVEL = 27,
CONDITION_QUEST_COMPLETE = 28,
CONDITION_NEAR_CREATURE = 29,
CONDITION_NEAR_GAMEOBJECT = 30,
CONDITION_OBJECT_ENTRY = 31,
CONDITION_TYPE_MASK = 32,
CONDITION_RELATION_TO = 33,
CONDITION_REACTION_TO = 34,
CONDITION_DISTANCE_TO = 35,
CONDITION_ALIVE = 36,
CONDITION_HP_VAL = 37,
CONDITION_HP_PCT = 38,
CONDITION_REALM_ACHIEVEMENT = 39,
CONDITION_IN_WATER = 40,
CONDITION_MAX = 41
ConditionTarget:所选物体的状态;
NegativeCondition:如果设为1,则为倒立状态;
ErrorType:只有当CONDITION_SOURCE_TYPE_SPELL = 17时显示;
ErrorTextId:只有当CONDITION_SOURCE_TYPE_SPELL = 17时显示;
(ErrorType 必须是 SPELL_FAILED_CUSTOM_ERROR (172) 否则为 0)
ScriptName:状态使用的脚本名称,默认为NULL;
Comment:对状态和参考的说明;
condition types说明
SourceGroup 和 SourceEntry字段关联 SourceTypeOrReferenceId
*CONDITION_SOURCE_TYPE_NONE = 0 只在参考模板中使用
*CONDITION_SOURCE_TYPE_ * _LOOT_TEMPLATE = 1 - 12
*SourceGroup: 掉落编号 (_loot_template表的Entry字段或者Reference_loot_template表的Entry字段)
*SourceEntry: 物体编号 (_loot_template表的Item字段或者Reference_loot_template表的Item字段)
*CONDITION_SOURCE_TYPE_SPELL_IMPLICIT_TARGET = 13
- SourceGroup: 状态影响效果(1 - EFFECT_0, 2 - EFFECT_1, 4 - EFFECT_2)
- SourceEntry: spell.dbc文件的技能编号
- ConditionTarget:
*CONDITION_SOURCE_TYPE_GOSSIP_MENU = 14
- SourceGroup: gossip_menu 表的entry字段
- SourceEntry: gossip_menu 表的text_id字段
- ConditionTarget:
- 0 - 显示对话内容的玩家
- 1 - 提供对话菜单的物体
*CONDITION_SOURCE_TYPE_GOSSIP_MENU_OPTION = 15
- SourceGroup:关联gossip_menu_option表的menu_id字段;
- SourceEntry:关联gossip_menu_option表的id字段;
- ConditionTarget:
- 0 - 显示对话内容的玩家
- 1 - 提供对话菜单的物体
*CONDITION_SOURCE_TYPE_CREATURE_TEMPLATE_VEHICLE = 16
- SourceGroup: 总为0
- SourceEntry: 关联creature_template表的entry字段;
- ConditionTarget:
注意,该生物必须是个坐骑。
*CONDITION_SOURCE_TYPE_SPELL = 17
- SourceGroup: 总为0
- SourceEntry: 关联spell.dbc文件的id;
- ConditionTarget:
- 0 - 施法者
- 1 - 施法的目标(必须是玩家选中的,范围内目标不算)
*CONDITION_SOURCE_TYPE_SPELL_CLICK_EVENT = 18
- SourceGroup: 生物编号,关联npc_spellclick_spells表的npc_entry字段;
- SourceEntry: 技能,关联npc_spellclick_spells表的spell_id字段
- ConditionTarget:
*CONDITION_SOURCE_TYPE_QUEST_ACCEPT = 19
- SourceGroup: ?
- SourceEntry: Quest id)
- ConditionTarget: always 0
*CONDITION_SOURCE_TYPE_QUEST_SHOW_MARK = 20
- SourceGroup: ?
- SourceEntry: 关联任务表的ID
- ConditionTarget: 总为0
*CONDITION_SOURCE_TYPE_VEHICLE_SPELL = 21
- SourceGroup: 关联creature_template表的entry字段
- SourceEntry: 关联spell.dbc文件的id
- ConditionTarget:
*CONDITION_SOURCE_TYPE_SMART_EVENT = 22
- SourceGroup: smart_scripts表的id+ 1
- SourceEntry: smart_scripts表的EntryOrGuid字段
- SourceId: smart_scripts表的Source_Type字段
- ConditionTarget:
*CONDITION_SOURCE_TYPE_NPC_VENDOR = 23
- SourceGroup: 关联npc_vendor表的entry字段
- SourceEntry: 关联npc_vendor表的item字段
- SourceId: 总为0
*CONDITION_SOURCE_TYPE_SPELL_PROC = 24
- SourceGroup: 总为0
- SourceEntry: 触发的光环技能
- ConditionTarget:
ConditionValueX fields说明
*CONDITION_NONE = 0 从不用
*CONDITION_AURA = 1
- ConditionValue1: 关联spell.dbc的id
- ConditionValue2: 法术效果标志(0-2)
- ConditionValue3: 总为0
*CONDITION_ITEM = 2
- ConditionValue1: 关联item_template表的entry字段
- ConditionValue2: 物品数量
- ConditionValue3: 是否在银行 (1=是)
*CONDITION_ITEM_EQUIPPED = 3
- ConditionValue1: 关联item_template表的entry字段
- ConditionValue2: 总为0
- ConditionValue3: 总为0
*CONDITION_ZONEID = 4
- ConditionValue1: 区域ID
- ConditionValue2: 总为0
- ConditionValue3: 总为0
*CONDITION_REPUTATION_RANK = 5
- ConditionValue1: 关联Faction.dbc文件的ID
- ConditionValue2: 等级标志(仇恨 - 1, 敌对 - 2, 冷漠 - 4, 中立 - 8, 友善 - 16, 尊敬 - 32, 崇敬 - 64, 崇拜 - 128)
- ConditionValue3: 总为0
*CONDITION_TEAM = 6
- ConditionValue1: 团队id (469 - 联盟, 67 - 部落)
- ConditionValue2: 总为0
- ConditionValue3: 总为0
*CONDITION_SKILL = 7
- ConditionValue1: 所需专业,参考 SkillLine.dbc
- ConditionValue2: 专业熟练度
- ConditionValue3: 总为0
*CONDITION_QUESTREWARDED = 8
- ConditionValue1: 任务表quest_template的id
- ConditionValue2: 总为0
- ConditionValue3: 总为0
*CONDITION_QUESTTAKEN = 9
- ConditionValue1:任务表quest_template的id
- ConditionValue2: 总为0
- ConditionValue3: 总为0
*CONDITION_DRUNKENSTATE = 10
- ConditionValue1: 饮酒状态: 0 - 清醒; 1 - 微醉, 2 - 喝醉, 3 - 烂醉
- ConditionValue2: 总为0
- ConditionValue3: 总为0
- (Formerly AD_COMMISSION_AURA)
*CONDITION_WORLD_STATE = 11
- ConditionValue1: 世界状态索引
- ConditionValue2: 世界状态数值
- ConditionValue3: 总为0
*CONDITION_ACTIVE_EVENT= 12
- ConditionValue1: 关联game_event表的eventEntry字段
- ConditionValue2: 总为0
- ConditionValue3: 总为0
*CONDITION_INSTANCE_INFO = 13
- ConditionValue1: 编号
- ConditionValue2: 数据
- ConditionValue3: 类型:
- 0 - INSTANCE_INFO_DATA
- 1 - INSTANCE_INFO_DATA64
- 2 - INSTANCE_INFO_BOSS_STATE
*CONDITION_QUEST_NONE = 14
- ConditionValue1: 关联quest_template表的id字段
- ConditionValue2: 总为0
- ConditionValue3: 总为0
*CONDITION_CLASS = 15
- ConditionValue1: 职业标志. 参考 ChrClasses.dbc
- ConditionValue2: 总为0
- ConditionValue3: 总为0
*CONDITION_RACE = 16
- ConditionValue1: 玩家种族. 参考 ChrRaces.dbc
- ConditionValue2: 总为0
- ConditionValue3: 总为0
*CONDITION_ACHIEVEMENT = 17
- ConditionValue1: 成就ID,关联Achievement.dbc
- ConditionValue2: 总为0
- ConditionValue3: 总为0
*CONDITION_TITLE = 18
- ConditionValue1: 称号ID,关联 CharTitles.dbc
- ConditionValue2: 总为0
- ConditionValue3: 总为0
*CONDITION_SPAWNMASK = 19
- ConditionValue1: 刷新标志(参考 Gameobject表的spawnMask字段/Creature表的spawnMask字段)
- ConditionValue2: 总为0
- ConditionValue3: 总为0
*CONDITION_GENDER = 20
- ConditionValue1: 0 = 男, 1 = 女, 2 = 无
- ConditionValue2: 总为0
- ConditionValue3: 总为0
*CONDITION_UNIT_STATE = 21
- ConditionValue1: 单位状态
- ConditionValue2: 总为0
- ConditionValue3: 总为0
*CONDITION_MAPID = 22
- ConditionValue1: 地图编号
- ConditionValue2: 总为0
- ConditionValue3: 总为0
*CONDITION_AREAID = 23
- ConditionValue1: 区域编号
- ConditionValue2: 总为0
- ConditionValue3: 总为0
*CONDITION_SPELL = 25
- ConditionValue1: 技能编号,参考 Spell.dbc
- ConditionValue2: 总为0
- ConditionValue3: 总为0
*CONDITION_PHASEMASK = 26
- ConditionValue1: 相位数值
- ConditionValue2: 总为0
- ConditionValue3: 总为0
*CONDITION_LEVEL = 27
- ConditionValue1: 玩家等级
- ConditionValue2: 选项
- 0 = 等级相等
- 1 = 等级高
- 2 = 等级低
- 3 = 等级相同或者高
- 4 = 等级相同或者低
- ConditionValue3: 总为0
*CONDITION_QUEST_COMPLETE = 28
- ConditionValue1: 任务编号
- ConditionValue2: 总为0
- ConditionValue3: 总为0
仅适用于玩家完成任务目标,但尚未提交的情况
*CONDITION_NEAR_CREATURE = 29
- ConditionValue1: 生物编号
- ConditionValue2: 距离
- ConditionValue3: 总为0
*CONDITION_NEAR_GAMEOBJECT = 30
- ConditionValue1: 物体编号
- ConditionValue2: 距离
- ConditionValue3: 总为0
*CONDITION_OBJECT_ENTRY= 31
- ConditionValue1: 可用目标类型
- 3 - TYPEID_UNIT 单位
- 4 - TYPEID_PLAYER 玩家
- 5 - TYPEID_GAMEOBJECT 物体
- 7 - TYPEID_CORPSE (施放灵魂后的玩家尸体)
- ConditionValue2: 编号
- 0 所有物体
- 物体编号 TypeID = TYPEID_GAMEOBJECT
- 生物编号 TypeID = TYPEID_UNIT
- ConditionValue3: 总为0
*CONDITION_TYPE_MASK= 32
- ConditionValue1: 类型标志
- 0x0008 - TYPEMASK_UNIT 单位
- 0x0010 - TYPEMASK_PLAYER 玩家
- 0x0020 - TYPEMASK_GAMEOBJECT 物体
- 0x0080 - TYPEMASK_CORPSE (施放灵魂后的玩家尸体)
- ConditionValue2: 总为0
- ConditionValue3: 总为0
*CONDITION_RELATION_TO= 33
- ConditionValue1: 关联的目标 - 当前SourceType中可用
- ConditionValue2: 关联类型
- 0 - RELATION_SELF 单人
- 1 - RELATION_IN_PARTY 队伍
- 2 - RELATION_IN_RAID_OR_PARTY 团队或队伍
- 3 - RELATION_OWNED_BY (从属)
- 4 - RELATION_PASSENGER_OF (骑乘)
- 5 - RELATION_CREATED_BY (召唤)
- ConditionValue3: 总为0
*CONDITION_REACTION_TO= 34
- ConditionValue1: 关联的目标 - 当前SourceType中可用
- ConditionValue2: 等级标志
- 1 - 仇恨
- 2 - 敌对
- 4 - 冷漠
- 8 - 中立
- 16 - 友善
- 32 - 尊敬
- 64 - 崇敬
- 128 - 崇拜
- ConditionValue3: 总为 0
*CONDITION_DISTANCE_TO= 35
- ConditionValue1: 距离内目标
- ConditionValue2: 距离
- ConditionValue3: 比较类型
- 0 = 距离和ConditionValue2相等
- 1 = 距离比ConditionValue2大
- 2 = 距离比ConditionValue2小
- 3 = 距离大于等于ConditionValue2
- 4 = 距离小于等于ConditionValue2
*CONDITION_ALIVE= 36
- ConditionValue1: 总为 0
- ConditionValue2: 总为0
- ConditionValue3: 总为0
- NegativeCondition:
- 0 (目标必须或者)
- 1 (目标必须死亡)
注意:生物死亡和看起来像死亡是两回事,前者是真的死亡了,后者只是做出一个死亡的动作。
*CONDITION_HP_VAL = 37
- ConditionValue1: 血量
- ConditionValue2: 比较类型
- 0 = 血量相等
- 1 = 血量高
- 2 = 血量低
- 3 = 血量必须相等或者高于
- 4 = 血量必须相等或者低于
- ConditionValue3: 总为0
*CONDITION_HP_PCT = 38
- ConditionValue1: 最大血量百分比
- ConditionValue2: 比较类型
- 0 = 最大血量百分比必须相同
- 1 = 最大血量百分比必须高
- 2 = 最大血量百分比必须低
- 3 = 最大血量百分比必须相同或者高
- 4 = 最大血量百分比必须相同或者低
- ConditionValue3: 总为0
*CONDITION_REALM_ACHIEVEMENT = 39
- ConditionValue1: 成就ID,参考 Achievement.dbc
- ConditionValue2: 总为0
- ConditionValue3: 总为0
*CONDITION_IN_WATER = 40
- ConditionValue1: 总为0
- ConditionValue2: 总为0
- ConditionValue3: 总为0
- NegativeCondition:
*REFERENCE TEMPLATES
- SourceTypeOrReferenceId : 用作否定,参考 ID
- SourceGroup : 总为0
- SourceEntry : 总为0
- ElseGroup : 修改者
- ConditionTypeOrReference: ConditionTypeOrReference
- ConditionValue1 : 参考上面内容
- ConditionValue2 : 参考上面内容
- ConditionValue3 : 参考上面内容
- ErrorType : 参考上面内容
- ErrorTextId : 参考上面内容
- Comment : 参考上面内容
|
加群请说在01wow.com看到
|