From 4e0192d2ced582857ad6379abce2519da48c463f Mon Sep 17 00:00:00 2001 From: okvdai <108829133+okvdai@users.noreply.github.com> Date: Mon, 1 May 2023 21:47:02 +0200 Subject: [PATCH] Update menu_stats_overview.nut --- .../vscripts/ui/menu_stats_overview.nut | 55 ++++++++++++++++++- 1 file changed, 53 insertions(+), 2 deletions(-) diff --git a/mod/scripts/vscripts/ui/menu_stats_overview.nut b/mod/scripts/vscripts/ui/menu_stats_overview.nut index 1ae8378..c99dbf6 100644 --- a/mod/scripts/vscripts/ui/menu_stats_overview.nut +++ b/mod/scripts/vscripts/ui/menu_stats_overview.nut @@ -5,9 +5,12 @@ global function InitViewStatsOverviewMenu struct { var menu + array allTitans + table > titanStatLoadout } file const MAX_DOTS_ON_GRAPH = 10 +table titanKillData = {} const IMAGE_TITAN_STRYDER = $"ui/menu/personal_stats/ps_titan_icon_stryder" const IMAGE_TITAN_ATLAS = $"ui/menu/personal_stats/ps_titan_icon_atlas" @@ -27,10 +30,42 @@ void function InitViewStatsOverviewMenu() AddMenuFooterOption( menu, BUTTON_B, "#B_BUTTON_BACK", "#BACK" ) } +void function GetTitanKills( string titanName ) +{ + file.allTitans = GetVisibleItemsOfType( eItemTypes.TITAN ) + var dataTable = GetDataTable( $"datatable/titan_properties.rpak" ) + + foreach ( titan in file.allTitans ) + { + file.titanStatLoadout[ titan.ref ] <- [] + + int row = GetDataTableRowMatchingStringValue( dataTable, GetDataTableColumnByName( dataTable, "titanRef" ), titan.ref ) + file.titanStatLoadout[ titan.ref ].append( GetDataTableString( dataTable, row, GetDataTableColumnByName( dataTable, "primary" ) ) ) + file.titanStatLoadout[ titan.ref ].append( GetDataTableString( dataTable, row, GetDataTableColumnByName( dataTable, "ordnance" ) ) ) + file.titanStatLoadout[ titan.ref ].append( GetDataTableString( dataTable, row, GetDataTableColumnByName( dataTable, "special" ) ) ) + file.titanStatLoadout[ titan.ref ].append( GetDataTableString( dataTable, row, GetDataTableColumnByName( dataTable, "antirodeo" ) ) ) + file.titanStatLoadout[ titan.ref ].append( GetDataTableString( dataTable, row, GetDataTableColumnByName( dataTable, "coreAbility" ) ) ) + file.titanStatLoadout[ titan.ref ].append( GetDataTableString( dataTable, row, GetDataTableColumnByName( dataTable, "melee" ) ) ) + } + + foreach ( weaponRef in file.titanStatLoadout[ titanName ]) + { + titanKillData[weaponRef] <- getWeaponKillsFromToneAPI(weaponRef) + } +} + void function OnStatsOverview_Open() { UI_SetPresentationType( ePresentationType.NO_MODELS ) + GetTitanKills("ion") + GetTitanKills("scorch") + GetTitanKills("northstar") + GetTitanKills("ronin") + GetTitanKills("tone") + GetTitanKills("legion") + GetTitanKills("vanguard") + UpdateViewStatsOverviewMenu() } @@ -266,6 +301,22 @@ function UpdateViewStatsOverviewMenu() totalPilotDeaths += value } + var killsAsPilot = 0 + foreach (var key, var value in globalToneAPIKillData) { + if (key in titanKillData) { + continue + } else { + killsAsPilot += getWeaponKillsFromToneAPI(string(key)) + } + } + + var killsAsTitan = 0 + foreach (var key, var value in globalToneAPIKillData) { + if (key in titanKillData) { + killsAsTitan += titanKillData[string(key)] + } + } + float kval = float(totalPilotKills) float dval = float(totalPilotDeaths) float kdval = float(int((kval / dval)*100))/100 @@ -330,7 +381,7 @@ function UpdateViewStatsOverviewMenu() PlotKDPointsOnGraph( file.menu, 1, kdratiopvp_match, lifetimeAveragePVP ) ///////////////////////// - Hud_SetText( GetElem( file.menu, "KillsAsPilotValue0" ), string( totalPilotKills ) ) + Hud_SetText( GetElem( file.menu, "KillsAsPilotValue0" ), string( killsAsPilot ) ) Hud_SetText( GetElem( file.menu, "KillsAsPilotValue1" ), string( GetPlayerStatInt( player, "kills_stats", "titanKillsAsPilot" ) ) ) Hud_SetText( GetElem( file.menu, "KillsAsPilotValue2" ), string( GetPlayerStatInt( player, "kills_stats", "totalNPC" ) ) ) Hud_SetText( GetElem( file.menu, "KillsAsPilotValue3" ), string( getWeaponKillsFromToneAPI("pilot_emptyhanded") ) ) @@ -349,7 +400,7 @@ function UpdateViewStatsOverviewMenu() var titanExecutions = getWeaponKillsFromToneAPI("titan_execution") - Hud_SetText( GetElem( file.menu, "KillsAsTitanValue0" ), string( GetPlayerStatInt( player, "kills_stats", "pilotKillsAsTitan" ) ) ) + Hud_SetText( GetElem( file.menu, "KillsAsTitanValue0" ), string( killsAsTitan ) ) Hud_SetText( GetElem( file.menu, "KillsAsTitanValue1" ), string( GetPlayerStatInt( player, "kills_stats", "titanKillsAsTitan" ) ) ) Hud_SetText( GetElem( file.menu, "KillsAsTitanValue2" ), string( titanExecutions ) ) Hud_SetText( GetElem( file.menu, "KillsAsTitanValue3" ), string( titanMeleeKills ) )