Fix Script HoS/Tribunal Event. Thanks beberlescaraber.
Fixes issue #58. - fix brann defending when he should not. - fix reset of gossip flag. - fix reset of GO at end of event. --HG-- branch : trunk
This commit is contained in:
@@ -145,6 +145,14 @@ struct mob_tribuna_controllerAI : public ScriptedAI
|
|||||||
bMarnakActivated = false;
|
bMarnakActivated = false;
|
||||||
bAbedneumActivated = false;
|
bAbedneumActivated = false;
|
||||||
|
|
||||||
|
if (pInstance)
|
||||||
|
{
|
||||||
|
pInstance->HandleGameObject(pInstance->GetData64(DATA_GO_KADDRAK),false);
|
||||||
|
pInstance->HandleGameObject(pInstance->GetData64(DATA_GO_MARNAK),false);
|
||||||
|
pInstance->HandleGameObject(pInstance->GetData64(DATA_GO_ABEDNEUM),false);
|
||||||
|
pInstance->HandleGameObject(pInstance->GetData64(DATA_GO_SKY_FLOOR),false);
|
||||||
|
}
|
||||||
|
|
||||||
lKaddrakGUIDList.clear();
|
lKaddrakGUIDList.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -393,6 +401,7 @@ struct npc_brann_hosAI : public npc_escortAI
|
|||||||
JumpToNextStep(5000);
|
JumpToNextStep(5000);
|
||||||
break;
|
break;
|
||||||
case 9:
|
case 9:
|
||||||
|
m_creature->SetReactState(REACT_PASSIVE);
|
||||||
SpawnDwarf(1);
|
SpawnDwarf(1);
|
||||||
JumpToNextStep(20000);
|
JumpToNextStep(20000);
|
||||||
break;
|
break;
|
||||||
@@ -492,6 +501,7 @@ struct npc_brann_hosAI : public npc_escortAI
|
|||||||
JumpToNextStep(10000);
|
JumpToNextStep(10000);
|
||||||
break;
|
break;
|
||||||
case 28:
|
case 28:
|
||||||
|
m_creature->SetReactState(REACT_DEFENSIVE);
|
||||||
DoScriptText(SAY_EVENT_END_01, m_creature);
|
DoScriptText(SAY_EVENT_END_01, m_creature);
|
||||||
m_creature->SetStandState(UNIT_STAND_STATE_STAND);
|
m_creature->SetStandState(UNIT_STAND_STATE_STAND);
|
||||||
if (pInstance)
|
if (pInstance)
|
||||||
@@ -606,17 +616,16 @@ struct npc_brann_hosAI : public npc_escortAI
|
|||||||
{
|
{
|
||||||
if (pInstance)
|
if (pInstance)
|
||||||
{
|
{
|
||||||
pInstance->HandleGameObject(pInstance->GetData64(DATA_GO_KADDRAK),true);
|
pInstance->HandleGameObject(pInstance->GetData64(DATA_GO_KADDRAK),false);
|
||||||
pInstance->HandleGameObject(pInstance->GetData64(DATA_GO_MARNAK),true);
|
pInstance->HandleGameObject(pInstance->GetData64(DATA_GO_MARNAK),false);
|
||||||
pInstance->HandleGameObject(pInstance->GetData64(DATA_GO_ABEDNEUM),true);
|
pInstance->HandleGameObject(pInstance->GetData64(DATA_GO_ABEDNEUM),false);
|
||||||
pInstance->HandleGameObject(pInstance->GetData64(DATA_GO_SKY_FLOOR),true);
|
pInstance->HandleGameObject(pInstance->GetData64(DATA_GO_SKY_FLOOR),false);
|
||||||
pInstance->SetData(DATA_BRANN_EVENT, DONE);
|
pInstance->SetData(DATA_BRANN_EVENT, DONE);
|
||||||
}
|
}
|
||||||
Player* pPlayer = GetPlayerForEscort();
|
Player* pPlayer = GetPlayerForEscort();
|
||||||
if (pPlayer)
|
if (pPlayer)
|
||||||
pPlayer->GroupEventHappens(QUEST_HALLS_OF_STONE, m_creature);
|
pPlayer->GroupEventHappens(QUEST_HALLS_OF_STONE, m_creature);
|
||||||
m_creature->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
m_creature->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||||
m_creature->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER);
|
|
||||||
JumpToNextStep(180000);
|
JumpToNextStep(180000);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -626,11 +635,12 @@ struct npc_brann_hosAI : public npc_escortAI
|
|||||||
}
|
}
|
||||||
} else uiPhaseTimer -= uiDiff;
|
} else uiPhaseTimer -= uiDiff;
|
||||||
|
|
||||||
if (!bIsLowHP && (m_creature->GetHealth()*100 / m_creature->GetMaxHealth()) <= 30)
|
if (!bIsLowHP && HealthBelowPct(30))
|
||||||
{
|
{
|
||||||
DoScriptText(SAY_LOW_HEALTH, m_creature);
|
DoScriptText(SAY_LOW_HEALTH, m_creature);
|
||||||
bIsLowHP = true;
|
bIsLowHP = true;
|
||||||
} else if (bIsLowHP && (m_creature->GetHealth()*100 / m_creature->GetMaxHealth()) > 30)
|
}
|
||||||
|
else if (bIsLowHP && !HealthBelowPct(30))
|
||||||
bIsLowHP = false;
|
bIsLowHP = false;
|
||||||
|
|
||||||
if (!UpdateVictim())
|
if (!UpdateVictim())
|
||||||
|
|||||||
Reference in New Issue
Block a user