mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-21 12:47:07 +00:00
fix(Events): fix commoner spawns, auras and equips for all events (#17632)
* fix(Core/Spells): Implement Gossip NPC Appearance spells 65511 Gossip NPC Appearance - Brewfest 65522 Gossip NPC Appearance - Winter Veil 65523 Gossip NPC Appearance - Default 65524 Gossip NPC Appearance - Lunar Festival 65525 Gossip NPC Appearance - Hallow's End 65526 Gossip NPC Appearance - Midsummer 65527 Gossip NPC Appearance - Spirit of Competition 65528 Gossip NPC Appearance - Pirates' Day 65529 Gossip NPC Appearance - Day of the Dead (DotD) * fix(DB/SAI): fix commoner spawns and auras * equip random mug on spell 65511 Gossip NPC Appearance - Brewfest * check if creature before equipping brewfest mug * minor optical fixes, DELETE first, then remove duplicate spawns * fix two displayIDs in NPC Gossip Appearance spells * Remove whitespace at the end of the lines * remove commoner spawns for event 7 Harvest festival from game_event_creature * fix harvest festival event id * Update rev_1698785311231174200.sql
This commit is contained in:
@@ -2288,6 +2288,392 @@ void AuraEffect::HandleAuraTransform(AuraApplication const* aurApp, uint8 mode,
|
||||
case 65495:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 29203 : 29204);
|
||||
break;
|
||||
// Gossip NPC Appearance - Brewfest
|
||||
case 65511:
|
||||
{
|
||||
switch (target->GetDisplayRace())
|
||||
{
|
||||
case DisplayRace::BloodElf:
|
||||
if (urand(0, 1))
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 21839 : 21838);
|
||||
else
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 21841 : 21840);
|
||||
break;
|
||||
case DisplayRace::Orc:
|
||||
if (urand(0, 1))
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 21867 : 21866);
|
||||
else
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 21869 : 21868);
|
||||
break;
|
||||
case DisplayRace::Troll:
|
||||
if (urand(0, 1))
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 21875 : 21874);
|
||||
else
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 21877 : 21876);
|
||||
break;
|
||||
case DisplayRace::Tauren:
|
||||
if (urand(0, 1))
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 21869 : 21871);
|
||||
else
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 21872 : 21873);
|
||||
break;
|
||||
case DisplayRace::Undead:
|
||||
if (urand(0, 1))
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 21879 : 21878);
|
||||
else
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 21881 : 21880);
|
||||
break;
|
||||
case DisplayRace::Draenei:
|
||||
if (urand(0, 1))
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 21844 : 21842);
|
||||
else
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 21845 : 21843);
|
||||
break;
|
||||
case DisplayRace::Dwarf:
|
||||
if (urand(0, 1))
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 21846 : 21848);
|
||||
else
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 21847 : 21849);
|
||||
break;
|
||||
case DisplayRace::Gnome:
|
||||
if (urand(0, 1))
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 21851 : 21850);
|
||||
else
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 21853 : 21852);
|
||||
break;
|
||||
case DisplayRace::Human:
|
||||
if (urand(0, 1))
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 21859 : 21858);
|
||||
else
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 21861 : 21860);
|
||||
break;
|
||||
case DisplayRace::NightElf:
|
||||
if (urand(0, 1))
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 21863 : 21862);
|
||||
else
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 21865 : 21864);
|
||||
break;
|
||||
case DisplayRace::Goblin:
|
||||
if (urand(0, 1))
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 21854 : 21856);
|
||||
else
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 21855 : 21857);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
// equip random brewfest mug
|
||||
uint32 itemIds[5] = {
|
||||
2703, // Monster - Item, Tankard Wooden
|
||||
2704, // Monster - Item, Tankard Dirty
|
||||
2705, // Monster - Item, Tankard Metal
|
||||
13861, // Monster - Item, Tankard Gold
|
||||
33963 // NPC Equip 33963
|
||||
};
|
||||
if (target->ToCreature())
|
||||
target->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 0, itemIds[urand(0, 4)]);
|
||||
|
||||
break;
|
||||
}
|
||||
// Gossip NPC Appearance - Winter Veil
|
||||
case 65522:
|
||||
{
|
||||
switch (target->GetDisplayRace())
|
||||
{
|
||||
case DisplayRace::BloodElf:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 18793 : 18785);
|
||||
break;
|
||||
case DisplayRace::Orc:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 18805 : 18804);
|
||||
break;
|
||||
case DisplayRace::Troll:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 18809 : 18808);
|
||||
break;
|
||||
case DisplayRace::Tauren:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 18807 : 18806);
|
||||
break;
|
||||
case DisplayRace::Undead:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 18811 : 18810);
|
||||
break;
|
||||
case DisplayRace::Draenei:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 18795 : 18794);
|
||||
break;
|
||||
case DisplayRace::Dwarf:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 18797 : 18796);
|
||||
break;
|
||||
case DisplayRace::Gnome:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 18799 : 18798);
|
||||
break;
|
||||
case DisplayRace::Human:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 18801 : 18800);
|
||||
break;
|
||||
case DisplayRace::NightElf:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 18803 : 18802);
|
||||
break;
|
||||
case DisplayRace::Goblin:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 19342 : 19339);
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
// Gossip NPC Appearance - Default
|
||||
case 65523:
|
||||
{
|
||||
switch (target->GetDisplayRace())
|
||||
{
|
||||
case DisplayRace::BloodElf:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 19170 : 19169);
|
||||
break;
|
||||
case DisplayRace::Orc:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 19182 : 19181);
|
||||
break;
|
||||
case DisplayRace::Troll:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 19186 : 19185);
|
||||
break;
|
||||
case DisplayRace::Tauren:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 19184 : 19183);
|
||||
break;
|
||||
case DisplayRace::Undead:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 19188 : 19187);
|
||||
break;
|
||||
case DisplayRace::Draenei:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 19172 : 19171);
|
||||
break;
|
||||
case DisplayRace::Dwarf:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 19174 : 19173);
|
||||
break;
|
||||
case DisplayRace::Gnome:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 19176 : 19175);
|
||||
break;
|
||||
case DisplayRace::Human:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 19178 : 19177);
|
||||
break;
|
||||
case DisplayRace::NightElf:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 19180 : 19179);
|
||||
break;
|
||||
case DisplayRace::Goblin:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 19343 : 19340);
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
// Gossip NPC Appearance - Lunar Festival
|
||||
case 65524:
|
||||
{
|
||||
switch (target->GetDisplayRace())
|
||||
{
|
||||
case DisplayRace::BloodElf:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 18841 : 18840);
|
||||
break;
|
||||
case DisplayRace::Orc:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 18870 : 18869);
|
||||
break;
|
||||
case DisplayRace::Troll:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 18874 : 18873);
|
||||
break;
|
||||
case DisplayRace::Tauren:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 18872 : 18871);
|
||||
break;
|
||||
case DisplayRace::Undead:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 18876 : 18875);
|
||||
break;
|
||||
case DisplayRace::Draenei:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 18843 : 18842);
|
||||
break;
|
||||
case DisplayRace::Dwarf:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 18845 : 18844);
|
||||
break;
|
||||
case DisplayRace::Gnome:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 18847 : 18846);
|
||||
break;
|
||||
case DisplayRace::Human:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 18860 : 18858);
|
||||
break;
|
||||
case DisplayRace::NightElf:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 18868 : 18867);
|
||||
break;
|
||||
case DisplayRace::Goblin:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 21067 : 19341);
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
// Gossip NPC Appearance - Hallow's End
|
||||
case 65525:
|
||||
{
|
||||
switch (target->GetDisplayRace())
|
||||
{
|
||||
case DisplayRace::BloodElf:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 22361 : 22360);
|
||||
break;
|
||||
case DisplayRace::Orc:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 22375 : 22374);
|
||||
break;
|
||||
case DisplayRace::Troll:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 22379 : 22378);
|
||||
break;
|
||||
case DisplayRace::Tauren:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 22377 : 22376);
|
||||
break;
|
||||
case DisplayRace::Undead:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 22381 : 22380);
|
||||
break;
|
||||
case DisplayRace::Draenei:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 22363 : 22362);
|
||||
break;
|
||||
case DisplayRace::Dwarf:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 22365 : 22364);
|
||||
break;
|
||||
case DisplayRace::Gnome:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 22367 : 22366);
|
||||
break;
|
||||
case DisplayRace::Human:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 22371 : 22370);
|
||||
break;
|
||||
case DisplayRace::NightElf:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 22373 : 22372);
|
||||
break;
|
||||
case DisplayRace::Goblin:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 22369 : 22368);
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
// Gossip NPC Appearance - Midsummer
|
||||
case 65526:
|
||||
{
|
||||
switch (target->GetDisplayRace())
|
||||
{
|
||||
case DisplayRace::BloodElf:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 21086 : 21085);
|
||||
break;
|
||||
case DisplayRace::Orc:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 16438 : 16436);
|
||||
break;
|
||||
case DisplayRace::Troll:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 16446 : 16445);
|
||||
break;
|
||||
case DisplayRace::Tauren:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 16432 : 16442);
|
||||
break;
|
||||
case DisplayRace::Undead:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 16444 : 16443);
|
||||
break;
|
||||
case DisplayRace::Draenei:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 21083 : 21084);
|
||||
break;
|
||||
case DisplayRace::Dwarf:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 16413 : 16434);
|
||||
break;
|
||||
case DisplayRace::Gnome:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 16448 : 16447);
|
||||
break;
|
||||
case DisplayRace::Human:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 16433 : 16412);
|
||||
break;
|
||||
case DisplayRace::NightElf:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 16435 : 16414);
|
||||
break;
|
||||
case DisplayRace::Goblin:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 29243 : 16431);
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
// Gossip NPC Appearance - Spirit of Competition
|
||||
case 65527:
|
||||
{
|
||||
switch (target->GetDisplayRace())
|
||||
{
|
||||
case DisplayRace::BloodElf:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 24508 : 24519);
|
||||
break;
|
||||
case DisplayRace::Orc:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 24515 : 24526);
|
||||
break;
|
||||
case DisplayRace::Troll:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 24517 : 24528);
|
||||
break;
|
||||
case DisplayRace::Tauren:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 24516 : 24527);
|
||||
break;
|
||||
case DisplayRace::Undead:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 24518 : 24529);
|
||||
break;
|
||||
case DisplayRace::Draenei:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 24509 : 24520);
|
||||
break;
|
||||
case DisplayRace::Dwarf:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 24510 : 24521);
|
||||
break;
|
||||
case DisplayRace::Gnome:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 24511 : 24522);
|
||||
break;
|
||||
case DisplayRace::Human:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 24513 : 24524);
|
||||
break;
|
||||
case DisplayRace::NightElf:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 24514 : 24525);
|
||||
break;
|
||||
case DisplayRace::Goblin:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 24512 : 24523);
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
// Gossip NPC Appearance - Pirates' Day
|
||||
case 65528:
|
||||
{
|
||||
switch (target->GetDisplayRace())
|
||||
{
|
||||
case DisplayRace::BloodElf:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 25032 : 25043);
|
||||
break;
|
||||
case DisplayRace::Orc:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 25039 : 25050);
|
||||
break;
|
||||
case DisplayRace::Troll:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 25041 : 25052);
|
||||
break;
|
||||
case DisplayRace::Tauren:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 25040 : 25051);
|
||||
break;
|
||||
case DisplayRace::Undead:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 25042 : 25053);
|
||||
break;
|
||||
case DisplayRace::Draenei:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 25033 : 25044);
|
||||
break;
|
||||
case DisplayRace::Dwarf:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 25034 : 25045);
|
||||
break;
|
||||
case DisplayRace::Gnome:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 25035 : 25046);
|
||||
break;
|
||||
case DisplayRace::Human:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 25037 : 25048);
|
||||
break;
|
||||
case DisplayRace::NightElf:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 25038 : 25049);
|
||||
break;
|
||||
case DisplayRace::Goblin:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 25036 : 25047);
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
// Gossip NPC Appearance - Day of the Dead(DotD)
|
||||
case 65529:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 29203 : 29204);
|
||||
break;
|
||||
// Darkspear Pride
|
||||
case 75532:
|
||||
target->SetDisplayId(target->getGender() == GENDER_MALE ? 31737 : 31738);
|
||||
|
||||
Reference in New Issue
Block a user