Advertisement
Guest User

CDominionManager::AdjustNextSiegeTime

a guest
Oct 31st, 2016
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.64 KB | None | 0 0
  1. int __cdecl CDominionManager::AdjustNextSiegeTime()
  2. {
  3.     GUARDED;
  4.  
  5.     if (!this->lastSiegeTime) {
  6.         CLog::Add(CLog::Red, L"Dominion Ended Time 0!");
  7.         time_t now = time32(0);
  8.         CDominionManager::SetSiegeEndTime(this, now, 1);
  9.     }
  10.     time_t dayBeforeLastSiege = this->lastSiegeTime - 86400;
  11.     struct tm *dayBeforeLastSiegeStruct = localtime32(&dayBeforeLastSiege);
  12.     if (dayBeforeLastSiegeStruct) {
  13.         weekDay = dayBeforeLastSiegeStruct->tm_wday;
  14.         if (weekDay <= 0) {
  15.             weekDay = 6;
  16.         } else {
  17.             weekDay = weekDay - 1;
  18.         }
  19.         time_t result = dayBeforeLastSiege;
  20.         result -= 60 * dayBeforeLastSiegeStruct->tm_min;
  21.         result -= 3600 * dayBeforeLastSiegeStruct->tm_hour;
  22.         result -= 86400 * weekDay;
  23.         result -= dayBeforeLastSiegeStruct->tm_sec;
  24.         result += 1713600;
  25.         struct tm *resultStruct = localtime32(&result);
  26.         CLog::Add(CLog::Black, L"%d year %d month %d day %d hour %d min.",
  27.             resultStruct->tm_year, resultStruct->tm_mon, resultStruct->tm_day,
  28.             resultStruct->tm_hour, resultStruct->tm_min);
  29.         time_t now = time32(0i64);
  30.         struct tm *nowStruct = localtime32(&now);
  31.         CLog::Add(CLog::Black, L"now : %d year %d month %d day %d hour %d min.",
  32.             nowStruct->tm_year, nowStruct->tm_mon, nowStruct->tm_day,
  33.             nowStruct->tm_hour, nowStruct->tm_min);
  34.         if (!result) {
  35.             result = now + 3600;
  36.         }
  37.         return result;
  38.     } else {
  39.         CLog::Add(CLog::Red, L"localtime_l2 is null in CDominion::GetSelectableSiegeTimes");
  40.         return 0;
  41.     }
  42. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement