mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-15 23:20:36 +01:00
Core/Summons: Handle summons using SummonProperties.Control type 5 as vehicles (#30391)
This commit is contained in:
@@ -172,7 +172,6 @@ static bool ShouldFollowOnSpawn(SummonPropertiesEntry const* properties)
|
||||
return true;
|
||||
case SUMMON_CATEGORY_WILD:
|
||||
case SUMMON_CATEGORY_ALLY:
|
||||
case SUMMON_CATEGORY_UNK:
|
||||
if (properties->GetFlags().HasFlag(SummonPropertiesFlags::JoinSummonerSpawnGroup))
|
||||
return true;
|
||||
switch (SummonTitle(properties->Title))
|
||||
|
||||
@@ -1895,12 +1895,12 @@ TempSummon* Map::SummonCreature(uint32 entry, Position const& pos, SummonPropert
|
||||
case SUMMON_CATEGORY_PUPPET:
|
||||
mask = UNIT_MASK_PUPPET;
|
||||
break;
|
||||
case SUMMON_CATEGORY_POSSESSED_VEHICLE:
|
||||
case SUMMON_CATEGORY_VEHICLE:
|
||||
mask = UNIT_MASK_MINION;
|
||||
break;
|
||||
case SUMMON_CATEGORY_WILD:
|
||||
case SUMMON_CATEGORY_ALLY:
|
||||
case SUMMON_CATEGORY_UNK:
|
||||
{
|
||||
switch (SummonTitle(properties->Title))
|
||||
{
|
||||
|
||||
@@ -421,12 +421,12 @@ TempSummon* Transport::SummonPassenger(uint32 entry, Position const& pos, TempSu
|
||||
case SUMMON_CATEGORY_PUPPET:
|
||||
mask = UNIT_MASK_PUPPET;
|
||||
break;
|
||||
case SUMMON_CATEGORY_POSSESSED_VEHICLE:
|
||||
case SUMMON_CATEGORY_VEHICLE:
|
||||
mask = UNIT_MASK_MINION;
|
||||
break;
|
||||
case SUMMON_CATEGORY_WILD:
|
||||
case SUMMON_CATEGORY_ALLY:
|
||||
case SUMMON_CATEGORY_UNK:
|
||||
{
|
||||
switch (SummonTitle(properties->Title))
|
||||
{
|
||||
|
||||
@@ -6212,13 +6212,12 @@ enum DiminishingGroup : uint16
|
||||
|
||||
enum SummonCategory
|
||||
{
|
||||
SUMMON_CATEGORY_WILD = 0,
|
||||
SUMMON_CATEGORY_ALLY = 1,
|
||||
SUMMON_CATEGORY_PET = 2,
|
||||
SUMMON_CATEGORY_PUPPET = 3,
|
||||
SUMMON_CATEGORY_VEHICLE = 4,
|
||||
SUMMON_CATEGORY_UNK = 5 // as of patch 3.3.5a only Bone Spike in Icecrown Citadel
|
||||
// uses this category
|
||||
SUMMON_CATEGORY_WILD = 0,
|
||||
SUMMON_CATEGORY_ALLY = 1,
|
||||
SUMMON_CATEGORY_PET = 2,
|
||||
SUMMON_CATEGORY_PUPPET = 3,
|
||||
SUMMON_CATEGORY_POSSESSED_VEHICLE = 4,
|
||||
SUMMON_CATEGORY_VEHICLE = 5 // Wild, but Ride Spell will be cast
|
||||
};
|
||||
|
||||
enum class SummonTitle : int32
|
||||
|
||||
@@ -1896,7 +1896,6 @@ void Spell::EffectSummonType()
|
||||
{
|
||||
case SUMMON_CATEGORY_WILD:
|
||||
case SUMMON_CATEGORY_ALLY:
|
||||
case SUMMON_CATEGORY_UNK:
|
||||
{
|
||||
if (properties->GetFlags().HasFlag(SummonPropertiesFlags::JoinSummonerSpawnGroup))
|
||||
{
|
||||
@@ -2000,6 +1999,7 @@ void Spell::EffectSummonType()
|
||||
summon = unitCaster->GetMap()->SummonCreature(entry, *destTarget, properties, duration, unitCaster, m_spellInfo->Id, 0, privateObjectOwner);
|
||||
break;
|
||||
}
|
||||
case SUMMON_CATEGORY_POSSESSED_VEHICLE:
|
||||
case SUMMON_CATEGORY_VEHICLE:
|
||||
{
|
||||
if (!unitCaster)
|
||||
|
||||
Reference in New Issue
Block a user