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

#include "ObjectMgr.h"

Public Member Functions

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
266{
267 Player const* playerClicker = clicker->ToPlayer();
268 if (!playerClicker)
269 return true;
270
271 Unit const* summoner = nullptr;
272 // Check summoners for party
273 if (clickee->IsSummon())
274 summoner = clickee->ToTempSummon()->GetSummonerUnit();
275 if (!summoner)
276 summoner = clickee;
277
278 // This only applies to players
279 switch (userType)
280 {
282 if (!playerClicker->IsFriendlyTo(summoner))
283 return false;
284 break;
286 if (!playerClicker->IsInRaidWith(summoner))
287 return false;
288 break;
290 if (!playerClicker->IsInPartyWith(summoner))
291 return false;
292 break;
293 default:
294 break;
295 }
296
297 return true;
298}
@ SPELL_CLICK_USER_PARTY
Definition SharedDefines.h:672
@ SPELL_CLICK_USER_RAID
Definition SharedDefines.h:671
@ SPELL_CLICK_USER_FRIEND
Definition SharedDefines.h:670
Player * ToPlayer()
Definition Object.h:202
Definition Player.h:1084
Unit * GetSummonerUnit() const
Definition TemporarySummon.cpp:44
Definition Unit.h:664
TempSummon * ToTempSummon()
Definition Unit.h:731
bool IsInRaidWith(Unit const *unit) const
Definition Unit.cpp:15022
bool IsFriendlyTo(Unit const *unit) const
Definition Unit.cpp:7241
bool IsInPartyWith(Unit const *unit) const
Definition Unit.cpp:14999
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().


The documentation for this struct was generated from the following files: