*Some cleanup in SharedDefines
*Implement spell target modes 96-103, 91, 92 --HG-- branch : trunk
This commit is contained in:
+19
-12
@@ -965,12 +965,11 @@ enum AuraState
|
||||
AURA_STATE_JUDGEMENT = 5, // C |
|
||||
//AURA_STATE_UNKNOWN6 = 6, // | not used
|
||||
AURA_STATE_HUNTER_PARRY = 7, // C |
|
||||
AURA_STATE_ROGUE_ATTACK_FROM_STEALTH = 7, // C | FIX ME: not implemented yet!
|
||||
//AURA_STATE_UNKNOWN7 = 7, // c | random/focused bursts spells (?)
|
||||
//AURA_STATE_UNKNOWN8 = 8, // | not used
|
||||
//AURA_STATE_UNKNOWN9 = 9, // | not used
|
||||
//AURA_STATE_UNKNOWN7 = 7, // c | creature cheap shot / focused bursts spells
|
||||
//AURA_STATE_UNKNOWN8 = 8, // t| test spells
|
||||
//AURA_STATE_UNKNOWN9 = 9, // |
|
||||
AURA_STATE_WARRIOR_VICTORY_RUSH = 10, // C | warrior victory rush
|
||||
//AURA_STATE_UNKNOWN11 = 11, // t|
|
||||
//AURA_STATE_UNKNOWN11 = 11, // C t| 60348 - Maelstrom Ready!, test spells
|
||||
AURA_STATE_FAERIE_FIRE = 12, // c t|
|
||||
AURA_STATE_HEALTHLESS_35_PERCENT = 13, // C T |
|
||||
AURA_STATE_CONFLAGRATE = 14, // T |
|
||||
@@ -981,7 +980,7 @@ enum AuraState
|
||||
//AURA_STATE_UNKNOWN19 = 19, // | not used
|
||||
//AURA_STATE_UNKNOWN20 = 20, // c | only (45317 Suicide)
|
||||
//AURA_STATE_UNKNOWN21 = 21, // | not used
|
||||
//AURA_STATE_UNKNOWN22 = 22, // C | not implemented yet (Requires Evasive Charges to use)
|
||||
//AURA_STATE_UNKNOWN22 = 22, // C t| varius spells (63884, 50240)
|
||||
AURA_STATE_HEALTH_ABOVE_75_PERCENT = 23, // C |
|
||||
};
|
||||
|
||||
@@ -1092,7 +1091,6 @@ enum Targets
|
||||
TARGET_UNIT_AREA_ENEMY_DST = 16,
|
||||
TARGET_DST_DB = 17, // uses in teleport spells and some other
|
||||
TARGET_DST_CASTER = 18,
|
||||
TARGET_PREV_EFFECT_SUMMON = 18,
|
||||
TARGET_UNIT_PARTY_CASTER = 20,
|
||||
TARGET_UNIT_TARGET_ALLY = 21,
|
||||
TARGET_SRC_CASTER = 22,
|
||||
@@ -1167,13 +1165,22 @@ enum Targets
|
||||
TARGET_DEST_DYNOBJ_NONE = 88,
|
||||
TARGET_DEST_TRAJ = 89,
|
||||
TARGET_UNIT_MINIPET = 90,
|
||||
TARGET_UNK_91 = 91,
|
||||
TARGET_UNK_92 = 92,
|
||||
TARGET_CORPSE_AREA_ENEMY_PLAYER = 93,
|
||||
TARGET_DEST_DEST_RANDOM_DIR_DIST = 91,
|
||||
TARGET_UNIT_UNK_92 = 92,
|
||||
TARGET_CORPSE_AREA_ENEMY_PLAYER_SRC= 93,
|
||||
TARGET_UNIT_VEHICLE = 94,
|
||||
TARGET_UNIT_DRIVER = 95, //?
|
||||
TARGET_UNIT_PASSENGER = 97,
|
||||
TARGET_UNIT_DRIVER = 95,
|
||||
TARGET_UNIT_PASSENGER_0 = 96,
|
||||
TARGET_UNIT_PASSENGER_1 = 97,
|
||||
TARGET_UNIT_PASSENGER_2 = 98,
|
||||
TARGET_UNIT_PASSENGER_3 = 99,
|
||||
TARGET_UNIT_PASSENGER_4 = 100,
|
||||
TARGET_UNIT_PASSENGER_5 = 101,
|
||||
TARGET_UNIT_PASSENGER_6 = 102,
|
||||
TARGET_UNIT_PASSENGER_7 = 103,
|
||||
TARGET_UNIT_AREA_PATH = 104,
|
||||
TARGET_UNIT_UNK_105 = 105, // 1 spell
|
||||
TARGET_DEST_UNK_110 = 110, // some kind of traj?
|
||||
};
|
||||
|
||||
#define TOTAL_SPELL_TARGETS 105
|
||||
|
||||
+11
-3
@@ -1864,9 +1864,16 @@ void Spell::SelectEffectTargets(uint32 i, uint32 cur)
|
||||
if(Unit *vehicle = m_caster->GetVehicleBase())
|
||||
AddUnitTarget(vehicle, i);
|
||||
break;
|
||||
case TARGET_UNIT_PASSENGER:
|
||||
case TARGET_UNIT_PASSENGER_0:
|
||||
case TARGET_UNIT_PASSENGER_1:
|
||||
case TARGET_UNIT_PASSENGER_2:
|
||||
case TARGET_UNIT_PASSENGER_3:
|
||||
case TARGET_UNIT_PASSENGER_4:
|
||||
case TARGET_UNIT_PASSENGER_5:
|
||||
case TARGET_UNIT_PASSENGER_6:
|
||||
case TARGET_UNIT_PASSENGER_7:
|
||||
if(m_caster->GetTypeId() == TYPEID_UNIT && ((Creature*)m_caster)->IsVehicle())
|
||||
if(Unit *unit = m_caster->GetVehicleKit()->GetPassenger(1)) // maybe not right
|
||||
if(Unit *unit = m_caster->GetVehicleKit()->GetPassenger(cur - TARGET_UNIT_PASSENGER_0))
|
||||
AddUnitTarget(unit, i);
|
||||
break;
|
||||
}
|
||||
@@ -1904,6 +1911,7 @@ void Spell::SelectEffectTargets(uint32 i, uint32 cur)
|
||||
case TARGET_UNIT_TARGET_RAID:
|
||||
case TARGET_UNIT_TARGET_PARTY:
|
||||
case TARGET_UNIT_MINIPET:
|
||||
case TARGET_UNIT_UNK_92:
|
||||
AddUnitTarget(target, i);
|
||||
break;
|
||||
case TARGET_UNIT_PARTY_TARGET:
|
||||
@@ -2090,7 +2098,7 @@ void Spell::SelectEffectTargets(uint32 i, uint32 cur)
|
||||
|
||||
float dist;
|
||||
dist = GetSpellRadiusForFriend(sSpellRadiusStore.LookupEntry(m_spellInfo->EffectRadiusIndex[i]));
|
||||
if (cur == TARGET_DEST_DEST_RANDOM)
|
||||
if (cur == TARGET_DEST_DEST_RANDOM || cur == TARGET_DEST_DEST_RANDOM_DIR_DIST)
|
||||
dist *= rand_norm();
|
||||
|
||||
// must has dst, no need to set flag
|
||||
|
||||
+4
-4
@@ -33,10 +33,10 @@ class Aura;
|
||||
enum SpellCastTargetFlags
|
||||
{
|
||||
TARGET_FLAG_SELF = 0x00000000,
|
||||
TARGET_FLAG_UNUSED1 = 0x00000001, // not used in any spells as of 3.0.3 (can be set dynamically)
|
||||
TARGET_FLAG_UNUSED1 = 0x00000001, // not used in any spells as of 3.2.2a (can be set dynamically)
|
||||
TARGET_FLAG_UNIT = 0x00000002, // pguid
|
||||
TARGET_FLAG_UNUSED2 = 0x00000004, // not used in any spells as of 3.0.3 (can be set dynamically)
|
||||
TARGET_FLAG_UNUSED3 = 0x00000008, // not used in any spells as of 3.0.3 (can be set dynamically)
|
||||
TARGET_FLAG_UNUSED2 = 0x00000004, // not used in any spells as of 3.2.2a (can be set dynamically)
|
||||
TARGET_FLAG_UNUSED3 = 0x00000008, // not used in any spells as of 3.2.2a (can be set dynamically)
|
||||
TARGET_FLAG_ITEM = 0x00000010, // pguid
|
||||
TARGET_FLAG_SOURCE_LOCATION = 0x00000020, // 3 float
|
||||
TARGET_FLAG_DEST_LOCATION = 0x00000040, // 3 float
|
||||
@@ -49,7 +49,7 @@ enum SpellCastTargetFlags
|
||||
TARGET_FLAG_STRING = 0x00002000, // string, 0 spells
|
||||
TARGET_FLAG_UNK1 = 0x00004000, // 199 spells, opening object/lock
|
||||
TARGET_FLAG_CORPSE = 0x00008000, // pguid, resurrection spells
|
||||
TARGET_FLAG_UNK2 = 0x00010000, // pguid, not used in any spells as of 3.0.3 (can be set dynamically)
|
||||
TARGET_FLAG_UNK2 = 0x00010000, // pguid, not used in any spells as of 3.2.2a (can be set dynamically)
|
||||
TARGET_FLAG_GLYPH = 0x00020000 // used in glyph spells
|
||||
};
|
||||
|
||||
|
||||
+10
-1
@@ -110,7 +110,14 @@ SpellMgr::SpellMgr()
|
||||
case TARGET_UNIT_PARTY_CASTER:
|
||||
case TARGET_UNIT_RAID_CASTER:
|
||||
case TARGET_UNIT_VEHICLE:
|
||||
case TARGET_UNIT_PASSENGER:
|
||||
case TARGET_UNIT_PASSENGER_0:
|
||||
case TARGET_UNIT_PASSENGER_1:
|
||||
case TARGET_UNIT_PASSENGER_2:
|
||||
case TARGET_UNIT_PASSENGER_3:
|
||||
case TARGET_UNIT_PASSENGER_4:
|
||||
case TARGET_UNIT_PASSENGER_5:
|
||||
case TARGET_UNIT_PASSENGER_6:
|
||||
case TARGET_UNIT_PASSENGER_7:
|
||||
SpellTargetType[i] = TARGET_TYPE_UNIT_CASTER;
|
||||
break;
|
||||
case TARGET_UNIT_MINIPET:
|
||||
@@ -122,6 +129,7 @@ SpellMgr::SpellMgr()
|
||||
case TARGET_UNIT_PARTY_TARGET:
|
||||
case TARGET_UNIT_CLASS_TARGET:
|
||||
case TARGET_UNIT_CHAINHEAL:
|
||||
case TARGET_UNIT_UNK_92:
|
||||
SpellTargetType[i] = TARGET_TYPE_UNIT_TARGET;
|
||||
break;
|
||||
case TARGET_UNIT_NEARBY_ENEMY:
|
||||
@@ -196,6 +204,7 @@ SpellMgr::SpellMgr()
|
||||
case TARGET_DEST_DEST_RIGHT:
|
||||
case TARGET_DEST_DEST_LEFT:
|
||||
case TARGET_DEST_DEST_RANDOM:
|
||||
case TARGET_DEST_DEST_RANDOM_DIR_DIST:
|
||||
SpellTargetType[i] = TARGET_TYPE_DEST_DEST;
|
||||
break;
|
||||
case TARGET_DST_DB:
|
||||
|
||||
Reference in New Issue
Block a user