aboutsummaryrefslogtreecommitdiff
path: root/Northstar.CustomServers/scripts/vscripts/sh_calling_cards.gnut
diff options
context:
space:
mode:
Diffstat (limited to 'Northstar.CustomServers/scripts/vscripts/sh_calling_cards.gnut')
-rw-r--r--Northstar.CustomServers/scripts/vscripts/sh_calling_cards.gnut424
1 files changed, 0 insertions, 424 deletions
diff --git a/Northstar.CustomServers/scripts/vscripts/sh_calling_cards.gnut b/Northstar.CustomServers/scripts/vscripts/sh_calling_cards.gnut
deleted file mode 100644
index 67461945..00000000
--- a/Northstar.CustomServers/scripts/vscripts/sh_calling_cards.gnut
+++ /dev/null
@@ -1,424 +0,0 @@
-global function ShCallingCards_Init
-
-global function PlayerCallingCard_GetActive
-global function PlayerCallingCard_GetActiveIndex
-
-global function CallingCard_GetRef
-global function CallingCard_GetImage
-global function CallingCards_GetCount
-global function CallingCard_GetByIndex
-global function CallingCard_GetByRef
-
-global function PlayerCallsignIcon_GetActive
-global function PlayerCallsignIcon_GetActiveIndex
-
-global function CallsignIcon_GetRef
-global function CallsignIcon_GetImage
-global function CallingCard_GetLayout
-global function CallsignIcon_GetSmallImage
-global function CallsignIcons_GetCount
-global function CallsignIcon_GetByIndex
-global function CallsignIcon_GetByRef
-
-global function PlayerCallingCard_RefOverride
-
-#if SERVER
- global function PlayerCallsignIcon_SetActive
- global function PlayerCallingCard_SetActiveByRef
- global function PlayerCallsignIcon_SetActiveByRef
-#endif
-
-global struct CallingCard
-{
- int index = -1
- string ref = ""
- asset image = $""
- int layoutType = 0
-}
-
-global struct CallsignIcon
-{
- int index = -1
- string ref = ""
- asset image = $""
- asset smallImage = $""
- int layoutType = 0
-}
-
-struct
-{
- table<string, CallingCard> callingCards
- array<string> callingCardRefs
-
- table<string, CallsignIcon> callsignIcons
- array<string> callsignIconRefs
-
- int nextCallingCardIndex = 0
- int nextCallsignIconIndex = 0
-} file
-
-void function ShCallingCards_Init()
-{
- bool initialized = ( file.callingCardRefs.len() > 0 )
-
- if ( !initialized )
- {
- var dataTable = GetDataTable( $"datatable/calling_cards.rpak" )
- for ( int row = 0; row < GetDatatableRowCount( dataTable ); row++ )
- {
- string cardRef = GetDataTableString( dataTable, row, GetDataTableColumnByName( dataTable, CALLING_CARD_REF_COLUMN_NAME ) )
- asset image = GetDataTableAsset( dataTable, row, GetDataTableColumnByName( dataTable, CALLING_CARD_IMAGE_COLUMN_NAME ) )
- int layoutType = GetDataTableInt( dataTable, row, GetDataTableColumnByName( dataTable, CALLING_CARD_LAYOUT_COLUMN_NAME ) )
-
- CallingCard callingCard
- callingCard.ref = cardRef
- callingCard.image = image
- callingCard.index = row
- callingCard.layoutType = layoutType
-
- file.callingCards[cardRef] <- callingCard
- file.callingCardRefs.append( cardRef )
- }
- }
-
- if ( !initialized )
- {
- var dataTable = GetDataTable( $"datatable/callsign_icons.rpak" )
- for ( int row = 0; row < GetDatatableRowCount( dataTable ); row++ )
- {
- string iconRef = GetDataTableString( dataTable, row, GetDataTableColumnByName( dataTable, CALLSIGN_ICON_REF_COLUMN_NAME ) )
- asset image = GetDataTableAsset( dataTable, row, GetDataTableColumnByName( dataTable, CALLSIGN_ICON_IMAGE_COLUMN_NAME ) )
- asset smallImage = GetDataTableAsset( dataTable, row, GetDataTableColumnByName( dataTable, CALLSIGN_ICON_SMALL_IMAGE_COLUMN_NAME ) )
-
- CallsignIcon callsignIcon
- callsignIcon.ref = iconRef
- callsignIcon.image = image
- callsignIcon.smallImage = smallImage
- callsignIcon.index = row
-
- file.callsignIcons[iconRef] <- callsignIcon
- file.callsignIconRefs.append( iconRef )
- }
- }
-
- #if SERVER
- AddCallback_OnClientConnecting( OnClientConnecting )
- AddCallback_OnTitanBecomesPilot( OnClassChangeBecomePilot )
- AddCallback_OnPilotBecomesTitan( OnClassChangeBecomeTitan )
- #endif
-}
-
-#if SERVER
-void function OnClientConnecting( entity player )
-{
- // hack - don't do this because pdefs aren't fully working
-
- // initialize the persistent network vars
- // string ref = CallingCard_GetRef( PlayerCallingCard_GetActive( player ) )
- // PlayerCallingCard_SetActiveByRef( player, ref )
- //
- // CallsignIcon callsignIcon = PlayerCallsignIcon_GetActive( player )
- //
- // PlayerCallsignIcon_SetActive( player, callsignIcon )
- // player.SetTargetInfoIcon( callsignIcon.smallImage )
-}
-#endif
-
-#if DEV
-CallingCard function DEV_GetNextCallingCard()
-{
- int index = file.nextCallingCardIndex
- printt( "using CallingCard index", index )
- file.nextCallingCardIndex++
- file.nextCallingCardIndex = file.nextCallingCardIndex % file.callingCardRefs.len()
-
- string ref = file.callingCardRefs[index]
- return file.callingCards[ref]
-}
-
-CallsignIcon function DEV_GetNextCallsignIcon()
-{
- int index = file.nextCallsignIconIndex
- printt( "using CallsignIcon index", index )
- file.nextCallsignIconIndex++
- file.nextCallsignIconIndex = file.nextCallsignIconIndex % file.callsignIconRefs.len()
-
- string ref = file.callsignIconRefs[index]
- return file.callsignIcons[ref]
-}
-#endif
-
-int function PlayerCallingCard_GetActiveIndex( entity player )
-{
- #if CLIENT
- int index
- if ( player != GetLocalClientPlayer() )
- index = player.GetPlayerNetInt( "activeCallingCardIndex" )
- else
- index = player.GetPersistentVarAsInt( "activeCallingCardIndex" )
- #else
- int index = player.GetPersistentVarAsInt( "activeCallingCardIndex" )
- #endif
- return index
-}
-
-CallingCard function PlayerCallingCard_GetActive( entity player )
-{
- int index = PlayerCallingCard_GetActiveIndex( player )
- string ref = file.callingCardRefs[index]
- #if CLIENT || UI
- ref = PlayerCallingCard_RefOverride( player, ref )
- #endif
- return file.callingCards[ref]
-}
-
-string function CallingCard_GetRef( CallingCard callingCard )
-{
- return callingCard.ref
-}
-
-asset function CallingCard_GetImage( CallingCard callingCard )
-{
- return callingCard.image
-}
-
-int function CallingCard_GetLayout( CallingCard callingCard )
-{
- return callingCard.layoutType
-}
-
-int function CallingCards_GetCount()
-{
- return file.callingCards.len()
-}
-
-CallingCard function CallingCard_GetByIndex( int index )
-{
- // JFS: handle players with invalid indices
- //Assert( index < CallingCards_GetCount() )
- if ( index >= file.callingCards.len() )
- return file.callingCards["callsign_16_col"]
-
- return file.callingCards[file.callingCardRefs[index]]
-}
-
-CallingCard function CallingCard_GetByRef( string ref )
-{
- return file.callingCards[ref]
-}
-
-
-int function PlayerCallsignIcon_GetActiveIndex( entity player )
-{
- #if CLIENT
- int index
- if ( player != GetLocalClientPlayer() )
- index = player.GetPlayerNetInt( "activeCallsignIconIndex" )
- else
- index = player.GetPersistentVarAsInt( "activeCallsignIconIndex" )
- #else
- int index = player.GetPersistentVarAsInt( "activeCallsignIconIndex" )
- #endif
- return index
-}
-
-CallsignIcon function PlayerCallsignIcon_GetActive( entity player )
-{
- int index = PlayerCallsignIcon_GetActiveIndex( player )
- string ref = file.callsignIconRefs[index]
- return file.callsignIcons[ref]
-}
-
-string function CallsignIcon_GetRef( CallsignIcon callsignIcon )
-{
- return callsignIcon.ref
-}
-
-asset function CallsignIcon_GetImage( CallsignIcon callsignIcon )
-{
- return callsignIcon.image
-}
-
-asset function CallsignIcon_GetSmallImage( CallsignIcon callsignIcon )
-{
- return callsignIcon.smallImage
-}
-
-int function CallsignIcons_GetCount()
-{
- return file.callsignIcons.len()
-}
-
-CallsignIcon function CallsignIcon_GetByIndex( int index )
-{
- // JFS: handle players with invalid indices
- // Assert( index < CallsignIcons_GetCount() )
-
- if ( index >= file.callsignIconRefs.len() )
- index = 0
-
- return file.callsignIcons[file.callsignIconRefs[index]]
-}
-
-CallsignIcon function CallsignIcon_GetByRef( string ref )
-{
- return file.callsignIcons[ref]
-}
-
-
-const table< string, string > dynamicCardRefMap = {
- callsign_fd_ion_dynamic = "ion",
- callsign_fd_tone_dynamic = "tone",
- callsign_fd_scorch_dynamic = "scorch",
- callsign_fd_legion_dynamic = "legion",
- callsign_fd_northstar_dynamic = "northstar",
- callsign_fd_ronin_dynamic = "ronin",
- callsign_fd_monarch_dynamic = "vanguard",
-}
-
-const table< string, array<string> > dynamicCardMap = {
- callsign_fd_ion_dynamic =
- [
- "callsign_fd_ion_dynamic",
- "callsign_fd_ion_dynamic",
- "callsign_fd_ion_hard",
- "callsign_fd_ion_master",
- "callsign_fd_ion_insane",
- ],
-
- callsign_fd_tone_dynamic =
- [
- "callsign_fd_tone_dynamic",
- "callsign_fd_tone_dynamic",
- "callsign_fd_tone_hard",
- "callsign_fd_tone_master",
- "callsign_fd_tone_insane",
- ],
-
- callsign_fd_scorch_dynamic =
- [
- "callsign_fd_scorch_dynamic",
- "callsign_fd_scorch_dynamic",
- "callsign_fd_scorch_hard",
- "callsign_fd_scorch_master",
- "callsign_fd_scorch_insane",
- ],
-
- callsign_fd_legion_dynamic =
- [
- "callsign_fd_legion_dynamic",
- "callsign_fd_legion_dynamic",
- "callsign_fd_legion_hard",
- "callsign_fd_legion_master",
- "callsign_fd_legion_insane",
- ],
-
- callsign_fd_northstar_dynamic =
- [
- "callsign_fd_northstar_dynamic",
- "callsign_fd_northstar_dynamic",
- "callsign_fd_northstar_hard",
- "callsign_fd_northstar_master",
- "callsign_fd_northstar_insane",
- ],
-
- callsign_fd_ronin_dynamic =
- [
- "callsign_fd_ronin_dynamic",
- "callsign_fd_ronin_dynamic",
- "callsign_fd_ronin_hard",
- "callsign_fd_ronin_master",
- "callsign_fd_ronin_insane",
- ],
-
- callsign_fd_monarch_dynamic =
- [
- "callsign_fd_monarch_dynamic",
- "callsign_fd_monarch_dynamic",
- "callsign_fd_monarch_hard",
- "callsign_fd_monarch_master",
- "callsign_fd_monarch_insane",
- ],
-}
-
-string function PlayerCallingCard_RefOverride( entity player, string ref )
-{
- const string CARD_DYNAMIC = "_dynamic"
-
- if ( ref.find( CARD_DYNAMIC ) == null )
- return ref
-
- if ( ref.find( CARD_DYNAMIC ) != ref.len() - CARD_DYNAMIC.len() )
- return ref
-
- if ( ref in dynamicCardRefMap )
- {
- string titanRef = dynamicCardRefMap[ref]
- int highestDifficulty = FD_GetHighestDifficultyForTitan( player, titanRef )
-
- return dynamicCardMap[ref][minint( highestDifficulty, dynamicCardMap[ref].len() - 1 )]
- }
-
- return ref
-}
-
-#if SERVER
-/*
-InitUnlockAsEntitlement( "callsign_fd_ion_dynamic", "", ET_DLC7_ION_WARPAINT )
-InitUnlockAsEntitlement( "callsign_fd_tone_dynamic", "", ET_DLC7_TONE_WARPAINT )
-InitUnlockAsEntitlement( "callsign_fd_scorch_dynamic", "", ET_DLC7_SCORCH_WARPAINT )
-InitUnlockAsEntitlement( "callsign_fd_legion_dynamic", "", ET_DLC7_LEGION_WARPAINT )
-InitUnlockAsEntitlement( "callsign_fd_northstar_dynamic", "", ET_DLC7_NORTHSTAR_WARPAINT )
-InitUnlockAsEntitlement( "callsign_fd_ronin_dynamic", "", ET_DLC7_RONIN_WARPAINT )
-InitUnlockAsEntitlement( "callsign_fd_monarch_dynamic", "", ET_DLC7_MONARCH_WARPAINT )
-*/
-
-void function PlayerCallingCard_SetActiveByIndex( entity player, int index )
-{
-// if ( player.GetPersistentVarAsInt( "activeCallingCardIndex" ) != index )
- player.SetCallingCard( index )
-
- player.SetPlayerNetInt( "activeCallingCardIndex", index )
- player.SetPersistentVar( "activeCallingCardIndex", index )
-}
-
-void function PlayerCallingCard_SetActiveByRef( entity player, string ref )
-{
- PlayerCallingCard_SetActiveByIndex( player, file.callingCards[ref].index )
-
- if ( PlayerCallingCard_RefOverride( player, ref ) != ref )
- player.SetCallingCard( file.callingCards[PlayerCallingCard_RefOverride( player, ref )].index )
-}
-
-void function PlayerCallsignIcon_SetActiveByIndex( entity player, int index )
-{
-// if ( player.GetPersistentVarAsInt( "activeCallsignIconIndex" ) != index )
- player.SetCallSign( index )
-
- player.SetPlayerNetInt( "activeCallsignIconIndex", index )
- player.SetPersistentVar( "activeCallsignIconIndex", index )
-}
-
-void function PlayerCallsignIcon_SetActive( entity player, CallsignIcon callsignIcon )
-{
- PlayerCallsignIcon_SetActiveByIndex( player, callsignIcon.index )
-}
-
-void function PlayerCallsignIcon_SetActiveByRef( entity player, string ref )
-{
- PlayerCallsignIcon_SetActiveByIndex( player, file.callsignIcons[ref].index )
-}
-
-void function OnClassChangeBecomePilot( entity player, entity titan )
-{
- CallsignIcon callsignIcon = PlayerCallsignIcon_GetActive( player )
- player.SetTargetInfoIcon( callsignIcon.smallImage )
-}
-
-void function OnClassChangeBecomeTitan( entity player, entity titan )
-{
- string titanRef = GetTitanCharacterNameFromSetFile( player.GetPlayerSettings() )
- player.SetTargetInfoIcon( GetTitanCoreIcon( titanRef ) )
-}
-
-#endif \ No newline at end of file