Bonus hit chance auras should check equipped weapon.

Closes https://github.com/vmangos/core/issues/2306
This commit is contained in:
ratkosrb
2023-11-26 17:43:56 +02:00
parent 73dc96ec9f
commit 4bf4864f8b
16 changed files with 97 additions and 62 deletions
@@ -65,14 +65,14 @@ struct boss_warmastervooneAI : public ScriptedAI
{
case 0:
{
m_creature->SetVirtualItem(VIRTUAL_ITEM_SLOT_0, 12348);
m_creature->SetVirtualItem(VIRTUAL_ITEM_SLOT_1, 0);
m_creature->SetVirtualItem(BASE_ATTACK, 12348);
m_creature->SetVirtualItem(OFF_ATTACK, 0);
break;
}
case 1:
{
m_creature->SetVirtualItem(VIRTUAL_ITEM_SLOT_0, 0);
m_creature->SetVirtualItem(VIRTUAL_ITEM_SLOT_1, 0);
m_creature->SetVirtualItem(BASE_ATTACK, 0);
m_creature->SetVirtualItem(OFF_ATTACK, 0);
m_creature->CastSpell(m_creature, SPELL_UNARMED_PASSIVE, true);
break;
}
@@ -167,17 +167,17 @@ struct boss_mr_smiteAI : public ScriptedAI
if (m_creature->GetHealthPercent() < 33.0f)
{
// It's Hammer, go Hammer!
m_creature->SetVirtualItem(VIRTUAL_ITEM_SLOT_0, EQUIP_ID_HAMMER);
m_creature->SetVirtualItem(VIRTUAL_ITEM_SLOT_1, 0);
m_creature->SetVirtualItem(VIRTUAL_ITEM_SLOT_2, 0);
m_creature->SetVirtualItem(BASE_ATTACK, EQUIP_ID_HAMMER);
m_creature->SetVirtualItem(OFF_ATTACK, 0);
m_creature->SetVirtualItem(RANGED_ATTACK, 0);
DoCastSpellIfCan(m_creature, SPELL_SMITE_HAMMER);
}
else
{
// It's double Axe.
m_creature->SetVirtualItem(VIRTUAL_ITEM_SLOT_0, EQUIP_ID_AXE);
m_creature->SetVirtualItem(VIRTUAL_ITEM_SLOT_1, EQUIP_ID_AXE);
m_creature->SetVirtualItem(VIRTUAL_ITEM_SLOT_2, 0);
m_creature->SetVirtualItem(BASE_ATTACK, EQUIP_ID_AXE);
m_creature->SetVirtualItem(OFF_ATTACK, EQUIP_ID_AXE);
m_creature->SetVirtualItem(RANGED_ATTACK, 0);
}
m_creature->SetStandState(UNIT_STAND_STATE_STAND);
@@ -87,7 +87,7 @@ struct npc_daphne_stilwellAI : public npc_escortAI
switch (uiPoint)
{
case 4:
m_creature->SetVirtualItem(VIRTUAL_ITEM_SLOT_0, 6946);
m_creature->SetVirtualItem(BASE_ATTACK, 6946);
m_creature->SetSheath(SHEATH_STATE_RANGED);
m_creature->HandleEmoteCommand(EMOTE_STATE_USESTANDING_NOSHEATHE);
break;
+4 -4
View File
@@ -2132,20 +2132,20 @@ struct npc_anachronos_the_ancientAI : public ScriptedAI
m_uiEventTimer = 15000;
break;
case 40:
m_creature->SetVirtualItem(VIRTUAL_ITEM_SLOT_0, ITEM_SCEPTER_OF_THE_SHIFTING_SANDS);
m_creature->SetVirtualItem(BASE_ATTACK, ITEM_SCEPTER_OF_THE_SHIFTING_SANDS);
if (Creature* pFandral = m_creature->GetMap()->GetCreature(m_uiFandralGUID))
DoScriptText(EMOTE_ANACHRONOS_SCEPTER, m_creature, pFandral);
m_uiEventTimer = 1500;
break;
case 41:
m_creature->SetVirtualItem(VIRTUAL_ITEM_SLOT_0, 0);
m_creature->SetVirtualItem(BASE_ATTACK, 0);
m_creature->HandleEmote(EMOTE_ONESHOT_BEG);
m_uiEventTimer = 1500;
break;
case 42:
if (Creature* pFandral = m_creature->GetMap()->GetCreature(m_uiFandralGUID))
{
pFandral->SetVirtualItem(VIRTUAL_ITEM_SLOT_0, ITEM_SCEPTER_OF_THE_SHIFTING_SANDS);
pFandral->SetVirtualItem(BASE_ATTACK, ITEM_SCEPTER_OF_THE_SHIFTING_SANDS);
pFandral->SetStandState(UNIT_STAND_STATE_STAND);
DoScriptText(SAY_FANDRAL_EPILOGUE_4, pFandral);
}
@@ -2161,7 +2161,7 @@ struct npc_anachronos_the_ancientAI : public ScriptedAI
{
pFandral->CastSpell(pFandral, SPELL_SHATTER_HAMMER, false);
DoScriptText(EMOTE_FANDRAL_SHATTER, pFandral);
pFandral->SetVirtualItem(VIRTUAL_ITEM_SLOT_0, 0);
pFandral->SetVirtualItem(BASE_ATTACK, 0);
}
m_uiEventTimer = 3000;
break;