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

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

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

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

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

示例1: SetFlagPicker

void BattlegroundEY::EventPlayerDroppedFlag(Player *Source){    if (GetStatus() != STATUS_IN_PROGRESS)    {        // if not running, do not cast things at the dropper player, neither send unnecessary messages        // just take off the aura        if (IsFlagPickedup() && GetFlagPickerGUID() == Source->GetGUID())        {            SetFlagPicker(0);            Source->RemoveAurasDueToSpell(BG_EY_NETHERSTORM_FLAG_SPELL);        }        return;    }    if (!IsFlagPickedup())        return;    if (GetFlagPickerGUID() != Source->GetGUID())        return;    SetFlagPicker(0);    Source->RemoveAurasDueToSpell(BG_EY_NETHERSTORM_FLAG_SPELL);    m_FlagState = BG_EY_FLAG_STATE_ON_GROUND;    m_FlagsTimer = BG_EY_FLAG_RESPAWN_TIME;    Source->CastSpell(Source, SPELL_RECENTLY_DROPPED_FLAG, true);    Source->CastSpell(Source, BG_EY_PLAYER_DROPPED_FLAG_SPELL, true);    //this does not work correctly :((it should remove flag carrier name)    UpdateWorldState(NETHERSTORM_FLAG_STATE_HORDE, BG_EY_FLAG_STATE_WAIT_RESPAWN);    UpdateWorldState(NETHERSTORM_FLAG_STATE_ALLIANCE, BG_EY_FLAG_STATE_WAIT_RESPAWN);    if (Source->GetTeam() == ALLIANCE)        SendMessageToAll(LANG_BG_EY_DROPPED_FLAG, CHAT_MSG_BG_SYSTEM_ALLIANCE, NULL);    else        SendMessageToAll(LANG_BG_EY_DROPPED_FLAG, CHAT_MSG_BG_SYSTEM_HORDE, NULL);}
开发者ID:AwkwardDev,项目名称:TrilliumEMU,代码行数:35,


示例2: switch

void BattlegroundWS::HandleAreaTrigger(Player* player, uint32 trigger, bool entered){    //uint32 SpellId = 0;    //uint64 buff_guid = 0;    switch (trigger)    {        case 8965: // Horde Start        case 8966: // Alliance Start            if (GetStatus() == STATUS_WAIT_JOIN && !entered)                TeleportPlayerToExploitLocation(player);            break;        case 3686:                                          // Alliance elixir of speed spawn. Trigger not working, because located inside other areatrigger, can be replaced by IsWithinDist(object, dist) in Battleground::Update().            //buff_guid = BgObjects[BG_WS_OBJECT_SPEEDBUFF_1];            break;        case 3687:                                          // Horde elixir of speed spawn. Trigger not working, because located inside other areatrigger, can be replaced by IsWithinDist(object, dist) in Battleground::Update().            //buff_guid = BgObjects[BG_WS_OBJECT_SPEEDBUFF_2];            break;        case 3706:                                          // Alliance elixir of regeneration spawn            //buff_guid = BgObjects[BG_WS_OBJECT_REGENBUFF_1];            break;        case 3708:                                          // Horde elixir of regeneration spawn            //buff_guid = BgObjects[BG_WS_OBJECT_REGENBUFF_2];            break;        case 3707:                                          // Alliance elixir of berserk spawn            //buff_guid = BgObjects[BG_WS_OBJECT_BERSERKBUFF_1];            break;        case 3709:                                          // Horde elixir of berserk spawn            //buff_guid = BgObjects[BG_WS_OBJECT_BERSERKBUFF_2];            break;        case 3646:                                          // Alliance Flag spawn            if (_flagState[TEAM_HORDE] && !_flagState[TEAM_ALLIANCE])                if (GetFlagPickerGUID(TEAM_HORDE) == player->GetGUID())                    EventPlayerCapturedFlag(player);            break;        case 3647:                                          // Horde Flag spawn            if (_flagState[TEAM_ALLIANCE] && !_flagState[TEAM_HORDE])                if (GetFlagPickerGUID(TEAM_ALLIANCE) == player->GetGUID())                    EventPlayerCapturedFlag(player);            break;        case 3649:                                          // unk1        case 3688:                                          // unk2        case 4628:                                          // unk3        case 4629:                                          // unk4            break;        default:            Battleground::HandleAreaTrigger(player, trigger, entered);            break;    }    //if (buff_guid)    //    HandleTriggerBuff(buff_guid, player);}
开发者ID:Diyvol,项目名称:TrinityCore,代码行数:52,


示例3: switch

void BattlegroundWS::HandleAreaTrigger(Player* Source, uint32 Trigger){    // this is wrong way to implement these things. On official it done by gameobject spell cast.    if (GetStatus() != STATUS_IN_PROGRESS)        return;    //uint32 SpellId = 0;    //uint64 buff_guid = 0;    switch (Trigger)    {        case 3686:                                          // Alliance elixir of speed spawn. Trigger not working, because located inside other areatrigger, can be replaced by IsWithinDist(object, dist) in Battleground::Update().            //buff_guid = _BgObjects[BG_WS_OBJECT_SPEEDBUFF_1];            break;        case 3687:                                          // Horde elixir of speed spawn. Trigger not working, because located inside other areatrigger, can be replaced by IsWithinDist(object, dist) in Battleground::Update().            //buff_guid = _BgObjects[BG_WS_OBJECT_SPEEDBUFF_2];            break;        case 3706:                                          // Alliance elixir of regeneration spawn            //buff_guid = _BgObjects[BG_WS_OBJECT_REGENBUFF_1];            break;        case 3708:                                          // Horde elixir of regeneration spawn            //buff_guid = _BgObjects[BG_WS_OBJECT_REGENBUFF_2];            break;        case 3707:                                          // Alliance elixir of berserk spawn            //buff_guid = _BgObjects[BG_WS_OBJECT_BERSERKBUFF_1];            break;        case 3709:                                          // Horde elixir of berserk spawn            //buff_guid = _BgObjects[BG_WS_OBJECT_BERSERKBUFF_2];            break;        case 3646:                                          // Alliance Flag spawn            if (m_FlagState[BG_TEAM_HORDE] && !m_FlagState[BG_TEAM_ALLIANCE])                if (GetFlagPickerGUID(BG_TEAM_ALLIANCE) == Source->GetGUID())                    EventPlayerCapturedFlag(Source);            break;        case 3647:                                          // Horde Flag spawn            if (m_FlagState[BG_TEAM_ALLIANCE] && !m_FlagState[BG_TEAM_HORDE])                if (GetFlagPickerGUID(BG_TEAM_ALLIANCE) == Source->GetGUID())                    EventPlayerCapturedFlag(Source);            break;        case 3649:                                          // unk1        case 3688:                                          // unk2        case 4628:                                          // unk3        case 4629:                                          // unk4            break;        default:            sLog->outError("WARNING: Unhandled AreaTrigger in Battleground: %u", Trigger);            //Source->GetSession()->SendAreaTriggerMessage("Warning: Unhandled AreaTrigger in Battleground: %u", Trigger);            break;    }    //if (buff_guid)    //    HandleTriggerBuff(buff_guid, Source);}
开发者ID:JiniaTS,项目名称:ArkCORE2,代码行数:52,


示例4: switch

void BattlegroundEY::HandleAreaTrigger(Player *Source, uint32 Trigger){    if (GetStatus() != STATUS_IN_PROGRESS)        return;    if (!Source->isAlive())                                  //hack code, must be removed later        return;    switch(Trigger)    {        case TR_BLOOD_ELF_POINT:            if (m_PointState[BLOOD_ELF] == EY_POINT_UNDER_CONTROL && m_PointOwnedByTeam[BLOOD_ELF] == Source->GetTeam())                if (m_FlagState && GetFlagPickerGUID() == Source->GetGUID())                    EventPlayerCapturedFlag(Source, BG_EY_OBJECT_FLAG_BLOOD_ELF);            break;        case TR_FEL_REAVER_POINT:            if (m_PointState[FEL_REAVER] == EY_POINT_UNDER_CONTROL && m_PointOwnedByTeam[FEL_REAVER] == Source->GetTeam())                if (m_FlagState && GetFlagPickerGUID() == Source->GetGUID())                    EventPlayerCapturedFlag(Source, BG_EY_OBJECT_FLAG_FEL_REAVER);            break;        case TR_MAGE_TOWER_POINT:            if (m_PointState[MAGE_TOWER] == EY_POINT_UNDER_CONTROL && m_PointOwnedByTeam[MAGE_TOWER] == Source->GetTeam())                if (m_FlagState && GetFlagPickerGUID() == Source->GetGUID())                    EventPlayerCapturedFlag(Source, BG_EY_OBJECT_FLAG_MAGE_TOWER);            break;        case TR_DRAENEI_RUINS_POINT:            if (m_PointState[DRAENEI_RUINS] == EY_POINT_UNDER_CONTROL && m_PointOwnedByTeam[DRAENEI_RUINS] == Source->GetTeam())                if (m_FlagState && GetFlagPickerGUID() == Source->GetGUID())                    EventPlayerCapturedFlag(Source, BG_EY_OBJECT_FLAG_DRAENEI_RUINS);            break;        case 4512:        case 4515:        case 4517:        case 4519:        case 4530:        case 4531:        case 4568:        case 4569:        case 4570:        case 4571:        case 5866:            break;        default:            sLog->outError("WARNING: Unhandled AreaTrigger in Battleground: %u", Trigger);            Source->GetSession()->SendAreaTriggerMessage("Warning: Unhandled AreaTrigger in Battleground: %u", Trigger);            break;    }}
开发者ID:Gamerzon94,项目名称:wowrean-emu,代码行数:48,


示例5: EventPlayerCapturedFlag

void BattlegroundEY::EventPlayerCapturedFlag(Player* player, uint32 BgObjectType){    if (GetStatus() != STATUS_IN_PROGRESS || GetFlagPickerGUID() != player->GetGUID())        return;    SetFlagPicker(ObjectGuid::Empty);    m_FlagState = BG_EY_FLAG_STATE_WAIT_RESPAWN;    player->RemoveAurasDueToSpell(BG_EY_NETHERSTORM_FLAG_SPELL);    player->RemoveAurasWithInterruptFlags(AURA_INTERRUPT_FLAG_ENTER_PVP_COMBAT);    if (player->GetTeam() == ALLIANCE)    {        SendBroadcastText(BG_EY_TEXT_ALLIANCE_CAPTURED_FLAG, CHAT_MSG_BG_SYSTEM_ALLIANCE, player);        PlaySoundToAll(BG_EY_SOUND_FLAG_CAPTURED_ALLIANCE);    }    else    {        SendBroadcastText(BG_EY_TEXT_HORDE_CAPTURED_FLAG, CHAT_MSG_BG_SYSTEM_HORDE, player);        PlaySoundToAll(BG_EY_SOUND_FLAG_CAPTURED_HORDE);    }    SpawnBGObject(BgObjectType, RESPAWN_IMMEDIATELY);    m_FlagsTimer = BG_EY_FLAG_RESPAWN_TIME;    m_FlagCapturedBgObjectType = BgObjectType;    uint8 team_id = player->GetTeam() == ALLIANCE ? TEAM_ALLIANCE : TEAM_HORDE;    if (m_TeamPointsCount[team_id] > 0)        AddPoints(player->GetTeam(), BG_EY_FlagPoints[m_TeamPointsCount[team_id] - 1]);    UpdatePlayerScore(player, SCORE_FLAG_CAPTURES, 1);}
开发者ID:090809,项目名称:TrinityCore,代码行数:33,


示例6: switch

void BattlegroundEY::HandleAreaTrigger(Player* player, uint32 trigger){    if (GetStatus() != STATUS_IN_PROGRESS)        return;    if (!player->IsAlive())                                  //hack code, must be removed later        return;    switch (trigger)    {        case TR_BLOOD_ELF_POINT:            if (m_PointState[BLOOD_ELF] == EY_POINT_UNDER_CONTROL && m_PointOwnedByTeam[BLOOD_ELF] == player->GetTeam())                if (m_FlagState && GetFlagPickerGUID() == player->GetGUID())                    EventPlayerCapturedFlag(player, BG_EY_OBJECT_FLAG_BLOOD_ELF);            break;        case TR_FEL_REAVER_POINT:            if (m_PointState[FEL_REAVER] == EY_POINT_UNDER_CONTROL && m_PointOwnedByTeam[FEL_REAVER] == player->GetTeam())                if (m_FlagState && GetFlagPickerGUID() == player->GetGUID())                    EventPlayerCapturedFlag(player, BG_EY_OBJECT_FLAG_FEL_REAVER);            break;        case TR_MAGE_TOWER_POINT:            if (m_PointState[MAGE_TOWER] == EY_POINT_UNDER_CONTROL && m_PointOwnedByTeam[MAGE_TOWER] == player->GetTeam())                if (m_FlagState && GetFlagPickerGUID() == player->GetGUID())                    EventPlayerCapturedFlag(player, BG_EY_OBJECT_FLAG_MAGE_TOWER);            break;        case TR_DRAENEI_RUINS_POINT:            if (m_PointState[DRAENEI_RUINS] == EY_POINT_UNDER_CONTROL && m_PointOwnedByTeam[DRAENEI_RUINS] == player->GetTeam())                if (m_FlagState && GetFlagPickerGUID() == player->GetGUID())                    EventPlayerCapturedFlag(player, BG_EY_OBJECT_FLAG_DRAENEI_RUINS);            break;        case 4512:        case 4515:        case 4517:        case 4519:        case 4530:        case 4531:        case 4568:        case 4569:        case 4570:        case 4571:        case 5866:            break;        default:            Battleground::HandleAreaTrigger(player, trigger);            break;    }}
开发者ID:ARAGORN2013,项目名称:TrinityCore,代码行数:47,


示例7: switch

void BattlegroundEY::HandleAreaTrigger(Player* Source, uint32 Trigger){    if (GetStatus() != STATUS_IN_PROGRESS)        return;    if (!Source->isAlive())        return;    switch (Trigger)    {        case TR_BLOOD_ELF_POINT:            if (m_PointState[BLOOD_ELF] == EY_POINT_UNDER_CONTROL && m_PointOwnedByTeam[BLOOD_ELF] == Source->GetBGTeam())                if (m_FlagState && GetFlagPickerGUID() == Source->GetGUID())                    EventPlayerCapturedFlag(Source, BG_EY_OBJECT_FLAG_BLOOD_ELF);            break;        case TR_FEL_REAVER_POINT:            if (m_PointState[FEL_REAVER] == EY_POINT_UNDER_CONTROL && m_PointOwnedByTeam[FEL_REAVER] == Source->GetBGTeam())                if (m_FlagState && GetFlagPickerGUID() == Source->GetGUID())                    EventPlayerCapturedFlag(Source, BG_EY_OBJECT_FLAG_FEL_REAVER);            break;        case TR_MAGE_TOWER_POINT:            if (m_PointState[MAGE_TOWER] == EY_POINT_UNDER_CONTROL && m_PointOwnedByTeam[MAGE_TOWER] == Source->GetBGTeam())                if (m_FlagState && GetFlagPickerGUID() == Source->GetGUID())                    EventPlayerCapturedFlag(Source, BG_EY_OBJECT_FLAG_MAGE_TOWER);            break;        case TR_DRAENEI_RUINS_POINT:            if (m_PointState[DRAENEI_RUINS] == EY_POINT_UNDER_CONTROL && m_PointOwnedByTeam[DRAENEI_RUINS] == Source->GetBGTeam())                if (m_FlagState && GetFlagPickerGUID() == Source->GetGUID())                    EventPlayerCapturedFlag(Source, BG_EY_OBJECT_FLAG_DRAENEI_RUINS);            break;        case 4512:        case 4515:        case 4517:        case 4519:        case 4530:        case 4531:        case 4568:        case 4569:        case 4570:        case 4571:        case 5866:            break;        default: break;    }}
开发者ID:Expery,项目名称:Core,代码行数:47,


示例8: SetFlagPicker

void BattleGroundEY::EventPlayerDroppedFlag(Player *Source){    if(GetStatus() != STATUS_IN_PROGRESS)    {        // if not running, do not cast things at the dropper player, neither send unnecessary messages        // just take off the aura        if(IsFlagPickedup() && GetFlagPickerGUID() == Source->GetGUID())        {            SetFlagPicker(0);            Source->RemoveAurasDueToSpell(BG_EY_NETHERSTORM_FLAG_SPELL);        }        return;    }    if(!IsFlagPickedup())        return;    if(GetFlagPickerGUID() != Source->GetGUID())        return;    const char *message = "";    uint8 type = 0;    SetFlagPicker(0);    Source->RemoveAurasDueToSpell(BG_EY_NETHERSTORM_FLAG_SPELL);    m_FlagState = BG_EY_FLAG_STATE_ON_GROUND;    m_FlagsTimer = BG_EY_FLAG_RESPAWN_TIME;    Source->CastSpell(Source, SPELL_RECENTLY_DROPPED_FLAG, true);    Source->CastSpell(Source, BG_EY_PLAYER_DROPPED_FLAG_SPELL, true);    if(Source->GetTeam() == ALLIANCE)    {        message = GetMangosString(LANG_BG_EY_DROPPED_FLAG);        type = CHAT_MSG_BG_SYSTEM_ALLIANCE;    }    else    {        message = GetMangosString(LANG_BG_EY_DROPPED_FLAG);        type = CHAT_MSG_BG_SYSTEM_HORDE;    }    //this does not work correctly :( (it should remove flag carrier name)    UpdateWorldState(NETHERSTORM_FLAG_STATE_HORDE, BG_EY_FLAG_STATE_WAIT_RESPAWN);    UpdateWorldState(NETHERSTORM_FLAG_STATE_ALLIANCE, BG_EY_FLAG_STATE_WAIT_RESPAWN);    WorldPacket data;    ChatHandler::FillMessageData(&data, Source->GetSession(), type, LANG_UNIVERSAL, NULL, Source->GetGUID(), message, NULL);    SendPacketToAll(&data);}
开发者ID:jendeanlone,项目名称:mangos,代码行数:47,


示例9: switch

void BattlegroundWS::HandleAreaTrigger(Player* player, uint32 trigger){    if (GetStatus() != STATUS_IN_PROGRESS)        return;    switch (trigger)    {        case 3686:                                          // Alliance elixir of speed spawn. Trigger not working, because located inside other areatrigger, can be replaced by IsWithinDist(object, dist) in Battleground::Update().            //buff_guid = BgObjects[BG_WS_OBJECT_SPEEDBUFF_1];            break;        case 3687:                                          // Horde elixir of speed spawn. Trigger not working, because located inside other areatrigger, can be replaced by IsWithinDist(object, dist) in Battleground::Update().            //buff_guid = BgObjects[BG_WS_OBJECT_SPEEDBUFF_2];            break;        case 3706:                                          // Alliance elixir of regeneration spawn            //buff_guid = BgObjects[BG_WS_OBJECT_REGENBUFF_1];            break;        case 3708:                                          // Horde elixir of regeneration spawn            //buff_guid = BgObjects[BG_WS_OBJECT_REGENBUFF_2];            break;        case 3707:                                          // Alliance elixir of berserk spawn            //buff_guid = BgObjects[BG_WS_OBJECT_BERSERKBUFF_1];            break;        case 3709:                                          // Horde elixir of berserk spawn            //buff_guid = BgObjects[BG_WS_OBJECT_BERSERKBUFF_2];            break;        case 3646:                                          // Alliance Flag spawn            if (_flagState[BG_TEAM_HORDE] && !_flagState[BG_TEAM_ALLIANCE])				if (GetFlagPickerGUID(BG_TEAM_HORDE) == player->GetGUID())					EventPlayerCapturedFlag(player);            break;        case 3647:                                          // Horde Flag spawn            if (_flagState[BG_TEAM_ALLIANCE] && !_flagState[BG_TEAM_HORDE])				if (GetFlagPickerGUID(BG_TEAM_ALLIANCE) == player->GetGUID())					EventPlayerCapturedFlag(player);            break;        case 3649:                                          // unk1        case 3688:                                          // unk2        case 4628:                                          // unk3        case 4629:                                          // unk4            break;        default:			Battleground::HandleAreaTrigger(player, trigger);            break;    }}
开发者ID:boom8866,项目名称:new,代码行数:45,


示例10: if

void BattlegroundEY::UpdatePointStatuses(){    _400Ally40Horde = 0;    for(uint8 point = 0; point < EY_POINTS_MAX; ++point)    {        if(m_PlayersNearPoint[point].empty())            continue;        //count new point bar status:        m_PointBarStatus[point] += (m_CurrentPointPlayersCount[2 * point] - m_CurrentPointPlayersCount[2 * point + 1] < BG_EY_POINT_MAX_CAPTURERS_COUNT) ? m_CurrentPointPlayersCount[2 * point] - m_CurrentPointPlayersCount[2 * point + 1] : BG_EY_POINT_MAX_CAPTURERS_COUNT;        if(m_PointBarStatus[point] > BG_EY_PROGRESS_BAR_ALI_CONTROLLED) {            m_PointBarStatus[point] = BG_EY_PROGRESS_BAR_ALI_CONTROLLED;            _400Ally40Horde += 10;        } else if(m_PointBarStatus[point] < BG_EY_PROGRESS_BAR_HORDE_CONTROLLED) {            _400Ally40Horde += 100;            m_PointBarStatus[point] = BG_EY_PROGRESS_BAR_HORDE_CONTROLLED;        }        uint32 pointOwnerTeamId = 0;        //find which team should own this point        if(m_PointBarStatus[point] <= BG_EY_PROGRESS_BAR_NEUTRAL_LOW)            pointOwnerTeamId = HORDE;        else if(m_PointBarStatus[point] >= BG_EY_PROGRESS_BAR_NEUTRAL_HIGH)            pointOwnerTeamId = ALLIANCE;        else            pointOwnerTeamId = EY_POINT_NO_OWNER;        for(uint8 i = 0; i < m_PlayersNearPoint[point].size(); ++i)        {            Player* plr = sObjectMgr->GetPlayer(m_PlayersNearPoint[point][i]);            if(plr)            {                this->UpdateWorldStateForPlayer(PROGRESS_BAR_STATUS, m_PointBarStatus[point], plr);                //if point owner changed we must evoke event!                if(pointOwnerTeamId != m_PointOwnedByTeam[point])                {                    //point was uncontrolled and player is from team which captured point                    if(m_PointState[point] == EY_POINT_STATE_UNCONTROLLED && plr->GetTeam() == pointOwnerTeamId)                        this->EventTeamCapturedPoint(plr, point);                    //point was under control and player isn't from team which controlled it                    if(m_PointState[point] == EY_POINT_UNDER_CONTROL && plr->GetTeam() != m_PointOwnedByTeam[point])                        this->EventTeamLostPoint(plr, point);                }                if(point == FEL_REAVER && m_PointOwnedByTeam[point] == plr->GetTeam()) // hack fix for Fel Reaver Ruins                {                    if(m_FlagState && GetFlagPickerGUID() == plr->GetGUID())                        if(plr->GetDistance2d(2044.0f,1730.0f) < 7.0f)                            EventPlayerCapturedFlag(plr, BG_EY_OBJECT_FLAG_FEL_REAVER);                }            }        }    }}
开发者ID:Darkelmo,项目名称:MythCore,代码行数:56,


示例11: if

void BattlegroundEY::UpdatePointStatuses(){    for (uint8 point = 0; point < EY_POINTS_MAX; ++point)    {        if (m_PlayersNearPoint[point].empty())            continue;        // Count new point bar status:        m_PointBarStatus[point] += (m_CurrentPointPlayersCount[2 * point] - m_CurrentPointPlayersCount[2 * point + 1] < BG_EY_POINT_MAX_CAPTURERS_COUNT) ? m_CurrentPointPlayersCount[2 * point] - m_CurrentPointPlayersCount[2 * point + 1] : BG_EY_POINT_MAX_CAPTURERS_COUNT;        if (m_PointBarStatus[point] > BG_EY_PROGRESS_BAR_ALI_CONTROLLED)   // Point is full Alliance.            m_PointBarStatus[point] = BG_EY_PROGRESS_BAR_ALI_CONTROLLED;        if (m_PointBarStatus[point] < BG_EY_PROGRESS_BAR_HORDE_CONTROLLED) // Point is full Horde.            m_PointBarStatus[point] = BG_EY_PROGRESS_BAR_HORDE_CONTROLLED;        uint32 pointOwnerTeamId = 0;        // Find which team should own this point.        if (m_PointBarStatus[point] <= BG_EY_PROGRESS_BAR_NEUTRAL_LOW)            pointOwnerTeamId = HORDE;        else if (m_PointBarStatus[point] >= BG_EY_PROGRESS_BAR_NEUTRAL_HIGH)            pointOwnerTeamId = ALLIANCE;        else            pointOwnerTeamId = EY_POINT_NO_OWNER;        for (uint8 i = 0; i < m_PlayersNearPoint[point].size(); ++i)        {            Player* player = ObjectAccessor::FindPlayer(m_PlayersNearPoint[point][i]);            if (player)            {                UpdateWorldStateForPlayer(PROGRESS_BAR_STATUS, m_PointBarStatus[point], player);                // If the point owner changed we must evoke the event!                     if (pointOwnerTeamId != m_PointOwnedByTeam[point])                {                    // The point was uncontrolled and the player is from the team which captured the point.                    if (m_PointState[point] == EY_POINT_STATE_UNCONTROLLED && player->GetBGTeam() == pointOwnerTeamId)                        this->EventTeamCapturedPoint(player, point);                    // The point was under control andthe player isn't from the team which controlled it.                    if (m_PointState[point] == EY_POINT_UNDER_CONTROL && player->GetBGTeam() != m_PointOwnedByTeam[point])                        this->EventTeamLostPoint(player, point);                }                // Fix for Fel Reaver Ruins.                if (point == FEL_REAVER && m_PointOwnedByTeam[point] == player->GetBGTeam())                    if (m_FlagState && GetFlagPickerGUID() == player->GetGUID())                        if (player->GetDistance2d(2044.0f, 1730.0f) < 2.0f)                            EventPlayerCapturedFlag(player, BG_EY_OBJECT_FLAG_FEL_REAVER);            }        }    }}
开发者ID:Expery,项目名称:Core,代码行数:53,


示例12: switch

void BattlegroundTP::HandleAreaTrigger(Player* player, uint32 trigger){    if (GetStatus() != STATUS_IN_PROGRESS)        return;    //uint32 SpellId = 0;    //uint64 buff_guid = 0;    switch (trigger)    {        case 5904:                                          // Alliance Flag spawn            if (_flagState[TEAM_HORDE] && !_flagState[TEAM_ALLIANCE])                if (GetFlagPickerGUID(TEAM_HORDE) == player->GetGUID())                    EventPlayerCapturedFlag(player);            break;        case 5905:                                          // Horde Flag spawn            if (_flagState[TEAM_ALLIANCE] && !_flagState[TEAM_HORDE])                if (GetFlagPickerGUID(TEAM_ALLIANCE) == player->GetGUID())                    EventPlayerCapturedFlag(player);            break;        case 5908:                                          // Horde Tower        case 5909:                                          // Twin Peak House big        case 5910:                                          // Horde House        case 5911:                                          // Twin Peak House small        case 5914:                                          // Alliance Start right        case 5916:                                          // Alliance Start        case 5917:                                          // Alliance Start left        case 5918:                                          // Horde Start        case 5920:                                          // Horde Start Front entrance        case 5921:                                          // Horde Start left Water channel            break;        default:            Battleground::HandleAreaTrigger(player, trigger);            break;    }    //if (buff_guid)    //    HandleTriggerBuff(buff_guid, Source);}
开发者ID:BOREMANSe,项目名称:SkyFire_5xx,代码行数:40,


示例13: AddPoints

void BattleGroundEY::Update(uint32 diff){    BattleGround::Update(diff);    if (GetStatus() == STATUS_IN_PROGRESS)    {        m_PointAddingTimer -= diff;        if (m_PointAddingTimer <= 0)        {            m_PointAddingTimer = BG_EY_FPOINTS_TICK_TIME;            if (m_TeamPointsCount[BG_TEAM_ALLIANCE] > 0)                AddPoints(ALLIANCE, BG_EY_TickPoints[m_TeamPointsCount[BG_TEAM_ALLIANCE] - 1]);            if (m_TeamPointsCount[BG_TEAM_HORDE] > 0)                AddPoints(HORDE, BG_EY_TickPoints[m_TeamPointsCount[BG_TEAM_HORDE] - 1]);        }        if (m_FlagState == BG_EY_FLAG_STATE_WAIT_RESPAWN || m_FlagState == BG_EY_FLAG_STATE_ON_GROUND)        {            m_FlagsTimer -= diff;            if (m_FlagsTimer < 0)            {                m_FlagsTimer = 0;                if (m_FlagState == BG_EY_FLAG_STATE_WAIT_RESPAWN)                    RespawnFlag(true);                else                    RespawnFlagAfterDrop();            }        }        m_TowerCapCheckTimer -= diff;        if (m_TowerCapCheckTimer <= 0)        {            //check if player joined point            /*I used this order of calls, because although we will check if one player is in gameobject's distance 2 times              but we can count of players on current point in CheckSomeoneLeftPoint            */            CheckSomeoneJoinedPoint();            //check if player left point            CheckSomeoneLeftPoint();            UpdatePointStatuses();            m_TowerCapCheckTimer = BG_EY_FPOINTS_TICK_TIME;        }                // areatrigger for Fel Reaver was removed? so:        if (m_FlagState)            if (Player* plr = sObjectMgr.GetPlayer(GetFlagPickerGUID()))                if (plr->GetDistance2d(2043.99f, 1729.91f) < 2)                    if (m_PointState[BG_EY_NODE_FEL_REAVER] == EY_POINT_UNDER_CONTROL && m_PointOwnedByTeam[BG_EY_NODE_FEL_REAVER] == plr->GetTeam())                        EventPlayerCapturedFlag(plr, BG_EY_NODE_FEL_REAVER);    }}
开发者ID:Archives,项目名称:try,代码行数:52,


示例14: if

void BattlegroundEY::UpdatePointStatuses(){    for (uint8 point = 0; point < EY_POINTS_MAX; ++point)    {        if (m_PlayersNearPoint[point].empty())            continue;        //count new point bar status:        m_PointBarStatus[point] += (m_CurrentPointPlayersCount[2 * point] - m_CurrentPointPlayersCount[2 * point + 1] < BG_EY_POINT_MAX_CAPTURERS_COUNT) ? m_CurrentPointPlayersCount[2 * point] - m_CurrentPointPlayersCount[2 * point + 1] : BG_EY_POINT_MAX_CAPTURERS_COUNT;        if (m_PointBarStatus[point] > BG_EY_PROGRESS_BAR_ALI_CONTROLLED)            //point is fully alliance's            m_PointBarStatus[point] = BG_EY_PROGRESS_BAR_ALI_CONTROLLED;        if (m_PointBarStatus[point] < BG_EY_PROGRESS_BAR_HORDE_CONTROLLED)            //point is fully horde's            m_PointBarStatus[point] = BG_EY_PROGRESS_BAR_HORDE_CONTROLLED;        uint32 pointOwnerTeamId = 0;        //find which team should own this point        if (m_PointBarStatus[point] <= BG_EY_PROGRESS_BAR_NEUTRAL_LOW)            pointOwnerTeamId = HORDE;        else if (m_PointBarStatus[point] >= BG_EY_PROGRESS_BAR_NEUTRAL_HIGH)            pointOwnerTeamId = ALLIANCE;        else            pointOwnerTeamId = EY_POINT_NO_OWNER;        for (uint8 i = 0; i < m_PlayersNearPoint[point].size(); ++i)        {            Player* player = ObjectAccessor::FindPlayer(m_PlayersNearPoint[point][i]);            if (player)            {                this->UpdateWorldStateForPlayer(PROGRESS_BAR_STATUS, m_PointBarStatus[point], player);                //if point owner changed we must evoke event!                if (pointOwnerTeamId != m_PointOwnedByTeam[point])                {                    //point was uncontrolled and player is from team which captured point                    if (m_PointState[point] == EY_POINT_STATE_UNCONTROLLED && player->GetTeam() == pointOwnerTeamId)                        this->EventTeamCapturedPoint(player, point);                    //point was under control and player isn't from team which controlled it                    if (m_PointState[point] == EY_POINT_UNDER_CONTROL && player->GetTeam() != m_PointOwnedByTeam[point])                        this->EventTeamLostPoint(player, point);                }                /// @workaround The original AreaTrigger is covered by a bigger one and not triggered on client side.                if (point == FEL_REAVER && m_PointOwnedByTeam[point] == player->GetTeam())                    if (m_FlagState && GetFlagPickerGUID() == player->GetGUID())                        if (player->GetDistance(2044.0f, 1729.729f, 1190.03f) < 3.0f)                            EventPlayerCapturedFlag(player, BG_EY_OBJECT_FLAG_FEL_REAVER);            }        }    }}
开发者ID:ARAGORN2013,项目名称:TrinityCore,代码行数:52,


示例15: EventPlayerCapturedFlag

void BattleGroundEY::EventPlayerCapturedFlag(Player *Source, uint32 BgObjectType){    if(GetStatus() != STATUS_IN_PROGRESS || GetFlagPickerGUID() != Source->GetGUID())        return;    uint8 type = 0;    uint8 team_id = 0;    const char *message = "";    SetFlagPicker(0);    m_FlagState = BG_EY_FLAG_STATE_WAIT_RESPAWN;    Source->RemoveAurasDueToSpell(BG_EY_NETHERSTORM_FLAG_SPELL);    Source->RemoveAurasWithInterruptFlags(AURA_INTERRUPT_FLAG_ENTER_PVP_COMBAT);    if(Source->GetTeam() == ALLIANCE)    {        PlaySoundToAll(BG_EY_SOUND_FLAG_CAPTURED_ALLIANCE);        team_id = BG_TEAM_ALLIANCE;        message = GetMangosString(LANG_BG_EY_CAPTURED_FLAG_A);        type = CHAT_MSG_BG_SYSTEM_ALLIANCE;    }    else    {        PlaySoundToAll(BG_EY_SOUND_FLAG_CAPTURED_HORDE);        team_id = BG_TEAM_HORDE;        message = GetMangosString(LANG_BG_EY_CAPTURED_FLAG_H);        type = CHAT_MSG_BG_SYSTEM_HORDE;    }    SpawnBGObject(BgObjectType, RESPAWN_IMMEDIATELY);    m_FlagsTimer = BG_EY_FLAG_RESPAWN_TIME;    m_FlagCapturedBgObjectType = BgObjectType;    WorldPacket data;    ChatHandler::FillMessageData(&data, Source->GetSession(), type, LANG_UNIVERSAL, NULL, Source->GetGUID(), message, NULL);    SendPacketToAll(&data);    if(m_TeamPointsCount[team_id] > 0)        AddPoints(Source->GetTeam(), BG_EY_FlagPoints[m_TeamPointsCount[team_id] - 1]);    UpdatePlayerScore(Source, SCORE_FLAG_CAPTURES, 1);}
开发者ID:jendeanlone,项目名称:mangos,代码行数:43,


示例16: EventPlayerCapturedFlag

void BattlegroundEY::EventPlayerCapturedFlag(Player* Source, uint32 BgObjectType){    if (!Source)        return;    if (GetStatus() != STATUS_IN_PROGRESS || GetFlagPickerGUID() != Source->GetGUID())        return;    SetFlagPicker(0);    m_FlagState = BG_EY_FLAG_STATE_WAIT_RESPAWN;    Source->RemoveAurasDueToSpell(BG_EY_NETHERSTORM_FLAG_SPELL);    Source->RemoveAurasWithInterruptFlags(AURA_INTERRUPT_FLAG_ENTER_PVP_COMBAT);    if (Source->GetBGTeam() == ALLIANCE)        PlaySoundToAll(BG_EY_SOUND_FLAG_CAPTURED_ALLIANCE);    else        PlaySoundToAll(BG_EY_SOUND_FLAG_CAPTURED_HORDE);    SpawnBGObject(BgObjectType, RESPAWN_IMMEDIATELY);    m_FlagsTimer = BG_EY_FLAG_RESPAWN_TIME;    m_FlagCapturedBgObjectType = BgObjectType;    uint8 team_id = 0;    if (Source->GetBGTeam() == ALLIANCE)    {        team_id = BG_TEAM_ALLIANCE;        SendMessageToAll(LANG_BG_EY_CAPTURED_FLAG_A, CHAT_MSG_RAID_BOSS_EMOTE, Source);    }    else    {        team_id = BG_TEAM_HORDE;        SendMessageToAll(LANG_BG_EY_CAPTURED_FLAG_H, CHAT_MSG_RAID_BOSS_EMOTE, Source);    }    if (m_TeamPointsCount[team_id] > 0)        AddPoints(Source->GetBGTeam(), BG_EY_FlagPoints[m_TeamPointsCount[team_id] - 1]);    UpdatePlayerScore(Source, SCORE_FLAG_CAPTURES, 1);}
开发者ID:Expery,项目名称:Core,代码行数:42,


示例17: EventPlayerCapturedFlag

void BattleGroundEY::EventPlayerCapturedFlag(Player *Source, BG_EY_Nodes node){    if (GetStatus() != STATUS_IN_PROGRESS || GetFlagPickerGUID() != Source->GetGUID())        return;    SetFlagPicker(0);    m_FlagState = BG_EY_FLAG_STATE_WAIT_RESPAWN;    Source->RemoveAurasDueToSpell(BG_EY_NETHERSTORM_FLAG_SPELL);    Source->RemoveAurasWithInterruptFlags(AURA_INTERRUPT_FLAG_ENTER_PVP_COMBAT);    if (Source->GetTeam() == ALLIANCE)        PlaySoundToAll(BG_EY_SOUND_FLAG_CAPTURED_ALLIANCE);    else        PlaySoundToAll(BG_EY_SOUND_FLAG_CAPTURED_HORDE);    SpawnEvent(BG_EY_EVENT_CAPTURE_FLAG, node, true);    m_FlagsTimer = BG_EY_FLAG_RESPAWN_TIME;    uint8 team_id = 0;    if (Source->GetTeam() == ALLIANCE)    {        team_id = BG_TEAM_ALLIANCE;        SendMessageToAll(LANG_BG_EY_CAPTURED_FLAG_A, CHAT_MSG_BG_SYSTEM_ALLIANCE, Source);    }    else    {        team_id = BG_TEAM_HORDE;        SendMessageToAll(LANG_BG_EY_CAPTURED_FLAG_H, CHAT_MSG_BG_SYSTEM_HORDE, Source);    }    if (m_TeamPointsCount[team_id] > 0)        AddPoints(Source->GetTeam(), BG_EY_FlagPoints[m_TeamPointsCount[team_id] - 1]);    RewardXpToTeam(0, 0.6, Source->GetTeam());    UpdatePlayerScore(Source, SCORE_FLAG_CAPTURES, 1);    Source->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_BG_OBJECTIVE_CAPTURE,1);}
开发者ID:christof69,项目名称:fusion,代码行数:40,


示例18: SetHordeFlagPicker

void BattlegroundWS::EventPlayerDroppedFlag(Player* player){    if (GetStatus() != STATUS_IN_PROGRESS)    {        // if not running, do not cast things at the dropper player (prevent spawning the "dropped" flag), neither send unnecessary messages        // just take off the aura        if (player->GetTeam() == ALLIANCE)        {            if (!IsHordeFlagPickedup())                return;            if (GetFlagPickerGUID(TEAM_HORDE) == player->GetGUID())            {                SetHordeFlagPicker(ObjectGuid::Empty);                player->RemoveAurasDueToSpell(BG_WS_SPELL_WARSONG_FLAG);            }        }        else        {            if (!IsAllianceFlagPickedup())                return;            if (GetFlagPickerGUID(TEAM_ALLIANCE) == player->GetGUID())            {                SetAllianceFlagPicker(ObjectGuid::Empty);                player->RemoveAurasDueToSpell(BG_WS_SPELL_SILVERWING_FLAG);            }        }        return;    }    bool set = false;    if (player->GetTeam() == ALLIANCE)    {        if (!IsHordeFlagPickedup())            return;        if (GetFlagPickerGUID(TEAM_HORDE) == player->GetGUID())        {            SetHordeFlagPicker(ObjectGuid::Empty);            player->RemoveAurasDueToSpell(BG_WS_SPELL_WARSONG_FLAG);            if (_flagDebuffState == 1)              player->RemoveAurasDueToSpell(WS_SPELL_FOCUSED_ASSAULT);            else if (_flagDebuffState == 2)              player->RemoveAurasDueToSpell(WS_SPELL_BRUTAL_ASSAULT);            _flagState[TEAM_HORDE] = BG_WS_FLAG_STATE_ON_GROUND;            player->CastSpell(player, BG_WS_SPELL_WARSONG_FLAG_DROPPED, true);            set = true;        }    }    else    {        if (!IsAllianceFlagPickedup())            return;        if (GetFlagPickerGUID(TEAM_ALLIANCE) == player->GetGUID())        {            SetAllianceFlagPicker(ObjectGuid::Empty);            player->RemoveAurasDueToSpell(BG_WS_SPELL_SILVERWING_FLAG);            if (_flagDebuffState == 1)              player->RemoveAurasDueToSpell(WS_SPELL_FOCUSED_ASSAULT);            else if (_flagDebuffState == 2)              player->RemoveAurasDueToSpell(WS_SPELL_BRUTAL_ASSAULT);            _flagState[TEAM_ALLIANCE] = BG_WS_FLAG_STATE_ON_GROUND;            player->CastSpell(player, BG_WS_SPELL_SILVERWING_FLAG_DROPPED, true);            set = true;        }    }    if (set)    {        player->CastSpell(player, SPELL_RECENTLY_DROPPED_FLAG, true);        UpdateFlagState(player->GetTeam(), 1);        if (player->GetTeam() == ALLIANCE)        {            SendBroadcastText(BG_WS_TEXT_HORDE_FLAG_DROPPED, CHAT_MSG_BG_SYSTEM_HORDE, player);            UpdateWorldState(BG_WS_FLAG_UNK_HORDE, uint32(-1));        }        else        {            SendBroadcastText(BG_WS_TEXT_ALLIANCE_FLAG_DROPPED, CHAT_MSG_BG_SYSTEM_ALLIANCE, player);            UpdateWorldState(BG_WS_FLAG_UNK_ALLIANCE, uint32(-1));        }        _flagsDropTimer[GetTeamIndexByTeamId(player->GetTeam()) ? 0 : 1] = BG_WS_FLAG_DROP_TIME;    }}
开发者ID:Carbenium,项目名称:TrinityCore,代码行数:87,


示例19: SetHordeFlagPicker

void BattlegroundWS::EventPlayerDroppedFlag(Player* Source){    if (GetStatus() != STATUS_IN_PROGRESS)    {        // if not running, do not cast things at the dropper player (prevent spawning the "dropped" flag), neither send unnecessary messages        // just take off the aura        if (Source->GetTeam() == ALLIANCE)        {            if (!this->IsHordeFlagPickedup())                return;            if (GetFlagPickerGUID(BG_TEAM_HORDE) == Source->GetGUID())            {                SetHordeFlagPicker(0);                Source->RemoveAurasDueToSpell(BG_WS_SPELL_WARSONG_FLAG);            }        }        else        {            if (!this->IsAllianceFlagPickedup())                return;            if (GetFlagPickerGUID(BG_TEAM_ALLIANCE) == Source->GetGUID())            {                SetAllianceFlagPicker(0);                Source->RemoveAurasDueToSpell(BG_WS_SPELL_SILVERWING_FLAG);            }        }        return;    }    bool set = false;    if (Source->GetTeam() == ALLIANCE)    {        if (!IsHordeFlagPickedup())            return;        if (GetFlagPickerGUID(BG_TEAM_HORDE) == Source->GetGUID())        {            SetHordeFlagPicker(0);            Source->RemoveAurasDueToSpell(BG_WS_SPELL_WARSONG_FLAG);            if (m_FlagDebuffState == 1)              Source->RemoveAurasDueToSpell(WS_SPELL_FOCUSED_ASSAULT);            if (m_FlagDebuffState == 2)              Source->RemoveAurasDueToSpell(WS_SPELL_BRUTAL_ASSAULT);            m_FlagState[BG_TEAM_HORDE] = BG_WS_FLAG_STATE_ON_GROUND;            Source->CastSpell(Source, BG_WS_SPELL_WARSONG_FLAG_DROPPED, true);            set = true;        }    }    else    {        if (!IsAllianceFlagPickedup())            return;        if (GetFlagPickerGUID(BG_TEAM_ALLIANCE) == Source->GetGUID())        {            SetAllianceFlagPicker(0);            Source->RemoveAurasDueToSpell(BG_WS_SPELL_SILVERWING_FLAG);            if (m_FlagDebuffState == 1)              Source->RemoveAurasDueToSpell(WS_SPELL_FOCUSED_ASSAULT);            if (m_FlagDebuffState == 2)              Source->RemoveAurasDueToSpell(WS_SPELL_BRUTAL_ASSAULT);            m_FlagState[BG_TEAM_ALLIANCE] = BG_WS_FLAG_STATE_ON_GROUND;            Source->CastSpell(Source, BG_WS_SPELL_SILVERWING_FLAG_DROPPED, true);            set = true;        }    }    if (set)    {        Source->CastSpell(Source, SPELL_RECENTLY_DROPPED_FLAG, true);        UpdateFlagState(Source->GetTeam(), 1);        if (Source->GetTeam() == ALLIANCE)        {            SendMessageToAll(LANG_BG_WS_DROPPED_HF, CHAT_MSG_BG_SYSTEM_HORDE, Source);            UpdateWorldState(BG_WS_FLAG_UNK_HORDE, uint32(-1));        }        else        {            SendMessageToAll(LANG_BG_WS_DROPPED_AF, CHAT_MSG_BG_SYSTEM_ALLIANCE, Source);            UpdateWorldState(BG_WS_FLAG_UNK_ALLIANCE, uint32(-1));        }        m_FlagsDropTimer[GetTeamIndexByTeamId(Source->GetTeam()) ? 0 : 1] = BG_WS_FLAG_DROP_TIME;    }}
开发者ID:JiniaTS,项目名称:ArkCORE2,代码行数:85,



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


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