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

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

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

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

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

示例1: TC_LOG_ERROR

bool BattlegroundIC::SetupBattleground(){    for (uint8 i = 0; i < MAX_NORMAL_GAMEOBJECTS_SPAWNS; ++i)    {        if (!AddObject(BG_IC_ObjSpawnlocs[i].type, BG_IC_ObjSpawnlocs[i].entry, BG_IC_ObjSpawnlocs[i].x, BG_IC_ObjSpawnlocs[i].y, BG_IC_ObjSpawnlocs[i].z, BG_IC_ObjSpawnlocs[i].o, 0, 0, 0, 0, RESPAWN_ONE_DAY))        {            TC_LOG_ERROR("bg.battleground", "Isle of Conquest: There was an error spawning gameobject %u", BG_IC_ObjSpawnlocs[i].entry);            return false;        }    }    for (uint8 i = 0; i < MAX_FORTRESS_TELEPORTERS_SPAWNS; ++i)    {        if (!AddObject(BG_IC_Teleporters[i].type, BG_IC_Teleporters[i].entry, BG_IC_Teleporters[i].x, BG_IC_Teleporters[i].y, BG_IC_Teleporters[i].z, BG_IC_Teleporters[i].o, 0, 0, 0, 0, RESPAWN_ONE_DAY))        {            TC_LOG_ERROR("bg.battleground", "Isle of Conquest | Starting Event Open Doors: There was an error spawning gameobject %u", BG_IC_Teleporters[i].entry);            return false;        }    }    for (uint8 i = 0; i < MAX_FORTRESS_TELEPORTER_EFFECTS_SPAWNS; ++i)    {        if (!AddObject(BG_IC_TeleporterEffects[i].type, BG_IC_TeleporterEffects[i].entry, BG_IC_TeleporterEffects[i].x, BG_IC_TeleporterEffects[i].y, BG_IC_TeleporterEffects[i].z, BG_IC_TeleporterEffects[i].o, 0, 0, 0, 0, RESPAWN_ONE_DAY))        {            TC_LOG_ERROR("bg.battleground", "Isle of Conquest | Starting Event Open Doors: There was an error spawning gameobject %u", BG_IC_Teleporters[i].entry);            return false;        }    }    for (uint8 i = 2; i < MAX_NORMAL_NPCS_SPAWNS; ++i)    {        if (!AddCreature(BG_IC_NpcSpawnlocs[i].entry, BG_IC_NpcSpawnlocs[i].type, BG_IC_NpcSpawnlocs[i].x, BG_IC_NpcSpawnlocs[i].y, BG_IC_NpcSpawnlocs[i].z, BG_IC_NpcSpawnlocs[i].o, BG_IC_NpcSpawnlocs[i].team, RESPAWN_ONE_DAY))        {            TC_LOG_ERROR("bg.battleground", "Isle of Conquest: There was an error spawning creature %u", BG_IC_NpcSpawnlocs[i].entry);            return false;        }    }    if (!AddSpiritGuide(BG_IC_NPC_SPIRIT_GUIDE_1+3, BG_IC_SpiritGuidePos[5], TEAM_ALLIANCE)        || !AddSpiritGuide(BG_IC_NPC_SPIRIT_GUIDE_1+4, BG_IC_SpiritGuidePos[6], TEAM_HORDE)        || !AddSpiritGuide(BG_IC_NPC_SPIRIT_GUIDE_1+5, BG_IC_SpiritGuidePos[7], TEAM_ALLIANCE)        || !AddSpiritGuide(BG_IC_NPC_SPIRIT_GUIDE_1+6, BG_IC_SpiritGuidePos[8], TEAM_HORDE))    {        TC_LOG_ERROR("bg.battleground", "Isle of Conquest: Failed to spawn initial spirit guide!");        return false;    }    gunshipHorde = sTransportMgr->CreateTransport(GO_HORDE_GUNSHIP, UI64LIT(0), GetBgMap());    gunshipAlliance = sTransportMgr->CreateTransport(GO_ALLIANCE_GUNSHIP, UI64LIT(0), GetBgMap());    if (!gunshipAlliance || !gunshipHorde)    {        TC_LOG_ERROR("bg.battleground", "Isle of Conquest: There was an error creating gunships!");        return false;    }    gunshipHorde->EnableMovement(false);    gunshipAlliance->EnableMovement(false);    // setting correct factions for Keep Cannons    for (uint8 i = BG_IC_NPC_KEEP_CANNON_1; i <= BG_IC_NPC_KEEP_CANNON_12; ++i)        GetBGCreature(i)->setFaction(BG_IC_Factions[0]);    for (uint8 i = BG_IC_NPC_KEEP_CANNON_13; i <= BG_IC_NPC_KEEP_CANNON_24; ++i)        GetBGCreature(i)->setFaction(BG_IC_Factions[1]);    // correcting spawn time for keeps bombs    for (uint8 i = BG_IC_GO_HUGE_SEAFORIUM_BOMBS_A_1; i < BG_IC_GO_HUGE_SEAFORIUM_BOMBS_H_4; ++i)        GetBGObject(i)->SetRespawnTime(10);    return true;}
开发者ID:Diyvol,项目名称:TrinityCore,代码行数:71,


示例2: GetWorldStateFromGateEntry

void BattlegroundIC::DestroyGate(Player* player, GameObject* go){    GateStatus[GetGateIDFromEntry(go->GetEntry())] = BG_IC_GATE_DESTROYED;    uint32 uws_open = GetWorldStateFromGateEntry(go->GetEntry(), true);    uint32 uws_close = GetWorldStateFromGateEntry(go->GetEntry(), false);    if (uws_open)    {        UpdateWorldState(uws_close, 0);        UpdateWorldState(uws_open, 1);    }    DoorOpen((player->GetTeamId() == TEAM_ALLIANCE ? BG_IC_GO_HORDE_KEEP_PORTCULLIS : BG_IC_GO_DOODAD_PORTCULLISACTIVE02));    uint32 lang_entry = 0;    switch (go->GetEntry())    {        case GO_HORDE_GATE_1:            lang_entry = LANG_BG_IC_NORTH_GATE_DESTROYED;            break;        case GO_HORDE_GATE_2:        case GO_ALLIANCE_GATE_1:            lang_entry = LANG_BG_IC_WEST_GATE_DESTROYED;            break;        case GO_HORDE_GATE_3:        case GO_ALLIANCE_GATE_2:            lang_entry = LANG_BG_IC_EAST_GATE_DESTROYED;            break;        case GO_ALLIANCE_GATE_3:            lang_entry = LANG_BG_IC_SOUTH_GATE_DESTROYED;            break;    default:        break;    }    if (go->GetEntry() == GO_HORDE_GATE_1 || go->GetEntry() == GO_HORDE_GATE_2 || go->GetEntry() == GO_HORDE_GATE_3)    {        if (!GetBgMap()->GetCreature(BgCreatures[BG_IC_NpcSpawnlocs[BG_IC_NPC_OVERLORD_AGMAR].type]) && !AddCreature(BG_IC_NpcSpawnlocs[BG_IC_NPC_OVERLORD_AGMAR].entry, BG_IC_NpcSpawnlocs[BG_IC_NPC_OVERLORD_AGMAR].type, BG_IC_NpcSpawnlocs[BG_IC_NPC_OVERLORD_AGMAR].team, BG_IC_NpcSpawnlocs[BG_IC_NPC_OVERLORD_AGMAR].x, BG_IC_NpcSpawnlocs[BG_IC_NPC_OVERLORD_AGMAR].y, BG_IC_NpcSpawnlocs[BG_IC_NPC_OVERLORD_AGMAR].z, BG_IC_NpcSpawnlocs[BG_IC_NPC_OVERLORD_AGMAR].o, RESPAWN_ONE_DAY))            sLog->outError(LOG_FILTER_BATTLEGROUND, "Isle of Conquest: There was an error spawning creature %u", BG_IC_NpcSpawnlocs[BG_IC_NPC_OVERLORD_AGMAR].entry);    }    else if (go->GetEntry() == GO_ALLIANCE_GATE_1 || go->GetEntry() == GO_ALLIANCE_GATE_2 || go->GetEntry() == GO_ALLIANCE_GATE_3)    {        if (!GetBgMap()->GetCreature(BgCreatures[BG_IC_NpcSpawnlocs[BG_IC_NPC_HIGH_COMMANDER_HALFORD_WYRMBANE].type]) && !AddCreature(BG_IC_NpcSpawnlocs[BG_IC_NPC_HIGH_COMMANDER_HALFORD_WYRMBANE].entry, BG_IC_NpcSpawnlocs[BG_IC_NPC_HIGH_COMMANDER_HALFORD_WYRMBANE].type, BG_IC_NpcSpawnlocs[BG_IC_NPC_HIGH_COMMANDER_HALFORD_WYRMBANE].team, BG_IC_NpcSpawnlocs[BG_IC_NPC_HIGH_COMMANDER_HALFORD_WYRMBANE].x, BG_IC_NpcSpawnlocs[BG_IC_NPC_HIGH_COMMANDER_HALFORD_WYRMBANE].y, BG_IC_NpcSpawnlocs[BG_IC_NPC_HIGH_COMMANDER_HALFORD_WYRMBANE].z, BG_IC_NpcSpawnlocs[BG_IC_NPC_HIGH_COMMANDER_HALFORD_WYRMBANE].o, RESPAWN_ONE_DAY))            sLog->outError(LOG_FILTER_BATTLEGROUND, "Isle of Conquest: There was an error spawning creature %u", BG_IC_NpcSpawnlocs[BG_IC_NPC_HIGH_COMMANDER_HALFORD_WYRMBANE].entry);    }    SendMessage2ToAll(lang_entry, CHAT_MSG_BG_SYSTEM_NEUTRAL, NULL, (player->GetTeamId() == TEAM_ALLIANCE ? LANG_BG_IC_HORDE_KEEP : LANG_BG_IC_ALLIANCE_KEEP));}
开发者ID:ForesterDev,项目名称:trinitycore-m4a,代码行数:47,


示例3: SetupBattleground

bool BattlegroundIC::SetupBattleground(){    for (uint8 i = 0; i < MAX_NORMAL_GAMEOBJECTS_SPAWNS; ++i)    {        if (!AddObject(BG_IC_ObjSpawnlocs[i].type, BG_IC_ObjSpawnlocs[i].entry,            BG_IC_ObjSpawnlocs[i].x, BG_IC_ObjSpawnlocs[i].y,            BG_IC_ObjSpawnlocs[i].z, BG_IC_ObjSpawnlocs[i].o,            0, 0, 0, 0, RESPAWN_ONE_DAY))        {            sLog->outError(LOG_FILTER_BATTLEGROUND, "Isle of Conquest: There was an error spawning gameobject %u", BG_IC_ObjSpawnlocs[i].entry);            return false;        }    }    for (uint8 i = 2; i < MAX_NORMAL_NPCS_SPAWNS; ++i)    {        if (!AddCreature(BG_IC_NpcSpawnlocs[i].entry, BG_IC_NpcSpawnlocs[i].type, BG_IC_NpcSpawnlocs[i].team,            BG_IC_NpcSpawnlocs[i].x, BG_IC_NpcSpawnlocs[i].y,            BG_IC_NpcSpawnlocs[i].z, BG_IC_NpcSpawnlocs[i].o,            RESPAWN_ONE_DAY))        {            sLog->outError(LOG_FILTER_BATTLEGROUND, "Isle of Conquest: There was an error spawning creature %u", BG_IC_NpcSpawnlocs[i].entry);            return false;        }    }    if (!AddSpiritGuide(BG_IC_NPC_SPIRIT_GUIDE_1+5, BG_IC_SpiritGuidePos[5][0], BG_IC_SpiritGuidePos[5][1], BG_IC_SpiritGuidePos[5][2], BG_IC_SpiritGuidePos[5][3], ALLIANCE)        || !AddSpiritGuide(BG_IC_NPC_SPIRIT_GUIDE_1+6, BG_IC_SpiritGuidePos[6][0], BG_IC_SpiritGuidePos[6][1], BG_IC_SpiritGuidePos[6][2], BG_IC_SpiritGuidePos[6][3], HORDE)        || !AddSpiritGuide(BG_IC_NPC_SPIRIT_GUIDE_1+3, BG_IC_SpiritGuidePos[7][0], BG_IC_SpiritGuidePos[7][1], BG_IC_SpiritGuidePos[7][2], BG_IC_SpiritGuidePos[7][3], ALLIANCE)        || !AddSpiritGuide(BG_IC_NPC_SPIRIT_GUIDE_1+4, BG_IC_SpiritGuidePos[8][0], BG_IC_SpiritGuidePos[8][1], BG_IC_SpiritGuidePos[8][2], BG_IC_SpiritGuidePos[8][3], HORDE))    {        sLog->outError(LOG_FILTER_BATTLEGROUND, "Isle of Conquest: Failed to spawn initial spirit guide!");        return false;    }    gunshipHorde = CreateTransport(GO_HORDE_GUNSHIP, TRANSPORT_PERIOD_TIME);    gunshipAlliance = CreateTransport(GO_ALLIANCE_GUNSHIP, TRANSPORT_PERIOD_TIME);    if (!gunshipAlliance || !gunshipHorde)    {        sLog->outError(LOG_FILTER_BATTLEGROUND, "Isle of Conquest: There was an error creating gunships!");        return false;    }    //Send transport init packet to all player in map    for (BattlegroundPlayerMap::const_iterator itr = GetPlayers().begin(); itr != GetPlayers().end(); ++itr)    {        if (Player* player = ObjectAccessor::FindPlayer(itr->first))            SendTransportInit(player);    }    // setting correct factions for Keep Cannons    for (uint8 i = BG_IC_NPC_KEEP_CANNON_1; i < BG_IC_NPC_KEEP_CANNON_12; ++i)        GetBGCreature(i)->setFaction(BG_IC_Factions[0]);    for (uint8 i = BG_IC_NPC_KEEP_CANNON_13; i < BG_IC_NPC_KEEP_CANNON_25; ++i)        GetBGCreature(i)->setFaction(BG_IC_Factions[1]);    // correcting spawn time for keeps bombs    for (uint8 i = BG_IC_GO_HUGE_SEAFORIUM_BOMBS_A_1; i < BG_IC_GO_HUGE_SEAFORIUM_BOMBS_H_4; ++i)        GetBGObject(i)->SetRespawnTime(10);    return true;}
开发者ID:ForesterDev,项目名称:trinitycore-m4a,代码行数:63,


示例4: switch

void BattlegroundIC::HandleCapturedNodes(ICNodePoint* nodePoint, bool recapture){    if (nodePoint->nodeType != NODE_TYPE_REFINERY && nodePoint->nodeType != NODE_TYPE_QUARRY)    {        if (!AddSpiritGuide(BG_IC_NPC_SPIRIT_GUIDE_1+nodePoint->nodeType-2,            BG_IC_SpiritGuidePos[nodePoint->nodeType][0], BG_IC_SpiritGuidePos[nodePoint->nodeType][1],            BG_IC_SpiritGuidePos[nodePoint->nodeType][2], BG_IC_SpiritGuidePos[nodePoint->nodeType][3],            (nodePoint->faction == TEAM_ALLIANCE ? ALLIANCE : HORDE)))            sLog->outError(LOG_FILTER_BATTLEGROUND, "Isle of Conquest: Failed to spawn spirit guide! point: %u, team: %u, ", nodePoint->nodeType, nodePoint->faction);    }    switch (nodePoint->gameobject_type)    {        case BG_IC_GO_HANGAR_BANNER:            // all the players on the stopped transport should be teleported out            if (!gunshipAlliance || !gunshipHorde)                break;            for (uint8 u = 0; u < MAX_HANGAR_TELEPORTERS_SPAWNS; ++u)            {                uint8 type = BG_IC_GO_HANGAR_TELEPORTER_1+u;                AddObject(type, (nodePoint->faction == TEAM_ALLIANCE ? GO_ALLIANCE_GUNSHIP_PORTAL : GO_HORDE_GUNSHIP_PORTAL),                    BG_IC_HangarTeleporters[u].GetPositionX(), BG_IC_HangarTeleporters[u].GetPositionY(),                    BG_IC_HangarTeleporters[u].GetPositionZ(), BG_IC_HangarTeleporters[u].GetOrientation(),                    0, 0, 0, 0, RESPAWN_ONE_DAY);            }            //sLog->outError(LOG_FILTER_BATTLEGROUND, "BG_IC_GO_HANGAR_BANNER CAPTURED Faction: %u", nodePoint->faction);            (nodePoint->faction == TEAM_ALLIANCE ? gunshipAlliance : gunshipHorde)->BuildStartMovePacket(GetBgMap());            (nodePoint->faction == TEAM_ALLIANCE ? gunshipHorde : gunshipAlliance)->BuildStopMovePacket(GetBgMap());            // we should spawn teleporters            break;        case BG_IC_GO_QUARRY_BANNER:            RemoveAuraOnTeam(SPELL_QUARRY, (nodePoint->faction == TEAM_ALLIANCE ? HORDE : ALLIANCE));            CastSpellOnTeam(SPELL_QUARRY, (nodePoint->faction == TEAM_ALLIANCE ? ALLIANCE : HORDE));            break;        case BG_IC_GO_REFINERY_BANNER:            RemoveAuraOnTeam(SPELL_OIL_REFINERY, (nodePoint->faction == TEAM_ALLIANCE ? HORDE : ALLIANCE));            CastSpellOnTeam(SPELL_OIL_REFINERY, (nodePoint->faction == TEAM_ALLIANCE ? ALLIANCE : HORDE));            break;        case BG_IC_GO_DOCKS_BANNER:            if (recapture)                break;            if (docksTimer < DOCKS_UPDATE_TIME)                docksTimer = DOCKS_UPDATE_TIME;            // we must del opposing faction vehicles when the node is captured (unused ones)            for (uint8 i = (nodePoint->faction == TEAM_ALLIANCE ? BG_IC_NPC_GLAIVE_THROWER_1_H : BG_IC_NPC_GLAIVE_THROWER_1_A); i < (nodePoint->faction == TEAM_ALLIANCE ? BG_IC_NPC_GLAIVE_THROWER_2_H : BG_IC_NPC_GLAIVE_THROWER_2_A); ++i)            {                if (Creature* glaiveThrower = GetBGCreature(i))                {                    if (Vehicle* vehicleGlaive = glaiveThrower->GetVehicleKit())                    {                        if (!vehicleGlaive->GetPassenger(0))                            DelCreature(i);                    }                }            }            for (uint8 i = (nodePoint->faction == TEAM_ALLIANCE ? BG_IC_NPC_CATAPULT_1_H : BG_IC_NPC_CATAPULT_1_A); i < (nodePoint->faction == TEAM_ALLIANCE ? BG_IC_NPC_CATAPULT_4_H  : BG_IC_NPC_CATAPULT_4_A); ++i)            {                if (Creature* catapult = GetBGCreature(i))                {                    if (Vehicle* vehicleGlaive = catapult->GetVehicleKit())                    {                        if (!vehicleGlaive->GetPassenger(0))                            DelCreature(i);                    }                }            }            // spawning glaive throwers            for (uint8 i = 0; i < MAX_GLAIVE_THROWERS_SPAWNS_PER_FACTION; ++i)            {                uint8 type = (nodePoint->faction == TEAM_ALLIANCE ? BG_IC_NPC_GLAIVE_THROWER_1_A : BG_IC_NPC_GLAIVE_THROWER_1_H)+i;                if (GetBGCreature(type) && GetBGCreature(type)->isAlive())                    continue;                if (AddCreature(nodePoint->faction == TEAM_ALLIANCE ? NPC_GLAIVE_THROWER_A : NPC_GLAIVE_THROWER_H, type, nodePoint->faction,                        BG_IC_DocksVehiclesGlaives[i].GetPositionX(), BG_IC_DocksVehiclesGlaives[i].GetPositionY(),                        BG_IC_DocksVehiclesGlaives[i].GetPositionZ(), BG_IC_DocksVehiclesGlaives[i].GetOrientation(),                        RESPAWN_ONE_DAY))                        GetBGCreature(type)->setFaction(BG_IC_Factions[(nodePoint->faction == TEAM_ALLIANCE ? 0 : 1)]);            }            // spawning catapults            for (uint8 i = 0; i < MAX_CATAPULTS_SPAWNS_PER_FACTION; ++i)            {                uint8 type = (nodePoint->faction == TEAM_ALLIANCE ? BG_IC_NPC_CATAPULT_1_A : BG_IC_NPC_CATAPULT_1_H)+i;                if (GetBGCreature(type) && GetBGCreature(type)->isAlive())                    continue;                if (AddCreature(NPC_CATAPULT, type, nodePoint->faction,                        BG_IC_DocksVehiclesCatapults[i].GetPositionX(), BG_IC_DocksVehiclesCatapults[i].GetPositionY(),                        BG_IC_DocksVehiclesCatapults[i].GetPositionZ(), BG_IC_DocksVehiclesCatapults[i].GetOrientation(),//.........这里部分代码省略.........
开发者ID:ForesterDev,项目名称:trinitycore-m4a,代码行数:101,


示例5: DelCreature

void BattlegroundSA::CaptureGraveyard(BG_SA_Graveyards i, Player* Source){    if (GraveyardStatus[i] == Attackers)        return;    DelCreature(BG_SA_MAXNPC + i);    GraveyardStatus[i] = Source->GetTeamId();    WorldSafeLocsEntry const* sg = sWorldSafeLocsStore.LookupEntry(BG_SA_GYEntries[i]);    if (!sg)    {        TC_LOG_ERROR("bg.battleground", "BattlegroundSA::CaptureGraveyard: non-existant GY entry: %u", BG_SA_GYEntries[i]);        return;    }    AddSpiritGuide(i + BG_SA_MAXNPC, sg->x, sg->y, sg->z, BG_SA_GYOrientation[i], GraveyardStatus[i]);    uint32 npc = 0;    uint32 flag = 0;    switch (i)    {        case BG_SA_LEFT_CAPTURABLE_GY:            flag = BG_SA_LEFT_FLAG;            DelObject(flag);            AddObject(flag, (BG_SA_ObjEntries[flag] - (Source->GetTeamId() == TEAM_ALLIANCE ? 0 : 1)),                BG_SA_ObjSpawnlocs[flag], 0, 0, 0, 0, RESPAWN_ONE_DAY);            npc = BG_SA_NPC_RIGSPARK;            if (Creature* rigspark = AddCreature(BG_SA_NpcEntries[npc], npc, BG_SA_NpcSpawnlocs[npc], Attackers))                rigspark->AI()->Talk(TEXT_SPARKLIGHT_RIGSPARK_SPAWN);            for (uint8 j = BG_SA_DEMOLISHER_7; j <= BG_SA_DEMOLISHER_8; j++)            {                AddCreature(BG_SA_NpcEntries[j], j, BG_SA_NpcSpawnlocs[j], (Attackers == TEAM_ALLIANCE ? TEAM_HORDE : TEAM_ALLIANCE), 600);                if (Creature* dem = GetBGCreature(j))                    dem->setFaction(BG_SA_Factions[Attackers]);            }            UpdateWorldState(BG_SA_LEFT_GY_ALLIANCE, GraveyardStatus[i] == TEAM_ALLIANCE);            UpdateWorldState(BG_SA_LEFT_GY_HORDE, GraveyardStatus[i] == TEAM_HORDE);            if (Creature* c = Source->FindNearestCreature(NPC_WORLD_TRIGGER, 500.0f))                SendChatMessage(c, Source->GetTeamId() == TEAM_ALLIANCE ? TEXT_WEST_GRAVEYARD_CAPTURED_A : TEXT_WEST_GRAVEYARD_CAPTURED_H, Source);            break;        case BG_SA_RIGHT_CAPTURABLE_GY:            flag = BG_SA_RIGHT_FLAG;            DelObject(flag);            AddObject(flag, (BG_SA_ObjEntries[flag] - (Source->GetTeamId() == TEAM_ALLIANCE ? 0 : 1)),                BG_SA_ObjSpawnlocs[flag], 0, 0, 0, 0, RESPAWN_ONE_DAY);            npc = BG_SA_NPC_SPARKLIGHT;            if (Creature* sparklight = AddCreature(BG_SA_NpcEntries[npc], npc, BG_SA_NpcSpawnlocs[npc], Attackers))                sparklight->AI()->Talk(TEXT_SPARKLIGHT_RIGSPARK_SPAWN);            for (uint8 j = BG_SA_DEMOLISHER_5; j <= BG_SA_DEMOLISHER_6; j++)            {                AddCreature(BG_SA_NpcEntries[j], j, BG_SA_NpcSpawnlocs[j], Attackers == TEAM_ALLIANCE ? TEAM_HORDE : TEAM_ALLIANCE, 600);                if (Creature* dem = GetBGCreature(j))                    dem->setFaction(BG_SA_Factions[Attackers]);            }            UpdateWorldState(BG_SA_RIGHT_GY_ALLIANCE, GraveyardStatus[i] == TEAM_ALLIANCE);            UpdateWorldState(BG_SA_RIGHT_GY_HORDE, GraveyardStatus[i] == TEAM_HORDE);            if (Creature* c = Source->FindNearestCreature(NPC_WORLD_TRIGGER, 500.0f))                SendChatMessage(c, Source->GetTeamId() == TEAM_ALLIANCE ? TEXT_EAST_GRAVEYARD_CAPTURED_A : TEXT_EAST_GRAVEYARD_CAPTURED_H, Source);            break;        case BG_SA_CENTRAL_CAPTURABLE_GY:            flag = BG_SA_CENTRAL_FLAG;            DelObject(flag);            AddObject(flag, (BG_SA_ObjEntries[flag] - (Source->GetTeamId() == TEAM_ALLIANCE ? 0 : 1)),              BG_SA_ObjSpawnlocs[flag], 0, 0, 0, 0, RESPAWN_ONE_DAY);            UpdateWorldState(BG_SA_CENTER_GY_ALLIANCE, GraveyardStatus[i] == TEAM_ALLIANCE);            UpdateWorldState(BG_SA_CENTER_GY_HORDE, GraveyardStatus[i] == TEAM_HORDE);            if (Creature* c = Source->FindNearestCreature(NPC_WORLD_TRIGGER, 500.0f))                SendChatMessage(c, Source->GetTeamId() == TEAM_ALLIANCE ? TEXT_SOUTH_GRAVEYARD_CAPTURED_A : TEXT_SOUTH_GRAVEYARD_CAPTURED_H, Source);            break;        default:            ASSERT(false);            break;    };}
开发者ID:Allysia1,项目名称:TrinityCore,代码行数:88,


示例6: SendTransportsRemove

bool BattlegroundSA::ResetObjs(){    for (BattlegroundPlayerMap::const_iterator itr = GetPlayers().begin(); itr != GetPlayers().end(); ++itr)        if (Player* player = ObjectAccessor::FindPlayer(itr->first))            SendTransportsRemove(player);    uint32 atF = BG_SA_Factions[Attackers];    uint32 defF = BG_SA_Factions[Attackers ? TEAM_ALLIANCE : TEAM_HORDE];    for (uint8 i = 0; i < BG_SA_MAXOBJ; i++)        DelObject(i);    for (uint8 i = 0; i < BG_SA_MAXNPC; i++)        DelCreature(i);    for (uint8 i = BG_SA_MAXNPC; i < BG_SA_MAXNPC + BG_SA_MAX_GY; i++)        DelCreature(i);    for (uint8 i = 0; i < 6; i++)        GateStatus[i] = BG_SA_GATE_OK;    AddCreature(BG_SA_NpcEntries[BG_SA_NPC_KANRETHAD], BG_SA_NPC_KANRETHAD, BG_SA_NpcSpawnlocs[BG_SA_NPC_KANRETHAD]);    for (uint8 i = 0; i <= BG_SA_PORTAL_DEFFENDER_RED; i++)    {        if (!AddObject(i, BG_SA_ObjEntries[i], BG_SA_ObjSpawnlocs[i], 0, 0, 0, 0, RESPAWN_ONE_DAY))            return false;    }    for (uint8 i = BG_SA_BOAT_ONE; i <= BG_SA_BOAT_TWO; i++)    {        uint32 boatid = 0;        switch (i)        {            case BG_SA_BOAT_ONE:                boatid = Attackers ? BG_SA_BOAT_ONE_H : BG_SA_BOAT_ONE_A;                break;            case BG_SA_BOAT_TWO:                boatid = Attackers ? BG_SA_BOAT_TWO_H : BG_SA_BOAT_TWO_A;                break;            default:                break;        }        if (!AddObject(i, boatid, BG_SA_ObjSpawnlocs[i].GetPositionX(),          BG_SA_ObjSpawnlocs[i].GetPositionY(),          BG_SA_ObjSpawnlocs[i].GetPositionZ() + (Attackers ? -3.750f: 0),          BG_SA_ObjSpawnlocs[i].GetOrientation(), 0, 0, 0, 0, RESPAWN_ONE_DAY))            return false;    }    for (uint8 i = BG_SA_SIGIL_1; i <= BG_SA_LEFT_FLAGPOLE; i++)    {        if (!AddObject(i, BG_SA_ObjEntries[i], BG_SA_ObjSpawnlocs[i], 0, 0, 0, 0, RESPAWN_ONE_DAY))            return false;    }    // MAD props for Kiper for discovering those values - 4 hours of his work.    GetBGObject(BG_SA_BOAT_ONE)->UpdateRotationFields(1.0f, 0.0002f);    GetBGObject(BG_SA_BOAT_TWO)->UpdateRotationFields(1.0f, 0.00001f);    SpawnBGObject(BG_SA_BOAT_ONE, RESPAWN_IMMEDIATELY);    SpawnBGObject(BG_SA_BOAT_TWO, RESPAWN_IMMEDIATELY);    //Cannons and demolishers - NPCs are spawned    //By capturing GYs.    for (uint8 i = 0; i < BG_SA_DEMOLISHER_5; i++)    {        if (!AddCreature(BG_SA_NpcEntries[i], i, BG_SA_NpcSpawnlocs[i], Attackers == TEAM_ALLIANCE ? TEAM_HORDE : TEAM_ALLIANCE, 600))            return false;    }    OverrideGunFaction();    DemolisherStartState(true);    for (uint8 i = 0; i <= BG_SA_PORTAL_DEFFENDER_RED; i++)    {        SpawnBGObject(i, RESPAWN_IMMEDIATELY);        GetBGObject(i)->SetFaction(defF);    }    GetBGObject(BG_SA_TITAN_RELIC)->SetFaction(atF);    GetBGObject(BG_SA_TITAN_RELIC)->Refresh();    for (uint8 i = 0; i <= 5; i++)        GateStatus[i] = BG_SA_GATE_OK;    TotalTime = 0;    ShipsStarted = false;    //Graveyards    for (uint8 i = 0; i < BG_SA_MAX_GY; i++)    {        WorldSafeLocsEntry const* sg = NULL;        sg = sWorldSafeLocsStore.LookupEntry(BG_SA_GYEntries[i]);        if (!sg)        {            TC_LOG_ERROR("bg.battleground", "SOTA: Can't find GY entry %u", BG_SA_GYEntries[i]);            return false;        }//.........这里部分代码省略.........
开发者ID:Allysia1,项目名称:TrinityCore,代码行数:101,


示例7: DelCreature

void BattlegroundSA::CaptureGraveyard(BG_SA_Graveyards i, Player* Source){    if (GraveyardStatus[i] == Attackers)        return;    DelCreature(BG_SA_MAXNPC + i);    GraveyardStatus[i] = Source->GetTeamId();    WorldSafeLocsEntry const* sg = sWorldSafeLocsStore.LookupEntry(BG_SA_GYEntries[i]);    if (!sg)    {        TC_LOG_ERROR("bg.battleground", "BattlegroundSA::CaptureGraveyard: non-existant GY entry: %u", BG_SA_GYEntries[i]);        return;    }    AddSpiritGuide(i + BG_SA_MAXNPC, sg->x, sg->y, sg->z, BG_SA_GYOrientation[i], (GraveyardStatus[i] == TEAM_ALLIANCE?  ALLIANCE : HORDE));    uint32 npc = 0;    uint32 flag = 0;    switch (i)    {        case BG_SA_LEFT_CAPTURABLE_GY:            flag = BG_SA_LEFT_FLAG;            DelObject(flag);            AddObject(flag, (BG_SA_ObjEntries[flag] - (Source->GetTeamId() == TEAM_ALLIANCE ? 0 : 1)),            BG_SA_ObjSpawnlocs[flag][0], BG_SA_ObjSpawnlocs[flag][1],            BG_SA_ObjSpawnlocs[flag][2], BG_SA_ObjSpawnlocs[flag][3], 0, 0, 0, 0, RESPAWN_ONE_DAY);            npc = BG_SA_NPC_RIGSPARK;            AddCreature(BG_SA_NpcEntries[npc], npc, Attackers,              BG_SA_NpcSpawnlocs[npc][0], BG_SA_NpcSpawnlocs[npc][1],              BG_SA_NpcSpawnlocs[npc][2], BG_SA_NpcSpawnlocs[npc][3]);            for (uint8 j = BG_SA_DEMOLISHER_7; j <= BG_SA_DEMOLISHER_8; j++)            {                AddCreature(BG_SA_NpcEntries[j], j, (Attackers == TEAM_ALLIANCE ? TEAM_HORDE : TEAM_ALLIANCE),                    BG_SA_NpcSpawnlocs[j][0], BG_SA_NpcSpawnlocs[j][1],                    BG_SA_NpcSpawnlocs[j][2], BG_SA_NpcSpawnlocs[j][3], 600);                if (Creature* dem = GetBGCreature(j))                    dem->setFaction(BG_SA_Factions[Attackers]);            }            UpdateWorldState(BG_SA_LEFT_GY_ALLIANCE, (GraveyardStatus[i] == TEAM_ALLIANCE ? 1 : 0));            UpdateWorldState(BG_SA_LEFT_GY_HORDE, (GraveyardStatus[i] == TEAM_ALLIANCE ? 0 : 1));            if (Source->GetTeamId() == TEAM_ALLIANCE)                SendWarningToAll(LANG_BG_SA_A_GY_WEST);            else                SendWarningToAll(LANG_BG_SA_H_GY_WEST);            break;        case BG_SA_RIGHT_CAPTURABLE_GY:            flag = BG_SA_RIGHT_FLAG;            DelObject(flag);            AddObject(flag, (BG_SA_ObjEntries[flag] - (Source->GetTeamId() == TEAM_ALLIANCE ? 0 : 1)),              BG_SA_ObjSpawnlocs[flag][0], BG_SA_ObjSpawnlocs[flag][1],              BG_SA_ObjSpawnlocs[flag][2], BG_SA_ObjSpawnlocs[flag][3], 0, 0, 0, 0, RESPAWN_ONE_DAY);            npc = BG_SA_NPC_SPARKLIGHT;            AddCreature(BG_SA_NpcEntries[npc], npc, Attackers,              BG_SA_NpcSpawnlocs[npc][0], BG_SA_NpcSpawnlocs[npc][1],              BG_SA_NpcSpawnlocs[npc][2], BG_SA_NpcSpawnlocs[npc][3]);            for (uint8 j = BG_SA_DEMOLISHER_5; j <= BG_SA_DEMOLISHER_6; j++)            {                AddCreature(BG_SA_NpcEntries[j], j, (Attackers == TEAM_ALLIANCE ? TEAM_HORDE : TEAM_ALLIANCE),                    BG_SA_NpcSpawnlocs[j][0], BG_SA_NpcSpawnlocs[j][1],                    BG_SA_NpcSpawnlocs[j][2], BG_SA_NpcSpawnlocs[j][3], 600);                if (Creature* dem = GetBGCreature(j))                    dem->setFaction(BG_SA_Factions[Attackers]);            }            UpdateWorldState(BG_SA_RIGHT_GY_ALLIANCE, (GraveyardStatus[i] == TEAM_ALLIANCE ? 1 : 0));            UpdateWorldState(BG_SA_RIGHT_GY_HORDE, (GraveyardStatus[i] == TEAM_ALLIANCE ? 0 : 1));            if (Source->GetTeamId() == TEAM_ALLIANCE)                SendWarningToAll(LANG_BG_SA_A_GY_EAST);            else                SendWarningToAll(LANG_BG_SA_H_GY_EAST);            break;        case BG_SA_CENTRAL_CAPTURABLE_GY:            flag = BG_SA_CENTRAL_FLAG;            DelObject(flag);            AddObject(flag, (BG_SA_ObjEntries[flag] - (Source->GetTeamId() == TEAM_ALLIANCE ? 0 : 1)),              BG_SA_ObjSpawnlocs[flag][0], BG_SA_ObjSpawnlocs[flag][1],              BG_SA_ObjSpawnlocs[flag][2], BG_SA_ObjSpawnlocs[flag][3], 0, 0, 0, 0, RESPAWN_ONE_DAY);            UpdateWorldState(BG_SA_CENTER_GY_ALLIANCE, (GraveyardStatus[i] == TEAM_ALLIANCE ? 1 : 0));            UpdateWorldState(BG_SA_CENTER_GY_HORDE, (GraveyardStatus[i] == TEAM_ALLIANCE ? 0 : 1));            if (Source->GetTeamId() == TEAM_ALLIANCE)                SendWarningToAll(LANG_BG_SA_A_GY_SOUTH);            else                SendWarningToAll(LANG_BG_SA_H_GY_SOUTH);            break;        default:            ASSERT(false);            break;    };}
开发者ID:Davuk,项目名称:SkyFire.548,代码行数:97,


示例8: SpawnBGObject

void BattlegroundEY::EventTeamCapturedPoint(Player* Source, uint32 Point){    if (GetStatus() != STATUS_IN_PROGRESS)        return;    uint32 Team = Source->GetTeam();    SpawnBGObject(m_CapturingPointTypes[Point].DespawnNeutralObjectType, RESPAWN_ONE_DAY);    SpawnBGObject(m_CapturingPointTypes[Point].DespawnNeutralObjectType + 1, RESPAWN_ONE_DAY);    SpawnBGObject(m_CapturingPointTypes[Point].DespawnNeutralObjectType + 2, RESPAWN_ONE_DAY);    if (Team == ALLIANCE)    {        m_TeamPointsCount[TEAM_ALLIANCE]++;        SpawnBGObject(m_CapturingPointTypes[Point].SpawnObjectTypeAlliance, RESPAWN_IMMEDIATELY);        SpawnBGObject(m_CapturingPointTypes[Point].SpawnObjectTypeAlliance + 1, RESPAWN_IMMEDIATELY);        SpawnBGObject(m_CapturingPointTypes[Point].SpawnObjectTypeAlliance + 2, RESPAWN_IMMEDIATELY);    }    else    {        m_TeamPointsCount[TEAM_HORDE]++;        SpawnBGObject(m_CapturingPointTypes[Point].SpawnObjectTypeHorde, RESPAWN_IMMEDIATELY);        SpawnBGObject(m_CapturingPointTypes[Point].SpawnObjectTypeHorde + 1, RESPAWN_IMMEDIATELY);        SpawnBGObject(m_CapturingPointTypes[Point].SpawnObjectTypeHorde + 2, RESPAWN_IMMEDIATELY);    }    //buff isn't respawned    m_PointOwnedByTeam[Point] = Team;    m_PointState[Point] = EY_POINT_UNDER_CONTROL;    if (Team == ALLIANCE)        SendMessageToAll(m_CapturingPointTypes[Point].MessageIdAlliance, CHAT_MSG_BG_SYSTEM_ALLIANCE, Source);    else        SendMessageToAll(m_CapturingPointTypes[Point].MessageIdHorde, CHAT_MSG_BG_SYSTEM_HORDE, Source);    if (BgCreatures[Point])        DelCreature(Point);    WorldSafeLocsEntry const* sg = NULL;    sg = sWorldSafeLocsStore.LookupEntry(m_CapturingPointTypes[Point].GraveYardId);    if (!sg || !AddSpiritGuide(Point, sg->x, sg->y, sg->z, 3.124139f, Team))        sLog->outError(LOG_FILTER_BATTLEGROUND, "BatteGroundEY: Failed to spawn spirit guide! point: %u, team: %u, graveyard_id: %u",            Point, Team, m_CapturingPointTypes[Point].GraveYardId);//    SpawnBGCreature(Point, RESPAWN_IMMEDIATELY);    UpdatePointsIcons(Team, Point);    UpdatePointsCount(Team);    if (Point >= EY_POINTS_MAX)        return;    Creature* trigger = GetBGCreature(Point + 6);//0-5 spirit guides    if (!trigger)       trigger = AddCreature(WORLD_TRIGGER, Point+6, Team, BG_EY_TriggerPositions[Point][0], BG_EY_TriggerPositions[Point][1], BG_EY_TriggerPositions[Point][2], BG_EY_TriggerPositions[Point][3]);    //add bonus honor aura trigger creature when node is accupied    //cast bonus aura (+50% honor in 25yards)    //aura should only apply to players who have accupied the node, set correct faction for trigger    if (trigger)    {        trigger->setFaction(Team == ALLIANCE ? 84 : 83);        trigger->CastSpell(trigger, SPELL_HONORABLE_DEFENDER_25Y, false);    }}
开发者ID:Betaman2k,项目名称:TrinityCore,代码行数:66,


示例9: AddCreature

void WintergraspWorkshopData::Init(uint8 team){    // Outside Workshops    if (m_workshopId < BATTLEFIELD_WG_WORKSHOP_KEEP_WEST)    {        // Set worldstate and nameId        m_WorldState = CapturableWorkshops[m_workshopId].worldState;        m_NameId = CapturableWorkshops[m_workshopId].nameId;        // Spawning Workshop        WintergraspObjectPositionData workshop = CapturableWorkshops[m_workshopId].GameObjectMain[0];        GameObject* pWorkshop = m_WG->SpawnGameObject(workshop.entryHorde, workshop.x, workshop.y, workshop.z, workshop.o);        if (!pWorkshop)            return;        // Spawning Engineer, save them separate        WintergraspObjectPositionData engineer = CapturableWorkshops[m_workshopId].Engineer;        if (Creature* pEngineer = m_WG->SpawnCreature(engineer.entryHorde, engineer.x, engineer.y, engineer.z, engineer.o, TEAM_HORDE))            m_Engineer[TEAM_HORDE] = pEngineer->GetGUID();        if (Creature* pEngineer = m_WG->SpawnCreature(engineer.entryAlliance, engineer.x, engineer.y, engineer.z, engineer.o, TEAM_ALLIANCE))            m_Engineer[TEAM_ALLIANCE] = pEngineer->GetGUID();        // Spawning Spirit Keeper and link him to the graveyard        if (BfGraveyard* pGrave = m_WG->GetGraveyardById(m_workshopId))        {            WintergraspObjectPositionData spirit = CapturableWorkshops[m_workshopId].SpiritGuide;            if (Creature* pSpirit = m_WG->SpawnCreature(spirit.entryHorde, spirit.x, spirit.y, spirit.z, spirit.o, TEAM_HORDE))                // Link spirit to graveyard                pGrave->SetSpirit(pSpirit, TEAM_HORDE);            if (Creature* pSpirit = m_WG->SpawnCreature(spirit.entryAlliance, spirit.x, spirit.y, spirit.z, spirit.o, TEAM_ALLIANCE))                // Link spirit to graveyard                pGrave->SetSpirit(pSpirit, TEAM_ALLIANCE);        }        // Spawning Creature and NPC        for (uint8 i = 0; i < CapturableWorkshops[m_workshopId].nbCreature; ++i)            AddCreature(CapturableWorkshops[m_workshopId].Creature[i]);        // Spawning Banner        for (uint8 i = 0; i < CapturableWorkshops[m_workshopId].nbBanner; ++i)            AddGameObject(CapturableWorkshops[m_workshopId].GameObjectBanner[i]);        // Spawning Rocket Launcher        for (uint8 i = 0; i < CapturableWorkshops[m_workshopId].nbRocketLauncher; ++i)            AddRocketLauncher(CapturableWorkshops[m_workshopId].RocketLauncher[i]);    }    // Fortress Workshops    else    {        // Array support (only 2 elements - 4, 5 are m_workshopIds)        uint8 workshopId = m_workshopId - WG_CAPTURABLE_WORKSHOP;        // Set worldstate        m_WorldState = FortressWorkshops[workshopId].worldState;        // Spawning Workshop        WintergraspObjectPositionData workshop = FortressWorkshops[workshopId].Workshop;        GameObject* pWorkshop = m_WG->SpawnGameObject(workshop.entryHorde, workshop.x, workshop.y, workshop.z, workshop.o);        if (!pWorkshop)            return;        // Spawning Engineer        WintergraspObjectPositionData engineer = FortressWorkshops[workshopId].Engineer;        if (Creature* pEngineer = m_WG->SpawnCreature(engineer.entryHorde, engineer.x, engineer.y, engineer.z, engineer.o, TEAM_HORDE))            m_Engineer[TEAM_HORDE] = pEngineer->GetGUID();        if (Creature* pEngineer = m_WG->SpawnCreature(engineer.entryAlliance, engineer.x, engineer.y, engineer.z, engineer.o, TEAM_ALLIANCE))            m_Engineer[TEAM_ALLIANCE] = pEngineer->GetGUID();        // Spawning Spirit Keeper and link him to the graveyard (only one graveyard in the keep - linked to the west)        if (m_workshopId == BATTLEFIELD_WG_WORKSHOP_KEEP_WEST)        {            if (BfGraveyard* pGrave = m_WG->GetGraveyardById(m_workshopId))            {                WintergraspObjectPositionData spirit = FortressWorkshops[workshopId].SpiritGuide;                if (Creature* pSpirit = m_WG->SpawnCreature(spirit.entryHorde, spirit.x, spirit.y, spirit.z, spirit.o, TEAM_HORDE))                    // Link spirit to graveyard                    pGrave->SetSpirit(pSpirit, TEAM_HORDE);                if (Creature* pSpirit = m_WG->SpawnCreature(spirit.entryAlliance, spirit.x, spirit.y, spirit.z, spirit.o, TEAM_ALLIANCE))                    // Link spirit to graveyard                    pGrave->SetSpirit(pSpirit, TEAM_ALLIANCE);            }        }    }    // Finally change faction    GiveControlTo(team);}
开发者ID:Allowed,项目名称:Strawberry335,代码行数:87,


示例10: DelObject

bool BattleGroundSA::ResetObjs(){    uint32 atF = BG_SA_Factions[attackers];    uint32 defF = BG_SA_Factions[attackers ? TEAM_ALLIANCE : TEAM_HORDE];    for (uint8 i = 0; i <BG_SA_MAXOBJ; i++)        DelObject(i);    for (uint8 i = 0; i < BG_SA_MAXNPC; i++)        DelCreature(i);    for (uint8 i = BG_SA_MAXNPC; i < BG_SA_MAXNPC + BG_SA_MAX_GY; i++)        DelCreature(i);    for (uint8 i = 0; i < 6; i++)        GateStatus[i] = BG_SA_GATE_OK;    for (uint8 i = 0; i < BG_SA_CENTRAL_FLAG; i++)    {        if (!AddObject(i,BG_SA_ObjEntries[i],                       BG_SA_ObjSpawnlocs[i][0],BG_SA_ObjSpawnlocs[i][1],                       BG_SA_ObjSpawnlocs[i][2],BG_SA_ObjSpawnlocs[i][3],                       0,0,0,0,RESPAWN_ONE_DAY))            return false;    }    //Cannons and demolishers - NPCs are spawned    //By capturing GYs.    for (uint8 i = 0; i < BG_SA_NPC_SPARKLIGHT; i++)    {        if (!AddCreature(BG_SA_NpcEntries[i], i, (attackers == TEAM_ALLIANCE ? TEAM_HORDE : TEAM_ALLIANCE),                         BG_SA_NpcSpawnlocs[i][0],BG_SA_NpcSpawnlocs[i][1],                         BG_SA_NpcSpawnlocs[i][2],BG_SA_NpcSpawnlocs[i][3]))            return false;    }    OverrideGunFaction();    for (uint8 i = 0; i <= BG_SA_TITAN_RELIC; i++)    {        SpawnBGObject(i, RESPAWN_IMMEDIATELY);        GetBGObject(i)->SetUInt32Value(GAMEOBJECT_FACTION, defF);    }    GetBGObject(BG_SA_TITAN_RELIC)->SetUInt32Value(GAMEOBJECT_FACTION, atF);    GetBGObject(BG_SA_TITAN_RELIC)->Refresh();    for (uint8 i = 0; i <= 5; i++)        GateStatus[i] = BG_SA_GATE_OK;    // MAD props for Kiper for discovering those values - 4 hours of his work.    GetBGObject(BG_SA_BOAT_ONE)->UpdateRotationFields(1.0f, 0.0002f);    GetBGObject(BG_SA_BOAT_TWO)->UpdateRotationFields(1.0f, 0.00001f);    SpawnBGObject(BG_SA_BOAT_ONE, RESPAWN_IMMEDIATELY);    SpawnBGObject(BG_SA_BOAT_TWO, RESPAWN_IMMEDIATELY);    TotalTime = 0;    ShipsStarted = false;    //Graveyards!    for (uint8 i = 0; i < BG_SA_MAX_GY; i++)    {        WorldSafeLocsEntry const *sg = NULL;        sg = sWorldSafeLocsStore.LookupEntry(BG_SA_GYEntries[i]);        if (!sg)        {            sLog.outError("SOTA: Can't find GY entry %u",BG_SA_GYEntries[i]);            return false;        }        if (i == BG_SA_BEACH_GY)        {            GraveyardStatus[i] = attackers;            AddSpiritGuide(i + BG_SA_MAXNPC, sg->x, sg->y, sg->z, BG_SA_GYOrientation[i], ((attackers == TEAM_HORDE)? HORDE : ALLIANCE));        }        else        {            GraveyardStatus[i] = ((attackers == TEAM_HORDE)? TEAM_ALLIANCE : TEAM_HORDE);            if (!AddSpiritGuide(i + BG_SA_MAXNPC, sg->x, sg->y, sg->z, BG_SA_GYOrientation[i], ((attackers == TEAM_HORDE)? ALLIANCE : HORDE)))                sLog.outError("SOTA: couldn't spawn GY: %u",i);        }    }    //GY capture points    for (uint8 i = BG_SA_CENTRAL_FLAG; i < BG_SA_MAXOBJ; i++)    {        AddObject(i, BG_SA_ObjEntries[i] - (attackers == TEAM_ALLIANCE ? 1:0),                  BG_SA_ObjSpawnlocs[i][0], BG_SA_ObjSpawnlocs[i][1],                  BG_SA_ObjSpawnlocs[i][2], BG_SA_ObjSpawnlocs[i][3],                  0,0,0,0,RESPAWN_ONE_DAY);        GetBGObject(i)->SetUInt32Value(GAMEOBJECT_FACTION, atF);    }    //Player may enter BEFORE we set up bG - lets update his worldstates anyway...    UpdateWorldState(BG_SA_RIGHT_GY_HORDE , GraveyardStatus[BG_SA_RIGHT_CAPTURABLE_GY] == TEAM_HORDE?1:0);    UpdateWorldState(BG_SA_LEFT_GY_HORDE , GraveyardStatus[BG_SA_LEFT_CAPTURABLE_GY] == TEAM_HORDE?1:0);    UpdateWorldState(BG_SA_CENTER_GY_HORDE , GraveyardStatus[BG_SA_CENTRAL_CAPTURABLE_GY] == TEAM_HORDE?1:0);//.........这里部分代码省略.........
开发者ID:Rhyuk,项目名称:Dev,代码行数:101,


示例11: TC_LOG_ERROR

void BattlegroundIC::HandleCapturedNodes(ICNodePoint* node, bool recapture){    if (node->nodeType != NODE_TYPE_REFINERY && node->nodeType != NODE_TYPE_QUARRY)    {        if (!AddSpiritGuide(BG_IC_NPC_SPIRIT_GUIDE_1+node->nodeType-2, BG_IC_SpiritGuidePos[node->nodeType], node->faction))            TC_LOG_ERROR("bg.battleground", "Isle of Conquest: Failed to spawn spirit guide! point: %u, team: %u, ", node->nodeType, node->faction);    }    switch (node->gameobject_type)    {        case BG_IC_GO_HANGAR_BANNER:            {                if (!gunshipAlliance || !gunshipHorde)                    break;                std::list<Creature*> cannons;                if (node->faction == TEAM_ALLIANCE)                    gunshipAlliance->GetCreatureListWithEntryInGrid(cannons, NPC_ALLIANCE_GUNSHIP_CANNON, 150.0f);                else                    gunshipHorde->GetCreatureListWithEntryInGrid(cannons, NPC_HORDE_GUNSHIP_CANNON, 150.0f);                for (Creature* cannon : cannons)                    cannon->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);                for (uint8 u = 0; u < MAX_HANGAR_TELEPORTERS_SPAWNS; ++u)                {                    uint8 type = BG_IC_GO_HANGAR_TELEPORTER_1 + u;                    if (!AddObject(type, (node->faction == TEAM_ALLIANCE ? GO_ALLIANCE_GUNSHIP_PORTAL : GO_HORDE_GUNSHIP_PORTAL), BG_IC_HangarTeleporters[u], 0, 0, 0, 0, RESPAWN_ONE_DAY))                        TC_LOG_ERROR("bg.battleground", "Isle of Conquest: There was an error spawning a gunship portal. Type: %u", BG_IC_GO_HANGAR_TELEPORTER_1 + u);                }                for (uint8 u = 0; u < MAX_HANGAR_TELEPORTER_EFFECTS_SPAWNS; ++u)                {                    uint8 type = BG_IC_GO_HANGAR_TELEPORTER_EFFECT_1 + u;                    if (!AddObject(type, (node->faction == TEAM_ALLIANCE ? GO_ALLIANCE_GUNSHIP_PORTAL_EFFECTS : GO_HORDE_GUNSHIP_PORTAL_EFFECTS), BG_IC_HangarTeleporterEffects[u], 0, 0, 0, 0, RESPAWN_ONE_DAY, GO_STATE_ACTIVE))                        TC_LOG_ERROR("bg.battleground", "Isle of Conquest: There was an error spawning a gunship portal effects. Type: %u", BG_IC_GO_HANGAR_TELEPORTER_1 + u);                }                for (uint8 u = 0; u < MAX_TRIGGER_SPAWNS_PER_FACTION; ++u)                {                    if (!AddCreature(NPC_WORLD_TRIGGER_NOT_FLOATING, BG_IC_NPC_WORLD_TRIGGER_NOT_FLOATING, BG_IC_HangarTrigger[node->faction], node->faction, RESPAWN_ONE_DAY, node->faction == TEAM_ALLIANCE ? gunshipAlliance : gunshipHorde))                        TC_LOG_ERROR("bg.battleground", "Isle of Conquest: There was an error spawning a world trigger. Type: %u", BG_IC_NPC_WORLD_TRIGGER_NOT_FLOATING);                }                for (uint8 u = 0; u < MAX_CAPTAIN_SPAWNS_PER_FACTION; ++u)                {                    uint8 type = BG_IC_NPC_GUNSHIP_CAPTAIN_1 + u;                    if (type == BG_IC_NPC_GUNSHIP_CAPTAIN_1)                        if (AddCreature(node->faction == TEAM_ALLIANCE ? NPC_ALLIANCE_GUNSHIP_CAPTAIN : NPC_HORDE_GUNSHIP_CAPTAIN, type, BG_IC_HangarCaptains[node->faction == TEAM_ALLIANCE ? 2 : 0], node->faction, RESPAWN_ONE_DAY))                            GetBGCreature(BG_IC_NPC_GUNSHIP_CAPTAIN_1)->GetAI()->DoAction(ACTION_GUNSHIP_READY);                    if (type == BG_IC_NPC_GUNSHIP_CAPTAIN_2)                        if (!AddCreature(node->faction == TEAM_ALLIANCE ? NPC_ALLIANCE_GUNSHIP_CAPTAIN : NPC_HORDE_GUNSHIP_CAPTAIN, type, BG_IC_HangarCaptains[node->faction == TEAM_ALLIANCE ? 3 : 1], node->faction, RESPAWN_ONE_DAY, node->faction == TEAM_ALLIANCE ? gunshipAlliance : gunshipHorde))                            TC_LOG_ERROR("bg.battleground", "Isle of Conquest: There was an error spawning a world trigger. Type: %u", BG_IC_NPC_GUNSHIP_CAPTAIN_2);                }                (node->faction == TEAM_ALLIANCE ? gunshipAlliance : gunshipHorde)->EnableMovement(true);                break;            }        case BG_IC_GO_QUARRY_BANNER:            RemoveAuraOnTeam(SPELL_QUARRY, (node->faction == TEAM_ALLIANCE ? HORDE : ALLIANCE));            CastSpellOnTeam(SPELL_QUARRY, (node->faction == TEAM_ALLIANCE ? ALLIANCE : HORDE));            break;        case BG_IC_GO_REFINERY_BANNER:            RemoveAuraOnTeam(SPELL_OIL_REFINERY, (node->faction == TEAM_ALLIANCE ? HORDE : ALLIANCE));            CastSpellOnTeam(SPELL_OIL_REFINERY, (node->faction == TEAM_ALLIANCE ? ALLIANCE : HORDE));            break;        case BG_IC_GO_DOCKS_BANNER:            if (recapture)                break;            if (docksTimer < DOCKS_UPDATE_TIME)                docksTimer = DOCKS_UPDATE_TIME;            // we must del opposing faction vehicles when the node is captured (unused ones)            for (uint8 i = (node->faction == TEAM_ALLIANCE ? BG_IC_NPC_GLAIVE_THROWER_1_H : BG_IC_NPC_GLAIVE_THROWER_1_A); i < (node->faction == TEAM_ALLIANCE ? BG_IC_NPC_GLAIVE_THROWER_2_H : BG_IC_NPC_GLAIVE_THROWER_2_A); ++i)            {                if (Creature* glaiveThrower = GetBGCreature(i, false))                {                    if (Vehicle* vehicleGlaive = glaiveThrower->GetVehicleKit())                    {                        if (!vehicleGlaive->GetPassenger(0))                            DelCreature(i);                    }                }            }            for (uint8 i = (node->faction == TEAM_ALLIANCE ? BG_IC_NPC_CATAPULT_1_H : BG_IC_NPC_CATAPULT_1_A); i < (node->faction == TEAM_ALLIANCE ? BG_IC_NPC_CATAPULT_4_H  : BG_IC_NPC_CATAPULT_4_A); ++i)            {                if (Creature* catapult = GetBGCreature(i, false))                {                    if (Vehicle* vehicleGlaive = catapult->GetVehicleKit())                    {                        if (!vehicleGlaive->GetPassenger(0))                            DelCreature(i);                    }                }            }//.........这里部分代码省略.........
开发者ID:mynew4,项目名称:Testrealm-Core,代码行数:101,


示例12: switch

void BattlegroundIC::HandleCapturedNodes(ICNodePoint* nodePoint, bool recapture){    if (nodePoint->nodeType != NODE_TYPE_REFINERY && nodePoint->nodeType != NODE_TYPE_QUARRY)    {        if (!AddSpiritGuide(BG_IC_NPC_SPIRIT_GUIDE_1+nodePoint->nodeType-2,            BG_IC_SpiritGuidePos[nodePoint->nodeType][0], BG_IC_SpiritGuidePos[nodePoint->nodeType][1],            BG_IC_SpiritGuidePos[nodePoint->nodeType][2], BG_IC_SpiritGuidePos[nodePoint->nodeType][3],            nodePoint->faction))            sLog->outError("Isle of Conquest: Failed to spawn spirit guide! point: %u, team: %u, ", nodePoint->nodeType, nodePoint->faction);    }    switch (nodePoint->gameobject_type)    {        case BG_IC_GO_HANGAR_BANNER:        {            if (!gunshipAlliance || !gunshipHorde)                break;            std::list<Creature*> cannons;            if (nodePoint->faction == TEAM_ALLIANCE)                gunshipAlliance->GetCreatureListWithEntryInGrid(cannons, NPC_ALLIANCE_GUNSHIP_CANNON, 150.0f);            else                gunshipHorde->GetCreatureListWithEntryInGrid(cannons, NPC_HORDE_GUNSHIP_CANNON, 150.0f);            for (std::list<Creature*>::const_iterator itr = cannons.begin(); itr != cannons.end(); ++itr)                (*itr)->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);            for (uint8 u = 0; u < MAX_HANGAR_TELEPORTERS_SPAWNS; ++u)            {                uint8 type = BG_IC_GO_HANGAR_TELEPORTER_1 + u;                if (!AddObject(type, (nodePoint->faction == TEAM_ALLIANCE ? GO_ALLIANCE_GUNSHIP_PORTAL : GO_HORDE_GUNSHIP_PORTAL), BG_IC_HangarTeleporters[u].GetPositionX(), BG_IC_HangarTeleporters[u].GetPositionY(), BG_IC_HangarTeleporters[u].GetPositionZ(), BG_IC_HangarTeleporters[u].GetOrientation(), 0, 0, 0, 0, RESPAWN_ONE_DAY))                    sLog->outError("Isle of Conquest: There was an error spawning a gunship portal. Type: %u", BG_IC_GO_HANGAR_TELEPORTER_1 + u);            }            for (uint8 u = 0; u < MAX_HANGAR_TELEPORTER_EFFECTS_SPAWNS; ++u)            {                uint8 type = BG_IC_GO_HANGAR_TELEPORTER_EFFECT_1 + u;                if (!AddObject(type, (nodePoint->faction == TEAM_ALLIANCE ? GO_ALLIANCE_GUNSHIP_PORTAL_EFFECTS : GO_HORDE_GUNSHIP_PORTAL_EFFECTS), BG_IC_HangarTeleporterEffects[u].GetPositionX(), BG_IC_HangarTeleporterEffects[u].GetPositionY(), BG_IC_HangarTeleporterEffects[u].GetPositionZ(), BG_IC_HangarTeleporterEffects[u].GetOrientation(), 0, 0, 0, 0, RESPAWN_ONE_DAY, GO_STATE_ACTIVE))                    sLog->outError("Isle of Conquest: There was an error spawning a gunship portal effects. Type: %u", BG_IC_GO_HANGAR_TELEPORTER_1 + u);            }            for (uint8 u = 0; u < MAX_TRIGGER_SPAWNS_PER_FACTION; ++u)            {                if (!AddCreature(NPC_WORLD_TRIGGER_NOT_FLOATING, BG_IC_NPC_WORLD_TRIGGER_NOT_FLOATING, BG_IC_HangarTrigger[nodePoint->faction].GetPositionX(), BG_IC_HangarTrigger[nodePoint->faction].GetPositionY(), BG_IC_HangarTrigger[nodePoint->faction].GetPositionZ(), BG_IC_HangarTrigger[nodePoint->faction].GetOrientation(), RESPAWN_ONE_DAY, nodePoint->faction == TEAM_ALLIANCE ? gunshipAlliance : gunshipHorde))                    sLog->outError("Isle of Conquest: There was an error spawning a world trigger. Type: %u", BG_IC_NPC_WORLD_TRIGGER_NOT_FLOATING);            }            for (uint8 u = 0; u < MAX_CAPTAIN_SPAWNS_PER_FACTION; ++u)            {                uint8 type = BG_IC_NPC_GUNSHIP_CAPTAIN_1 + u;                if (type == BG_IC_NPC_GUNSHIP_CAPTAIN_1)                    if (AddCreature(nodePoint->faction == TEAM_ALLIANCE ? NPC_ALLIANCE_GUNSHIP_CAPTAIN : NPC_HORDE_GUNSHIP_CAPTAIN, type, BG_IC_HangarCaptains[nodePoint->faction == TEAM_ALLIANCE ? 2 : 0].GetPositionX(), BG_IC_HangarCaptains[nodePoint->faction == TEAM_ALLIANCE ? 2 : 0].GetPositionY(), BG_IC_HangarCaptains[nodePoint->faction == TEAM_ALLIANCE ? 2 : 0].GetPositionZ(), BG_IC_HangarCaptains[nodePoint->faction == TEAM_ALLIANCE ? 2 : 0].GetOrientation(), RESPAWN_ONE_DAY))                        GetBGCreature(BG_IC_NPC_GUNSHIP_CAPTAIN_1)->GetAI()->DoAction(ACTION_GUNSHIP_READY);                if (type == BG_IC_NPC_GUNSHIP_CAPTAIN_2)                    if (!AddCreature(nodePoint->faction == TEAM_ALLIANCE ? NPC_ALLIANCE_GUNSHIP_CAPTAIN : NPC_HORDE_GUNSHIP_CAPTAIN, type, BG_IC_HangarCaptains[nodePoint->faction == TEAM_ALLIANCE ? 3 : 1].GetPositionX(), BG_IC_HangarCaptains[nodePoint->faction == TEAM_ALLIANCE ? 3 : 1].GetPositionY(), BG_IC_HangarCaptains[nodePoint->faction == TEAM_ALLIANCE ? 3 : 1].GetPositionZ(), BG_IC_HangarCaptains[nodePoint->faction == TEAM_ALLIANCE ? 3 : 1].GetOrientation(), RESPAWN_ONE_DAY, nodePoint->faction == TEAM_ALLIANCE ? gunshipAlliance : gunshipHorde))                        sLog->outError("Isle of Conquest: There was an error spawning a world trigger. Type: %u", BG_IC_NPC_GUNSHIP_CAPTAIN_2);            }            (nodePoint->faction == TEAM_ALLIANCE ? gunshipAlliance : gunshipHorde)->EnableMovement(true);            break;        }        case BG_IC_GO_QUARRY_BANNER:            RemoveAuraOnTeam(SPELL_QUARRY, GetOtherTeamId(nodePoint->faction));            CastSpellOnTeam(SPELL_QUARRY, nodePoint->faction);            break;        case BG_IC_GO_REFINERY_BANNER:            RemoveAuraOnTeam(SPELL_OIL_REFINERY, GetOtherTeamId(nodePoint->faction));            CastSpellOnTeam(SPELL_OIL_REFINERY, nodePoint->faction);            break;        case BG_IC_GO_DOCKS_BANNER:            if (recapture)                break;            if (docksTimer < DOCKS_UPDATE_TIME)                docksTimer = DOCKS_UPDATE_TIME;            // spawning glaive throwers            for (uint8 i = 0; i < MAX_GLAIVE_THROWERS_SPAWNS_PER_FACTION; ++i)            {                uint8 type = (nodePoint->faction == TEAM_ALLIANCE ? BG_IC_NPC_GLAIVE_THROWER_1_A : BG_IC_NPC_GLAIVE_THROWER_1_H)+i;                if (GetBGCreature(type))                    continue;                if (AddCreature(nodePoint->faction == TEAM_ALLIANCE ? NPC_GLAIVE_THROWER_A : NPC_GLAIVE_THROWER_H, type,                        BG_IC_DocksVehiclesGlaives[i].GetPositionX(), BG_IC_DocksVehiclesGlaives[i].GetPositionY(),                        BG_IC_DocksVehiclesGlaives[i].GetPositionZ(), BG_IC_DocksVehiclesGlaives[i].GetOrientation(),                        RESPAWN_ONE_DAY))                        GetBGCreature(type)->setFaction(BG_IC_Factions[nodePoint->faction]);            }            // spawning catapults            for (uint8 i = 0; i < MAX_CATAPULTS_SPAWNS_PER_FACTION; ++i)            {                uint8 type = (nodePoint->faction == TEAM_ALLIANCE ? BG_IC_NPC_CATAPULT_1_A : BG_IC_NPC_CATAPULT_1_H)+i;                if (GetBGCreature(type))                    continue;//.........这里部分代码省略.........
开发者ID:mynew4,项目名称:azerothcore-wotlk,代码行数:101,


示例13: GetBGObject

bool BattlegroundIC::SetupBattleground(){    for (uint8 i = 0; i < MAX_NORMAL_GAMEOBJECTS_SPAWNS; ++i)    {        if (!AddObject(BG_IC_ObjSpawnlocs[i].type, BG_IC_ObjSpawnlocs[i].entry, BG_IC_ObjSpawnlocs[i].x, BG_IC_ObjSpawnlocs[i].y, BG_IC_ObjSpawnlocs[i].z, BG_IC_ObjSpawnlocs[i].o, 0, 0, 0, 0, RESPAWN_ONE_DAY))        {            sLog->outError("Isle of Conquest: There was an error spawning gameobject %u", BG_IC_ObjSpawnlocs[i].entry);            return false;        }        // Horde / Alliance gates, set active        if (i < 6)            GetBGObject(BG_IC_ObjSpawnlocs[i].type)->setActive(true);    }    for (uint8 i = 0; i < MAX_FORTRESS_TELEPORTERS_SPAWNS; ++i)    {        if (!AddObject(BG_IC_Teleporters[i].type, BG_IC_Teleporters[i].entry, BG_IC_Teleporters[i].x, BG_IC_Teleporters[i].y, BG_IC_Teleporters[i].z, BG_IC_Teleporters[i].o, 0, 0, 0, 0, RESPAWN_ONE_DAY))        {            sLog->outError("Isle of Conquest | Starting Event Open Doors: There was an error spawning gameobject %u", BG_IC_Teleporters[i].entry);            return false;        }    }    for (uint8 i = 0; i < MAX_FORTRESS_TELEPORTER_EFFECTS_SPAWNS; ++i)    {        if (!AddObject(BG_IC_TeleporterEffects[i].type, BG_IC_TeleporterEffects[i].entry, BG_IC_TeleporterEffects[i].x, BG_IC_TeleporterEffects[i].y, BG_IC_TeleporterEffects[i].z, BG_IC_TeleporterEffects[i].o, 0, 0, 0, 0, RESPAWN_ONE_DAY))        {            sLog->outError("Isle of Conquest | Starting Event Open Doors: There was an error spawning gameobject %u", BG_IC_Teleporters[i].entry);            return false;        }    }    for (uint8 i = 0; i < MAX_NORMAL_NPCS_SPAWNS; ++i)    {        if (!AddCreature(BG_IC_NpcSpawnlocs[i].entry, BG_IC_NpcSpawnlocs[i].type, BG_IC_NpcSpawnlocs[i].x, BG_IC_NpcSpawnlocs[i].y, BG_IC_NpcSpawnlocs[i].z, BG_IC_NpcSpawnlocs[i].o, RESPAWN_ONE_DAY))        {            sLog->outError("Isle of Conquest: There was an error spawning creature %u", BG_IC_NpcSpawnlocs[i].entry);            return false;        }    }    if (!AddSpiritGuide(BG_IC_NPC_SPIRIT_GUIDE_1+3, BG_IC_SpiritGuidePos[5][0], BG_IC_SpiritGuidePos[5][1], BG_IC_SpiritGuidePos[5][2], BG_IC_SpiritGuidePos[5][3], TEAM_ALLIANCE)        || !AddSpiritGuide(BG_IC_NPC_SPIRIT_GUIDE_1+4, BG_IC_SpiritGuidePos[6][0], BG_IC_SpiritGuidePos[6][1], BG_IC_SpiritGuidePos[6][2], BG_IC_SpiritGuidePos[6][3], TEAM_HORDE)        || !AddSpiritGuide(BG_IC_NPC_SPIRIT_GUIDE_1+5, BG_IC_SpiritGuidePos[7][0], BG_IC_SpiritGuidePos[7][1], BG_IC_SpiritGuidePos[7][2], BG_IC_SpiritGuidePos[7][3], TEAM_ALLIANCE)        || !AddSpiritGuide(BG_IC_NPC_SPIRIT_GUIDE_1+6, BG_IC_SpiritGuidePos[8][0], BG_IC_SpiritGuidePos[8][1], BG_IC_SpiritGuidePos[8][2], BG_IC_SpiritGuidePos[8][3], TEAM_HORDE))    {        sLog->outError("Isle of Conquest: Failed to spawn initial spirit guide!");        return false;    }    gunshipHorde = sTransportMgr->CreateTransport(GO_HORDE_GUNSHIP, 0, GetBgMap());    gunshipAlliance = sTransportMgr->CreateTransport(GO_ALLIANCE_GUNSHIP, 0, GetBgMap());    if (!gunshipAlliance || !gunshipHorde)    {        sLog->outError("Isle of Conquest: There was an error creating gunships!");        return false;    }    gunshipHorde->EnableMovement(false);    gunshipAlliance->EnableMovement(false);    // setting correct factions for Keep Cannons    for (uint8 i = BG_IC_NPC_KEEP_CANNON_1; i <= BG_IC_NPC_KEEP_CANNON_12; ++i)        GetBGCreature(i)->setFaction(BG_IC_Factions[0]);    for (uint8 i = BG_IC_NPC_KEEP_CANNON_13; i <= BG_IC_NPC_KEEP_CANNON_25; ++i)        GetBGCreature(i)->setFaction(BG_IC_Factions[1]);    // Flags    if (GameObject* go = GetBGObject(BG_IC_GO_ALLIANCE_BANNER))    {        go->SetUInt32Value(GAMEOBJECT_FACTION, BG_IC_Factions[1]);        go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);    }    if (GameObject* go = GetBGObject(BG_IC_GO_HORDE_BANNER))    {        go->SetUInt32Value(GAMEOBJECT_FACTION, BG_IC_Factions[0]);        go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);    }    // correcting spawn time for keeps bombs    for (uint8 i = BG_IC_GO_HUGE_SEAFORIUM_BOMBS_A_1; i < BG_IC_GO_HUGE_SEAFORIUM_BOMBS_H_4; ++i)        GetBGObject(i)->SetRespawnTime(10);    TurnBosses(false);    return true;}
开发者ID:mynew4,项目名称:azerothcore-wotlk,代码行数:87,



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


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