Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void __thiscall CPlayerInfo::WorkOutEnergyFromHunger(CPlayerInfo *this)
- {
- CPlayerInfo *info; // esi@1
- CPed *player; // ecx@10
- char v3; // dl@12
- __int16 v4; // ax@13
- CPad *pad; // eax@18
- char *text; // eax@19
- char bDecreaseHealth; // bl@20
- info = this;
- if ( !CCheat::m_aCheatsActive.NeverGetHungry )
- {
- if ( !(dword_B9B8F4 & 1) )
- {
- dword_B9B8F4 |= 1u;
- gLastTimeHungryStateProcessed = CClock::ms_nGameClockHours;
- }
- if ( !CPad::GetPad(0)->DisablePlayerControls
- && !CMenuSystem::num_menus_in_use
- && !TheCamera.m_bWideScreenOn
- && !CCutsceneMgr::ms_running
- && !CGameLogic::IsCoopGameGoingOn()
- && !info->m_pRemoteControlledCar )
- {
- player = info->m_pPed;
- if ( info->m_pPed )
- {
- if ( !player->physical.m_pAttachedTo )
- {
- v3 = gLastTimeHungryStateProcessed;
- if ( CClock::ms_nGameClockHours != gLastTimeHungryStateProcessed )
- {
- v4 = info->m_nNumHoursNotEating;
- if ( !v4 )
- gLastHungryState = 0;
- info->m_nNumHoursNotEating = v4 + 1;
- }
- if ( info->m_nNumHoursNotEating <= 48 )
- {
- bHungryMessageShown = 0;
- }
- else
- {
- if ( CClock::ms_nGameClockHours == v3 )
- return;
- CPed::Say(player, 337, 0, 1.0, 0, 0, 0);
- pad = CPad::GetPad(0);
- CPad::StartShake(pad, 400, 110u, 0);
- if ( bHungryMessageShown )
- {
- bDecreaseHealth = 0;
- if ( CStats::GetStatValue(21u) > 0.0 )
- {
- CStats::DecrementStat(21u, 25.0);
- CStats::DisplayScriptStatUpdateMessage(0, 21u, 25.0);
- bDecreaseHealth = 1;
- if ( !gLastHungryState )
- gLastHungryState = LOBYTE(info->m_nNumHoursNotEating) + 24;
- }
- if ( CStats::GetStatValue(23u) <= 0.0
- || info->m_nNumHoursNotEating <= (unsigned __int8)gLastHungryState && gLastHungryState )
- {
- if ( !bDecreaseHealth )
- info->m_pPed->m_fHealth = info->m_pPed->m_fHealth - 2.0;
- }
- else
- {
- CStats::DecrementStat(23u, 25.0);
- CStats::DisplayScriptStatUpdateMessage(0, 23u, 25.0);
- }
- }
- else
- {
- text = CText::Get(&TheText, "NOTEAT");
- CHud::SetHelpMessage(text, 1, 0, 1);
- bHungryMessageShown = 1;
- }
- }
- if ( CClock::ms_nGameClockHours != gLastTimeHungryStateProcessed )
- gLastTimeHungryStateProcessed = CClock::ms_nGameClockHours;
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement