aboutsummaryrefslogtreecommitdiff
path: root/Northstar.CustomServers/scripts/vscripts/mp/_classic_mp.nut
diff options
context:
space:
mode:
authorBobTheBob <32057864+BobTheBob9@users.noreply.github.com>2021-06-22 14:30:49 +0100
committerBobTheBob <32057864+BobTheBob9@users.noreply.github.com>2021-06-22 14:30:49 +0100
commit207facbc402f5639cbcd31f079214351ef605cf2 (patch)
tree4710b2a88dd64f3dfea1609d31a5de9141640951 /Northstar.CustomServers/scripts/vscripts/mp/_classic_mp.nut
parentc2d438568df6d98cf731807e30eaa7da31e5ea52 (diff)
downloadNorthstarMods-207facbc402f5639cbcd31f079214351ef605cf2.tar.gz
NorthstarMods-207facbc402f5639cbcd31f079214351ef605cf2.zip
initial commit after moving to new repo
Diffstat (limited to 'Northstar.CustomServers/scripts/vscripts/mp/_classic_mp.nut')
-rw-r--r--Northstar.CustomServers/scripts/vscripts/mp/_classic_mp.nut67
1 files changed, 67 insertions, 0 deletions
diff --git a/Northstar.CustomServers/scripts/vscripts/mp/_classic_mp.nut b/Northstar.CustomServers/scripts/vscripts/mp/_classic_mp.nut
new file mode 100644
index 000000000..d6ac8f55a
--- /dev/null
+++ b/Northstar.CustomServers/scripts/vscripts/mp/_classic_mp.nut
@@ -0,0 +1,67 @@
+untyped
+global function ClassicMp_Init
+global function ClassicMP_TryDefaultIntroSetup // called in mp_sh_init
+global function ClassicMP_SetCustomIntro
+global function ClassicMP_OnIntroStarted
+global function ClassicMP_OnIntroFinished
+global function ClassicMP_GetIntroLength
+global function GetClassicMPMode
+
+struct {
+ void functionref() introSetupFunc
+ float introLength
+} file
+
+void function ClassicMp_Init()
+{
+ // literally nothing to do here atm lol
+}
+
+void function ClassicMP_TryDefaultIntroSetup()
+{
+ if ( file.introSetupFunc == null )
+ {
+ if ( IsFFAGame() )
+ ClassicMP_SetCustomIntro( ClassicMP_DefaultNoIntro_Setup, NOINTRO_INTRO_LENGTH )
+ else
+ ClassicMP_SetCustomIntro( ClassicMP_DefaultDropshipIntro_Setup, DROPSHIP_INTRO_LENGTH )
+ }
+
+ thread DelayedDoDefaultIntroSetup()
+}
+
+void function DelayedDoDefaultIntroSetup()
+{
+ // wait a frame for CodeCallback_MapInit to run which generally sets custom intros
+ WaitFrame()
+ file.introSetupFunc()
+}
+
+void function ClassicMP_SetCustomIntro( void functionref() setupFunc, float introLength )
+{
+ file.introSetupFunc = setupFunc
+ file.introLength = introLength
+}
+
+void function ClassicMP_OnIntroStarted()
+{
+ print( "started intro!" )
+ SetServerVar( "gameStartTime", Time() + file.introLength )
+ SetServerVar( "roundStartTime", Time() + file.introLength )
+}
+
+void function ClassicMP_OnIntroFinished()
+{
+ print( "intro finished!" )
+ SetGameState( eGameState.Playing )
+}
+
+float function ClassicMP_GetIntroLength()
+{
+ return file.introLength
+}
+
+bool function GetClassicMPMode()
+{
+ return GetCurrentPlaylistVarInt( "classic_mp", 1 ) == 1
+} \ No newline at end of file