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

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

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

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

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

示例1: CheckCast

 SpellCastResult CheckCast() {     Player* caster = GetCaster()->ToPlayer();     if (GetTargetUnit())         if (Unit* target = GetTargetUnit())             if (!caster->IsFriendlyTo(target) && !caster->IsValidAttackTarget(target))                 return SPELL_FAILED_BAD_TARGETS;     return SPELL_CAST_OK; }
开发者ID:BlackWolfsDen,项目名称:Justicar-WoW,代码行数:9,


示例2: CheckCast

 SpellCastResult CheckCast() {     Player* caster = GetCaster()->ToPlayer();     if (GetTargetUnit())         if (Player* target = GetTargetUnit()->ToPlayer())             if (caster->GetTeam() != target->GetTeam() && !caster->IsValidAttackTarget(target))                 return SPELL_FAILED_BAD_TARGETS;     return SPELL_CAST_OK; }
开发者ID:WingsEmulation,项目名称:WingsEMU,代码行数:9,


示例3: CheckTarget

            void CheckTarget(SpellEffIndex effIndex)            {                PreventHitDefaultEffect(EFFECT_0);                if (!GetTargetUnit())                    return;                uint32 triggered_spell_id = GetSpellInfo()->Effects[effIndex].TriggerSpell;                // let Rotface handle the cast - caster dies before this executes                if (InstanceScript* script = GetTargetUnit()->GetInstanceScript())                    if (Creature* rotface = script->instance->GetCreature(script->GetData64(DATA_ROTFACE)))                        rotface->CastSpell(GetTargetUnit(), triggered_spell_id, true, NULL, NULL, GetCaster()->GetGUID());            }
开发者ID:Archives,项目名称:MMOCore,代码行数:13,


示例4: CheckCast

            SpellCastResult CheckCast()            {                Player* caster = GetCaster()->ToPlayer();                if (GetTargetUnit())                    if (Player* target = GetTargetUnit()->ToPlayer())						// Fix Penance after Mind Control in arena, 						// probably bugged because of the crossfaction script						if (caster->GetOTeam() != target->GetOTeam() && !caster->IsValidAttackTarget(target) 							// AllowTwoSide.Interaction.Group will break this spell so					        // set friendly also players in your party or raid group							&& !caster->IsInRaidWith(target))						    return SPELL_FAILED_BAD_TARGETS;                return SPELL_CAST_OK;            }
开发者ID:Laintime,项目名称:BattleArenas,代码行数:14,


示例5: FilterTargets

            void FilterTargets(std::list<Unit*>& unitList)            {                if (!GetCaster()->ToPlayer()->GetGroup())                {                    unitList.clear();                    unitList.push_back(GetCaster());                }                else                {                    unitList.remove(GetTargetUnit());                    std::list<Unit*> tempTargets;                    for (std::list<Unit*>::const_iterator itr = unitList.begin(); itr != unitList.end(); ++itr)                        if ((*itr)->GetTypeId() == TYPEID_PLAYER && GetCaster()->IsInRaidWith(*itr))                            tempTargets.push_back(*itr);                    if (tempTargets.empty())                    {                        unitList.clear();                        FinishCast(SPELL_FAILED_DONT_REPORT);                        return;                    }                    std::list<Unit*>::const_iterator it2 = tempTargets.begin();                    std::advance(it2, urand(0, tempTargets.size() - 1));                    unitList.clear();                    unitList.push_back(*it2);                }            }
开发者ID:Frimost,项目名称:IceLands,代码行数:28,


示例6: HandleDummy

 void HandleDummy(SpellEffIndex /*effIndex*/) {     if (Unit* target = GetTargetUnit())         if (target->GetTypeId() == TYPEID_UNIT && target->HasAura(SPELL_FORCE_SHIELD_ARCANE_PURPLE_X3))             // Make sure nobody else is channeling the same target             if (!target->HasAura(SPELL_SCOURGING_CRYSTAL_CONTROLLER))                 GetCaster()->CastSpell(target, SPELL_SCOURGING_CRYSTAL_CONTROLLER, true, GetCastItem()); }
开发者ID:AwkwardDev,项目名称:TcMmaps,代码行数:8,


示例7: HandleForceCast

            void HandleForceCast(SpellEffIndex i)            {                Player * plr = GetHitPlayer();                if (!plr)                    return;                plr->CastSpell(GetTargetUnit(), GetSpellInfo()->EffectTriggerSpell[i], true);     // Don't send m_originalCasterGUID param here or underlying                PreventHitEffect(i);                                                                   // AureEffect::HandleAuraControlVehicle will fail on caster == target            }
开发者ID:AwkwardDev,项目名称:StrawberryCore,代码行数:9,


示例8: HandleScript

        void HandleScript(SpellEffIndex /*eff*/)        {            Unit* target = GetTargetUnit();            if (!target)                return;            target->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);            target->SetByteValue(UNIT_FIELD_BYTES_1, 0, UNIT_STAND_STATE_STAND);        }
开发者ID:krislley,项目名称:TrinityCore,代码行数:9,


示例9: CheckTarget

 SpellCastResult CheckTarget() {     Unit* target = GetTargetUnit();     if(!target)         return SPELL_FAILED_BAD_TARGETS;     if(target->GetEntry() == NPC_OZZIE_TOGGLEVOLT || target->GetEntry() == NPC_MILLI_FEATHERWHISTLE || target->GetEntry() == NPC_TOG_RUSTSPROCKET)         return SPELL_CAST_OK;     return SPELL_FAILED_BAD_TARGETS; }
开发者ID:StarCore,项目名称:MythCore,代码行数:9,


示例10: CheckCast

        SpellCastResult CheckCast()        {            if (Player* caster = GetCaster()->ToPlayer())            {                // Death Grip should not be castable while jumping/falling                if (caster->HasUnitState(UNIT_STATE_JUMPING) || caster->HasUnitMovementFlag(MOVEMENTFLAG_FALLING))                    return SPELL_FAILED_MOVING;                float x = GetTargetUnit()->GetPositionX();                float y = GetTargetUnit()->GetPositionY();                float z = GetTargetUnit()->GetPositionZ();                // Death Grip's minimum range set to 8 yards in PvE                if (GetTargetUnit()->GetTypeId() != TYPEID_PLAYER)                    if (caster->GetDistance(x, y, z) < 8)                        return SPELL_FAILED_TOO_CLOSE;            }            return SPELL_CAST_OK;        }
开发者ID:Laintime,项目名称:BattleArenas,代码行数:19,


示例11: CheckTarget

        SpellCastResult CheckTarget()        {            Unit* target = GetTargetUnit();            if(!target || target->GetTypeId() != TYPEID_PLAYER || target->isAlive())                return SPELL_FAILED_BAD_TARGETS;            else if(GetCaster()->ToPlayer()->InArena())                return SPELL_FAILED_NOT_IN_ARENA;            return SPELL_CAST_OK;        }
开发者ID:ahuraa,项目名称:ServerMythCore,代码行数:10,


示例12: CheckRequirement

            SpellCastResult CheckRequirement()            {                if (!GetCaster()->HasAura(GetSpellInfo()->Effects[EFFECT_1].CalcValue()))                    return SPELL_FAILED_CANT_DO_THAT_RIGHT_NOW; // This is actually correct                if (!GetTargetUnit())                    return SPELL_FAILED_BAD_TARGETS;                return SPELL_CAST_OK;            }
开发者ID:AwkwardDev,项目名称:TcMmaps,代码行数:10,


示例13: CheckTarget

            SpellCastResult CheckTarget()            {                if (IsVampire(GetTargetUnit()))                {                    SetCustomCastResultMessage(SPELL_CUSTOM_ERROR_CANT_TARGET_VAMPIRES);                    return SPELL_FAILED_CUSTOM_ERROR;                }                return SPELL_CAST_OK;            }
开发者ID:VistaWoW,项目名称:VistaTC,代码行数:10,


示例14: CheckRequirement

            SpellCastResult CheckRequirement()            {                if(!GetCaster()->HasAura(SpellMgr::CalculateSpellEffectAmount(GetSpellInfo(), EFFECT_1)))                    return SPELL_FAILED_CANT_DO_THAT_RIGHT_NOW; // This is actually correct                if(!GetTargetUnit())                    return SPELL_FAILED_BAD_TARGETS;                return SPELL_CAST_OK;            }
开发者ID:StarCore,项目名称:MythCore,代码行数:10,


示例15: HandleTriggerMissile

 void HandleTriggerMissile(SpellEffIndex effIndex) {     PreventHitDefaultEffect(effIndex);     Unit* caster = GetCaster();     Unit* target = GetTargetUnit();     if (caster && target)     {         uint32 id = uint32(caster->GetMap()->GetDifficulty() == RAID_DIFFICULTY_10MAN_NORMAL ? 61912 : 63494);         caster->CastSpell(target, id, true);     } }
开发者ID:AwkwardDev,项目名称:TrinityCore,代码行数:11,


示例16: FilterTargets

            void FilterTargets(std::list<Unit*>& unitList)            {                unitList.remove(GetTargetUnit());                std::list<Unit*> tempTargets;                std::list<Unit*>::iterator end = unitList.end(), itr = unitList.begin();                for (; itr != end; ++itr)                    if (GetCaster()->IsInRaidWith(*itr))                        tempTargets.push_back(*itr);                itr = tempTargets.begin();                std::advance(itr, urand(0, tempTargets.size()-1));                unitList.clear();                unitList.push_back(*itr);            }
开发者ID:LiteCrowd,项目名称:SkyFireEMU,代码行数:14,


示例17: HandleScriptEffect

 void HandleScriptEffect(SpellEffIndex /*effIndex*/) {     if (Unit * target = GetHitUnit())     {         target->CastSpell(target, GetEffectValue(), true);         target->CastSpell(target, HUNTER_SPELL_MASTERS_CALL_TRIGGERED, true);         // there is a possibility that this effect should access effect 0 (dummy) target, but i dubt that         // it's more likely that on on retail it's possible to call target selector based on dbc values         // anyways, we're using GetTargetUnit() here and it's ok         if (Unit * ally = GetTargetUnit())         {             target->CastSpell(ally, GetEffectValue(), true);             target->CastSpell(ally, SpellMgr::CalculateSpellEffectAmount(GetSpellInfo(), EFFECT_0), true);         }     } }
开发者ID:Bootz,项目名称:S6.RO.WoW,代码行数:16,


示例18: FilterTargets

            void FilterTargets(std::list<Unit*>& unitList)            {                totalTargets = NULL;                for (std::list<Unit*>::iterator itr = unitList.begin() ; itr != unitList.end(); ++itr)                {                    Unit *target = (*itr);                    if (!target)                        continue;                    if (!target->IsWithinDist(GetTargetUnit(), 10.0f))                    {                        unitList.remove(target);                        continue;                    }                    totalTargets++;                }            }
开发者ID:BoThay,项目名称:ArkCORE,代码行数:18,


示例19: CheckCast

        SpellCastResult CheckCast()        {            if (Player* caster = GetCaster()->ToPlayer())            {                if (Pet* pet = caster->GetPet())                {                    if (!pet->isAlive())                        return SPELL_FAILED_NO_PET;                    if (pet->HasUnitState(UNIT_STATE_STUNNED) || caster->HasUnitState(UNIT_STATE_STUNNED))                        return SPELL_FAILED_STUNNED;                    if (!pet->IsWithinLOS(caster->GetPositionX(), caster->GetPositionY(), caster->GetPositionZ()))                        return SPELL_FAILED_LINE_OF_SIGHT;                    if (Unit* target = GetTargetUnit())                    {                        if (!pet->IsWithinLOS(target->GetPositionX(), target->GetPositionY(), target->GetPositionZ()))                            return SPELL_FAILED_LINE_OF_SIGHT;                    }                }            }            return SPELL_CAST_OK;        }
开发者ID:tinymac,项目名称:123,代码行数:24,


示例20: FilterTargets

 void FilterTargets(std::list<Unit*>& unitList) {     unitList.remove(GetTargetUnit()); }
开发者ID:aedansilver,项目名称:CzechFunCore,代码行数:4,


示例21: HandleScriptEffect

 void HandleScriptEffect(SpellEffIndex /*effIndex*/) {     if (Unit* target = GetTargetUnit())         if (urand(0, 99) < 15)             target->CastSpell(target, spellId, true); }
开发者ID:Asdcrew,项目名称:TrinityCore,代码行数:6,



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


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