From aeceeb93593ab5be3fce29eb2c3185dea66b0dbe Mon Sep 17 00:00:00 2001 From: theroylee <55896140+theroylee@users.noreply.github.com> Date: Thu, 6 Jan 2022 01:27:36 -0700 Subject: Added Crash Site Fastball spawns --- .../mod/scripts/vscripts/gamemodes/_gamemode_fastball.gnut | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'Northstar.Custom/mod/scripts') diff --git a/Northstar.Custom/mod/scripts/vscripts/gamemodes/_gamemode_fastball.gnut b/Northstar.Custom/mod/scripts/vscripts/gamemodes/_gamemode_fastball.gnut index 98878c3a..6e88845d 100644 --- a/Northstar.Custom/mod/scripts/vscripts/gamemodes/_gamemode_fastball.gnut +++ b/Northstar.Custom/mod/scripts/vscripts/gamemodes/_gamemode_fastball.gnut @@ -97,6 +97,14 @@ void function GamemodeFastball_Init() < 8, 825, 1096 >, < 0, -90.00, 0 > , < 740 , -600, 960 >, < 0, 0, 0 > ]) + + FastballAddBuddySpawnForLevel( "mp_crashsite3", TEAM_MILITIA, < -6364.65, -1291.28, 822.02>, <0, -19.17, 0> ) + FastballAddBuddySpawnForLevel( "mp_crashsite3", TEAM_IMC, < -2455.29, 821.52, 539.21>, <0, -179.21, 0> ) + FastballAddPanelSpawnsForLevel( "mp_crashsite3", [ + < -672.27, -2786, 931.17 >, < 0, -45, 0 >, + < -3967.45, -1616.51, 1255.15 >, < 1.43, 80, 21.5 >, + < -6190.25, 1658.51, 1400.03 >, < 0, 144, 0 > + ]) //Current BT fast ball points are good FastballAddPanelSpawnsForLevel( "mp_colony02", [ @@ -208,4 +216,4 @@ int function FastballDecideWinner() return TEAM_IMC return TEAM_UNASSIGNED -} \ No newline at end of file +} -- cgit v1.2.3 From 4c38a6e54a2d8f3db17f15d5f5adfae19b215bc1 Mon Sep 17 00:00:00 2001 From: theroylee <55896140+theroylee@users.noreply.github.com> Date: Thu, 6 Jan 2022 01:29:30 -0700 Subject: Added Rise Fastball spawns --- .../mod/scripts/vscripts/gamemodes/_gamemode_fastball.gnut | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'Northstar.Custom/mod/scripts') diff --git a/Northstar.Custom/mod/scripts/vscripts/gamemodes/_gamemode_fastball.gnut b/Northstar.Custom/mod/scripts/vscripts/gamemodes/_gamemode_fastball.gnut index 6e88845d..81425ebb 100644 --- a/Northstar.Custom/mod/scripts/vscripts/gamemodes/_gamemode_fastball.gnut +++ b/Northstar.Custom/mod/scripts/vscripts/gamemodes/_gamemode_fastball.gnut @@ -105,6 +105,14 @@ void function GamemodeFastball_Init() < -3967.45, -1616.51, 1255.15 >, < 1.43, 80, 21.5 >, < -6190.25, 1658.51, 1400.03 >, < 0, 144, 0 > ]) + + FastballAddBuddySpawnForLevel( "mp_rise", TEAM_MILITIA, < -3885.97, 35.11, 704.03>, <0, 11.86, 0> ) + FastballAddBuddySpawnForLevel( "mp_rise", TEAM_IMC, < 2206.76, 1869.08, 453.9>, <0, -165.77, 0> ) + FastballAddPanelSpawnsForLevel( "mp_rise", [ + < 2189.09, 1841.74, 73.06 >, < 0, 0, 0 >, + < -448.54, 1091.42, 545.03 >, < 0, 0, 0 >, + < -4083.55, -669.75, 383.03 >, < 0, -90, 0 > + ]) //Current BT fast ball points are good FastballAddPanelSpawnsForLevel( "mp_colony02", [ -- cgit v1.2.3 From da5ce386d1f1906c60031b561e028497bf7b7d4c Mon Sep 17 00:00:00 2001 From: GeckoEidechse <40122905+GeckoEidechse@users.noreply.github.com> Date: Thu, 6 Jan 2022 17:46:59 +0100 Subject: Update location of B panel on Crash Site As discussed in the PR to NorthstarMods --- Northstar.Custom/mod/scripts/vscripts/gamemodes/_gamemode_fastball.gnut | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Northstar.Custom/mod/scripts') diff --git a/Northstar.Custom/mod/scripts/vscripts/gamemodes/_gamemode_fastball.gnut b/Northstar.Custom/mod/scripts/vscripts/gamemodes/_gamemode_fastball.gnut index 81425ebb..d9923fe0 100644 --- a/Northstar.Custom/mod/scripts/vscripts/gamemodes/_gamemode_fastball.gnut +++ b/Northstar.Custom/mod/scripts/vscripts/gamemodes/_gamemode_fastball.gnut @@ -102,7 +102,7 @@ void function GamemodeFastball_Init() FastballAddBuddySpawnForLevel( "mp_crashsite3", TEAM_IMC, < -2455.29, 821.52, 539.21>, <0, -179.21, 0> ) FastballAddPanelSpawnsForLevel( "mp_crashsite3", [ < -672.27, -2786, 931.17 >, < 0, -45, 0 >, - < -3967.45, -1616.51, 1255.15 >, < 1.43, 80, 21.5 >, + < -3770, -990, 985 >, < 10, 80.00, 20 >, < -6190.25, 1658.51, 1400.03 >, < 0, 144, 0 > ]) -- cgit v1.2.3 From 0cdf3d9ee85523cc687acd6835e4429e855350d6 Mon Sep 17 00:00:00 2001 From: theroylee <55896140+theroylee@users.noreply.github.com> Date: Thu, 6 Jan 2022 12:55:22 -0700 Subject: Changed A and C panel locations on Rise Moved these both closer to the middle of the map to encourage denying respawns based on panels. --- .../mod/scripts/vscripts/gamemodes/_gamemode_fastball.gnut | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'Northstar.Custom/mod/scripts') diff --git a/Northstar.Custom/mod/scripts/vscripts/gamemodes/_gamemode_fastball.gnut b/Northstar.Custom/mod/scripts/vscripts/gamemodes/_gamemode_fastball.gnut index d9923fe0..405ef16e 100644 --- a/Northstar.Custom/mod/scripts/vscripts/gamemodes/_gamemode_fastball.gnut +++ b/Northstar.Custom/mod/scripts/vscripts/gamemodes/_gamemode_fastball.gnut @@ -109,9 +109,9 @@ void function GamemodeFastball_Init() FastballAddBuddySpawnForLevel( "mp_rise", TEAM_MILITIA, < -3885.97, 35.11, 704.03>, <0, 11.86, 0> ) FastballAddBuddySpawnForLevel( "mp_rise", TEAM_IMC, < 2206.76, 1869.08, 453.9>, <0, -165.77, 0> ) FastballAddPanelSpawnsForLevel( "mp_rise", [ - < 2189.09, 1841.74, 73.06 >, < 0, 0, 0 >, + < 141, 2484.71, 296.03 >, < 0, 0, 0 >, < -448.54, 1091.42, 545.03 >, < 0, 0, 0 >, - < -4083.55, -669.75, 383.03 >, < 0, -90, 0 > + < -2097, 1050, 320.03 >, < 0, 180, 0 > ]) //Current BT fast ball points are good -- cgit v1.2.3 From b55efc1402427093b052f85499270c0c0290b525 Mon Sep 17 00:00:00 2001 From: Will Castro <39478251+VITALISED@users.noreply.github.com> Date: Sat, 8 Jan 2022 13:23:23 +1100 Subject: Add TFFA --- .../northstar_client_localisation_english.txt | Bin 21470 -> 22060 bytes Northstar.Custom/keyvalues/playlists_v2.txt | 55 ++++++++++++++ Northstar.Custom/mod.json | 22 ++++++ .../scripts/vscripts/gamemodes/_gamemode_tffa.gnut | 79 +++++++++++++++++++++ .../vscripts/gamemodes/cl_gamemode_tffa.gnut | 28 ++++++++ .../vscripts/gamemodes/sh_gamemode_tffa.gnut | 39 ++++++++++ 6 files changed, 223 insertions(+) create mode 100644 Northstar.Custom/mod/scripts/vscripts/gamemodes/_gamemode_tffa.gnut create mode 100644 Northstar.Custom/mod/scripts/vscripts/gamemodes/cl_gamemode_tffa.gnut create mode 100644 Northstar.Custom/mod/scripts/vscripts/gamemodes/sh_gamemode_tffa.gnut (limited to 'Northstar.Custom/mod/scripts') diff --git a/Northstar.Client/mod/resource/northstar_client_localisation_english.txt b/Northstar.Client/mod/resource/northstar_client_localisation_english.txt index c277964b..af8a0229 100644 Binary files a/Northstar.Client/mod/resource/northstar_client_localisation_english.txt and b/Northstar.Client/mod/resource/northstar_client_localisation_english.txt differ diff --git a/Northstar.Custom/keyvalues/playlists_v2.txt b/Northstar.Custom/keyvalues/playlists_v2.txt index 37734025..44ca48e3 100644 --- a/Northstar.Custom/keyvalues/playlists_v2.txt +++ b/Northstar.Custom/keyvalues/playlists_v2.txt @@ -241,6 +241,23 @@ playlists gamemode_score_hint #GAMEMODE_SCORE_HINT_TDM } } + tffa + { + inherit defaults + vars + { + name #PL_tffa + lobbytitle #PL_tffa_lobby + description #PL_tffa_desc + abbreviation #PL_sbox_abbr + + scorelimit 20 + max_players 10 + max_teams 10 + classic_mp 1 + gamemode_score_hint #GAMEMODE_SCORE_HINT_TDM + } + } } Playlists { @@ -780,5 +797,43 @@ playlists } } } + tffa + { + inherit defaults + vars + { + name #PL_tffa + lobbytitle #PL_tffa_lobby + description #PL_tffa_desc + hint #PL_tffa_hint + image lts + abbreviation #PL_tffa_abbr + visible 0 + } + gamemodes + { + tffa + { + maps + { + mp_forwardbase_kodai 1 + mp_grave 1 + mp_homestead 1 + mp_thaw 1 + mp_black_water_canal 1 + mp_eden 1 + mp_drydock 1 + mp_crashsite3 1 + mp_complex3 1 + mp_angel_city 1 + mp_colony02 1 + mp_glitch 1 + mp_relic02 1 + mp_wargames 1 + mp_rise 1 + } + } + } + } } } diff --git a/Northstar.Custom/mod.json b/Northstar.Custom/mod.json index d6c54033..2aaa7eb7 100644 --- a/Northstar.Custom/mod.json +++ b/Northstar.Custom/mod.json @@ -278,6 +278,28 @@ "Before": "ShGamemodeCTFComp_Init" } }, + + { + "Path": "gamemodes/sh_gamemode_tffa.gnut", + "RunOn": "( CLIENT || SERVER ) && MP", + "ClientCallback": { + "Before": "Sh_GamemodeTFFA_Init" + }, + + "ServerCallback": { + "Before": "Sh_GamemodeTFFA_Init" + } + }, + + { + "Path": "gamemodes/_gamemode_tffa.gnut", + "RunOn": "SERVER && MP" + }, + + { + "Path": "gamemodes/cl_gamemode_tffa.gnut", + "RunOn": "CLIENT && MP" + }, { "Path": "sh_3psequence_to_1p_hacks.gnut", diff --git a/Northstar.Custom/mod/scripts/vscripts/gamemodes/_gamemode_tffa.gnut b/Northstar.Custom/mod/scripts/vscripts/gamemodes/_gamemode_tffa.gnut new file mode 100644 index 00000000..edea5a76 --- /dev/null +++ b/Northstar.Custom/mod/scripts/vscripts/gamemodes/_gamemode_tffa.gnut @@ -0,0 +1,79 @@ +// literally just ttdm paste + +global function GamemodeTFFA_Init + +const float TFFAIntroLength = 15.0 + +void function GamemodeTFFA_Init() +{ + Riff_ForceSetSpawnAsTitan( eSpawnAsTitan.Always ) + Riff_ForceTitanExitEnabled( eTitanExitEnabled.Never ) + TrackTitanDamageInPlayerGameStat( PGS_ASSAULT_SCORE ) + ScoreEvent_SetupEarnMeterValuesForMixedModes() + SetLoadoutGracePeriodEnabled( false ) + + ClassicMP_SetCustomIntro( TFFAIntroSetup, TFFAIntroLength ) + + AddCallback_OnPlayerKilled( AddTeamScoreForPlayerKilled ) // dont have to track autotitan kills since you cant leave your titan in this mode + + // probably needs scoreevent earnmeter values +} + +void function TFFAIntroSetup() +{ + // this should show intermission cam for 15 sec in prematch, before spawning players as titans + AddCallback_GameStateEnter( eGameState.Prematch, TFFAIntroStart ) + AddCallback_OnClientConnected( TFFAIntroShowIntermissionCam ) +} + +void function TFFAIntroStart() +{ + thread TFFAIntroStartThreaded() +} + +void function TFFAIntroStartThreaded() +{ + ClassicMP_OnIntroStarted() + + foreach ( entity player in GetPlayerArray() ) + TFFAIntroShowIntermissionCam( player ) + + wait TFFAIntroLength + + ClassicMP_OnIntroFinished() +} + +void function TFFAIntroShowIntermissionCam( entity player ) +{ + if ( GetGameState() != eGameState.Prematch ) + return + + thread PlayerWatchesTFFAIntroIntermissionCam( player ) +} + +void function PlayerWatchesTFFAIntroIntermissionCam( entity player ) +{ + ScreenFadeFromBlack( player ) + + entity intermissionCam = GetEntArrayByClass_Expensive( "info_intermission" )[ 0 ] + + // the angle set here seems sorta inconsistent as to whether it actually works or just stays at 0 for some reason + player.SetObserverModeStaticPosition( intermissionCam.GetOrigin() ) + player.SetObserverModeStaticAngles( intermissionCam.GetAngles() ) + player.StartObserverMode( OBS_MODE_STATIC_LOCKED ) + + wait TFFAIntroLength + + RespawnAsTitan( player, false ) + TryGameModeAnnouncement( player ) +} + +void function AddTeamScoreForPlayerKilled( entity victim, entity attacker, var damageInfo ) +{ + if ( victim != attacker && victim.IsPlayer() && attacker.IsPlayer() && GetGameState() == eGameState.Playing ) + { + AddTeamScore( attacker.GetTeam(), 1 ) + // why isn't this PGS_SCORE? odd game + attacker.AddToPlayerGameStat( PGS_ASSAULT_SCORE, 1 ) + } +} \ No newline at end of file diff --git a/Northstar.Custom/mod/scripts/vscripts/gamemodes/cl_gamemode_tffa.gnut b/Northstar.Custom/mod/scripts/vscripts/gamemodes/cl_gamemode_tffa.gnut new file mode 100644 index 00000000..5a5a3b9c --- /dev/null +++ b/Northstar.Custom/mod/scripts/vscripts/gamemodes/cl_gamemode_tffa.gnut @@ -0,0 +1,28 @@ +global function ClGamemodeTFFA_Init + +void function ClGamemodeTFFA_Init() +{ + // register gamestate asset, this is default so not necessary but doing it anyway + ClGameState_RegisterGameStateAsset( $"ui/gamestate_info_ffa.rpak" ) + + // add music for mode, this is copied directly from the attrition/tdm music registered in cl_music.gnut + RegisterLevelMusicForTeam( eMusicPieceID.LEVEL_INTRO, "music_mp_pilothunt_intro_flyin", TEAM_IMC ) + RegisterLevelMusicForTeam( eMusicPieceID.LEVEL_INTRO, "music_mp_pilothunt_intro_flyin", TEAM_MILITIA ) + + RegisterLevelMusicForTeam( eMusicPieceID.LEVEL_WIN, "music_mp_pilothunt_epilogue_win", TEAM_IMC ) + RegisterLevelMusicForTeam( eMusicPieceID.LEVEL_WIN, "music_mp_pilothunt_epilogue_win", TEAM_MILITIA ) + + RegisterLevelMusicForTeam( eMusicPieceID.LEVEL_DRAW, "music_mp_pilothunt_epilogue_win", TEAM_IMC ) + RegisterLevelMusicForTeam( eMusicPieceID.LEVEL_DRAW, "music_mp_pilothunt_epilogue_win", TEAM_MILITIA ) + + RegisterLevelMusicForTeam( eMusicPieceID.LEVEL_LOSS, "music_mp_pilothunt_epilogue_lose", TEAM_IMC ) + RegisterLevelMusicForTeam( eMusicPieceID.LEVEL_LOSS, "music_mp_pilothunt_epilogue_lose", TEAM_MILITIA ) + + RegisterLevelMusicForTeam( eMusicPieceID.GAMEMODE_1, "music_mp_pilothunt_almostdone", TEAM_IMC ) + RegisterLevelMusicForTeam( eMusicPieceID.GAMEMODE_1, "music_mp_pilothunt_almostdone", TEAM_MILITIA ) + + RegisterLevelMusicForTeam( eMusicPieceID.LEVEL_LAST_MINUTE, "music_mp_pilothunt_lastminute", TEAM_IMC ) + RegisterLevelMusicForTeam( eMusicPieceID.LEVEL_LAST_MINUTE, "music_mp_pilothunt_lastminute", TEAM_MILITIA ) + + AddCallback_GameStateEnter( eGameState.Postmatch, DisplayPostMatchTop3 ) +} \ No newline at end of file diff --git a/Northstar.Custom/mod/scripts/vscripts/gamemodes/sh_gamemode_tffa.gnut b/Northstar.Custom/mod/scripts/vscripts/gamemodes/sh_gamemode_tffa.gnut new file mode 100644 index 00000000..a45e59a4 --- /dev/null +++ b/Northstar.Custom/mod/scripts/vscripts/gamemodes/sh_gamemode_tffa.gnut @@ -0,0 +1,39 @@ +global function Sh_GamemodeTFFA_Init + +global const string GAMEMODE_TFFA = "tffa" + +void function Sh_GamemodeTFFA_Init() +{ + AddCallback_OnCustomGamemodesInit( CreateGamemodeTFFA ) +} + +void function CreateGamemodeTFFA() +{ + GameMode_Create( GAMEMODE_TFFA ) + GameMode_SetName( GAMEMODE_TFFA, "#GAMEMODE_TFFA" ) + GameMode_SetDesc( GAMEMODE_TFFA, "#PL_tffa_desc" ) + GameMode_SetGameModeAnnouncement( GAMEMODE_TFFA, "ffa_modeDesc" ) + GameMode_SetDefaultTimeLimits( GAMEMODE_TFFA, 10, 0.0 ) + GameMode_AddScoreboardColumnData( GAMEMODE_TFFA, "#SCOREBOARD_TITAN_KILLS", PGS_TITAN_KILLS, 2 ) + GameMode_AddScoreboardColumnData( GAMEMODE_TFFA, "#SCOREBOARD_TITAN_DAMAGE", PGS_ASSAULT_SCORE, 6 ) + GameMode_SetColor( GAMEMODE_TFFA, [147, 204, 57, 255] ) + + AddPrivateMatchMode( GAMEMODE_TFFA ) + + GameMode_SetDefaultScoreLimits( GAMEMODE_TFFA, 20, 0) + + #if SERVER + GameMode_AddServerInit( GAMEMODE_TFFA, GamemodeTFFA_Init ) + GameMode_AddServerInit( GAMEMODE_TFFA, GamemodeFFAShared_Init ) + GameMode_SetPilotSpawnpointsRatingFunc( GAMEMODE_TFFA, RateSpawnpoints_Generic ) + GameMode_SetTitanSpawnpointsRatingFunc( GAMEMODE_TFFA, RateSpawnpoints_Generic ) + #elseif CLIENT + GameMode_AddClientInit( GAMEMODE_TFFA, ClGamemodeTFFA_Init ) + GameMode_AddClientInit( GAMEMODE_TFFA, GamemodeFFAShared_Init ) + GameMode_AddClientInit( GAMEMODE_TFFA, ClGamemodeTFFA_Init ) + #endif + #if !UI + GameMode_SetScoreCompareFunc( GAMEMODE_TFFA, CompareAssaultScore ) + GameMode_AddSharedInit( GAMEMODE_TFFA, GamemodeFFA_Dialogue_Init ) + #endif +} \ No newline at end of file -- cgit v1.2.3