From cdd00dc2b789ea8cfe6a87b15de87208ad1e0f6f Mon Sep 17 00:00:00 2001 From: okvdai <108829133+okvdai@users.noreply.github.com> Date: Fri, 5 May 2023 22:01:51 +0200 Subject: [PATCH] Rework get functions into getFromToneAPI #8 --- mod.json | 4 +- mod/scripts/vscripts/pulse.gnut | 71 +++---------------- mod/scripts/vscripts/ui/menu_stats_maps.nut | 8 +-- .../vscripts/ui/menu_stats_overview.nut | 28 ++++---- mod/scripts/vscripts/ui/menu_stats_time.nut | 2 +- mod/scripts/vscripts/ui/menu_stats_titans.nut | 2 +- .../vscripts/ui/menu_stats_utility.nut | 10 +-- .../vscripts/ui/menu_stats_weapons.nut | 6 +- 8 files changed, 40 insertions(+), 91 deletions(-) diff --git a/mod.json b/mod.json index 6113565..a3c0074 100644 --- a/mod.json +++ b/mod.json @@ -1,7 +1,7 @@ { "Name": "ToneAPI.pulse", "Description": "Displays Tone API kill data in the Stats tab.", - "Version": "1.2.1", + "Version": "1.2.2", "LoadPriority": 1, "ConVars": [ { @@ -22,7 +22,7 @@ }, { "Name": "PatchVersion", - "DefaultValue": "1" + "DefaultValue": "2" } ], "Scripts": [ diff --git a/mod/scripts/vscripts/pulse.gnut b/mod/scripts/vscripts/pulse.gnut index c0cc1bf..c6f185d 100644 --- a/mod/scripts/vscripts/pulse.gnut +++ b/mod/scripts/vscripts/pulse.gnut @@ -3,13 +3,7 @@ global function GetWeaponStatsFromToneAPI global function GetGlobalDataFromToneAPI global function GetMapStatsFromToneAPI global function GetGamemodeStatsFromToneAPI -global function getWeaponKillsFromToneAPI -global function getNemesisWeaponFromToneAPI -global function getDWEFromToneAPI -global function getMapKillFromToneAPI -global function getMapDeathFromToneAPI -global function getMapDistFromToneAPI -global function getMapMDistFromToneAPI +global function getFromToneAPI global function fetchGamemodeStatsFromToneAPI global table globalToneAPIKillData = {} @@ -32,6 +26,10 @@ int mapEntries = 0 int gamemodeEntries = 0 int mapGamemodeEntries = 0 +struct { + array allMaps +} file + void function pulseInit() { prefix = "\x1b[38;2;255;178;102m[PULSE]\x1b[0m " @@ -206,62 +204,13 @@ void function fetchGamemodeStatsFromToneAPI(string mapName) NSHttpRequest(getMapGamemodeStats, onSuccess, onFailure) } -int function getWeaponKillsFromToneAPI(string weaponRef){ +int function getFromToneAPI(string parameter, table data){ - if(weaponRef in globalToneAPIKillData){ - return expect int(globalToneAPIKillData[weaponRef]) + if (file.allMaps.find(parameter) != -1) { + parameter = parameter.slice(3) } - return 0 -} - -int function getNemesisWeaponFromToneAPI(string weaponRef){ - - if(weaponRef in globalToneAPIDeathData){ - return expect int(globalToneAPIDeathData[weaponRef]) - } - return 0 -} - -int function getDWEFromToneAPI(string weaponRef){ - - if(weaponRef in globalToneAPIDWEData){ - return expect int(globalToneAPIDWEData[weaponRef]) - } - return 0 -} - -int function getMapKillFromToneAPI(string mapName){ - - mapName = mapName.slice(3) - if(mapName in globalToneAPIMapKillData){ - return expect int(globalToneAPIMapKillData[mapName]) - } - return 0 -} - -int function getMapDeathFromToneAPI(string mapName){ - - mapName = mapName.slice(3) - if(mapName in globalToneAPIMapDeathData){ - return expect int(globalToneAPIMapDeathData[mapName]) - } - return 0 -} - -int function getMapMDistFromToneAPI(string mapName){ - - mapName = mapName.slice(3) - if(mapName in globalToneAPIMapMDistData){ - return expect int(globalToneAPIMapMDistData[mapName]) - } - return 0 -} - -int function getMapDistFromToneAPI(string mapName){ - - mapName = mapName.slice(3) - if(mapName in globalToneAPIMapDistData){ - return expect int(globalToneAPIMapDistData[mapName]) + if (parameter in data) { + return expect int(data[parameter]) } return 0 } diff --git a/mod/scripts/vscripts/ui/menu_stats_maps.nut b/mod/scripts/vscripts/ui/menu_stats_maps.nut index e86f05c..388897a 100644 --- a/mod/scripts/vscripts/ui/menu_stats_maps.nut +++ b/mod/scripts/vscripts/ui/menu_stats_maps.nut @@ -155,16 +155,16 @@ void function UpdateStatsForMap( string mapName ) //SetStatBoxDisplay( Hud_GetChild( file.menu, "Stat3" ), Localize( "#STATS_GAMES_PLAYED" ), gamesPlayed ) SetStatsLabelValue( file.menu, "KillsLabel0", "KILLS ON MAP" ) - SetStatsLabelValue( file.menu, "KillsValue0", getMapKillFromToneAPI(mapName) ) + SetStatsLabelValue( file.menu, "KillsValue0", getFromToneAPI(mapName, globalToneAPIMapKillData) ) SetStatsLabelValue( file.menu, "KillsLabel1", "DEATHS ON MAP" ) - SetStatsLabelValue( file.menu, "KillsValue1", getMapDeathFromToneAPI(mapName) ) + SetStatsLabelValue( file.menu, "KillsValue1", getFromToneAPI(mapName, globalToneAPIMapDeathData) ) SetStatsLabelValue( file.menu, "KillsLabel2", "TOTAL SHOT DISTANCE" ) - SetStatsLabelValue( file.menu, "KillsValue2", string(int((1.905 * float(getMapDistFromToneAPI(mapName) ) ) )/100) + "m" ) + SetStatsLabelValue( file.menu, "KillsValue2", string(int((1.905 * float(getFromToneAPI(mapName, globalToneAPIMapDistData) ) ) )/100) + "m" ) SetStatsLabelValue( file.menu, "KillsLabel3", "MAXIMUM SHOT DISTANCE" ) - SetStatsLabelValue( file.menu, "KillsValue3", string(int((1.905 * float(getMapMDistFromToneAPI(mapName) ) ) )/100) + "m" ) + SetStatsLabelValue( file.menu, "KillsValue3", string(int((1.905 * float(getFromToneAPI(mapName, globalToneAPIMapMDistData) ) ) )/100) + "m" ) SetStatsLabelValue( file.menu, "KillsLabel4", "--" ) SetStatsLabelValue( file.menu, "KillsValue4", "--" ) diff --git a/mod/scripts/vscripts/ui/menu_stats_overview.nut b/mod/scripts/vscripts/ui/menu_stats_overview.nut index a2a74c6..3b4197c 100644 --- a/mod/scripts/vscripts/ui/menu_stats_overview.nut +++ b/mod/scripts/vscripts/ui/menu_stats_overview.nut @@ -50,7 +50,7 @@ void function GetTitanKills( string titanName ) foreach ( weaponRef in file.titanStatLoadout[ titanName ]) { - titanKillData[weaponRef] <- getWeaponKillsFromToneAPI(weaponRef) + titanKillData[weaponRef] <- getFromToneAPI(weaponRef, globalToneAPIKillData) } } @@ -316,7 +316,7 @@ function UpdateViewStatsOverviewMenu() if (key in titanKillData) { continue } else { - killsAsPilot += getWeaponKillsFromToneAPI(string(key)) + killsAsPilot += getFromToneAPI(string(key), globalToneAPIKillData) } } @@ -391,27 +391,27 @@ function UpdateViewStatsOverviewMenu() 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") ) ) - Hud_SetText( GetElem( file.menu, "KillsAsPilotValue4" ), string( getWeaponKillsFromToneAPI("human_execution") ) ) + Hud_SetText( GetElem( file.menu, "KillsAsPilotValue3" ), string( getFromToneAPI("pilot_emptyhanded", globalToneAPIKillData) ) ) + Hud_SetText( GetElem( file.menu, "KillsAsPilotValue4" ), string( getFromToneAPI("human_execution", globalToneAPIKillData) ) ) // Hud_SetText( GetElem( file.menu, "KillsAsPilotValue5" ), string( GetPlayerStatInt( player, "kills_stats", "titanFallKill" ) ) ) var titanMeleeKills = 0 - titanMeleeKills += getWeaponKillsFromToneAPI("titan_punch_ion") - titanMeleeKills += getWeaponKillsFromToneAPI("titan_punch_scorch") - titanMeleeKills += getWeaponKillsFromToneAPI("titan_punch_northstar") - titanMeleeKills += getWeaponKillsFromToneAPI("titan_sword") - titanMeleeKills += getWeaponKillsFromToneAPI("titan_punch_tone") - titanMeleeKills += getWeaponKillsFromToneAPI("titan_punch_legion") - titanMeleeKills += getWeaponKillsFromToneAPI("titan_punch_vanguard") - titanMeleeKills += getWeaponKillsFromToneAPI("auto_titan_melee") + titanMeleeKills += getFromToneAPI("titan_punch_ion", globalToneAPIKillData) + titanMeleeKills += getFromToneAPI("titan_punch_scorch", globalToneAPIKillData) + titanMeleeKills += getFromToneAPI("titan_punch_northstar", globalToneAPIKillData) + titanMeleeKills += getFromToneAPI("titan_sword", globalToneAPIKillData) + titanMeleeKills += getFromToneAPI("titan_punch_tone", globalToneAPIKillData) + titanMeleeKills += getFromToneAPI("titan_punch_legion", globalToneAPIKillData) + titanMeleeKills += getFromToneAPI("titan_punch_vanguard", globalToneAPIKillData) + titanMeleeKills += getFromToneAPI("auto_titan_melee", globalToneAPIKillData) - var titanExecutions = getWeaponKillsFromToneAPI("titan_execution") + var titanExecutions = getFromToneAPI("titan_execution", globalToneAPIKillData) 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 ) ) - Hud_SetText( GetElem( file.menu, "KillsAsTitanValue4" ), string( getWeaponKillsFromToneAPI("damagedef_titan_step") ) ) + Hud_SetText( GetElem( file.menu, "KillsAsTitanValue4" ), string( getFromToneAPI("damagedef_titan_step", globalToneAPIKillData) ) ) } function PlotKDPointsOnGraph( menu, graphIndex, values, dottedAverage ) diff --git a/mod/scripts/vscripts/ui/menu_stats_time.nut b/mod/scripts/vscripts/ui/menu_stats_time.nut index a12aefa..f517eaa 100644 --- a/mod/scripts/vscripts/ui/menu_stats_time.nut +++ b/mod/scripts/vscripts/ui/menu_stats_time.nut @@ -49,7 +49,7 @@ float function GetTitanKills( string titanName) float weaponKills = 0 foreach ( weaponRef in file.titanStatLoadout[ titanName ]) { - weaponKills += float(getWeaponKillsFromToneAPI(weaponRef)) + weaponKills += float(getFromToneAPI(weaponRef, globalToneAPIKillData)) } return weaponKills } diff --git a/mod/scripts/vscripts/ui/menu_stats_titans.nut b/mod/scripts/vscripts/ui/menu_stats_titans.nut index 33fd156..b7912a3 100644 --- a/mod/scripts/vscripts/ui/menu_stats_titans.nut +++ b/mod/scripts/vscripts/ui/menu_stats_titans.nut @@ -175,7 +175,7 @@ void function UpdateStatsForTitan( string titanRef, int loadoutIndex ) int aiKills foreach ( weaponRef in file.titanStatLoadout[ titanRef ] ) { - totalKills += getWeaponKillsFromToneAPI(weaponRef) + totalKills += getFromToneAPI(weaponRef, globalToneAPIKillData) pilotKills += GetPlayerStatInt( player, "weapon_kill_stats", "pilots", weaponRef ) titanKills += GetPlayerStatInt( player, "weapon_kill_stats", "titansTotal", weaponRef ) aiKills += GetPlayerStatInt( player, "weapon_kill_stats", "ai", weaponRef ) diff --git a/mod/scripts/vscripts/ui/menu_stats_utility.nut b/mod/scripts/vscripts/ui/menu_stats_utility.nut index 31b271c..6eddad7 100644 --- a/mod/scripts/vscripts/ui/menu_stats_utility.nut +++ b/mod/scripts/vscripts/ui/menu_stats_utility.nut @@ -338,7 +338,7 @@ table function GetOverviewWeaponData() if ( !PersistenceEnumValueIsValid( "loadoutWeaponsAndAbilities", weaponName ) ) continue - int val = getWeaponKillsFromToneAPI(weaponName) + int val = getFromToneAPI(weaponName, globalToneAPIKillData) if ( val > Table[ "most_kills" ].val ) { Table[ "most_kills" ].ref = weaponName @@ -346,7 +346,7 @@ table function GetOverviewWeaponData() Table[ "most_kills" ].val = val } - int nval = getNemesisWeaponFromToneAPI(weaponName) + int nval = getFromToneAPI(weaponName, globalToneAPIDeathData) if ( nval > Table[ "nemesis_weapon" ].val ) { Table[ "nemesis_weapon" ].ref = weaponName @@ -357,9 +357,9 @@ table function GetOverviewWeaponData() float kdval = 0 float kval = 0 float dval = 0 - if( getWeaponKillsFromToneAPI(weaponName) != 0 && getDWEFromToneAPI(weaponName) != 0){ - kval = float(getWeaponKillsFromToneAPI(weaponName)) - dval = float(getDWEFromToneAPI(weaponName)) + if( getFromToneAPI(weaponName, globalToneAPIKillData) != 0 && getFromToneAPI(weaponName, globalToneAPIDWEData) != 0){ + kval = float(getFromToneAPI(weaponName, globalToneAPIKillData)) + dval = float(getFromToneAPI(weaponName, globalToneAPIDWEData)) if (kval / dval > kdval){ kdval = kval / dval } diff --git a/mod/scripts/vscripts/ui/menu_stats_weapons.nut b/mod/scripts/vscripts/ui/menu_stats_weapons.nut index 114f202..c37c533 100644 --- a/mod/scripts/vscripts/ui/menu_stats_weapons.nut +++ b/mod/scripts/vscripts/ui/menu_stats_weapons.nut @@ -180,8 +180,8 @@ void function UpdateStatsForWeapon( string weaponRef ) } // Total Kills Stats - SetStatsLabelValue( file.menu, "KillsValue0", getWeaponKillsFromToneAPI(weaponRef) ) - SetStatsLabelValue( file.menu, "KillsValue1", getWeaponKillsFromToneAPI(weaponRef) ) + SetStatsLabelValue( file.menu, "KillsValue0", getFromToneAPI(weaponRef, globalToneAPIKillData) ) + SetStatsLabelValue( file.menu, "KillsValue1", getFromToneAPI(weaponRef, globalToneAPIKillData) ) SetStatsLabelValue( file.menu, "KillsValue2", GetPlayerStatInt( player, "weapon_kill_stats", "titansTotal", weaponRef ) ) - SetStatsLabelValue( file.menu, "KillsValue3", getDWEFromToneAPI(weaponRef)) + SetStatsLabelValue( file.menu, "KillsValue3", getFromToneAPI(weaponRef, globalToneAPIDWEData)) }