[svn] Fix blink. Bug: can blink through door. Author: GodsdoG.
Fix blessed recovery and martyrdom. Patch provided by Gomez. setActive for Akama shade to see if this can fix the bug that it cannot find channeler. --HG-- branch : trunk
This commit is contained in:
@@ -1,13 +0,0 @@
|
||||
UPDATE creature_template SET ScriptName = 'boss_leotheras_the_blind' WHERE entry = '21215';
|
||||
UPDATE creature_template SET ScriptName = 'boss_leotheras_the_blind_demonform' WHERE entry = '21875';
|
||||
UPDATE creature_template SET ScriptName = 'mob_greyheart_spellbinder' WHERE entry = '21806';
|
||||
UPDATE creature_template SET ScriptName = 'mob_inner_demon' WHERE entry = '21857';
|
||||
|
||||
UPDATE creature_template SET ScriptName = 'mob_toxic_sporebat', speed = '1' WHERE entry = '22140';
|
||||
UPDATE creature_template SET modelid_A = '11686', modelid_H = '11686', flags_extra = '128' WHERE entry = '22207';
|
||||
|
||||
-- lurker
|
||||
UPDATE creature_model_info SET bounding_radius = '13', combat_reach = '20' WHERE modelid = '20216';
|
||||
UPDATE creature_template SET InhabitType = '3', ScriptName = 'boss_the_lurker_below' WHERE entry = '21865';
|
||||
UPDATE creature_template SET ScriptName = 'mob_coilfang_ambusher' WHERE entry = '21865';
|
||||
UPDATE creature_template SET ScriptName = 'mob_coilfang_guardian' WHERE entry = '21873';
|
||||
@@ -1,24 +0,0 @@
|
||||
DELETE FROM spell_linked_spell WHERE `spell_trigger` IN (39992, 39835, 42052, -41914, -41917, 41126, -41376, 39908);
|
||||
-- INSERT INTO spell_linked_spell (`spell_trigger`, `spell_effect`, `type`, `comment`) VALUES (39992, 39835, 1, 'Needle Spine');
|
||||
INSERT INTO spell_linked_spell (`spell_trigger`, `spell_effect`, `type`, `comment`) VALUES (39835, 39968, 1, 'Needle Spine');
|
||||
INSERT INTO spell_linked_spell (`spell_trigger`, `spell_effect`, `type`, `comment`) VALUES (-41376, 41377, 0, 'Spite');
|
||||
INSERT INTO spell_linked_spell (`spell_trigger`, `spell_effect`, `type`, `comment`) VALUES (41126, 41131, 1, 'Flame Crash');
|
||||
INSERT INTO spell_linked_spell (`spell_trigger`, `spell_effect`, `type`, `comment`) VALUES (-41914, 41915, 0, 'Summon Parasitic Shadowfiend');
|
||||
INSERT INTO spell_linked_spell (`spell_trigger`, `spell_effect`, `type`, `comment`) VALUES (-41917, 41915, 0, 'Summon Parasitic Shadowfiend');
|
||||
INSERT INTO spell_linked_spell (`spell_trigger`, `spell_effect`, `type`, `comment`) VALUES (39908, 40017, 1, 'Eye Blast');
|
||||
|
||||
|
||||
-- molten_flame
|
||||
UPDATE creature_template SET spell1 = 40980, flags_extra = 128, speed = 1.0, scriptname = 'molten_flame' WHERE entry = 23095;
|
||||
-- volcano
|
||||
UPDATE creature_template SET spell1 = 40117, flags_extra = 128, scriptname = '' WHERE entry = 23085;
|
||||
-- flame crash
|
||||
update creature_template set spell1 = 40836, flags_extra = 128, scriptname = '' where entry = 23336;
|
||||
-- blaze
|
||||
update creature_template set spell1 = 40610, flags_extra = 128, scriptname = '' where entry = 23259;
|
||||
-- glaive
|
||||
update creature_template set scriptname = 'mob_blade_of_azzinoth' where entry = 22996;
|
||||
-- parasitic shadowfiend
|
||||
update creature_template set scriptname = 'mob_parasitic_shadowfiend' where entry = 23498;
|
||||
-- Maiev
|
||||
update creature_template set minlevel = 73, maxlevel = 73, minhealth = 500000, maxhealth = 500000, mindmg = 3000, maxdmg = 4000 where entry = 23197;
|
||||
@@ -0,0 +1,8 @@
|
||||
-- Blessed Recovery
|
||||
INSERT INTO `spell_proc_event` (`entry`, `SchoolMask`, `Category`, `SkillID`, `SpellFamilyName`, `SpellFamilyMask`, `procFlags`, `ppmRate`) VALUES (27811, 0, 0, 0, 0, 0, 8396800, 0);
|
||||
INSERT INTO `spell_proc_event` (`entry`, `SchoolMask`, `Category`, `SkillID`, `SpellFamilyName`, `SpellFamilyMask`, `procFlags`, `ppmRate`) VALUES (27815, 0, 0, 0, 0, 0, 8396800, 0);
|
||||
INSERT INTO `spell_proc_event` (`entry`, `SchoolMask`, `Category`, `SkillID`, `SpellFamilyName`, `SpellFamilyMask`, `procFlags`, `ppmRate`) VALUES (27816, 0, 0, 0, 0, 0, 8396800, 0);
|
||||
|
||||
-- Martyrdom
|
||||
INSERT INTO `spell_proc_event` (`entry`, `SchoolMask`, `Category`, `SkillID`, `SpellFamilyName`, `SpellFamilyMask`, `procFlags`, `ppmRate`) VALUES (14774, 0, 0, 0, 0, 0, 8396800, 0);
|
||||
INSERT INTO `spell_proc_event` (`entry`, `SchoolMask`, `Category`, `SkillID`, `SpellFamilyName`, `SpellFamilyMask`, `procFlags`, `ppmRate`) VALUES (14531, 0, 0, 0, 0, 0, 8396800, 0);
|
||||
@@ -196,6 +196,7 @@ struct TRINITY_DLL_DECL boss_shade_of_akamaAI : public ScriptedAI
|
||||
|
||||
void Reset()
|
||||
{
|
||||
m_creature->setActive(true); // TODO: setActive(true, time);
|
||||
FindChannelers();
|
||||
|
||||
if(!Channelers.empty())
|
||||
|
||||
@@ -5501,7 +5501,54 @@ void Spell::EffectMomentMove(uint32 i)
|
||||
if(!m_targets.HasDest())
|
||||
return;
|
||||
|
||||
uint32 mapid = unitTarget->GetMapId();
|
||||
uint32 mapid = m_caster->GetMapId();
|
||||
float dis = GetSpellRadius(sSpellRadiusStore.LookupEntry(m_spellInfo->EffectRadiusIndex[i]));
|
||||
|
||||
// src point
|
||||
float *fx = new float[11], *fy = new float[11], *fz = new float[11];
|
||||
unitTarget->GetPosition(fx[0], fy[0], fz[0]);
|
||||
|
||||
float orientation = unitTarget->GetOrientation(), itr_i, step = dis / 10.0, fx2, fy2, fz2, ground, floor;
|
||||
int itr_j = 1, last_valid = 0;
|
||||
bool hit = false;
|
||||
|
||||
for (itr_i = step; itr_i <= dis; itr_i += step)
|
||||
{
|
||||
fx[itr_j] = fx[0] + itr_i * cos(orientation);
|
||||
fy[itr_j] = fy[0] + itr_i * sin(orientation);
|
||||
ground = MapManager::Instance().GetMap(mapid, unitTarget)->GetHeight(fx[itr_j], fy[itr_j], MAX_HEIGHT, true);
|
||||
floor = MapManager::Instance().GetMap(mapid, unitTarget)->GetHeight(fx[itr_j], fy[itr_j], fz[last_valid], true);
|
||||
fz[itr_j] = fabs(ground - fz[last_valid]) <= fabs(floor - fz[last_valid]) ? ground : floor;
|
||||
if (fabs(fz[itr_j] - fz[0]) <= 6.0)
|
||||
{
|
||||
if (VMAP::VMapFactory::createOrGetVMapManager()->getObjectHitPos(mapid, fx[last_valid], fy[last_valid], fz[last_valid] + 0.5, fx[itr_j], fy[itr_j], fz[itr_j] + 0.5, fx2, fy2, fz2, -0.5))
|
||||
{
|
||||
hit = true;
|
||||
fx[itr_j] = fx2 - 0.6 * cos(orientation);
|
||||
fy[itr_j] = fy2 - 0.6 * sin(orientation);
|
||||
ground = MapManager::Instance().GetMap(mapid, unitTarget)->GetHeight(fx[itr_j], fy[itr_j], MAX_HEIGHT, true);
|
||||
floor = MapManager::Instance().GetMap(mapid, unitTarget)->GetHeight(fx[itr_j], fy[itr_j], fz[last_valid], true);
|
||||
float tempz = fabs(ground - fz[last_valid]) <= fabs(floor - fz[last_valid]) ? ground : floor;
|
||||
fz[itr_j] = fabs(tempz - fz[last_valid]) <= fabs(fz2 - fz[last_valid]) ? tempz : fz2;
|
||||
break;
|
||||
}
|
||||
else
|
||||
last_valid = itr_j;
|
||||
}
|
||||
itr_j++;
|
||||
}
|
||||
if (hit == false)
|
||||
itr_j = last_valid;
|
||||
|
||||
|
||||
if (unitTarget->GetTypeId() == TYPEID_PLAYER)
|
||||
((Player*)unitTarget)->TeleportTo(mapid, fx[itr_j], fy[itr_j], fz[itr_j] + 0.07531, orientation, TELE_TO_NOT_LEAVE_COMBAT | TELE_TO_NOT_UNSUMMON_PET | (unitTarget == m_caster ? TELE_TO_SPELL : 0));
|
||||
else
|
||||
MapManager::Instance().GetMap(mapid, unitTarget)->CreatureRelocation((Creature*)unitTarget, fx[itr_j], fy[itr_j], fz[itr_j] + 0.07531, orientation);
|
||||
|
||||
delete [] fx; delete [] fy; delete [] fz;
|
||||
|
||||
/* uint32 mapid = unitTarget->GetMapId();
|
||||
float ox,oy,oz;
|
||||
unitTarget->GetPosition(ox,oy,oz);
|
||||
|
||||
@@ -5512,7 +5559,7 @@ void Spell::EffectMomentMove(uint32 i)
|
||||
if(unitTarget->GetTypeId() == TYPEID_PLAYER)
|
||||
((Player*)unitTarget)->TeleportTo(mapid, fx, fy, fz, unitTarget->GetOrientation(), TELE_TO_NOT_LEAVE_COMBAT | TELE_TO_NOT_UNSUMMON_PET | (unitTarget==m_caster ? TELE_TO_SPELL : 0));
|
||||
else
|
||||
MapManager::Instance().GetMap(mapid, unitTarget)->CreatureRelocation((Creature*)unitTarget, fx, fy, fz, unitTarget->GetOrientation());
|
||||
MapManager::Instance().GetMap(mapid, unitTarget)->CreatureRelocation((Creature*)unitTarget, fx, fy, fz, unitTarget->GetOrientation());*/
|
||||
}
|
||||
|
||||
void Spell::EffectReputation(uint32 i)
|
||||
|
||||
Reference in New Issue
Block a user