Jump to content

Recommended Posts

Posted
there was some bug with the grid searcher in aoe spells, they didnt select targets when caster and target are on different grid (Chain-Lightning-%28target-chain-damage%29"]see this) it might be happening here

Ok but according to this, spirit guide should resurrect some players and not others if they are in "right" and "wrong" grid ?

But when spirit guide doesn't cast spell, nobody is resurrected , no matter of the distance or grid where they are.

So ? :D

  • 40 years later...
Posted

Mangos Version: 9238

SD2 Version: 1555

Database Name and Version : YTDB 255

How it SHOULD work: Resurrects all friends within 20 yards.

How it DOES work: Sometimes nothing happens even if we are very close from the spirit guide.

Posted

sounds for me like the problem is mostly, that people can aggro the spiritguide.. this bug might be new, since the spiritguides aren't dead now anymore..

this is the only explanation i have for this... since those spritguides have this in their ai

void UpdateAI(const uint32 uiDiff)

{

// auto cast the whole time this spell

if (!m_creature->GetCurrentSpell(CURRENT_CHANNELED_SPELL))

m_creature->CastSpell(m_creature, SPELL_SPIRIT_HEAL_CHANNEL, false);

if the aggroing is 100% reproducible, it would be good to find out which functions are called, then we can add exceptions for the isInvisibleForAlive auras.. or maybe check in those aggro-cases if units can see each other...

ps: an idea how to hackfix this:

diff --git a/scripts/battlegrounds/battleground.cpp b/scripts/battlegrounds/battleground.cpp

index 0e8daef..1493b6b 100644

--- a/scripts/battlegrounds/battleground.cpp

+++ b/scripts/battlegrounds/battleground.cpp

@@ -53,8 +53,16 @@ struct MANGOS_DLL_DECL npc_spirit_guideAI : public ScriptedAI

{

}

+ void Aggro(Unit *who)

+ {

+ //Don't do anything

+ }

+

void UpdateAI(const uint32 uiDiff)

{

+ if (!m_creature->getThreatManager().isThreatListEmpty())

+ EnterEvadeMode();

+

// auto cast the whole time this spell

if (!m_creature->GetCurrentSpell(CURRENT_CHANNELED_SPELL))

m_creature->CastSpell(m_creature, SPELL_SPIRIT_HEAL_CHANNEL, false);

  • 3 weeks later...
  • 2 weeks later...
Posted

wrong grid search :D :D :D

one of devs of our server, frca, figured out it happens because spell has 30s duration and ressurect is triggered at 30s too. Sometimes spell update is just not fast enough, thought.

So, I just set spirit healer to cast http://www.wowhead.com/?spell=22012 every 30s, and problem is gone :)

EDIT: check that at least one periodic tick was triggered would be much better, in fact change healer's script was just test, i did not believed that it will work.

  • 2 weeks later...
Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use