当前位置: 首页>>代码示例>>C++>>正文


C++ IsCombatMovementAllowed函数代码示例

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


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

示例1: AttackStart

void ScriptedAI::AttackStart(Unit* who)
{
    if (IsCombatMovementAllowed())
        CreatureAI::AttackStart(who);
    else
        AttackStartNoMove(who);
}
开发者ID:Rastrian,项目名称:DeathCore_6.x-1,代码行数:7,代码来源:ScriptedCreature.cpp

示例2: Reset

        void Reset()
        {
            if (!IsCombatMovementAllowed())
                SetCombatMovement(true);

            Phase = PHASE_START;

            FlameBreathTimer = urand(10000, 20000);
            TailSweepTimer = urand(15000, 20000);
            CleaveTimer = urand(2000, 5000);
            WingBuffetTimer = urand(10000, 20000);

            MovePoint = urand(0, 5);
            MovementTimer = 14000;
            PointData = GetMoveData();

            FireballTimer = 15000;
            WhelpTimer = 60000;
            LairGuardTimer = 60000;
            DeepBreathTimer = 85000;

            BellowingRoarTimer = 30000;

            Summons.DespawnAll();
            SummonWhelpCount = 0;
            IsMoving = false;

            if (instance)
            {
                instance->SetData(DATA_ONYXIA, NOT_STARTED);
                instance->SetData(DATA_ONYXIA_PHASE, Phase);
                instance->DoStopTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT,  ACHIEV_TIMED_START_EVENT);
            }
        }
开发者ID:Arkania,项目名称:ArkCORE4,代码行数:34,代码来源:boss_onyxia.cpp

示例3: Reset

        void Reset() override
        {
            Initialize();

            if (!IsCombatMovementAllowed())
                SetCombatMovement(true);

            _Reset();
            me->SetReactState(REACT_AGGRESSIVE);
            instance->SetData(DATA_ONYXIA_PHASE, Phase);
            instance->DoStopTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, ACHIEV_TIMED_START_EVENT);
        }
开发者ID:Refuge89,项目名称:TrinityCore,代码行数:12,代码来源:boss_onyxia.cpp

示例4: JustRespawned

void FollowerAI::JustRespawned()
{
    m_uiFollowState = STATE_FOLLOW_NONE;

    if (!IsCombatMovementAllowed())
        SetCombatMovement(true);

    if (me->getFaction() != me->GetCreatureTemplate()->faction_A)
        me->setFaction(me->GetCreatureTemplate()->faction_A);

    Reset();
}
开发者ID:AriDEV,项目名称:SkyFire.548,代码行数:12,代码来源:ScriptedFollowerAI.cpp

示例5: AttackStart

void npc_escortAI::AttackStart(Unit* who)
{
    if (!who)
        return;

    if (me->Attack(who, true))
    {
        if (me->GetMotionMaster()->GetCurrentMovementGeneratorType() == POINT_MOTION_TYPE)
            me->GetMotionMaster()->MovementExpired();

        if (IsCombatMovementAllowed())
            me->GetMotionMaster()->MoveChase(who);
    }
}
开发者ID:Lyill,项目名称:TrinityCore,代码行数:14,代码来源:ScriptedEscortAI.cpp

示例6: AttackStart

        void AttackStart(Unit* who)
        {
            if (!who)
                return;

            if (me->Attack(who, true))
            {
                me->SetInCombatWith(who);
                who->SetInCombatWith(me);

                if (IsCombatMovementAllowed())
                    me->GetMotionMaster()->MoveChase(who);
            }
        }
开发者ID:H4D3S,项目名称:cataclysm,代码行数:14,代码来源:zone_dustwallow_marsh.cpp

示例7: JustRespawned

void npc_escortAI::JustRespawned()
{
    m_uiEscortState = STATE_ESCORT_NONE;

    if (!IsCombatMovementAllowed())
        SetCombatMovement(true);

    //add a small delay before going to first waypoint, normal in near all cases
    m_uiWPWaitTimer = 2500;

    if (me->getFaction() != me->GetCreatureTemplate()->faction)
        me->RestoreFaction();

    Reset();
}
开发者ID:Lyill,项目名称:TrinityCore,代码行数:15,代码来源:ScriptedEscortAI.cpp

示例8: AttackStart

void FollowerAI::AttackStart(Unit* who)
{
    if (!who)
        return;

    if (me->Attack(who, true))
    {
        me->AddThreat(who, 0.0f);
        me->SetInCombatWith(who);
        who->SetInCombatWith(me);

        if (me->HasUnitState(UNIT_STATE_FOLLOW))
            me->ClearUnitState(UNIT_STATE_FOLLOW);

        if (IsCombatMovementAllowed())
            me->GetMotionMaster()->MoveChase(who);
    }
}
开发者ID:AriDEV,项目名称:SkyFire.548,代码行数:18,代码来源:ScriptedFollowerAI.cpp

示例9: AttackStart

void FollowerAI::AttackStart(Unit* who)
{
    if (!who)
        return;

    if (me->Attack(who, true))
    {
        // This is done in Unit::Attack function which wont bug npcs by not adding threat upon combat start...
        //me->AddThreat(who, 0.0f);
        //me->SetInCombatWith(who);
        //who->SetInCombatWith(me);

        if (me->HasUnitState(UNIT_STATE_FOLLOW))
            me->ClearUnitState(UNIT_STATE_FOLLOW);

        if (IsCombatMovementAllowed())
            me->GetMotionMaster()->MoveChase(who);
    }
}
开发者ID:Matt-One,项目名称:azerothcore-wotlk,代码行数:19,代码来源:ScriptedFollowerAI.cpp

示例10: AddEscortState

void SmoothEscortAI::AttackStart(Unit* who)
{
    if (!who)
        return;

    if (me->Attack(who, true))
    {
        if (!HasEscortState(ESCORT_STATE_COMBAT))
        {
            AddEscortState(ESCORT_STATE_COMBAT);
            me->StopMoving();
            Position pos;
            me->GetPosition(&pos);
            me->SetHomePosition(pos);
        }

        if (IsCombatMovementAllowed())
            me->GetMotionMaster()->MoveChase(who);
    }
}
开发者ID:Exodius,项目名称:chuspi,代码行数:20,代码来源:ScriptedSmoothEscortAI.cpp


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