mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-22 18:15:31 +01:00
Core/Spells: Send OriginalCastId in SMSG_SPELL_START and SMSG_SPELL_GO for triggered spells in 'game' project
This commit is contained in:
@@ -622,7 +622,8 @@ void Spell::EffectTriggerSpell()
|
||||
unitTarget->RemoveAurasByType(SPELL_AURA_MOD_STUN);
|
||||
|
||||
// Cast Lesser Invisibility
|
||||
unitTarget->CastSpell(unitTarget, 7870, true);
|
||||
unitTarget->CastSpell(unitTarget, 7870, CastSpellExtraArgs(TRIGGERED_FULL_MASK)
|
||||
.SetOriginalCastId(m_castId));
|
||||
return;
|
||||
}
|
||||
// Brittle Armor - (need add max stack of 24575 Brittle Armor)
|
||||
@@ -634,7 +635,8 @@ void Spell::EffectTriggerSpell()
|
||||
return;
|
||||
|
||||
for (uint32 j = 0; j < spell->StackAmount; ++j)
|
||||
m_caster->CastSpell(unitTarget, spell->Id, true);
|
||||
m_caster->CastSpell(unitTarget, spell->Id, CastSpellExtraArgs(TRIGGERED_FULL_MASK)
|
||||
.SetOriginalCastId(m_castId));
|
||||
return;
|
||||
}
|
||||
// Mercurial Shield - (need add max stack of 26464 Mercurial Shield)
|
||||
@@ -646,7 +648,8 @@ void Spell::EffectTriggerSpell()
|
||||
return;
|
||||
|
||||
for (uint32 j = 0; j < spell->StackAmount; ++j)
|
||||
m_caster->CastSpell(unitTarget, spell->Id, true);
|
||||
m_caster->CastSpell(unitTarget, spell->Id, CastSpellExtraArgs(TRIGGERED_FULL_MASK)
|
||||
.SetOriginalCastId(m_castId));
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -688,6 +691,7 @@ void Spell::EffectTriggerSpell()
|
||||
|
||||
CastSpellExtraArgs args(TRIGGERED_FULL_MASK);
|
||||
args.SetOriginalCaster(m_originalCasterGUID);
|
||||
args.SetOriginalCastId(m_castId);
|
||||
// set basepoints for trigger with value effect
|
||||
if (effectInfo->Effect == SPELL_EFFECT_TRIGGER_SPELL_WITH_VALUE)
|
||||
for (uint32 i = 0; i < MAX_SPELL_EFFECTS; ++i)
|
||||
@@ -736,6 +740,7 @@ void Spell::EffectTriggerMissileSpell()
|
||||
|
||||
CastSpellExtraArgs args(TRIGGERED_FULL_MASK);
|
||||
args.SetOriginalCaster(m_originalCasterGUID);
|
||||
args.SetOriginalCastId(m_castId);
|
||||
// set basepoints for trigger with value effect
|
||||
if (effectInfo->Effect == SPELL_EFFECT_TRIGGER_MISSILE_SPELL_WITH_VALUE)
|
||||
for (uint32 i = 0; i < MAX_SPELL_EFFECTS; ++i)
|
||||
@@ -777,6 +782,7 @@ void Spell::EffectForceCast()
|
||||
{
|
||||
CastSpellExtraArgs args(TRIGGERED_FULL_MASK);
|
||||
args.SetOriginalCaster(m_originalCasterGUID);
|
||||
args.SetOriginalCastId(m_castId);
|
||||
args.AddSpellMod(SPELLVALUE_BASE_POINT0, damage);
|
||||
unitTarget->CastSpell(unitTarget, spellInfo->Id, args);
|
||||
return;
|
||||
@@ -788,11 +794,13 @@ void Spell::EffectForceCast()
|
||||
{
|
||||
case 72298: // Malleable Goo Summon
|
||||
unitTarget->CastSpell(unitTarget, spellInfo->Id, CastSpellExtraArgs(TRIGGERED_FULL_MASK)
|
||||
.SetOriginalCaster(m_originalCasterGUID));
|
||||
.SetOriginalCaster(m_originalCasterGUID)
|
||||
.SetOriginalCastId(m_castId));
|
||||
return;
|
||||
}
|
||||
|
||||
CastSpellExtraArgs args(TRIGGERED_FULL_MASK);
|
||||
args.SetOriginalCastId(m_castId);
|
||||
if (effectInfo->Effect == SPELL_EFFECT_FORCE_CAST_WITH_VALUE)
|
||||
for (uint32 i = 0; i < MAX_SPELL_EFFECTS; ++i)
|
||||
args.AddSpellMod(SpellValueMod(SPELLVALUE_BASE_POINT0 + i), damage);
|
||||
@@ -816,7 +824,8 @@ void Spell::EffectTriggerRitualOfSummoning()
|
||||
|
||||
finish();
|
||||
|
||||
m_caster->CastSpell(nullptr, spellInfo->Id, false);
|
||||
m_caster->CastSpell(nullptr, spellInfo->Id, CastSpellExtraArgs()
|
||||
.SetOriginalCastId(m_castId));
|
||||
}
|
||||
|
||||
inline void CalculateJumpSpeeds(SpellEffectInfo const* effInfo, float dist, float& speedXY, float& speedZ)
|
||||
@@ -925,9 +934,11 @@ void Spell::EffectTeleportUnits()
|
||||
if (r >= 70) // 7/12 success
|
||||
{
|
||||
if (r < 100) // 4/12 evil twin
|
||||
m_caster->CastSpell(m_caster, 23445, true);
|
||||
m_caster->CastSpell(m_caster, 23445, CastSpellExtraArgs(TRIGGERED_FULL_MASK)
|
||||
.SetOriginalCastId(m_castId));
|
||||
else // 1/12 fire
|
||||
m_caster->CastSpell(m_caster, 23449, true);
|
||||
m_caster->CastSpell(m_caster, 23449, CastSpellExtraArgs(TRIGGERED_FULL_MASK)
|
||||
.SetOriginalCastId(m_castId));
|
||||
}
|
||||
return;
|
||||
}
|
||||
@@ -941,36 +952,44 @@ void Spell::EffectTeleportUnits()
|
||||
{
|
||||
case 1:
|
||||
// soul split - evil
|
||||
m_caster->CastSpell(m_caster, 36900, true);
|
||||
m_caster->CastSpell(m_caster, 36900, CastSpellExtraArgs(TRIGGERED_FULL_MASK)
|
||||
.SetOriginalCastId(m_castId));
|
||||
break;
|
||||
case 2:
|
||||
// soul split - good
|
||||
m_caster->CastSpell(m_caster, 36901, true);
|
||||
m_caster->CastSpell(m_caster, 36901, CastSpellExtraArgs(TRIGGERED_FULL_MASK)
|
||||
.SetOriginalCastId(m_castId));
|
||||
break;
|
||||
case 3:
|
||||
// Increase the size
|
||||
m_caster->CastSpell(m_caster, 36895, true);
|
||||
m_caster->CastSpell(m_caster, 36895, CastSpellExtraArgs(TRIGGERED_FULL_MASK)
|
||||
.SetOriginalCastId(m_castId));
|
||||
break;
|
||||
case 4:
|
||||
// Decrease the size
|
||||
m_caster->CastSpell(m_caster, 36893, true);
|
||||
m_caster->CastSpell(m_caster, 36893, CastSpellExtraArgs(TRIGGERED_FULL_MASK)
|
||||
.SetOriginalCastId(m_castId));
|
||||
break;
|
||||
case 5:
|
||||
// Transform
|
||||
{
|
||||
if (m_caster->ToPlayer()->GetTeam() == ALLIANCE)
|
||||
m_caster->CastSpell(m_caster, 36897, true);
|
||||
m_caster->CastSpell(m_caster, 36897, CastSpellExtraArgs(TRIGGERED_FULL_MASK)
|
||||
.SetOriginalCastId(m_castId));
|
||||
else
|
||||
m_caster->CastSpell(m_caster, 36899, true);
|
||||
m_caster->CastSpell(m_caster, 36899, CastSpellExtraArgs(TRIGGERED_FULL_MASK)
|
||||
.SetOriginalCastId(m_castId));
|
||||
break;
|
||||
}
|
||||
case 6:
|
||||
// chicken
|
||||
m_caster->CastSpell(m_caster, 36940, true);
|
||||
m_caster->CastSpell(m_caster, 36940, CastSpellExtraArgs(TRIGGERED_FULL_MASK)
|
||||
.SetOriginalCastId(m_castId));
|
||||
break;
|
||||
case 7:
|
||||
// evil twin
|
||||
m_caster->CastSpell(m_caster, 23445, true);
|
||||
m_caster->CastSpell(m_caster, 23445, CastSpellExtraArgs(TRIGGERED_FULL_MASK)
|
||||
.SetOriginalCastId(m_castId));
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -986,23 +1005,28 @@ void Spell::EffectTeleportUnits()
|
||||
{
|
||||
case 1:
|
||||
// soul split - evil
|
||||
m_caster->CastSpell(m_caster, 36900, true);
|
||||
m_caster->CastSpell(m_caster, 36900, CastSpellExtraArgs(TRIGGERED_FULL_MASK)
|
||||
.SetOriginalCastId(m_castId));
|
||||
break;
|
||||
case 2:
|
||||
// soul split - good
|
||||
m_caster->CastSpell(m_caster, 36901, true);
|
||||
m_caster->CastSpell(m_caster, 36901, CastSpellExtraArgs(TRIGGERED_FULL_MASK)
|
||||
.SetOriginalCastId(m_castId));
|
||||
break;
|
||||
case 3:
|
||||
// Increase the size
|
||||
m_caster->CastSpell(m_caster, 36895, true);
|
||||
m_caster->CastSpell(m_caster, 36895, CastSpellExtraArgs(TRIGGERED_FULL_MASK)
|
||||
.SetOriginalCastId(m_castId));
|
||||
break;
|
||||
case 4:
|
||||
// Transform
|
||||
{
|
||||
if (m_caster->ToPlayer()->GetTeam() == ALLIANCE)
|
||||
m_caster->CastSpell(m_caster, 36897, true);
|
||||
m_caster->CastSpell(m_caster, 36897, CastSpellExtraArgs(TRIGGERED_FULL_MASK)
|
||||
.SetOriginalCastId(m_castId));
|
||||
else
|
||||
m_caster->CastSpell(m_caster, 36899, true);
|
||||
m_caster->CastSpell(m_caster, 36899, CastSpellExtraArgs(TRIGGERED_FULL_MASK)
|
||||
.SetOriginalCastId(m_castId));
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -2056,6 +2080,7 @@ void Spell::EffectSummonType()
|
||||
}
|
||||
|
||||
CastSpellExtraArgs args(TRIGGERED_FULL_MASK);
|
||||
args.SetOriginalCastId(m_castId);
|
||||
|
||||
// if we have small value, it indicates seat position
|
||||
if (basePoints > 0 && basePoints < MAX_VEHICLE_SEATS)
|
||||
@@ -3015,7 +3040,8 @@ void Spell::EffectScriptEffect()
|
||||
return;
|
||||
|
||||
uint32 const spell_id = roll_chance_i(20) ? 8854 : 8855;
|
||||
m_caster->CastSpell(m_caster, spell_id, true);
|
||||
m_caster->CastSpell(m_caster, spell_id, CastSpellExtraArgs(TRIGGERED_FULL_MASK)
|
||||
.SetOriginalCastId(m_castId));
|
||||
return;
|
||||
}
|
||||
// Brittle Armor - need remove one 24575 Brittle Armor aura
|
||||
@@ -3049,7 +3075,8 @@ void Spell::EffectScriptEffect()
|
||||
return;
|
||||
|
||||
// Shadow Flame
|
||||
m_caster->CastSpell(unitTarget, 22682, true);
|
||||
m_caster->CastSpell(unitTarget, 22682, CastSpellExtraArgs(TRIGGERED_FULL_MASK)
|
||||
.SetOriginalCastId(m_castId));
|
||||
return;
|
||||
}
|
||||
// Mirren's Drinking Hat
|
||||
@@ -3116,7 +3143,8 @@ void Spell::EffectScriptEffect()
|
||||
if (m_caster->ToPlayer()->GetItemByPos(bag, slot)->GetCount() == 1) m_caster->ToPlayer()->RemoveItem(bag, slot, true);
|
||||
else m_caster->ToPlayer()->GetItemByPos(bag, slot)->SetCount(m_caster->ToPlayer()->GetItemByPos(bag, slot)->GetCount()-1);
|
||||
// Spell 42518 (Braufest - Gratisprobe des Braufest herstellen)
|
||||
m_caster->CastSpell(m_caster, 42518, true);
|
||||
m_caster->CastSpell(m_caster, 42518, CastSpellExtraArgs(TRIGGERED_FULL_MASK)
|
||||
.SetOriginalCastId(m_castId));
|
||||
return;
|
||||
}
|
||||
break;
|
||||
@@ -3128,7 +3156,8 @@ void Spell::EffectScriptEffect()
|
||||
//Workaround for Range ... should be global for every ScriptEffect
|
||||
float radius = effectInfo->CalcRadius();
|
||||
if (unitTarget && unitTarget->GetTypeId() == TYPEID_PLAYER && unitTarget->GetDistance(m_caster) >= radius && !unitTarget->HasAura(46394) && unitTarget != m_caster)
|
||||
unitTarget->CastSpell(unitTarget, 46394, true);
|
||||
unitTarget->CastSpell(unitTarget, 46394, CastSpellExtraArgs(TRIGGERED_FULL_MASK)
|
||||
.SetOriginalCastId(m_castId));
|
||||
|
||||
break;
|
||||
}
|
||||
@@ -3146,7 +3175,8 @@ void Spell::EffectScriptEffect()
|
||||
case 2: spellId = 46738; break;
|
||||
case 3: spellId = 46736; break;
|
||||
}
|
||||
unitTarget->CastSpell(unitTarget, spellId, true);
|
||||
unitTarget->CastSpell(unitTarget, spellId, CastSpellExtraArgs(TRIGGERED_FULL_MASK)
|
||||
.SetOriginalCastId(m_castId));
|
||||
break;
|
||||
}
|
||||
// 5,000 Gold
|
||||
@@ -3190,7 +3220,8 @@ void Spell::EffectScriptEffect()
|
||||
default: return;
|
||||
}
|
||||
|
||||
unitTarget->CastSpell(unitTarget, iTmpSpellId, true);
|
||||
unitTarget->CastSpell(unitTarget, iTmpSpellId, CastSpellExtraArgs(TRIGGERED_FULL_MASK)
|
||||
.SetOriginalCastId(m_castId));
|
||||
Creature* npc = unitTarget->ToCreature();
|
||||
npc->LoadEquipment();
|
||||
return;
|
||||
@@ -3203,9 +3234,11 @@ void Spell::EffectScriptEffect()
|
||||
if (!unitTarget)
|
||||
return;
|
||||
if (unitTarget->HasAura(51845))
|
||||
unitTarget->CastSpell(m_caster, 51856, true);
|
||||
unitTarget->CastSpell(m_caster, 51856, CastSpellExtraArgs(TRIGGERED_FULL_MASK)
|
||||
.SetOriginalCastId(m_castId));
|
||||
else
|
||||
m_caster->CastSpell(unitTarget, 51855, true);
|
||||
m_caster->CastSpell(unitTarget, 51855, CastSpellExtraArgs(TRIGGERED_FULL_MASK)
|
||||
.SetOriginalCastId(m_castId));
|
||||
break;
|
||||
}
|
||||
// Summon Ghouls On Scarlet Crusade
|
||||
@@ -3219,7 +3252,8 @@ void Spell::EffectScriptEffect()
|
||||
for (uint8 i = 0; i < 15; ++i)
|
||||
{
|
||||
m_caster->GetRandomPoint(*destTarget, radius, x, y, z);
|
||||
m_caster->CastSpell({x, y, z}, 54522, true);
|
||||
m_caster->CastSpell({ x, y, z }, 54522, CastSpellExtraArgs(TRIGGERED_FULL_MASK)
|
||||
.SetOriginalCastId(m_castId));
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -3230,11 +3264,13 @@ void Spell::EffectScriptEffect()
|
||||
return;
|
||||
case 52479: // Gift of the Harvester
|
||||
if (unitTarget && unitCaster)
|
||||
unitCaster->CastSpell(unitTarget, urand(0, 1) ? damage : 52505, true);
|
||||
unitCaster->CastSpell(unitTarget, urand(0, 1) ? damage : 52505, CastSpellExtraArgs(TRIGGERED_FULL_MASK)
|
||||
.SetOriginalCastId(m_castId));
|
||||
return;
|
||||
case 53110: // Devour Humanoid
|
||||
if (unitTarget)
|
||||
unitTarget->CastSpell(m_caster, damage, true);
|
||||
unitTarget->CastSpell(m_caster, damage, CastSpellExtraArgs(TRIGGERED_FULL_MASK)
|
||||
.SetOriginalCastId(m_castId));
|
||||
return;
|
||||
case 57347: // Retrieving (Wintergrasp RP-GG pickup spell)
|
||||
{
|
||||
@@ -3266,7 +3302,8 @@ void Spell::EffectScriptEffect()
|
||||
uint32 questID = m_spellInfo->GetEffect(EFFECT_1).CalcValue();
|
||||
|
||||
if (unitTarget->ToPlayer()->GetQuestStatus(questID) == QUEST_STATUS_COMPLETE)
|
||||
unitTarget->CastSpell(unitTarget, spellID, true);
|
||||
unitTarget->CastSpell(unitTarget, spellID, CastSpellExtraArgs(TRIGGERED_FULL_MASK)
|
||||
.SetOriginalCastId(m_castId));
|
||||
|
||||
return;
|
||||
}
|
||||
@@ -3278,10 +3315,12 @@ void Spell::EffectScriptEffect()
|
||||
|
||||
// return from top
|
||||
if (unitTarget->ToPlayer()->GetAreaId() == 4637)
|
||||
unitTarget->CastSpell(unitTarget, 59316, true);
|
||||
unitTarget->CastSpell(unitTarget, 59316, CastSpellExtraArgs(TRIGGERED_FULL_MASK)
|
||||
.SetOriginalCastId(m_castId));
|
||||
// teleport atop
|
||||
else
|
||||
unitTarget->CastSpell(unitTarget, 59314, true);
|
||||
unitTarget->CastSpell(unitTarget, 59314, CastSpellExtraArgs(TRIGGERED_FULL_MASK)
|
||||
.SetOriginalCastId(m_castId));
|
||||
|
||||
return;
|
||||
}
|
||||
@@ -3297,8 +3336,10 @@ void Spell::EffectScriptEffect()
|
||||
if (Unit* parent = seat->GetVehicleBase())
|
||||
{
|
||||
/// @todo a hack, range = 11, should after some time cast, otherwise too far
|
||||
unitCaster->CastSpell(parent, 62496, true);
|
||||
unitTarget->CastSpell(parent, damage); // DIFFICULTY_NONE, so effect always valid
|
||||
unitCaster->CastSpell(parent, 62496, CastSpellExtraArgs(TRIGGERED_FULL_MASK)
|
||||
.SetOriginalCastId(m_castId));
|
||||
unitTarget->CastSpell(parent, damage, CastSpellExtraArgs()
|
||||
.SetOriginalCastId(m_castId)); // DIFFICULTY_NONE, so effect always valid
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3328,7 +3369,8 @@ void Spell::EffectScriptEffect()
|
||||
if (Aura* chargesAura = m_caster->ToCreature()->GetAura(59907))
|
||||
{
|
||||
m_caster->CastSpell(unitTarget, spell_heal, CastSpellExtraArgs(TRIGGERED_FULL_MASK)
|
||||
.SetOriginalCaster(m_caster->ToCreature()->ToTempSummon()->GetSummonerGUID()));
|
||||
.SetOriginalCaster(m_caster->ToCreature()->ToTempSummon()->GetSummonerGUID())
|
||||
.SetOriginalCastId(m_castId));
|
||||
if (chargesAura->ModCharges(-1))
|
||||
m_caster->ToCreature()->ToTempSummon()->UnSummon();
|
||||
}
|
||||
@@ -3357,6 +3399,7 @@ void Spell::EffectScriptEffect()
|
||||
if (totem && totem->IsTotem())
|
||||
{
|
||||
CastSpellExtraArgs args(TRIGGERED_FULL_MASK);
|
||||
args.SetOriginalCastId(m_castId);
|
||||
args.AddSpellMod(SPELLVALUE_BASE_POINT0, damage);
|
||||
m_caster->CastSpell(totem, 55277, args);
|
||||
}
|
||||
@@ -3389,8 +3432,10 @@ void Spell::EffectScriptEffect()
|
||||
45683 // Polymorph
|
||||
};
|
||||
|
||||
m_caster->CastSpell(m_caster, spellPlayer[urand(0, 4)], true);
|
||||
unitTarget->CastSpell(unitTarget, spellTarget[urand(0, 4)], true);
|
||||
m_caster->CastSpell(m_caster, spellPlayer[urand(0, 4)], CastSpellExtraArgs(TRIGGERED_FULL_MASK)
|
||||
.SetOriginalCastId(m_castId));
|
||||
unitTarget->CastSpell(unitTarget, spellTarget[urand(0, 4)], CastSpellExtraArgs(TRIGGERED_FULL_MASK)
|
||||
.SetOriginalCastId(m_castId));
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -3630,7 +3675,8 @@ void Spell::EffectApplyGlyph()
|
||||
glyphs.push_back(glyphId);
|
||||
|
||||
if (GlyphPropertiesEntry const* glyphProperties = sGlyphPropertiesStore.LookupEntry(glyphId))
|
||||
player->CastSpell(player, glyphProperties->SpellID, true);
|
||||
player->CastSpell(player, glyphProperties->SpellID, CastSpellExtraArgs(TRIGGERED_FULL_MASK)
|
||||
.SetOriginalCastId(m_castId));
|
||||
|
||||
WorldPackets::Talent::ActiveGlyphs activeGlyphs;
|
||||
activeGlyphs.Glyphs.emplace_back(m_misc.SpellId, uint16(glyphId));
|
||||
@@ -3715,7 +3761,8 @@ void Spell::EffectInebriate()
|
||||
{
|
||||
currentDrunk = 100;
|
||||
if (rand_chance() < 25.0f)
|
||||
player->CastSpell(player, 67468, false); // Drunken Vomit
|
||||
player->CastSpell(player, 67468, CastSpellExtraArgs()
|
||||
.SetOriginalCastId(m_castId)); // Drunken Vomit
|
||||
}
|
||||
else
|
||||
currentDrunk += drunkMod;
|
||||
@@ -3761,6 +3808,7 @@ void Spell::EffectFeedPet()
|
||||
/// @todo fix crash when a spell has two effects, both pointed at the same item target
|
||||
|
||||
CastSpellExtraArgs args(TRIGGERED_FULL_MASK);
|
||||
args.SetOriginalCastId(m_castId);
|
||||
args.AddSpellMod(SPELLVALUE_BASE_POINT0, pct);
|
||||
m_caster->CastSpell(pet, effectInfo->TriggerSpell, args);
|
||||
}
|
||||
@@ -4136,7 +4184,8 @@ void Spell::EffectCharge()
|
||||
|
||||
if (effectInfo->TriggerSpell)
|
||||
m_caster->CastSpell(unitTarget, effectInfo->TriggerSpell, CastSpellExtraArgs(TRIGGERED_FULL_MASK)
|
||||
.SetOriginalCaster(m_originalCasterGUID));
|
||||
.SetOriginalCaster(m_originalCasterGUID)
|
||||
.SetOriginalCastId(m_castId));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4165,7 +4214,8 @@ void Spell::EffectChargeDest()
|
||||
{
|
||||
if (effectInfo->TriggerSpell)
|
||||
m_caster->CastSpell(*destTarget, effectInfo->TriggerSpell, CastSpellExtraArgs(TRIGGERED_FULL_MASK)
|
||||
.SetOriginalCaster(m_originalCasterGUID));
|
||||
.SetOriginalCaster(m_originalCasterGUID)
|
||||
.SetOriginalCastId(m_castId));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4456,6 +4506,7 @@ void Spell::EffectDestroyAllTotems()
|
||||
if (mana)
|
||||
{
|
||||
CastSpellExtraArgs args(TRIGGERED_FULL_MASK);
|
||||
args.SetOriginalCastId(m_castId);
|
||||
args.AddSpellMod(SPELLVALUE_BASE_POINT0, mana);
|
||||
unitCaster->CastSpell(unitCaster, 39104, args);
|
||||
}
|
||||
@@ -5248,6 +5299,7 @@ void Spell::EffectCastButtons()
|
||||
|
||||
CastSpellExtraArgs args;
|
||||
args.TriggerFlags = TriggerCastFlags(TRIGGERED_IGNORE_GCD | TRIGGERED_IGNORE_CAST_IN_PROGRESS | TRIGGERED_CAST_DIRECTLY | TRIGGERED_DONT_REPORT_CAST_ERROR);
|
||||
args.OriginalCastId = m_castId;
|
||||
args.CastDifficulty = GetCastDifficulty();
|
||||
m_caster->CastSpell(m_caster, spellInfo->Id, args);
|
||||
}
|
||||
@@ -5325,7 +5377,8 @@ void Spell::EffectSummonRaFFriend()
|
||||
if (m_caster->GetTypeId() != TYPEID_PLAYER || !unitTarget || unitTarget->GetTypeId() != TYPEID_PLAYER)
|
||||
return;
|
||||
|
||||
m_caster->CastSpell(unitTarget, effectInfo->TriggerSpell, true);
|
||||
m_caster->CastSpell(unitTarget, effectInfo->TriggerSpell, CastSpellExtraArgs(TRIGGERED_FULL_MASK)
|
||||
.SetOriginalCastId(m_castId));
|
||||
}
|
||||
|
||||
void Spell::EffectUnlockGuildVaultTab()
|
||||
|
||||
Reference in New Issue
Block a user