您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ GetCasterGUID函数代码示例

51自学网 2021-06-01 21:04:47
  C++
这篇教程C++ GetCasterGUID函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中GetCasterGUID函数的典型用法代码示例。如果您正苦于以下问题:C++ GetCasterGUID函数的具体用法?C++ GetCasterGUID怎么用?C++ GetCasterGUID使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了GetCasterGUID函数的29个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: ASSERT

void 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: GetCasterGUID

void 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: GetCasterGUID

void 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: isVisibleForInState

bool 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: isVisibleForInState

bool 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: GetMap

void 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: GetCasterGUID

Unit* 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函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。