aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Spells
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2017-03-23 00:11:58 +0100
committerShauren <shauren.trinity@gmail.com>2017-03-23 00:11:58 +0100
commitf097e341f5afcac2dd0ae9dbb265201c0de2a934 (patch)
tree6313a3f569c5b179deb675b2e836cb82d0859443 /src/server/game/Spells
parent408d8768135dd8fb72150cc5ede9967cf57a728b (diff)
Core/Utilities: Rename RandomResizeList->RandomResize as it is no longer restricted to a list
* Also fix gcc build
Diffstat (limited to 'src/server/game/Spells')
-rw-r--r--src/server/game/Spells/Spell.cpp4
-rw-r--r--src/server/game/Spells/SpellEffects.cpp15
2 files changed, 15 insertions, 4 deletions
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp
index dd5e4c70302..e3e2814974d 100644
--- a/src/server/game/Spells/Spell.cpp
+++ b/src/server/game/Spells/Spell.cpp
@@ -1147,7 +1147,7 @@ void Spell::SelectImplicitConeTargets(SpellEffIndex effIndex, SpellImplicitTarge
{
// Other special target selection goes here
if (uint32 maxTargets = m_spellValue->MaxAffectedTargets)
- Trinity::Containers::RandomResizeList(targets, maxTargets);
+ Trinity::Containers::RandomResize(targets, maxTargets);
for (std::list<WorldObject*>::iterator itr = targets.begin(); itr != targets.end(); ++itr)
{
@@ -1226,7 +1226,7 @@ void Spell::SelectImplicitAreaTargets(SpellEffIndex effIndex, SpellImplicitTarge
{
// Other special target selection goes here
if (uint32 maxTargets = m_spellValue->MaxAffectedTargets)
- Trinity::Containers::RandomResizeList(targets, maxTargets);
+ Trinity::Containers::RandomResize(targets, maxTargets);
for (std::list<WorldObject*>::iterator itr = targets.begin(); itr != targets.end(); ++itr)
{
diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp
index af1fc188256..a3ef383b83c 100644
--- a/src/server/game/Spells/SpellEffects.cpp
+++ b/src/server/game/Spells/SpellEffects.cpp
@@ -319,7 +319,7 @@ pEffect SpellEffects[TOTAL_SPELL_EFFECTS]=
&Spell::EffectNULL, //251 SPELL_EFFECT_SET_GARRISON_CACHE_SIZE
&Spell::EffectTeleportUnits, //252 SPELL_EFFECT_TELEPORT_UNITS
&Spell::EffectNULL, //253 SPELL_EFFECT_GIVE_HONOR
- &Spell::EffectNULL, //254 SPELL_EFFECT_254
+ &Spell::EffectJumpDest, //254 SPELL_EFFECT_254
&Spell::EffectNULL, //255 SPELL_EFFECT_LEARN_TRANSMOG_SET
};
@@ -889,7 +889,18 @@ void Spell::EffectJumpDest(SpellEffIndex /*effIndex*/)
CalculateJumpSpeeds(effectInfo, m_caster->GetExactDist2d(destTarget), speedXY, speedZ);
JumpArrivalCastArgs arrivalCast;
arrivalCast.SpellId = effectInfo->TriggerSpell;
- m_caster->GetMotionMaster()->MoveJump(*destTarget, speedXY, speedZ, EVENT_JUMP, !m_targets.GetObjectTargetGUID().IsEmpty(), &arrivalCast);
+ Optional<Movement::SpellEffectExtraData> extra;
+ if (m_spellInfo->Id == 191428)
+ {
+ // 0.88 - time, A CONSTANT
+ // 0.001 - parabolic max_height - THIS IS A CONSTANT!!!
+ // 0.19642354884476423184854952469683 - speedZ - CONSTANT FOR MAX_HEIGHT
+ // EFFECT_254 = SPELL_EFFECT_JUMP_CONSTANT_TIME?
+ // time taken from curve?
+ extra = boost::in_place();
+ extra->ProgressCurveId = 1717;
+ }
+ m_caster->GetMotionMaster()->MoveJump(*destTarget, speedXY, speedZ, EVENT_JUMP, !m_targets.GetObjectTargetGUID().IsEmpty(), &arrivalCast, extra.get_ptr());
}
void Spell::CalculateJumpSpeeds(SpellEffectInfo const* effInfo, float dist, float& speedXY, float& speedZ)