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

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

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

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

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

示例1: RegisterZone

bool OutdoorPvPEP::SetupOutdoorPvP(){    for (uint8 i = 0; i < EPBuffZonesNum; ++i)        RegisterZone(EPBuffZones[i]);    AddCapturePoint(new OPvPCapturePointEP_EWT(this));    AddCapturePoint(new OPvPCapturePointEP_PWT(this));    AddCapturePoint(new OPvPCapturePointEP_CGT(this));    AddCapturePoint(new OPvPCapturePointEP_NPT(this));    return true;}
开发者ID:Alluring,项目名称:TrinityCore,代码行数:11,


示例2: RegisterZone

bool OutdoorPvPHP::SetupOutdoorPvP() {	m_AllianceTowersControlled = 0;	m_HordeTowersControlled = 0;	// add the zones affected by the pvp buff	for (int i = 0; i < OutdoorPvPHPBuffZonesNum; ++i)		RegisterZone(OutdoorPvPHPBuffZones[i]);	AddCapturePoint(new OPvPCapturePointHP(this, HP_TOWER_BROKEN_HILL));	AddCapturePoint(new OPvPCapturePointHP(this, HP_TOWER_OVERLOOK));	AddCapturePoint(new OPvPCapturePointHP(this, HP_TOWER_STADIUM));	return true;}
开发者ID:FrenchCORE,项目名称:OLD_FrenchCORE,代码行数:15,


示例3: RegisterZone

bool OutdoorPvPAzshara::SetupOutdoorPvP(){    m_AllianceTowersControlled = 0;    m_HordeTowersControlled = 0;    // add the zones affected by the pvp buff    for (int i = 0; i < OutdoorPvPAzsharaBuffZonesNum; ++i)        RegisterZone(OutdoorPvPAzsharaBuffZones[i]);    AddCapturePoint(new OPvPCapturePointAzshara(this, Azshara_TOWER_ALLIANCE));    AddCapturePoint(new OPvPCapturePointAzshara(this, Azshara_TOWER_HORDE));    AddCapturePoint(new OPvPCapturePointAzshara(this, Azshara_TOWER_NEUTRAL));    return true;}
开发者ID:MrZechY,项目名称:Project-Justice,代码行数:16,


示例4: OutdoorPvPObjective

OutdoorPvPObjectiveNA::OutdoorPvPObjectiveNA(OutdoorPvP *pvp) :    OutdoorPvPObjective(pvp), m_capturable(true), m_GuardsAlive(0), m_ControllingFaction(0),    m_HalaaState(HALAA_N), m_WyvernStateSouth(0), m_WyvernStateNorth(0), m_WyvernStateWest(0),    m_WyvernStateEast(0), m_RespawnTimer(NA_RESPAWN_TIME), m_GuardCheckTimer(NA_GUARD_CHECK_TIME){    AddCapturePoint(182210,530,-1572.57,7945.3,-22.475,2.05949,0,0,0.857167,0.515038);}
开发者ID:mangos-gameaction,项目名称:mangos,代码行数:7,


示例5: OutdoorPvPObjective

OutdoorPvPObjectiveHP::OutdoorPvPObjectiveHP(OutdoorPvP *pvp,OutdoorPvPHPTowerType type): OutdoorPvPObjective(pvp), m_TowerType(type){    AddCapturePoint(HPCapturePoints[type].entry,            HPCapturePoints[type].map,            HPCapturePoints[type].x,            HPCapturePoints[type].y,            HPCapturePoints[type].z,            HPCapturePoints[type].o,            HPCapturePoints[type].rot0,            HPCapturePoints[type].rot1,            HPCapturePoints[type].rot2,            HPCapturePoints[type].rot3);    AddObject(type,            HPTowerFlags[type].entry,            HPTowerFlags[type].map,            HPTowerFlags[type].x,            HPTowerFlags[type].y,            HPTowerFlags[type].z,            HPTowerFlags[type].o,            HPTowerFlags[type].rot0,            HPTowerFlags[type].rot1,            HPTowerFlags[type].rot2,            HPTowerFlags[type].rot3);}
开发者ID:mangos-gameaction,项目名称:mangos,代码行数:25,


示例6: RegisterZone

bool OutdoorPvPEP::SetupOutdoorPvP(){    m_AllianceTowersControlled = 0;    m_HordeTowersControlled = 0;    // add the zones affected by the pvp buff    for (uint8 i = 0; i < OutdoorPvPEPBuffZonesNum; ++i)        RegisterZone(OutdoorPvPEPBuffZones[i]);    AddCapturePoint(new OPvPCapturePointEP(this,EP_TOWER_CROWNGUARD));    AddCapturePoint(new OPvPCapturePointEP(this,EP_TOWER_EASTWALL));    AddCapturePoint(new OPvPCapturePointEP(this,EP_TOWER_NORTHPASS));    AddCapturePoint(new OPvPCapturePointEP(this,EP_TOWER_PLAGUEWOOD));    return true;}
开发者ID:japtenks,项目名称:blizzlikecore,代码行数:16,


示例7: RegisterZone

bool OutdoorPvPZM::SetupOutdoorPvP(){    m_AllianceTowersControlled = 0;    m_HordeTowersControlled = 0;    // add the zones affected by the pvp buff    for (uint8 i = 0; i < OutdoorPvPZMBuffZonesNum; ++i)        RegisterZone(OutdoorPvPZMBuffZones[i]);    AddCapturePoint(new OPvPCapturePointZM_Beacon(this, ZM_BEACON_WEST));    AddCapturePoint(new OPvPCapturePointZM_Beacon(this, ZM_BEACON_EAST));    m_GraveYard = new OPvPCapturePointZM_GraveYard(this);    AddCapturePoint(m_GraveYard); // though the update function isn't used, the handleusego is!    return true;}
开发者ID:XEQT,项目名称:SkyFireEMU,代码行数:16,


示例8: RegisterZone

bool OutdoorPvPGH::SetupOutdoorPvP() {	RegisterZone(GH_OUTDOORPVP_ZONE);	m_obj = new OPvPCapturePointGH(this);	if (!m_obj)		return false;	AddCapturePoint(m_obj);	return true;}
开发者ID:FrenchCORE,项目名称:Server,代码行数:8,


示例9: RegisterZone

bool OutdoorPvPGH::SetupOutdoorPvP(){    RegisterZone(GH_ZONE);    if (m_obj = new OPvPCapturePointGH(this))    {        AddCapturePoint(m_obj);        return true;    }    return false;}
开发者ID:boom8866,项目名称:azerothcore-wotlk,代码行数:10,


示例10: RegisterZone

bool OutdoorPvPNA::SetupOutdoorPvP(){//    m_TypeId = OUTDOOR_PVP_NA; _MUST_ be set in ctor, because of spawns cleanup    // add the zones affected by the pvp buff    RegisterZone(NA_BUFF_ZONE);    // halaa    m_obj = new OPvPCapturePointNA(this);    AddCapturePoint(m_obj);    return true;}
开发者ID:oMadMano,项目名称:MistyWorld_6xx,代码行数:12,


示例11: RegisterZone

bool OutdoorPvPTF::SetupOutdoorPvP() {	m_AllianceTowersControlled = 0;	m_HordeTowersControlled = 0;	m_IsLocked = false;	m_LockTimer = TF_LOCK_TIME;	m_LockTimerUpdate = 0;	hours_left = 6;	second_digit = 0;	first_digit = 0;	// add the zones affected by the pvp buff	for (uint8 i = 0; i < OutdoorPvPTFBuffZonesNum; ++i)		RegisterZone(OutdoorPvPTFBuffZones[i]);	AddCapturePoint(new OPvPCapturePointTF(this, TF_TOWER_NW));	AddCapturePoint(new OPvPCapturePointTF(this, TF_TOWER_N));	AddCapturePoint(new OPvPCapturePointTF(this, TF_TOWER_NE));	AddCapturePoint(new OPvPCapturePointTF(this, TF_TOWER_SE));	AddCapturePoint(new OPvPCapturePointTF(this, TF_TOWER_S));	return true;}
开发者ID:jsj2008,项目名称:StarGate-Plus-EMU,代码行数:23,


示例12: RegisterZone

bool OutdoorPvPHS::SetupOutdoorPvP(){    m_PlayerCount    = 0;    m_HordeCount    = 0;    m_AllianceCount    = 0;    m_HordeBuff = 0;    m_AllianceBuff = 0;    m_ChestTimer = HS_FFA_CHEST_TIMER;    m_ChestAnnounceTimer = HS_FFA_CHEST_ANNOUNCE_TIMER;    m_ChestDebugTimer = 60000;    m_ChestGUID = 0;    m_TenacityTimer = HS_TENACITY_TIME;    m_LastResurrectTime = 0;    m_DurnholdeOwner = 0;    m_DurnholdeLockout = 0;    m_TowerStateEast = 0;    m_TowerStateWest = 0;    m_TowerStateMain = 0;    RegisterZone(HS_ZONE);        AddCapturePoint(new OPvPCapturePointHS(this,HS_TOWER_LOWER));    AddCapturePoint(new OPvPCapturePointHS(this,HS_TOWER_LOWER_EAST));    AddCapturePoint(new OPvPCapturePointHS(this,HS_TOWER_MAIN));    sLog->outString("HillsbradMGR : Loaded.");    return true;}
开发者ID:MrZomble,项目名称:TrinityCore,代码行数:36,


示例13: switch

void BattlefieldWG::OnGameObjectCreate(GameObject* go){    bool isWorkshop = false;    uint8 workshopId = 0;    switch (go->GetEntry())    {        case GO_WINTERGRASP_FACTORY_BANNER_NE:            isWorkshop = true;            workshopId = BATTLEFIELD_WG_WORKSHOP_NE;            break;        case GO_WINTERGRASP_FACTORY_BANNER_NW:            isWorkshop = true;            workshopId = BATTLEFIELD_WG_WORKSHOP_NW;            break;        case GO_WINTERGRASP_FACTORY_BANNER_SE:            isWorkshop = true;            workshopId = BATTLEFIELD_WG_WORKSHOP_SE;            break;        case GO_WINTERGRASP_FACTORY_BANNER_SW:            isWorkshop = true;            workshopId = BATTLEFIELD_WG_WORKSHOP_SW;            break;    }    if (!isWorkshop)        return;    for (Workshop::const_iterator itr = WorkshopsList.begin(); itr != WorkshopsList.end(); ++itr)    {        if (WGWorkshop* workshop = (*itr))        {            if (workshop->workshopId == workshopId)            {                WintergraspCapturePoint* capturePoint = new WintergraspCapturePoint(this, GetAttackerTeam());                capturePoint->SetCapturePointData(go);                capturePoint->LinkToWorkshop(workshop);                AddCapturePoint(capturePoint);                break;            }        }    }}
开发者ID:Szone,项目名称:TrinityCore,代码行数:45,


示例14: OutdoorPvPObjective

// PWTOutdoorPvPObjectiveEP_PWT::OutdoorPvPObjectiveEP_PWT(OutdoorPvP *pvp): OutdoorPvPObjective(pvp), m_TowerState(EP_TS_N), m_FlightMasterSpawned(0){    AddCapturePoint(EPCapturePoints[EP_PWT].entry,EPCapturePoints[EP_PWT].map,EPCapturePoints[EP_PWT].x,EPCapturePoints[EP_PWT].y,EPCapturePoints[EP_PWT].z,EPCapturePoints[EP_PWT].o,EPCapturePoints[EP_PWT].rot0,EPCapturePoints[EP_PWT].rot1,EPCapturePoints[EP_PWT].rot2,EPCapturePoints[EP_PWT].rot3);    AddObject(EP_PWT_FLAGS,EPTowerFlags[EP_PWT].entry,EPTowerFlags[EP_PWT].map,EPTowerFlags[EP_PWT].x,EPTowerFlags[EP_PWT].y,EPTowerFlags[EP_PWT].z,EPTowerFlags[EP_PWT].o,EPTowerFlags[EP_PWT].rot0,EPTowerFlags[EP_PWT].rot1,EPTowerFlags[EP_PWT].rot2,EPTowerFlags[EP_PWT].rot3);}
开发者ID:Zekom,项目名称:NeoCore,代码行数:7,


示例15: TeamId

//.........这里部分代码省略.........        // add capture point        uint32 capturePointEntry = 0;        //192028 192029        //192030 192031        //192032 192033        //190475 190487 not sure        //192626 192627        //194959 194960        switch(goData->id)        {            case 192028: capturePointEntry = 190475; break;            case 192029: capturePointEntry = 190487; break;            case 192030: capturePointEntry = 190475; break;            case 192031: capturePointEntry = 190487; break;            case 192032: capturePointEntry = 190475; break;            case 192033: capturePointEntry = 190487; break;        }        if(capturePointEntry)        {            uint32 engGuid = 0;            QueryResult *result = WorldDatabase.PQuery("SELECT `guid` FROM `creature`"                " WHERE `creature`.`map`=571"                " AND `creature`.`id` IN (%u, %u);", CRE_ENG_A, CRE_ENG_H);            if(!result)            {                sLog.outError("Cannot find siege workshop master in creature!");                 continue;            }            float minDist = 100;            do            {                Field *fields = result->Fetch();                uint32 guid = fields[0].GetUInt32();                const CreatureData *creData = objmgr.GetCreatureData(guid);                if(!creData)                    continue;                float dist = (abs(creData->posX - x) + abs(creData->posY - y));                if(minDist > dist)                {                    minDist = dist;                    engGuid = guid;                }            }while(result->NextRow());            delete result;            if(!engGuid)            {                sLog.outError("Cannot find nearby siege workshop master!");                continue;            }            SiegeWorkshop *workshop = new SiegeWorkshop(this, m_buildingStates[guid]);            if(!workshop->SetCapturePointData(capturePointEntry, goData->mapid, goData->posX, goData->posY, goData->posZ))            {                delete workshop;                sLog.outError("Cannot add capture point!");                continue;            }            const CreatureData *creData = objmgr.GetCreatureData(engGuid);            if(!creData)                continue;            workshop->m_engEntry = const_cast<uint32*>(&creData->id);            const_cast<CreatureData*>(creData)->displayid = 0;            workshop->m_workshopGuid = guid;            workshop->m_engGuid = engGuid;            //workshop->AddGO(0, guid, goData->id);            //workshop->AddCre(0, engGuid, creData->id);            //sLog.outDebug("Demolisher Engineerer lowguid %u is linked to workshop lowguid %u.", engGuid, guid);            AddCapturePoint(workshop);            m_buildingStates[guid]->type = BUILDING_WORKSHOP;            workshop->SetStateByBuildingState();        }    }while(result->NextRow());    delete result;    //for(AreaPOIList::iterator itr = areaPOIs.begin(); itr != areaPOIs.end(); ++itr)    //    sLog.outError("not assigned %u %f %f", (*itr)->id, (*itr)->x, (*itr)->y);    //gameeventmgr.StartInternalEvent(GameEventWintergraspDefender[m_defender]);    //Titan Relic eventid = 19982    objmgr.AddGOData(192829, 571, 5440, 2840.8, 420.43, 0);    LoadTeamPair(m_goDisplayPair, GODisplayPair);    LoadTeamPair(m_creEntryPair, CreatureEntryPair);    m_wartime = false;    m_timer = sWorld.getConfig(CONFIG_OUTDOORPVP_WINTERGRASP_START_TIME) * MINUTE * IN_MILISECONDS;    RegisterZone(ZONE_WINTERGRASP);    return true;}
开发者ID:pfchrono,项目名称:mangos-mods,代码行数:101,


示例16: battle

bool BattlefieldTB::SetupBattlefield(){    m_TypeId                     = BATTLEFIELD_TB;    //View enum BattlefieldTypes    m_BattleId                   = BATTLEFIELD_BATTLEID_TB;    m_ZoneId                     = 5095; // Tol Barad    _MapId                      = 732;  // Map X    m_MaxPlayer                  = sWorld->getIntConfig(CONFIG_TOL_BARAD_PLR_MAX);    m_enable                     = sWorld->getBoolConfig(CONFIG_TOL_BARAD_ENABLE);    m_MinPlayer                  = sWorld->getIntConfig(CONFIG_TOL_BARAD_PLR_MIN);    m_MinLevel                   = sWorld->getIntConfig(CONFIG_TOL_BARAD_PLR_MIN_LVL);    m_BattleTime                 = sWorld->getIntConfig(CONFIG_TOL_BARAD_BATTLETIME)*60*1000;   // Time of battle (in ms)    m_NoWarBattleTime            = sWorld->getIntConfig(CONFIG_TOL_BARAD_NOBATTLETIME)*60*1000; // Time between to battle (in ms)    m_TimeForAcceptInvite        = 20; // in second    m_StartGroupingTimer         = 15*60*1000; // in ms    m_StartGrouping=false;    KickPositionA.Relocate(-363.897f, 1047.931f, 22, 0);    KickPositionA.m_mapId        = _MapId;    KickPositionH.Relocate(-609.336f, 1392.194f, 21.5f, 0);    KickPositionH.m_mapId        = _MapId;    RegisterZone(m_ZoneId);    m_Data32.resize(BATTLEFIELD_TB_DATA_MAX);    m_saveTimer                  = 60000;    // Init GraveYards    SetGraveyardNumber(BATTLEFIELD_TB_GY_MAX);    //Load from db    if(( sWorld->getWorldState(5387) == 0 ) && (sWorld->getWorldState(5384) == 0) && (sWorld->getWorldState(TBClockWorldState[0]) == 0 ))    {        sWorld->setWorldState(5387, false);        sWorld->setWorldState(5384, urand(0, 1));        sWorld->setWorldState(TBClockWorldState[0], m_NoWarBattleTime);    }        m_WarTime                = sWorld->getWorldState(5387);        m_DefenderTeam           = (TeamId)sWorld->getWorldState(5384);        m_Timer                  = sWorld->getWorldState(TBClockWorldState[0]);    if (m_WarTime)    {        m_WarTime = false;        m_Timer = 10 * 60 * 1000;    }    for (uint8 i=0; i<BATTLEFIELD_TB_GY_MAX; i++)    {        BfGraveYardTB* gy = new BfGraveYardTB(this);        if (TBGraveYard[i].startcontrol == TEAM_NEUTRAL)        {            // In no war time Gy is control by defender            gy->Init(45079, 45066, TBGraveYard[i].x, TBGraveYard[i].y, TBGraveYard[i].z, TBGraveYard[i].o, m_DefenderTeam, TBGraveYard[i].guid);        }        else            gy->Init(45079, 45066, TBGraveYard[i].x, TBGraveYard[i].y, TBGraveYard[i].z, TBGraveYard[i].o, TBGraveYard[i].startcontrol, TBGraveYard[i].guid);        gy->SetTextId(TBGraveYard[i].textid);        m_GraveYardList[i] = gy;    }    // Pop des gameobject et creature du TBWorkShop    for (uint8 i = 0; i<TB_MAX_WORKSHOP; i++)    {        BfTBWorkShopData* ws = new BfTBWorkShopData(this); // Create new object        // Init:setup variable        ws->Init(TBCapturePointDataBase[i].worldstate, TBCapturePointDataBase[i].type, TBCapturePointDataBase[i].nameid);        // Spawn associate gameobject on this point (Horde/Alliance flags)        for (int g = 0; g<TBCapturePointDataBase[i].nbgob; g++)        {            ws->AddGameObject(TBCapturePointDataBase[i].GameObjectData[g]);        }        // Create PvPCapturePoint        if (TBCapturePointDataBase[i].type < BATTLEFIELD_TB_FORT_MAX)        {            ws->ChangeControl(GetAttackerTeam(), true); // Update control of this point            m_Data32[BATTLEFIELD_TB_DATA_CAPTURED_FORT_ATT]++;            m_Data32[BATTLEFIELD_TB_DATA_CAPTURED_FORT_DEF]--;            // Create Object            BfCapturePointTB* TBWorkShop = new BfCapturePointTB(this, GetAttackerTeam());            // Spawn gameobject associate (see in OnGameObjectCreate, of OutdoorPvP for see association)            if (TBWorkShop->SetCapturePointData(TBCapturePointDataBase[i].CapturePoint.entryh, 732,                TBCapturePointDataBase[i].CapturePoint.x,                TBCapturePointDataBase[i].CapturePoint.y,                TBCapturePointDataBase[i].CapturePoint.z,                0))            {                TBWorkShop->LinkToWorkShop(ws);   // Link our point to the capture point (for faction changement)                AddCapturePoint(TBWorkShop);      // Add this capture point to list for update this (view in Update() of OutdoorPvP)            }        }        else        {            m_Data32[BATTLEFIELD_TB_DATA_CAPTURED_FORT_ATT]--;            m_Data32[BATTLEFIELD_TB_DATA_CAPTURED_FORT_DEF]++;            ws->ChangeControl(GetDefenderTeam(), true); // Update control of this point (Keep TBWorkShop= to deffender team)        }        WorkShopList.insert(ws);    }    // Spawning npc in keep    for (uint8 i = 0; i<TB_MAX_KEEP_NPC; i++)    {//.........这里部分代码省略.........
开发者ID:Exodius,项目名称:ZapekFapeCore,代码行数:101,


示例17: OPvPCapturePoint

// NPTOPvPCapturePointEP_NPT::OPvPCapturePointEP_NPT(OutdoorPvP *pvp): OPvPCapturePoint(pvp), m_TowerState(EP_TS_N), m_SummonedGOSide(0){    AddCapturePoint(EPCapturePoints[EP_NPT].entry,EPCapturePoints[EP_NPT].map,EPCapturePoints[EP_NPT].x,EPCapturePoints[EP_NPT].y,EPCapturePoints[EP_NPT].z,EPCapturePoints[EP_NPT].o,EPCapturePoints[EP_NPT].rot0,EPCapturePoints[EP_NPT].rot1,EPCapturePoints[EP_NPT].rot2,EPCapturePoints[EP_NPT].rot3);    AddObject(EP_NPT_FLAGS,EPTowerFlags[EP_NPT].entry,EPTowerFlags[EP_NPT].map,EPTowerFlags[EP_NPT].x,EPTowerFlags[EP_NPT].y,EPTowerFlags[EP_NPT].z,EPTowerFlags[EP_NPT].o,EPTowerFlags[EP_NPT].rot0,EPTowerFlags[EP_NPT].rot1,EPTowerFlags[EP_NPT].rot2,EPTowerFlags[EP_NPT].rot3);}
开发者ID:MilchBuby,项目名称:riboncore,代码行数:7,


示例18: HideNpc

void BattlefieldTB::UpdateNPCsAndGameObjects(){    for (ObjectGuid guid : BattleInactiveNPCs)        if (Creature* creature = GetCreature(guid))            HideNpc(creature);    for (ObjectGuid guid : BattleInactiveGOs)        if (GameObject* gameobject = GetGameObject(guid))            gameobject->SetRespawnTime(RESPAWN_ONE_DAY);    for (ObjectGuid guid : TemporaryNPCs)        if (Creature* creature = GetCreature(guid))            creature->RemoveFromWorld();    TemporaryNPCs.clear();    for (ObjectGuid guid : TemporaryGOs)        if (GameObject* gameobject = GetGameObject(guid))            gameobject->Delete();    TemporaryGOs.clear();    // Tol Barad gates - closed during warmup    if (GameObject* gates = GetGameObject(TBGatesGUID))        gates->SetGoState(GetState() == BATTLEFIELD_WARMUP ? GO_STATE_READY : GO_STATE_ACTIVE);    // Baradin Hold door - open when inactive    if (GameObject* door = GetGameObject(TBDoorGUID))        door->SetGoState(GetState() == BATTLEFIELD_INACTIVE ? GO_STATE_ACTIVE : GO_STATE_READY);    // Decide which cellblock and questgiver will be active.    m_iCellblockRandom = GetState() == BATTLEFIELD_INACTIVE ? urand(CELLBLOCK_THE_HOLE, CELLBLOCK_CURSED_DEPTHS) : uint8(CELLBLOCK_NONE);    // To The Hole gate    if (GameObject* door = GetGameObject(m_gateToTheHoleGUID))        door->SetGoState(m_iCellblockRandom == CELLBLOCK_THE_HOLE ? GO_STATE_ACTIVE : GO_STATE_READY);    // D-Block gate    if (GameObject* door = GetGameObject(m_gateDBlockGUID))        door->SetGoState(m_iCellblockRandom == CELLBLOCK_D_BLOCK ? GO_STATE_ACTIVE : GO_STATE_READY);    // Cursed Depths gate    if (GameObject* door = GetGameObject(m_gateCursedDepthsGUID))        door->SetGoState(m_iCellblockRandom == CELLBLOCK_CURSED_DEPTHS ? GO_STATE_ACTIVE : GO_STATE_READY);    if (GetState() == BATTLEFIELD_INACTIVE)    {        // Delete capture points        for (BfCapturePointMap::iterator itr = m_capturePoints.begin(); itr != m_capturePoints.end(); ++itr)            itr->second->DelCapturePoint();        m_capturePoints.clear();        // Create capture points        for (uint8 i = 0; i < TB_BASE_COUNT; i++)        {            TolBaradCapturePoint* capturePoint = new TolBaradCapturePoint(this, GetDefenderTeam());            //Spawn flag pole            if (GameObject* go = SpawnGameObject(TBCapturePoints[i].entryFlagPole[GetDefenderTeam()], TBCapturePoints[i].pos, QuaternionData()))            {                go->SetGoArtKit(GetDefenderTeam() == TEAM_ALLIANCE ? TB_GO_ARTKIT_FLAG_ALLIANCE : TB_GO_ARTKIT_FLAG_HORDE);                capturePoint->SetCapturePointData(go);            }            AddCapturePoint(capturePoint);        }        for (ObjectGuid guid : BattleInactiveNPCs)            if (Creature* creature = GetCreature(guid))                ShowNpc(creature, true);        for (ObjectGuid guid : BattleInactiveGOs)            if (GameObject* gameobject = GetGameObject(guid))                gameobject->SetRespawnTime(RESPAWN_IMMEDIATELY);        for (uint8 i = 0; i < TB_QUEST_INFANTRY_MAX; i++)        {            uint32 entry = TB_QUEST_INFANTRY[GetDefenderTeam()][urand(0,3)];            if (Creature* creature = SpawnCreature(entry, TBQuestInfantrySpawnData[i]))                TemporaryNPCs.insert(creature->GetGUID());        }        for (uint8 i = 0; i < TB_GUARDS_MAX; i++)            if (Creature* creature = SpawnCreature(GetDefenderTeam() == TEAM_ALLIANCE ? NPC_BARADIN_GUARD : NPC_HELLSCREAMS_SENTRY, GuardNPCSpawns[i]))                TemporaryNPCs.insert(creature->GetGUID());        for (uint8 i = 0; i < TB_FACTION_NPC_MAX; i++)            if (Creature* creature = SpawnCreature(GetDefenderTeam() == TEAM_ALLIANCE ? FactionNPCSpawns[i].entryAlliance : FactionNPCSpawns[i].entryHorde, FactionNPCSpawns[i].pos))                TemporaryNPCs.insert(creature->GetGUID());        if (Creature* creature = SpawnCreature(RandomQuestgivers[GetDefenderTeam()][m_iCellblockRandom], RandomQuestgiverPos))            TemporaryNPCs.insert(creature->GetGUID());        // Spawn portals        for (uint8 i = 0; i < TB_PORTAL_MAX; i++)            if (GameObject* go = SpawnGameObject(TBPortalEntry[GetDefenderTeam()], TBPortals[i], QuaternionData()))                TemporaryGOs.insert(go->GetGUID());        // Update towers        for (ObjectGuid guid : Towers)            if (GameObject* go = GetGameObject(guid))                go->SetDestructibleState(GO_DESTRUCTIBLE_REBUILDING);//.........这里部分代码省略.........
开发者ID:Chaplain,项目名称:TrinityCore,代码行数:101,


示例19: RegisterZone

bool BattlefieldTB::SetupBattlefield(){    m_TypeId                    = BATTLEFIELD_TB;    m_BattleId                  = BATTLEFIELD_BATTLEID_TB;    m_ZoneId                    = BATTLEFIELD_TB_ZONEID;    m_MapId                     = BATTLEFIELD_TB_MAPID;    m_MaxPlayer                 = sWorld->getIntConfig(CONFIG_TOL_BARAD_PLR_MAX);    m_IsEnabled                 = sWorld->getBoolConfig(CONFIG_TOL_BARAD_ENABLE);    m_MinPlayer                 = sWorld->getIntConfig(CONFIG_TOL_BARAD_PLR_MIN);    m_MinLevel                  = sWorld->getIntConfig(CONFIG_TOL_BARAD_PLR_MIN_LVL);    m_BattleTime                = sWorld->getIntConfig(CONFIG_TOL_BARAD_BATTLETIME) * MINUTE * IN_MILLISECONDS;    m_NoWarBattleTime           = sWorld->getIntConfig(CONFIG_TOL_BARAD_NOBATTLETIME) * MINUTE * IN_MILLISECONDS;    m_RestartAfterCrash         = sWorld->getIntConfig(CONFIG_TOL_BARAD_RESTART_AFTER_CRASH) * MINUTE * IN_MILLISECONDS;    m_TimeForAcceptInvite       = 20;    m_StartGroupingTimer        = 15 * MINUTE * IN_MILLISECONDS;    m_StartGrouping             = false;    KickPosition.Relocate(-630.460f, 1184.504f, 95.766f, 0);    KickPosition.m_mapId        = m_MapId;    RegisterZone(m_ZoneId);    m_Data32.resize(BATTLEFIELD_TB_DATA_MAX);    m_Data32[BATTLEFIELD_TB_DATA_CAPTURED] = 0;    m_saveTimer                 = 60000;    SetGraveyardNumber(BATTLEFIELD_TB_GY_MAX);    if ((sWorld->getWorldState(WS_TB_NEXT_BATTLE_TIMER_ENABLED) == 0) && (sWorld->getWorldState(WS_TB_HORDE_DEFENCE) == 0) && (sWorld->getWorldState(ClockBTWorldState[0]) == 0))    {        sWorld->setWorldState(WS_TB_NEXT_BATTLE_TIMER_ENABLED, uint64(false));        sWorld->setWorldState(WS_TB_HORDE_DEFENCE, uint64(urand(0, 1)));        sWorld->setWorldState(ClockBTWorldState[0], uint64(m_NoWarBattleTime));    }    if (sWorld->getWorldState(WS_TB_UNK) == 0)        sWorld->setWorldState(WS_TB_UNK, urand(1, 3));    if (sWorld->getWorldState(WS_TB_UNK_2) == 0)        sWorld->setWorldState(WS_TB_UNK_2, time(NULL) + 86400);    m_isActive = bool(sWorld->getWorldState(WS_TB_NEXT_BATTLE_TIMER_ENABLED));    m_DefenderTeam = (TeamId)sWorld->getWorldState(WS_TB_HORDE_DEFENCE);    m_Timer = sWorld->getWorldState(ClockBTWorldState[0]);    if (m_isActive)    {        m_isActive = false;        m_Timer = m_RestartAfterCrash;    }    for (uint8 i = 0; i < BATTLEFIELD_TB_GY_MAX; i++)    {        BfGraveyardTB* graveyard = new BfGraveyardTB(this);        graveyard->Initialize(TBGraveYard[i].entryh, TBGraveYard[i].entrya, TBGraveYard[i].x, TBGraveYard[i].y,  TBGraveYard[i].z, TBGraveYard[i].o, m_DefenderTeam, TBGraveYard[i].gyid);        m_GraveyardList[i] = graveyard;    }    for (uint8 i = 0; i < TB_MAX_WORKSHOP; i++)    {        BfTBWorkShopData* workshop = new BfTBWorkShopData(this);        workshop->Init(TBWorkShopDataBase[i].worldstate, TBWorkShopDataBase[i].type, TBWorkShopDataBase[i].nameid);        workshop->ChangeControl(GetDefenderTeam(),true);        BfCapturePointTB* point = new BfCapturePointTB(this, GetDefenderTeam());        point->SetCapturePointData(GetDefenderTeam() == TEAM_ALLIANCE ? TBWorkShopDataBase[i].CapturePoint.entrya : TBWorkShopDataBase[i].CapturePoint.entryh, BATTLEFIELD_TB_MAPID,            TBWorkShopDataBase[i].CapturePoint.x, TBWorkShopDataBase[i].CapturePoint.y, TBWorkShopDataBase[i].CapturePoint.z, 0);        point->LinkToWorkShop(workshop);        AddCapturePoint(point);        CapturePoints.insert(point);        WorkShopList.insert(workshop);    }    for (uint8 i = 0; i < TB_MAX_DESTROY_MACHINE_NPC; i++)    {        if (Creature* creature = SpawnCreature(TBDestroyMachineNPC[i].entrya, TBDestroyMachineNPC[i].x, TBDestroyMachineNPC[i].y, TBDestroyMachineNPC[i].z, TBDestroyMachineNPC[i].o, GetAttackerTeam()))        {            HideNpc(creature);            Vehicles.insert(creature->GetGUID());        }    }    for (uint8 i = 0; i < TB_MAX_OBJ; i++)    {        GameObject* go = SpawnGameObject(TBGameObjectBuillding[i].entry, BATTLEFIELD_TB_MAPID, TBGameObjectBuillding[i].x, TBGameObjectBuillding[i].y, TBGameObjectBuillding[i].z, TBGameObjectBuillding[i].o);        BfTBGameObjectBuilding* b = new BfTBGameObjectBuilding(this);        b->Init(go,TBGameObjectBuillding[i].type,TBGameObjectBuillding[i].WorldState,TBGameObjectBuillding[i].nameid);        b->m_State = BATTLEFIELD_TB_OBJECTSTATE_ALLIANCE_INTACT - (GetDefenderTeam() * 3);        BuildingsInZone.insert(b);    }//.........这里部分代码省略.........
开发者ID:Lbniese,项目名称:WoWCircle434,代码行数:101,


示例20: InitStalker

bool BattlefieldTB::SetupBattlefield(){    m_TypeId = BATTLEFIELD_TB;                              // See enum BattlefieldTypes    m_BattleId = BATTLEFIELD_BATTLEID_TB;    m_ZoneId = BATTLEFIELD_TB_ZONEID;    m_MapId = BATTLEFIELD_TB_MAPID;    m_Map = sMapMgr->CreateBaseMap(m_MapId);    InitStalker(NPC_DEBUG_ANNOUNCER, TolBaradDebugAnnouncerPos);    m_MaxPlayer = sWorld->getIntConfig(CONFIG_TOLBARAD_PLR_MAX);    m_IsEnabled = sWorld->getBoolConfig(CONFIG_TOLBARAD_ENABLE);    m_MinPlayer = sWorld->getIntConfig(CONFIG_TOLBARAD_PLR_MIN);    m_MinLevel = sWorld->getIntConfig(CONFIG_TOLBARAD_PLR_MIN_LVL);    m_BattleTime = sWorld->getIntConfig(CONFIG_TOLBARAD_BATTLETIME) * MINUTE * IN_MILLISECONDS;    m_BonusTime = sWorld->getIntConfig(CONFIG_TOLBARAD_BONUSTIME) * MINUTE * IN_MILLISECONDS;    m_NoWarBattleTime = sWorld->getIntConfig(CONFIG_TOLBARAD_NOBATTLETIME) * MINUTE * IN_MILLISECONDS;    m_RestartAfterCrash = sWorld->getIntConfig(CONFIG_TOLBARAD_RESTART_AFTER_CRASH) * MINUTE * IN_MILLISECONDS;    m_TimeForAcceptInvite = 20;    m_StartGroupingTimer = 15 * MINUTE * IN_MILLISECONDS;    m_StartGrouping = false;    m_isActive = false;    KickPosition.Relocate(-605.5f, 1181.31f, 95.96f, 6.177155f);    KickPosition.m_mapId = m_MapId;    RegisterZone(m_ZoneId);    m_Data32.resize(BATTLEFIELD_TB_DATA_MAX);    m_saveTimer = 5 * MINUTE * IN_MILLISECONDS;    updatedNPCAndObjects = true;    m_updateObjectsTimer = 0;    // Was there a battle going on or time isn't set yet? Then use m_RestartAfterCrash    if (sWorld->getWorldState(TB_WS_STATE_BATTLE) == 1 || sWorld->getWorldState(TB_WS_TIME_NEXT_BATTLE) == 0)        sWorld->setWorldState(TB_WS_TIME_NEXT_BATTLE, m_RestartAfterCrash);    // Set timer    m_Timer = sWorld->getWorldState(TB_WS_TIME_NEXT_BATTLE);    // Defending team isn't set yet? Choose randomly.    if (sWorld->getWorldState(TB_WS_FACTION_CONTROLLING) == 0)        sWorld->setWorldState(TB_WS_FACTION_CONTROLLING, uint32(urand(1, 2)));    // Set defender team    SetDefenderTeam(TeamId(sWorld->getWorldState(TB_WS_FACTION_CONTROLLING) - 1));    // Just to save world states    SendInitWorldStatesToAll();    // Create capture points    for (uint8 i = 0; i < TB_BASE_COUNT; i++)    {        TolBaradCapturePoint* capturePoint = new TolBaradCapturePoint(this, GetDefenderTeam());        //Spawn flag pole        if (GameObject* go = SpawnGameObject(TBCapturePoints[i].entryFlagPole[GetDefenderTeam()], TBCapturePoints[i].pos, QuaternionData()))        {            go->SetGoArtKit(GetDefenderTeam() == TEAM_ALLIANCE ? TB_GO_ARTKIT_FLAG_ALLIANCE : TB_GO_ARTKIT_FLAG_HORDE);            capturePoint->SetCapturePointData(go);        }        AddCapturePoint(capturePoint);    }    // Spawn towers    for (uint8 i = 0; i < TB_TOWERS_COUNT; i++)        if (GameObject* go = SpawnGameObject(TBTowers[i].entry, TBTowers[i].pos, QuaternionData()))            Towers.insert(go->GetGUID());    // Init Graveyards    SetGraveyardNumber(BATTLEFIELD_TB_GRAVEYARD_MAX);    // Graveyards    for (uint8 i = 0; i < BATTLEFIELD_TB_GRAVEYARD_MAX; i++)    {        BfGraveyard* graveyard = new BfGraveyard(this);        // When between games, the graveyard is controlled by the defending team        graveyard->Initialize(GetDefenderTeam(), TBGraveyards[i].gyid);        // Spawn spirits        for (uint8 team = 0; team < 2; team++)            if (Creature* creature = SpawnCreature(TBGraveyards[i].spiritEntry[team], TBGraveyards[i].pos))                graveyard->SetSpirit(creature, TeamId(team));        m_GraveyardList[i] = graveyard;    }    // Time warning vars    warnedFiveMinutes = false;    warnedTwoMinutes = false;    warnedOneMinute = false;    UpdateNPCsAndGameObjects();    return true;}
开发者ID:Chaplain,项目名称:TrinityCore,代码行数:100,


示例21: InitStalker

bool BattlefieldWG::SetupBattlefield(){    InitStalker(BATTLEFIELD_WG_NPC_STALKER, WintergraspStalkerPos[0], WintergraspStalkerPos[1], WintergraspStalkerPos[2], WintergraspStalkerPos[3]);    m_TypeId = BATTLEFIELD_WG;                              // See enum BattlefieldTypes    m_BattleId = BATTLEFIELD_BATTLEID_WG;    m_ZoneId = BATTLEFIELD_WG_ZONEID;    _MapId = BATTLEFIELD_WG_MAPID;    m_MaxPlayer = sWorld->getIntConfig(CONFIG_WINTERGRASP_PLAYER_MAX);    m_enable = sWorld->getBoolConfig(CONFIG_WINTERGRASP_ENABLE);    m_MinPlayer = sWorld->getIntConfig(CONFIG_WINTERGRASP_PLAYER_MIN);    m_MinLevel = sWorld->getIntConfig(CONFIG_WINTERGRASP_PLAYER_MIN_LVL);    m_BattleTime = sWorld->getIntConfig(CONFIG_WINTERGRASP_BATTLETIME) * MINUTE * IN_MILLISECONDS;    m_NoWarBattleTime = sWorld->getIntConfig(CONFIG_WINTERGRASP_NOBATTLETIME) * MINUTE * IN_MILLISECONDS;    m_RestartAfterCrash = sWorld->getIntConfig(CONFIG_WINTERGRASP_RESTART_AFTER_CRASH) * MINUTE * IN_MILLISECONDS;    m_TimeForAcceptInvite = 20;    m_StartGroupingTimer = 15 * MINUTE * IN_MILLISECONDS;    m_StartGrouping = false;    m_tenacityStack = 0;    KickPosition.Relocate(5728.117f, 2714.346f, 697.733f, 0);    KickPosition.m_mapId = _MapId;    RegisterZone(m_ZoneId);    m_Data32.resize(BATTLEFIELD_WG_DATA_MAX);    m_saveTimer = 60000;    // Init GraveYards    SetGraveyardNumber(BATTLEFIELD_WG_GY_MAX);    // Load from db    if ((sWorld->getWorldState(BATTLEFIELD_WG_WORLD_STATE_ACTIVE) == 0) && (sWorld->getWorldState(BATTLEFIELD_WG_WORLD_STATE_DEFENDER) == 0)            && (sWorld->getWorldState(ClockWorldState[0]) == 0))    {        sWorld->setWorldState(BATTLEFIELD_WG_WORLD_STATE_ACTIVE, false);        sWorld->setWorldState(BATTLEFIELD_WG_WORLD_STATE_DEFENDER, urand(0, 1));        sWorld->setWorldState(ClockWorldState[0], m_NoWarBattleTime);    }    m_BattlefieldActive = sWorld->getWorldState(BATTLEFIELD_WG_WORLD_STATE_ACTIVE);    m_DefenderTeam = TeamId(sWorld->getWorldState(BATTLEFIELD_WG_WORLD_STATE_DEFENDER));    m_Timer = sWorld->getWorldState(ClockWorldState[0]);    if (m_BattlefieldActive)    {        m_BattlefieldActive = false;        m_Timer = m_RestartAfterCrash;    }    for (uint8 i = 0; i < BATTLEFIELD_WG_GY_MAX; i++)    {        BfGraveYardWG *gy = new BfGraveYardWG(this);        if (WGGraveYard[i].startcontrol == TEAM_NEUTRAL) // When between games, the graveyard is controlled by the defending team            gy->Init(NPC_TAUNKA_SPIRIT_GUIDE, NPC_DWARVEN_SPIRIT_GUIDE, WGGraveYard[i].x, WGGraveYard[i].y, WGGraveYard[i].z, WGGraveYard[i].o, m_DefenderTeam, WGGraveYard[i].gyid);        else            gy->Init(NPC_TAUNKA_SPIRIT_GUIDE, NPC_DWARVEN_SPIRIT_GUIDE, WGGraveYard[i].x, WGGraveYard[i].y, WGGraveYard[i].z, WGGraveYard[i].o, WGGraveYard[i].startcontrol, WGGraveYard[i].gyid);        gy->SetTextId(WGGraveYard[i].textid);        m_GraveYardList[i] = gy;    }    // Spawn workshop creatures and gameobjects    for (uint8 i = 0; i < WG_MAX_WORKSHOP; i++)    {        BfWGWorkShopData *ws = new BfWGWorkShopData(this);      // Create new object        // Init:setup variable        ws->Init(WGWorkShopDataBase[i].worldstate, WGWorkShopDataBase[i].type, WGWorkShopDataBase[i].nameid);        // Spawn associate npc on this point (Guard/Engineer)        for (uint8 c = 0; c < WGWorkShopDataBase[i].nbcreature; c++)            ws->AddCreature(WGWorkShopDataBase[i].CreatureData[c]);        // Spawn associate gameobject on this point (Horde/Alliance flags)        for (uint8 g = 0; g < WGWorkShopDataBase[i].nbgob; g++)            ws->AddGameObject(WGWorkShopDataBase[i].GameObjectData[g]);        // Create PvPCapturePoint        if (WGWorkShopDataBase[i].type < BATTLEFIELD_WG_WORKSHOP_KEEP_WEST)        {            ws->ChangeControl(GetAttackerTeam(), true);     // Update control of this point            // Create Object            BfCapturePointWG *workshop = new BfCapturePointWG(this, GetAttackerTeam());            // Spawn gameobject associate (see in OnGameObjectCreate, of OutdoorPvP for see association)            workshop->SetCapturePointData(WGWorkShopDataBase[i].CapturePoint.entryh, 571,                                          WGWorkShopDataBase[i].CapturePoint.x, WGWorkShopDataBase[i].CapturePoint.y, WGWorkShopDataBase[i].CapturePoint.z, 0);            workshop->LinkToWorkShop(ws);                   // Link our point to the capture point (for faction changement)            AddCapturePoint(workshop);                      // Add this capture point to list for update this (view in Update() of OutdoorPvP)        }        else            ws->ChangeControl(GetDefenderTeam(), true);     // Update control of this point (Keep workshop= to deffender team)        WorkShopList.insert(ws);    }    // Spawning npc in keep    for (uint8 i = 0; i < WG_MAX_KEEP_NPC; i++)    {        // Horde npc//.........这里部分代码省略.........
开发者ID:Gosa1979,项目名称:ArkCORE2,代码行数:101,



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


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