实现目标
- 法术只对特定 creature | gameobject 施放,否则无法施放
实现方法
conditions
- SourceTypeOrReferenceId:13(CONDITION_SOURCE_TYPE_SPELL_IMPLICIT_TARGET)
- SourceGroup:受条件影响的法术效果掩码,取值如下
- 1:EFFECT_0
- 2:EFFECT_1
- 4:EFFECT_2
- SourceEntry:受条件影响的法术ID,取值链接 Spell.db2
- ConditionTypeOrReference:31(CONDITION_OBJECT_ENTRY_GUID)
- ConditionValue1:
- 3 : TYPEID_UNIT
- 4 : TYPEID_PLAYER
- 5 : TYPEID_GAMEOBJECT
- 7 : TYPEID_CORPSE
- ConditionValue2:
- 0:给定 TypeID 的任何对象
- Creature_template.entry(TYPEID_UNIT)
- Gameobject_template.entry(TYPEID_GAMEOBJECT)
- ConditionValue3:
- 0:任何给定类型的对象
- 1 - 500000:creature / gameobject GUID
举例
cpp
INSERT INTO `world`.`conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `ConditionStringValue1`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
(13, 1, 73448, 0, 1, 31, 0, 3, 41742, 0, '', 0, 0, 0, '', 'On Creature \'War Kodo\' - Spell Implicit Target Available'),
(13, 1, 73449, 0, 1, 31, 0, 3, 41742, 0, '', 0, 0, 0, '', 'On Creature \'War Kodo\' - Spell Implicit Target Available');