aboutsummaryrefslogtreecommitdiff
path: root/Northstar.CustomServers
diff options
context:
space:
mode:
authorWilliam Miller <william-millennium@hotmail.com>2024-01-26 18:44:31 -0300
committerGitHub <noreply@github.com>2024-01-26 22:44:31 +0100
commit51ed7763f70273603a45dec1ca611ad3eba7f5f6 (patch)
tree6ac012928f6fb33f6e76db540926f4b7655997ca /Northstar.CustomServers
parent7edb0f2e726221d99db56c434ab6757f3428651f (diff)
downloadNorthstarMods-51ed7763f70273603a45dec1ca611ad3eba7f5f6.tar.gz
NorthstarMods-51ed7763f70273603a45dec1ca611ad3eba7f5f6.zip
Change Aegis Reset Functionality to use titan chassis ref instead of raw index (#788)
The previous index passed to the method did not correspond properly with the persistent data index. Instead pass their class reference and then use that to grab the correct index.
Diffstat (limited to 'Northstar.CustomServers')
-rw-r--r--Northstar.CustomServers/mod/scripts/vscripts/sh_progression.nut10
1 files changed, 8 insertions, 2 deletions
diff --git a/Northstar.CustomServers/mod/scripts/vscripts/sh_progression.nut b/Northstar.CustomServers/mod/scripts/vscripts/sh_progression.nut
index 2dc88d0d..5098dd32 100644
--- a/Northstar.CustomServers/mod/scripts/vscripts/sh_progression.nut
+++ b/Northstar.CustomServers/mod/scripts/vscripts/sh_progression.nut
@@ -88,7 +88,8 @@ bool function ClientCommand_SetProgression( entity player, array<string> args )
/// Resets a specific Titan's Aegis rank back to `0`
/// * `player` - The player entity to perform the action on
-/// * `args` - The arguments passed from the client command. `args[0]` should be an integer corresponding to the index of the Titan to reset.
+/// * `args` - The arguments passed from the client command. `args[0]` should be a string corresponding to the chassis name of the Titan to reset.
+/// Valid chassis are: ion, tone, vanguard, northstar, ronin, legion, and scorch.
///
/// Returns `true` on success and `false` on missing args.
bool function ClientCommand_ResetTitanAegis( entity player, array<string> args )
@@ -96,7 +97,12 @@ bool function ClientCommand_ResetTitanAegis( entity player, array<string> args )
if ( !args.len() )
return false
- int suitIndex = args[0].tointeger()
+ string titanRef = args[0].tolower()
+ if( !PersistenceEnumValueIsValid( "titanClasses", titanRef ) )
+ return false
+
+ int suitIndex = PersistenceGetEnumIndexForItemName( "titanClasses", titanRef )
+
player.SetPersistentVar( "titanFDUnlockPoints[" + suitIndex + "]", 0 )
player.SetPersistentVar( "previousFDUnlockPoints[" + suitIndex + "]", 0 )
player.SetPersistentVar( "fdTitanXP[" + suitIndex + "]", 0 )