这篇教程C++ GetCasterGUID函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中GetCasterGUID函数的典型用法代码示例。如果您正苦于以下问题:C++ GetCasterGUID函数的具体用法?C++ GetCasterGUID怎么用?C++ GetCasterGUID使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了GetCasterGUID函数的29个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: ASSERTvoid DynamicObject::BindToCaster() { ASSERT(!m_caster); m_caster = ObjectAccessor::GetUnit(*this, GetCasterGUID()); ASSERT(m_caster); ASSERT(m_caster->GetMap() == GetMap()); m_caster->_RegisterDynObject(this);}
开发者ID:BlueSellafield,项目名称:ArkCORE,代码行数:7,
示例2: GetCasterGUIDvoid AreaTrigger::BindToCaster(){ //ASSERT(!m_caster); m_caster = ObjectAccessor::GetUnit(*this, GetCasterGUID()); //ASSERT(GetCaster()); //ASSERT(GetCaster()->GetMap() == GetMap()); if (m_caster) m_caster->_RegisterAreaTrigger(this);}
开发者ID:AwkwardDev,项目名称:SurgeCore-505,代码行数:9,
示例3: GetCasterGUIDvoid DynamicObject::BindToCaster(){ //ASSERT(!_caster); _caster = ObjectAccessor::GetUnit(*this, GetCasterGUID()); //ASSERT(_caster); //ASSERT(_caster->GetMap() == GetMap()); if (_caster) _caster->_RegisterDynObject(this);}
开发者ID:3DViking,项目名称:MistCore,代码行数:9,
示例4: HandleEffectRemove void HandleEffectRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/) { uint32 spellId = GetSpellInfo()->GetFirstRankSpell()->Id; if ((spellId == SPELL_PALADIN_SANCTIFIED_RETRIBUTION_R1 && GetTarget()->GetAuraOfRankedSpell(SPELL_PALADIN_SWIFT_RETRIBUTION_R1)) || (spellId == SPELL_PALADIN_SWIFT_RETRIBUTION_R1 && GetTarget()->GetAuraOfRankedSpell(SPELL_PALADIN_SANCTIFIED_RETRIBUTION_R1))) return; GetTarget()->RemoveOwnedAura(_spellId, GetCasterGUID()); }
开发者ID:mynew3,项目名称:LordPsyanBots,代码行数:10,
示例5: isVisibleForInStatebool DynamicObject::isVisibleForInState(Player const* player, WorldObject const* viewPoint, bool inVisibleList) const{ if (!IsInWorld() || !player->IsInWorld()) return false; if (GetCasterGUID() == player->GetGUID()) return true; return IsWithinDistInMap(viewPoint, GetMap()->GetVisibilityDistance(const_cast<DynamicObject*>(this), const_cast<Player*>(player)) + (inVisibleList ? World::GetVisibleObjectGreyDistance() : 0.0f), false);}
开发者ID:Blumfield,项目名称:ptc2,代码行数:10,
示例6: OnApply void OnApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/) { if (GetTarget()->GetTypeId() != TYPEID_PLAYER) return; oldAI = GetTarget()->GetAI(); oldAIState = GetTarget()->IsAIEnabled; GetTarget()->SetAI(new player_overlord_brandAI(GetTarget()->ToPlayer())); GetTarget()->GetAI()->SetGUID(GetCasterGUID()); }
开发者ID:mryanlam,项目名称:Old-TrinityCore-Project-Script.me-,代码行数:10,
示例7: isVisibleForInStatebool DynamicObject::isVisibleForInState(Player const* u, WorldObject const* viewPoint, bool inVisibleList) const{ if(!IsInWorld() || !u->IsInWorld()) return false; // always seen by owner if(GetCasterGUID()==u->GetGUID()) return true; // normal case return IsWithinDistInMap(viewPoint, GetMap()->GetVisibilityDistance() + (inVisibleList ? World::GetVisibleObjectGreyDistance() : 0.0f), false);}
开发者ID:Nedj,项目名称:Mysteria4,代码行数:12,
示例8: GetMapvoid DynamicObject::Delay(int32 delaytime){ m_aliveDuration -= delaytime; for(AffectedSet::iterator iter = m_affected.begin(); iter != m_affected.end(); ) { Unit *target = GetMap()->GetUnit((*iter)); if (target) { SpellAuraHolder *holder = target->GetSpellAuraHolder(m_spellId, GetCasterGUID()); if (!holder) { ++iter; continue; } bool foundAura = false; for (int32 i = m_effIndex + 1; i < MAX_EFFECT_INDEX; ++i) { if ((holder->GetSpellProto()->Effect[i] == SPELL_EFFECT_PERSISTENT_AREA_AURA || holder->GetSpellProto()->Effect[i] == SPELL_EFFECT_ADD_FARSIGHT) && holder->m_auras[i]) { foundAura = true; break; } } if (foundAura) { ++iter; continue; } target->DelaySpellAuraHolder(m_spellId, delaytime, GetCasterGUID()); ++iter; } else m_affected.erase(iter++); }}
开发者ID:hddk123,项目名称:mangos,代码行数:38,
示例9: OnApply void OnApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/) { if (affected) remove(); auto p = GetTarget()->ToPlayer(); if (!p) return; oldAI = p->GetAI().get(); oldAIState = GetTarget()->IsAIEnabled; p->SetAI(new player_overlord_brandAI(p)); p->GetAI()->SetGUID(GetCasterGUID()); p->IsAIEnabled = true; affected = p; }
开发者ID:ForesterDev,项目名称:trinitycore-m4a,代码行数:14,
示例10: CheckAreaTarget bool CheckAreaTarget(Unit* target) { Unit::AuraApplicationMap& appliedAuras = target->GetAppliedAuras(); for (Unit::AuraApplicationMap::iterator itr = appliedAuras.begin(); itr != appliedAuras.end(); ++itr) { Aura const* aura = itr->second->GetBase(); if (aura->GetSpellInfo()->GetSpellSpecific() == SPELL_SPECIFIC_AURA && aura->GetCasterGUID() == GetCasterGUID()) { // Not allow for Retribution Aura (prevent stacking) - Retribution Aura Overflow and Retribution Aura has same spell effects if (GetSpellInfo()->Id == SPELL_PALADIN_SANCTIFIED_RETRIBUTION_AURA && aura->GetSpellInfo()->SpellIconID == PALADIN_ICON_ID_RETRIBUTION_AURA) return false; return true; } } return false; }
开发者ID:Diyvol,项目名称:TrinityCore,代码行数:17,
示例11: HandleEffectRemove void HandleEffectRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/) { GetTarget()->RemoveOwnedAura(SPELL_PALADIN_AURA_MASTERY_IMMUNE, GetCasterGUID()); }
开发者ID:Diyvol,项目名称:TrinityCore,代码行数:4,
示例12: HandleDummy void HandleDummy(AuraEffect const* /*aurEff*/) { if (AuraEffect* slowEff = GetEffect(EFFECT_0)) { int32 newAmount = slowEff->GetAmount() - 10; if (newAmount < -100) newAmount = -100; slowEff->ChangeAmount(newAmount); if (newAmount == -100 && !GetTarget()->HasAura(SPELL_PARALYSIS)) GetTarget()->CastSpell(GetTarget(), SPELL_PARALYSIS, CastSpellExtraArgs(slowEff).SetOriginalCaster(GetCasterGUID())); } }
开发者ID:ElunaLuaEngine,项目名称:ElunaTrinityWotlk,代码行数:13,
示例13: HandleRemove void HandleRemove(AuraEffect const* aurEff, AuraEffectHandleModes /*mode*/) { if (Unit* caster = GetCaster()) { int32 amount = aurEff->GetAmount(); GetTarget()->CastCustomSpell(caster, SPELL_WARLOCK_HAUNT_HEAL, &amount, NULL, NULL, true, NULL, aurEff, GetCasterGUID()); } }
开发者ID:InkVisible,项目名称:EscapeWoW3.3.5a,代码行数:8,
示例14: HandleShareBuff void HandleShareBuff (AuraEffect const* aurEff, AuraEffectHandleModes mode) { if (!GetTargetApplication()) return; if (!GetTargetApplication()->GetBase()) return; if (GetTargetApplication()->GetRemoveMode() == AURA_REMOVE_BY_ENEMY_SPELL) { if (Unit* target = GetTarget()) { CustomSpellValues values; values.AddSpellMod(SPELLVALUE_MAX_TARGETS, 2); values.AddSpellMod(SPELLVALUE_BASE_POINT1, GetTargetApplication()->GetBase()->GetDuration()); GetTarget()->CastCustomSpell(SPELL_WRACK_JUMP, values, NULL, TRIGGERED_FULL_MASK, NULL, NULL, GetCasterGUID()); } } }
开发者ID:Faydz,项目名称:TrinityCore,代码行数:19,
示例15: HandleRemove void HandleRemove(AuraEffect const* aurEff, AuraEffectHandleModes /*mode*/) { if (GetTargetApplication()->GetRemoveMode() != AURA_REMOVE_BY_ENEMY_SPELL && GetTargetApplication()->GetRemoveMode() != AURA_REMOVE_BY_EXPIRE) return; if (Unit* caster = GetCaster()) { int32 amount = aurEff->GetAmount(); GetTarget()->CastCustomSpell(caster, WARLOCK_HAUNT_HEAL, &amount, NULL, NULL, true, NULL, aurEff, GetCasterGUID()); } }
开发者ID:S-proyect,项目名称:Emu-S,代码行数:11,
示例16: HandleDispel void HandleDispel(DispelInfo* dispelInfo) { if (Unit* target = GetUnitOwner()) { if (AuraEffect const* aurEff = GetEffect(EFFECT_1)) { // final heal int32 healAmount = aurEff->GetAmount(); if (Unit* caster = GetCaster()) { healAmount = caster->SpellHealingBonusDone(target, GetSpellInfo(), healAmount, HEAL, dispelInfo->GetRemovedCharges()); healAmount = target->SpellHealingBonusTaken(caster, GetSpellInfo(), healAmount, HEAL, dispelInfo->GetRemovedCharges()); target->CastCustomSpell(target, SPELL_DRUID_LIFEBLOOM_FINAL_HEAL, &healAmount, NULL, NULL, true, NULL, NULL, GetCasterGUID()); // restore mana int32 returnMana = CalculatePct(caster->GetCreateMana(), GetSpellInfo()->ManaCostPercentage) * dispelInfo->GetRemovedCharges() / 2; caster->CastCustomSpell(caster, SPELL_DRUID_LIFEBLOOM_ENERGIZE, &returnMana, NULL, NULL, true, NULL, NULL, GetCasterGUID()); return; } target->CastCustomSpell(target, SPELL_DRUID_LIFEBLOOM_FINAL_HEAL, &healAmount, NULL, NULL, true, NULL, NULL, GetCasterGUID()); } } }
开发者ID:Hlkz2,项目名称:ACoreOld,代码行数:24,
示例17: AfterRemove void AfterRemove(AuraEffect const* aurEff, AuraEffectHandleModes /*mode*/) { // Final heal only on duration end if (GetTargetApplication()->GetRemoveMode() != AURA_REMOVE_BY_EXPIRE) return; // final heal int32 stack = GetStackAmount(); int32 healAmount = aurEff->GetAmount(); if (Unit* caster = GetCaster()) { healAmount = caster->SpellHealingBonusDone(GetTarget(), GetSpellInfo(), healAmount, HEAL, aurEff->GetSpellEffectInfo(), stack); healAmount = GetTarget()->SpellHealingBonusTaken(caster, GetSpellInfo(), healAmount, HEAL, aurEff->GetSpellEffectInfo(), stack); GetTarget()->CastCustomSpell(GetTarget(), SPELL_DRUID_LIFEBLOOM_FINAL_HEAL, &healAmount, NULL, NULL, true, NULL, aurEff, GetCasterGUID()); // restore mana std::vector<SpellInfo::CostData> costs = GetSpellInfo()->CalcPowerCost(caster, GetSpellInfo()->GetSchoolMask()); auto m = std::find_if(costs.begin(), costs.end(), [](SpellInfo::CostData const& cost) { return cost.Power == POWER_MANA; }); if (m != costs.end()) { int32 returnMana = m->Amount * stack / 2; caster->CastCustomSpell(caster, SPELL_DRUID_LIFEBLOOM_ENERGIZE, &returnMana, NULL, NULL, true, NULL, aurEff, GetCasterGUID()); } return; } GetTarget()->CastCustomSpell(GetTarget(), SPELL_DRUID_LIFEBLOOM_FINAL_HEAL, &healAmount, NULL, NULL, true, NULL, aurEff, GetCasterGUID()); }
开发者ID:beyourself,项目名称:DeathCore_6.x,代码行数:29,
示例18: AfterRemove void AfterRemove(AuraEffect const* eff, AuraEffectHandleModes /*mode*/) { if (GetTargetApplication()->GetRemoveMode() != AURA_REMOVE_BY_EXPIRE) return; GetTarget()->CastSpell(nullptr, SPELL_DEATHBLOOM_FINAL_DAMAGE, CastSpellExtraArgs(eff).SetOriginalCaster(GetCasterGUID())); }
开发者ID:ElunaLuaEngine,项目名称:ElunaTrinityWotlk,代码行数:7,
示例19: CalculateAmount void CalculateAmount(AuraEffect const* aurEff, int32& amount, bool& canBeRecalculated) { canBeRecalculated = false; if (Unit* caster = GetCaster()) { // +80.68% from sp bonus float bonus = 0.8068f; // Borrowed Time if (AuraEffect const* borrowedTime = caster->GetDummyAuraEffect(SPELLFAMILY_PRIEST, PRIEST_ICON_ID_BORROWED_TIME, EFFECT_1)) bonus += CalculatePct(1.0f, borrowedTime->GetAmount()); bonus *= caster->SpellBaseHealingBonusDone(GetSpellInfo()->GetSchoolMask()); // Improved PW: Shield: its weird having a SPELLMOD_ALL_EFFECTS here but its blizzards doing :) // Improved PW: Shield is only applied at the spell healing bonus because it was already applied to the base value in CalculateSpellDamage bonus = caster->ApplyEffectModifiers(GetSpellInfo(), aurEff->GetEffIndex(), bonus); bonus *= caster->CalculateLevelPenalty(GetSpellInfo()); amount += int32(bonus); // Twin Disciplines if (AuraEffect const* twinDisciplines = caster->GetAuraEffect(SPELL_AURA_ADD_PCT_MODIFIER, SPELLFAMILY_PRIEST, 0x400000, 0, 0, GetCasterGUID())) AddPct(amount, twinDisciplines->GetAmount()); // Focused Power amount *= caster->GetTotalAuraMultiplier(SPELL_AURA_MOD_HEALING_DONE_PERCENT); } }
开发者ID:Allysia1,项目名称:TrinityCore,代码行数:29,
示例20: HandleProc void HandleProc(AuraEffect const* aurEff, ProcEventInfo& /*eventInfo*/) { PreventDefaultAction(); GetTarget()->CastSpell(GetTarget(), SPELL_SHAMAN_EARTH_SHIELD_HEAL, true, nullptr, aurEff, GetCasterGUID()); }
开发者ID:Lyill,项目名称:TrinityCore,代码行数:6,
示例21: GetCasterGUIDUnit* DynamicObject::GetCaster() const{ // can be not found in some cases return ObjectAccessor::GetUnit(*this, GetCasterGUID());}
开发者ID:Nedj,项目名称:Mysteria4,代码行数:5,
示例22: HandleEffectRemove void HandleEffectRemove(AuraEffect const* aurEff, AuraEffectHandleModes /*mode*/) { Unit* target = GetTarget(); target->CastSpell(target, uint32(GetSpellInfo()->Effects[EFFECT_2].CalcValue()), true, nullptr, aurEff, GetCasterGUID()); }
开发者ID:xjose93,项目名称:TrinityCore,代码行数:5,
示例23: HandleDispel void HandleDispel(DispelInfo* dispelInfo) { if (Unit* target = GetUnitOwner()) { if (AuraEffect const* aurEff = GetEffect(EFFECT_1)) { // final heal int32 healAmount = aurEff->GetAmount(); if (Unit* caster = GetCaster()) { healAmount = caster->SpellHealingBonusDone(target, GetSpellInfo(), healAmount, HEAL, aurEff->GetSpellEffectInfo(), dispelInfo->GetRemovedCharges()); healAmount = target->SpellHealingBonusTaken(caster, GetSpellInfo(), healAmount, HEAL, aurEff->GetSpellEffectInfo(), dispelInfo->GetRemovedCharges()); target->CastCustomSpell(target, SPELL_DRUID_LIFEBLOOM_FINAL_HEAL, &healAmount, NULL, NULL, true, NULL, NULL, GetCasterGUID()); // restore mana std::vector<SpellInfo::CostData> costs = GetSpellInfo()->CalcPowerCost(caster, GetSpellInfo()->GetSchoolMask()); auto m = std::find_if(costs.begin(), costs.end(), [](SpellInfo::CostData const& cost) { return cost.Power == POWER_MANA; }); if (m != costs.end()) { int32 returnMana = m->Amount * dispelInfo->GetRemovedCharges() / 2; caster->CastCustomSpell(caster, SPELL_DRUID_LIFEBLOOM_ENERGIZE, &returnMana, NULL, NULL, true, NULL, NULL, GetCasterGUID()); } return; } target->CastCustomSpell(target, SPELL_DRUID_LIFEBLOOM_FINAL_HEAL, &healAmount, NULL, NULL, true, NULL, NULL, GetCasterGUID()); } } }
开发者ID:beyourself,项目名称:DeathCore_6.x,代码行数:29,
示例24: HandleProc void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo) { PreventDefaultAction(); SpellInfo const* procSpell = eventInfo.GetSpellInfo(); if (!procSpell) return; uint32 mana = procSpell->ManaCost + procSpell->ManaCostPercentage * GetTarget()->GetCreateMana() / 100; int32 basepoint = CalculatePct(int32(mana), aurEff->GetAmount()); GetTarget()->CastCustomSpell(GetTarget(), SPELL_HUNTER_GLYPH_OF_ARCANE_SHOT, &basepoint, NULL, NULL, true, NULL, aurEff, GetCasterGUID()); }
开发者ID:AwkwardDev,项目名称:RE,代码行数:11,
示例25: HandleProc void HandleProc(AuraEffect const* aurEff, ProcEventInfo& /*eventInfo*/) { PreventDefaultAction(); GetTarget()->CastCustomSpell(SPELL_SHAMAN_EARTH_SHIELD_HEAL, SPELLVALUE_BASE_POINT0, aurEff->GetAmount(), GetTarget(), true, NULL, aurEff, GetCasterGUID()); /// @hack: due to currenct proc system implementation if (Player* player = GetTarget()->ToPlayer()) player->AddSpellCooldown(SPELL_SHAMAN_EARTH_SHIELD_HEAL, 0, time(NULL) + 3); }
开发者ID:Allysia1,项目名称:TrinityCore,代码行数:10,
示例26: AfterRemove void AfterRemove(AuraEffect const* aurEff, AuraEffectHandleModes /*mode*/) { // Final heal only on duration end if (GetTargetApplication()->GetRemoveMode() != AURA_REMOVE_BY_EXPIRE) return; // final heal int32 stack = GetStackAmount(); int32 healAmount = aurEff->GetAmount(); if (Unit* caster = GetCaster()) { healAmount = caster->SpellHealingBonusDone(GetTarget(), GetSpellInfo(), healAmount, HEAL, stack); healAmount = GetTarget()->SpellHealingBonusTaken(caster, GetSpellInfo(), healAmount, HEAL, stack); GetTarget()->CastCustomSpell(GetTarget(), SPELL_DRUID_LIFEBLOOM_FINAL_HEAL, &healAmount, NULL, NULL, true, NULL, aurEff, GetCasterGUID()); // restore mana int32 returnMana = CalculatePct(caster->GetCreateMana(), GetSpellInfo()->ManaCostPercentage) * stack / 2; caster->CastCustomSpell(caster, SPELL_DRUID_LIFEBLOOM_ENERGIZE, &returnMana, NULL, NULL, true, NULL, aurEff, GetCasterGUID()); return; } GetTarget()->CastCustomSpell(GetTarget(), SPELL_DRUID_LIFEBLOOM_FINAL_HEAL, &healAmount, NULL, NULL, true, NULL, aurEff, GetCasterGUID()); }
开发者ID:Hlkz2,项目名称:ACoreOld,代码行数:24,
示例27: HandleEffectRemove void HandleEffectRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/) { Unit* target = GetTarget(); target->RemoveAura(PALADIN_SPELL_BLESSING_OF_SANCTUARY_BUFF, GetCasterGUID()); }
开发者ID:ReluctantX,项目名称:TrinityCore,代码行数:5,
示例28: AfterApply void AfterApply(AuraEffect const* aurEff, AuraEffectHandleModes /*mode*/) { Unit* target = GetTarget(); target->CastSpell(target, SPELL_DRUID_SAVAGE_ROAR, true, NULL, aurEff, GetCasterGUID()); }
开发者ID:Hlkz2,项目名称:ACoreOld,代码行数:5,
示例29: AfterRemove void AfterRemove(AuraEffect const* eff, AuraEffectHandleModes /*mode*/) { if (GetTargetApplication()->GetRemoveMode() != AURA_REMOVE_BY_EXPIRE) return; GetTarget()->CastSpell(NULL, SPELL_DEATHBLOOM_FINAL_DAMAGE, true, NULL, eff, GetCasterGUID()); }
开发者ID:boom8866,项目名称:new,代码行数:7,
注:本文中的GetCasterGUID函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ GetCell函数代码示例 C++ GetCaster函数代码示例 |