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

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

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

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

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

示例1: HandleSummon

            void HandleSummon(SpellEffIndex effIndex)            {                PreventHitEffect(effIndex);                uint32 entry = GetSpellInfo()->Effects[effIndex].MiscValue;                SummonPropertiesEntry const* properties = sSummonPropertiesStore.LookupEntry(GetSpellInfo()->Effects[effIndex].MiscValueB);                int32 duration = GetSpellInfo()->GetDuration();                if (!GetOriginalCaster() || !properties)                    return;                if (TempSummon* summon = GetCaster()->GetMap()->SummonCreature(entry, *GetHitDest(), properties, duration, GetOriginalCaster(), GetSpellInfo()->Id))                {                    summon->SetCreatorGUID(GetOriginalCaster()->GetGUID());                    summon->HandleSpellClick(GetCaster());                }            }
开发者ID:Matt-One,项目名称:azerothcore-wotlk,代码行数:16,


示例2: HandleDummy

            void HandleDummy(SpellEffIndex effIndex)            {                Unit* caster = GetCaster();                if (Unit* target = GetHitUnit())                {                    SpellInfo const* spellInfo = GetSpellInfo();                    int32 rageUsed = std::min<int32>(300 - spellInfo->CalcPowerCost(caster, SpellSchoolMask(spellInfo->SchoolMask)), caster->GetPower(POWER_RAGE));                    int32 newRage = std::max<int32>(0, caster->GetPower(POWER_RAGE) - rageUsed);                    // Sudden Death rage save                    if (AuraEffect* aurEff = caster->GetAuraEffect(SPELL_AURA_PROC_TRIGGER_SPELL, SPELLFAMILY_GENERIC, ICON_ID_SUDDEN_DEATH, EFFECT_0))                    {                        int32 ragesave = aurEff->GetSpellInfo()->Effects[EFFECT_1].CalcValue() * 10;                        newRage = std::max(newRage, ragesave);                    }                    caster->SetPower(POWER_RAGE, uint32(newRage));                    // Glyph of Execution bonus                    if (AuraEffect* aurEff = caster->GetAuraEffect(SPELL_GLYPH_OF_EXECUTION, EFFECT_0))                        rageUsed += aurEff->GetAmount() * 10;                    int32 bp = GetEffectValue() + int32(rageUsed * spellInfo->Effects[effIndex].DamageMultiplier + caster->GetTotalAttackPowerValue(BASE_ATTACK) * 0.2f);                    caster->CastCustomSpell(target,SPELL_EXECUTE,&bp,0,0,true,0,0,GetOriginalCaster()->GetGUID());                }            }
开发者ID:Blackn7g,项目名称:Voodoo,代码行数:26,


示例3: HandleDummy

 void HandleDummy(SpellEffIndex /*effIndex*/) {     if(GetHitCreature())     {         GetOriginalCaster()->GetVehicleKit()->GetPassenger(0)->ToPlayer()->KilledMonsterCredit(NPC_WYRMREST_TEMPLE_CREDIT, 0);     } }
开发者ID:GlassFace,项目名称:MythCore,代码行数:7,


示例4: CheckDistance

 void CheckDistance() {     if (Unit* caster = GetOriginalCaster())     {         if (Unit* target = GetHitUnit())             target->CastSpell(caster, SPELL_SIPHONED_MIGHT, true);     } }
开发者ID:3kids,项目名称:TrinityCore,代码行数:8,


示例5: HandleHeal

		void HandleHeal(SpellEffIndex /*effIndex*/)		{			if (Unit* caster = GetOriginalCaster())				if (GetHitUnit()->GetGUID() == caster->GetGUID())				{				int32 heal = GetHitHeal() / 2.0f;				SetHitHeal(heal);				}		}
开发者ID:Tithand,项目名称:TER-Server,代码行数:9,


示例6: CheckDistance

 void CheckDistance() {     if (Unit* caster = GetOriginalCaster())         if (Unit* target = GetHitUnit())             if (target == GetCaster()                  // the spell has an unlimited range, so we need this check                 && target->GetDistance2d(caster) <= 12.0f)                 target->CastSpell(caster, SPELL_SIPHONED_MIGHT, true); }
开发者ID:Helias,项目名称:azerothcore-wotlk,代码行数:9,


示例7: FilterTargets

        void FilterTargets(std::list<WorldObject*>& targets)        {            targets.clear();            Unit* target = GetOriginalCaster();            if (!target)                return;            targets.push_back(target);        }
开发者ID:DanielBallaSZTE,项目名称:TrinityCorePreWOTLK,代码行数:10,


示例8: Hit

            void Hit()            {                if (!GetHitUnit())                    return;                if (!GetCaster())                    return;                               if (!GetOriginalCaster())                    return;                if (Aura* debuff = GetOriginalCaster()->AddAura(89421, GetHitUnit()))                {                    if (!GetSpellValue())                        return;                    int32 duration = GetSpellValue()->EffectBasePoints[1];                    debuff->SetDuration(duration, false);                }            }
开发者ID:Faydz,项目名称:TrinityCore,代码行数:20,


示例9: HandleHeal

 void HandleHeal(SpellEffIndex /*effIndex*/) {     if (Unit* caster = GetOriginalCaster())     {         if (AuraEffect* aurEff = caster->GetAuraEffect(SPELL_PRIEST_T9_HEALING_2P, EFFECT_0))         {             int32 heal = GetHitHeal();             AddPct(heal, aurEff->GetAmount());             SetHitHeal(heal);         }     } }
开发者ID:Stylerdk,项目名称:TrinityCore,代码行数:12,


示例10: SelectTargets

            void SelectTargets(std::list<WorldObject*>& targets)            {                targets.remove_if([](WorldObject* target)                {                    return !target->ToUnit() || target->ToUnit()->IsFullHealth();                });                Trinity::Containers::RandomResize(targets, 1);                if (targets.empty())                    targets.push_back(GetOriginalCaster());            }
开发者ID:Lyill,项目名称:TrinityCore,代码行数:12,


示例11: HandleHeal

 void HandleHeal(SpellEffIndex /*effIndex*/) {     if (Unit* caster = GetOriginalCaster())     {         if (Aura* aur = caster->GetAura(SPELL_T9_HEALING_2_PIECE))         {             int32 heal = GetHitHeal();             AddPctN(heal, aur->GetSpellInfo()->Effects[0].CalcValue());             SetHitHeal(heal);         }     } }
开发者ID:Altair69,项目名称:SkyFireEMU,代码行数:12,


示例12: HandleAchievementCredit

            void HandleAchievementCredit(SpellEffIndex /*effIndex*/)            {                uint32 _creditSpell = 0;                Unit* caster = GetOriginalCaster();                if (!caster)                    return;                if (GetSpellInfo()->Id == SPELL_SEAFORIUM_BLAST)                    _creditSpell = SPELL_A_BOMB_INABLE_CREDIT;                else if (GetSpellInfo()->Id == SPELL_HUGE_SEAFORIUM_BLAST)                    _creditSpell = SPELL_A_BOMB_INATION_CREDIT;                if (GetHitGObj() && GetHitGObj()->IsDestructibleBuilding())                    caster->CastSpell(caster, _creditSpell, true);            }
开发者ID:090809,项目名称:TrinityCore,代码行数:15,


示例13: HandleScript

            void HandleScript(SpellEffIndex effIndex)            {                PreventHitDefaultEffect(effIndex);                Unit* target = GetHitUnit();                Unit* caster = GetOriginalCaster();                if (target && caster && caster->GetMap())                {                    for (uint32 i = 0; i < 3; ++i)                    {                        caster->CastSpell(target, 58689, true);                        caster->CastSpell(target, 58692, true);                    }                    caster->CastSpell(target, caster->GetMap()->Is25ManRaid() ? 60883 : 58695, true);                 }            }
开发者ID:AzerothShard-Dev,项目名称:azerothcore,代码行数:16,


示例14: HandleDamage

            void HandleDamage(SpellEffIndex /*effIndex*/)            {                if (!GetTriggeringSpell())                    return;                Unit* target = GetHitUnit();                Unit* caster = GetOriginalCaster();                if (target->HasAura(GetTriggeringSpell()->Id))                    SetHitDamage(0);                else                {                    if (target->GetTypeId() == TYPEID_PLAYER && caster->IsAIEnabled)                        caster->ToCreature()->AI()->SetData(DATA_POLARITY_SWITCH, 1);                }            }
开发者ID:OniBoov,项目名称:TCOLD,代码行数:16,


示例15: HandleDummy

            void HandleDummy(SpellEffIndex /* effIndex */)            {                if (Unit* caster = GetOriginalCaster())                    if (Unit* target = GetHitUnit())                    {                        if (!target->isAlive() || !_targetCount)                            return;                        int32 damage = 10000 / _targetCount;                        SpellNonMeleeDamage damageInfo(caster, target, GetSpellInfo()->Id, GetSpellInfo()->SchoolMask);                        damageInfo.damage = damage;                        caster->CalcAbsorbResist(target, GetSpellInfo()->GetSchoolMask(), DOT, damage, &damageInfo.absorb, &damageInfo.resist, GetSpellInfo());                        caster->DealDamageMods(target, damageInfo.damage, &damageInfo.absorb);                        caster->SendSpellNonMeleeDamageLog(&damageInfo);                        caster->DealSpellDamage(&damageInfo, false);                    }            }
开发者ID:ArbacalTrinty,项目名称:TrinityCore,代码行数:19,


示例16: HandleScriptEffect

        void HandleScriptEffect(SpellEffIndex /*effIndex*/)        {            Unit* caster = GetOriginalCaster();            Unit* target = GetHitUnit();            if (!target)                return;            if (GetSpellInfo()->Id == SPELL_AIR_RIFLE_HIT_TRIGGER)            {                if (!caster->IsFriendlyTo(target))                    caster->CastSpell(target, SPELL_AIR_RIFLE_PELTED_DAMAGE, true, NULL, NULL, caster->GetGUID());            }            else            {                uint8 rand = urand(0, 99);                if (rand < 15)                    caster->CastSpell(caster, SPELL_AIR_RIFLE_RIGHT_IN_THE_EYE, true, NULL, NULL, caster->GetGUID());                else if (rand < 35)                    caster->CastSpell(target, SPELL_AIR_RIFLE_STARLED, true, NULL, NULL, caster->GetGUID());                else                    caster->CastSpell(target, SPELL_AIR_RIFLE_HIT, true, NULL, NULL, caster->GetGUID());            }        }
开发者ID:Keader,项目名称:Sunwell,代码行数:23,


示例17: HandleDummy

            void HandleDummy(SpellEffIndex /* effIndex */)            {                int32 damage = GetEffectValue();                SpellInfo const* triggeringSpell = GetTriggeringSpell();                if (Unit* target = GetHitUnit())                    if (Unit* caster = GetCaster())                    {                        if (Unit* owner = caster->GetOwner())                        {                            if (triggeringSpell)                                damage = int32(owner->SpellHealingBonus(target, triggeringSpell, damage, HEAL));                            // Restorative Totems                            if (AuraEffect* dummy = owner->GetAuraEffect(SPELL_AURA_DUMMY, SPELLFAMILY_SHAMAN, ICON_ID_RESTORATIVE_TOTEMS, 1))                                AddPctN(damage, dummy->GetAmount());                            // Glyph of Healing Stream Totem                            if (AuraEffect const* aurEff = owner->GetAuraEffect(SPELL_GLYPH_OF_HEALING_STREAM_TOTEM, EFFECT_0))                                AddPctN(damage, aurEff->GetAmount());                        }                        caster->CastCustomSpell(target, SPELL_HEALING_STREAM_TOTEM_HEAL, &damage, 0, 0, true, 0, 0, GetOriginalCaster()->GetGUID());                    }            }
开发者ID:BlackWolfsDen,项目名称:Justicar-WoW,代码行数:23,


示例18: Load

 bool Load() override {     return GetOriginalCaster()->GetTypeId() == TYPEID_UNIT; }
开发者ID:OniBoov,项目名称:TCOLD,代码行数:4,



注:本文中的GetOriginalCaster函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ GetOtherBoss函数代码示例
C++ GetOrigin函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。