AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
SpellClickInfo Struct Reference

#include "ObjectMgr.h"

Public Member Functions

ProfanityNames

Checks NamesProfanity.dbc for reserved names

Parameters
nameName to check for match in NamesProfanity.dbc
Returns
true/false
bool IsFitToRequirements (Unit const *clicker, Unit const *clickee) const
 

Public Attributes

uint32 spellId
 
uint8 castFlags
 
SpellClickUserTypes userType
 

Detailed Description

Member Function Documentation

◆ IsFitToRequirements()

bool SpellClickInfo::IsFitToRequirements ( Unit const *  clicker,
Unit const *  clickee 
) const
321{
322 Player const* playerClicker = clicker->ToPlayer();
323 if (!playerClicker)
324 return true;
325
326 Unit const* summoner = nullptr;
327 // Check summoners for party
328 if (clickee->IsSummon())
329 summoner = clickee->ToTempSummon()->GetSummonerUnit();
330 if (!summoner)
331 summoner = clickee;
332
333 // This only applies to players
334 switch (userType)
335 {
337 if (!playerClicker->IsFriendlyTo(summoner))
338 return false;
339 break;
341 if (!playerClicker->IsInRaidWith(summoner))
342 return false;
343 break;
345 if (!playerClicker->IsInPartyWith(summoner))
346 return false;
347 break;
348 default:
349 break;
350 }
351
352 return true;
353}
@ SPELL_CLICK_USER_PARTY
Definition: SharedDefines.h:656
@ SPELL_CLICK_USER_RAID
Definition: SharedDefines.h:655
@ SPELL_CLICK_USER_FRIEND
Definition: SharedDefines.h:654
Unit * GetSummonerUnit() const
Definition: TemporarySummon.cpp:45
Player * ToPlayer()
Definition: Object.h:195
Definition: Player.h:1046
Definition: Unit.h:1290
TempSummon * ToTempSummon()
Definition: Unit.h:2400
bool IsInRaidWith(Unit const *unit) const
Definition: Unit.cpp:18965
bool IsFriendlyTo(Unit const *unit) const
Definition: Unit.cpp:10214
bool IsInPartyWith(Unit const *unit) const
Definition: Unit.cpp:18942
SpellClickUserTypes userType
Definition: ObjectMgr.h:402

References TempSummon::GetSummonerUnit(), Unit::IsFriendlyTo(), Unit::IsInPartyWith(), Unit::IsInRaidWith(), Unit::IsSummon(), SPELL_CLICK_USER_FRIEND, SPELL_CLICK_USER_PARTY, SPELL_CLICK_USER_RAID, Object::ToPlayer(), Unit::ToTempSummon(), and userType.

Member Data Documentation

◆ castFlags

uint8 SpellClickInfo::castFlags

◆ spellId

uint32 SpellClickInfo::spellId

◆ userType

SpellClickUserTypes SpellClickInfo::userType

Referenced by IsFitToRequirements().