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 ( )
1320{
1321 m_activeInvasions.emplace(
1323 InvasionZone{
1324 .map = MAP_KALIMDOR,
1325 .zoneId = AREA_WINTERSPRING,
1326 .necropolisCount = 3,
1327 .remainingNecropoli = SI_REMAINING_WINTERSPRING,
1328 .mouth = { Position{7736.56f, -4033.75f, 696.327f, 5.51524f} }
1329 }
1330 );
1331 m_activeInvasions.emplace(
1333 InvasionZone{
1334 .map = MAP_KALIMDOR,
1335 .zoneId = AREA_TANARIS,
1336 .necropolisCount = 3,
1337 .remainingNecropoli = SI_REMAINING_TANARIS,
1338 .mouth = { Position{-8352.68f, -3972.68f, 10.0753f, 2.14675f} }
1339 }
1340 );
1341 m_activeInvasions.emplace(
1343 InvasionZone{
1344 .map = MAP_KALIMDOR,
1345 .zoneId = AREA_AZSHARA,
1346 .necropolisCount = 2,
1347 .remainingNecropoli = SI_REMAINING_AZSHARA,
1348 .mouth = { Position{3273.75f, -4276.98f, 125.509f, 5.44543f} }
1349 }
1350 );
1351 m_activeInvasions.emplace(
1353 InvasionZone{
1354 .map = MAP_EASTERN_KINGDOMS,
1355 .zoneId = AREA_BLASTED_LANDS,
1356 .necropolisCount = 2,
1357 .remainingNecropoli = SI_REMAINING_BLASTED_LANDS,
1358 .mouth = { Position{-11429.3f, -3327.82f, 7.73628f, 1.0821f} }
1359 }
1360 );
1361 m_activeInvasions.emplace(
1363 InvasionZone{
1364 .map = MAP_EASTERN_KINGDOMS,
1365 .zoneId = AREA_EASTERN_PLAGUELANDS,
1366 .necropolisCount = 2,
1367 .remainingNecropoli = SI_REMAINING_EASTERN_PLAGUELANDS,
1368 .mouth = { Position{2014.55f, -4934.52f, 73.9846f, 0.0698132f} }
1369 }
1370 );
1371 m_activeInvasions.emplace(
1373 InvasionZone{
1374 .map = MAP_EASTERN_KINGDOMS,
1375 .zoneId = AREA_BURNING_STEPPES,
1376 .necropolisCount = 2,
1377 .remainingNecropoli = SI_REMAINING_BURNING_STEPPES,
1378 .mouth = { Position{-8229.53f, -1118.11f, 144.012f, 6.17846f} }
1379 }
1380 );
1381
1382 m_cityAttacks.emplace(
1384 CityAttack{
1385 .map = MAP_EASTERN_KINGDOMS,
1386 .zoneId = AREA_UNDERCITY,
1387 .pallid = {
1388 Position{1595.87f, 440.539f, -46.3349f, 2.28207f}, // Royal Quarter
1389 Position{1659.2f, 265.988f, -62.1788f, 3.64283f} // Trade Quarter
1390 }
1391 }
1392 );
1393 m_cityAttacks.emplace(
1395 CityAttack{
1396 .map = MAP_EASTERN_KINGDOMS,
1397 .zoneId = AREA_STORMWIND_CITY,
1398 .pallid = {
1399 Position{-8578.15f, 886.382f, 87.3148f, 0.586275f}, // Stormwind Keep
1400 Position{-8578.15f, 886.382f, 87.3148f, 0.586275f} // Trade District
1401 }
1402 }
1403 );
1404}
@ 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:158
@ SI_REMAINING_EASTERN_PLAGUELANDS
Definition WorldState.h:159
@ SI_REMAINING_TANARIS
Definition WorldState.h:160
@ SI_REMAINING_BLASTED_LANDS
Definition WorldState.h:157
@ SI_REMAINING_AZSHARA
Definition WorldState.h:156
@ SI_REMAINING_WINTERSPRING
Definition WorldState.h:161
@ STATE_0_DISABLED
Definition WorldState.h:124
Definition Position.h:27
uint32 m_lastAttackZone
Definition WorldState.h:198
std::map< uint32, CityAttack > m_cityAttacks
Definition WorldState.h:206
uint64 m_broadcastTimer
Definition WorldState.h:200
SIState m_state
Definition WorldState.h:194
uint32 m_battlesWon
Definition WorldState.h:197
std::map< uint32, InvasionZone > m_activeInvasions
Definition WorldState.h:205
uint32 m_remaining[SI_REMAINING_MAX]
Definition WorldState.h:199

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 ( )
1419{
1420 std::string output = std::to_string(m_state) + " ";
1421 for (auto& timer : m_timers)
1422 output += std::to_string(timer.time_since_epoch().count()) + " ";
1423 output += std::to_string(m_battlesWon) + " " + std::to_string(m_lastAttackZone) + " ";
1424 for (auto& remaining : m_remaining)
1425 output += std::to_string(remaining) + " ";
1426 return output;
1427}
STL namespace.
TimePoint m_timers[SI_TIMER_MAX]
Definition WorldState.h:196

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

Referenced by WorldState::Save().

◆ Reset()

void ScourgeInvasionData::Reset ( )
1407{
1408 std::lock_guard<std::mutex> guard(m_siMutex);
1409 for (auto& timepoint : m_timers)
1410 timepoint = TimePoint();
1411
1412 m_battlesWon = 0;
1413 m_lastAttackZone = 0;
1414 m_broadcastTimer = 10000;
1415 memset(m_remaining, 0, sizeof(m_remaining));
1416}
std::chrono::steady_clock::time_point TimePoint
time_point shorthand typedefs
Definition Duration.h:69
std::mutex m_siMutex
Definition WorldState.h:201

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: