AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
ScourgeInvasionData Struct Reference

#include "WorldState.h"

Classes

struct  CityAttack
 
struct  InvasionZone
 

Public Member Functions

 ScourgeInvasionData ()
 
void Reset ()
 
std::string GetData ()
 

Public Attributes

SIState m_state
 
TimePoint m_timers [SI_TIMER_MAX]
 
uint32 m_battlesWon
 
uint32 m_lastAttackZone
 
uint32 m_remaining [SI_REMAINING_MAX]
 
uint64 m_broadcastTimer
 
std::mutex m_siMutex
 
std::set< uint32m_pendingInvasions
 
std::set< uint32m_pendingPallids
 
std::map< uint32, InvasionZonem_activeInvasions
 
std::map< uint32, CityAttackm_cityAttacks
 

Detailed Description

Constructor & Destructor Documentation

◆ ScourgeInvasionData()

ScourgeInvasionData::ScourgeInvasionData ( )
1323{
1324 m_activeInvasions.emplace(
1326 InvasionZone{
1327 .map = MAP_KALIMDOR,
1328 .zoneId = AREA_WINTERSPRING,
1329 .necropolisCount = 3,
1330 .remainingNecropoli = SI_REMAINING_WINTERSPRING,
1331 .mouth = { Position{7736.56f, -4033.75f, 696.327f, 5.51524f} }
1332 }
1333 );
1334 m_activeInvasions.emplace(
1336 InvasionZone{
1337 .map = MAP_KALIMDOR,
1338 .zoneId = AREA_TANARIS,
1339 .necropolisCount = 3,
1340 .remainingNecropoli = SI_REMAINING_TANARIS,
1341 .mouth = { Position{-8352.68f, -3972.68f, 10.0753f, 2.14675f} }
1342 }
1343 );
1344 m_activeInvasions.emplace(
1346 InvasionZone{
1347 .map = MAP_KALIMDOR,
1348 .zoneId = AREA_AZSHARA,
1349 .necropolisCount = 2,
1350 .remainingNecropoli = SI_REMAINING_AZSHARA,
1351 .mouth = { Position{3273.75f, -4276.98f, 125.509f, 5.44543f} }
1352 }
1353 );
1354 m_activeInvasions.emplace(
1356 InvasionZone{
1357 .map = MAP_EASTERN_KINGDOMS,
1358 .zoneId = AREA_BLASTED_LANDS,
1359 .necropolisCount = 2,
1360 .remainingNecropoli = SI_REMAINING_BLASTED_LANDS,
1361 .mouth = { Position{-11429.3f, -3327.82f, 7.73628f, 1.0821f} }
1362 }
1363 );
1364 m_activeInvasions.emplace(
1366 InvasionZone{
1367 .map = MAP_EASTERN_KINGDOMS,
1368 .zoneId = AREA_EASTERN_PLAGUELANDS,
1369 .necropolisCount = 2,
1370 .remainingNecropoli = SI_REMAINING_EASTERN_PLAGUELANDS,
1371 .mouth = { Position{2014.55f, -4934.52f, 73.9846f, 0.0698132f} }
1372 }
1373 );
1374 m_activeInvasions.emplace(
1376 InvasionZone{
1377 .map = MAP_EASTERN_KINGDOMS,
1378 .zoneId = AREA_BURNING_STEPPES,
1379 .necropolisCount = 2,
1380 .remainingNecropoli = SI_REMAINING_BURNING_STEPPES,
1381 .mouth = { Position{-8229.53f, -1118.11f, 144.012f, 6.17846f} }
1382 }
1383 );
1384
1385 m_cityAttacks.emplace(
1387 CityAttack{
1388 .map = MAP_EASTERN_KINGDOMS,
1389 .zoneId = AREA_UNDERCITY,
1390 .pallid = {
1391 Position{1595.87f, 440.539f, -46.3349f, 2.28207f}, // Royal Quarter
1392 Position{1659.2f, 265.988f, -62.1788f, 3.64283f} // Trade Quarter
1393 }
1394 }
1395 );
1396 m_cityAttacks.emplace(
1398 CityAttack{
1399 .map = MAP_EASTERN_KINGDOMS,
1400 .zoneId = AREA_STORMWIND_CITY,
1401 .pallid = {
1402 Position{-8578.15f, 886.382f, 87.3148f, 0.586275f}, // Stormwind Keep
1403 Position{-8578.15f, 886.382f, 87.3148f, 0.586275f} // Trade District
1404 }
1405 }
1406 );
1407}
@ MAP_KALIMDOR
Definition AreaDefines.h:186
@ MAP_EASTERN_KINGDOMS
Definition AreaDefines.h:185
@ AREA_AZSHARA
Definition AreaDefines.h:34
@ AREA_UNDERCITY
Definition AreaDefines.h:80
@ AREA_TANARIS
Definition AreaDefines.h:73
@ AREA_WINTERSPRING
Definition AreaDefines.h:76
@ AREA_EASTERN_PLAGUELANDS
Definition AreaDefines.h:53
@ AREA_STORMWIND_CITY
Definition AreaDefines.h:81
@ AREA_BLASTED_LANDS
Definition AreaDefines.h:27
@ AREA_BURNING_STEPPES
Definition AreaDefines.h:42
@ SI_REMAINING_BURNING_STEPPES
Definition WorldState.h:159
@ SI_REMAINING_EASTERN_PLAGUELANDS
Definition WorldState.h:160
@ SI_REMAINING_TANARIS
Definition WorldState.h:161
@ SI_REMAINING_BLASTED_LANDS
Definition WorldState.h:158
@ SI_REMAINING_AZSHARA
Definition WorldState.h:157
@ SI_REMAINING_WINTERSPRING
Definition WorldState.h:162
@ STATE_0_DISABLED
Definition WorldState.h:125
Definition Position.h:27
uint32 m_lastAttackZone
Definition WorldState.h:199
std::map< uint32, CityAttack > m_cityAttacks
Definition WorldState.h:207
uint64 m_broadcastTimer
Definition WorldState.h:201
SIState m_state
Definition WorldState.h:195
uint32 m_battlesWon
Definition WorldState.h:198
std::map< uint32, InvasionZone > m_activeInvasions
Definition WorldState.h:206
uint32 m_remaining[SI_REMAINING_MAX]
Definition WorldState.h:200

References AREA_AZSHARA, AREA_BLASTED_LANDS, AREA_BURNING_STEPPES, AREA_EASTERN_PLAGUELANDS, AREA_STORMWIND_CITY, AREA_TANARIS, AREA_UNDERCITY, AREA_WINTERSPRING, m_activeInvasions, m_cityAttacks, ScourgeInvasionData::InvasionZone::map, ScourgeInvasionData::CityAttack::map, MAP_EASTERN_KINGDOMS, MAP_KALIMDOR, SI_REMAINING_AZSHARA, SI_REMAINING_BLASTED_LANDS, SI_REMAINING_BURNING_STEPPES, SI_REMAINING_EASTERN_PLAGUELANDS, SI_REMAINING_TANARIS, and SI_REMAINING_WINTERSPRING.

Member Function Documentation

◆ GetData()

std::string ScourgeInvasionData::GetData ( )
1422{
1423 std::string output = std::to_string(m_state) + " ";
1424 for (TimePoint& timer : m_timers)
1425 {
1426 if (timer == TimePoint())
1427 output += "0 ";
1428 else
1429 output += std::to_string(std::chrono::duration_cast<std::chrono::milliseconds>(timer.time_since_epoch()).count()) + " ";
1430 }
1431 output += std::to_string(m_battlesWon) + " " + std::to_string(m_lastAttackZone) + " ";
1432 for (uint32& remaining : m_remaining)
1433 output += std::to_string(remaining) + " ";
1434 return output;
1435}
std::uint32_t uint32
Definition Define.h:107
std::chrono::steady_clock::time_point TimePoint
time_point shorthand typedefs
Definition Duration.h:69
STL namespace.
TimePoint m_timers[SI_TIMER_MAX]
Definition WorldState.h:197

References m_battlesWon, m_lastAttackZone, m_remaining, m_state, and m_timers.

Referenced by WorldState::Save().

◆ Reset()

void ScourgeInvasionData::Reset ( )
1410{
1411 std::lock_guard<std::mutex> guard(m_siMutex);
1412 for (auto& timepoint : m_timers)
1413 timepoint = TimePoint();
1414
1415 m_battlesWon = 0;
1416 m_lastAttackZone = 0;
1417 m_broadcastTimer = 10000;
1418 memset(m_remaining, 0, sizeof(m_remaining));
1419}
std::mutex m_siMutex
Definition WorldState.h:202

References m_battlesWon, m_broadcastTimer, m_lastAttackZone, m_remaining, m_siMutex, and m_timers.

Referenced by WorldState::Load(), and WorldState::StopScourgeInvasion().

Member Data Documentation

◆ m_activeInvasions

◆ m_battlesWon

◆ m_broadcastTimer

uint64 ScourgeInvasionData::m_broadcastTimer

Referenced by Reset(), and WorldState::Update().

◆ m_cityAttacks

◆ m_lastAttackZone

◆ m_pendingInvasions

std::set<uint32> ScourgeInvasionData::m_pendingInvasions

◆ m_pendingPallids

std::set<uint32> ScourgeInvasionData::m_pendingPallids

◆ m_remaining

◆ m_siMutex

◆ m_state

◆ m_timers


The documentation for this struct was generated from the following files: