mirror of
https://github.com/mangosfour/server.git
synced 2025-12-16 22:37:02 +00:00
[11084] Add dummy auras for spells 53790,53791,53792 and 41099,41100,41101
Note: two of them are still missing data for equipment. Signed-off-by: NoFantasy <nofantasy@nf.no>
This commit is contained in:
parent
e3e6811740
commit
f98a9e4eee
3 changed files with 148 additions and 1 deletions
|
|
@ -2073,6 +2073,112 @@ void Aura::HandleAuraDummy(bool apply, bool Real)
|
|||
}
|
||||
case SPELLFAMILY_WARRIOR:
|
||||
{
|
||||
switch(GetId())
|
||||
{
|
||||
case 41099: // Battle Stance
|
||||
{
|
||||
if (target->GetTypeId() != TYPEID_UNIT)
|
||||
return;
|
||||
|
||||
// Stance Cooldown
|
||||
target->CastSpell(target, 41102, true, NULL, this);
|
||||
|
||||
// Battle Aura
|
||||
target->CastSpell(target, 41106, true, NULL, this);
|
||||
|
||||
// equipment
|
||||
target->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 0, 32614);
|
||||
target->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 1, 0);
|
||||
target->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 2, 0);
|
||||
return;
|
||||
}
|
||||
case 41100: // Berserker Stance
|
||||
{
|
||||
if (target->GetTypeId() != TYPEID_UNIT)
|
||||
return;
|
||||
|
||||
// Stance Cooldown
|
||||
target->CastSpell(target, 41102, true, NULL, this);
|
||||
|
||||
// Berserker Aura
|
||||
target->CastSpell(target, 41107, true, NULL, this);
|
||||
|
||||
// equipment
|
||||
target->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 0, 32614);
|
||||
target->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 1, 0);
|
||||
target->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 2, 0);
|
||||
return;
|
||||
}
|
||||
case 41101: // Defensive Stance
|
||||
{
|
||||
if (target->GetTypeId() != TYPEID_UNIT)
|
||||
return;
|
||||
|
||||
// Stance Cooldown
|
||||
target->CastSpell(target, 41102, true, NULL, this);
|
||||
|
||||
// Defensive Aura
|
||||
target->CastSpell(target, 41105, true, NULL, this);
|
||||
|
||||
// equipment (unknown, but should be axe+shield)
|
||||
//target->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 0, 0);
|
||||
//target->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 1, 0);
|
||||
//target->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 2, 0);
|
||||
return;
|
||||
}
|
||||
case 53790: // Defensive Stance
|
||||
{
|
||||
if (target->GetTypeId() != TYPEID_UNIT)
|
||||
return;
|
||||
|
||||
// Stance Cooldown
|
||||
target->CastSpell(target, 59526, true, NULL, this);
|
||||
|
||||
// Defensive Aura
|
||||
target->CastSpell(target, 41105, true, NULL, this);
|
||||
|
||||
// equipment (need help here, item id not known)
|
||||
//target->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 0, 0);
|
||||
//target->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 1, 0);
|
||||
//target->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 2, 0);
|
||||
return;
|
||||
}
|
||||
case 53791: // Berserker Stance
|
||||
{
|
||||
if (target->GetTypeId() != TYPEID_UNIT)
|
||||
return;
|
||||
|
||||
// Stance Cooldown
|
||||
target->CastSpell(target, 59526, true, NULL, this);
|
||||
|
||||
// Berserker Aura
|
||||
target->CastSpell(target, 41107, true, NULL, this);
|
||||
|
||||
// equipment
|
||||
target->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 0, 43625);
|
||||
target->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 1, 43625);
|
||||
target->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 2, 0);
|
||||
return;
|
||||
}
|
||||
case 53792: // Battle Stance
|
||||
{
|
||||
if (target->GetTypeId() != TYPEID_UNIT)
|
||||
return;
|
||||
|
||||
// Stance Cooldown
|
||||
target->CastSpell(target, 59526, true, NULL, this);
|
||||
|
||||
// Battle Aura
|
||||
target->CastSpell(target, 41106, true, NULL, this);
|
||||
|
||||
// equipment
|
||||
target->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 0, 43623);
|
||||
target->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 1, 0);
|
||||
target->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 2, 0);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Overpower
|
||||
if (GetSpellProto()->SpellFamilyFlags & UI64LIT(0x0000000000000004))
|
||||
{
|
||||
|
|
@ -2255,6 +2361,24 @@ void Aura::HandleAuraDummy(bool apply, bool Real)
|
|||
target->CastSpell(target, 36731, true, NULL, this);
|
||||
return;
|
||||
}
|
||||
case 41099: // Battle Stance
|
||||
{
|
||||
// Battle Aura
|
||||
target->RemoveAurasDueToSpell(41106);
|
||||
return;
|
||||
}
|
||||
case 41100: // Berserker Stance
|
||||
{
|
||||
// Berserker Aura
|
||||
target->RemoveAurasDueToSpell(41107);
|
||||
return;
|
||||
}
|
||||
case 41101: // Defensive Stance
|
||||
{
|
||||
// Defensive Aura
|
||||
target->RemoveAurasDueToSpell(41105);
|
||||
return;
|
||||
}
|
||||
case 42517: // Beam to Zelfrax
|
||||
{
|
||||
// expecting target to be a dummy creature
|
||||
|
|
@ -2326,6 +2450,24 @@ void Aura::HandleAuraDummy(bool apply, bool Real)
|
|||
|
||||
return;
|
||||
}
|
||||
case 53790: // Defensive Stance
|
||||
{
|
||||
// Defensive Aura
|
||||
target->RemoveAurasDueToSpell(41105);
|
||||
return;
|
||||
}
|
||||
case 53791: // Berserker Stance
|
||||
{
|
||||
// Berserker Aura
|
||||
target->RemoveAurasDueToSpell(41107);
|
||||
return;
|
||||
}
|
||||
case 53792: // Battle Stance
|
||||
{
|
||||
// Battle Aura
|
||||
target->RemoveAurasDueToSpell(41106);
|
||||
return;
|
||||
}
|
||||
case 56511: // Towers of Certain Doom: Tower Bunny Smoke Flare Effect
|
||||
{
|
||||
// Towers of Certain Doom: Skorn Cannonfire
|
||||
|
|
|
|||
|
|
@ -2034,6 +2034,11 @@ bool SpellMgr::IsNoStackSpellDueToSpell(uint32 spellId_1, uint32 spellId_2) cons
|
|||
if ((spellInfo_1->SpellIconID == 456 && spellInfo_2->SpellIconID == 2006) ||
|
||||
(spellInfo_2->SpellIconID == 456 && spellInfo_1->SpellIconID == 2006))
|
||||
return false;
|
||||
|
||||
// Defensive/Berserker/Battle stance aura can not stack (needed for dummy auras)
|
||||
if (((spellInfo_1->SpellFamilyFlags & UI64LIT(0x800000)) && (spellInfo_2->SpellFamilyFlags & UI64LIT(0x800000))) ||
|
||||
((spellInfo_2->SpellFamilyFlags & UI64LIT(0x800000)) && (spellInfo_1->SpellFamilyFlags & UI64LIT(0x800000))))
|
||||
return true;
|
||||
}
|
||||
|
||||
// Hamstring -> Improved Hamstring (multi-family check)
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
#ifndef __REVISION_NR_H__
|
||||
#define __REVISION_NR_H__
|
||||
#define REVISION_NR "11083"
|
||||
#define REVISION_NR "11084"
|
||||
#endif // __REVISION_NR_H__
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue