aboutsummaryrefslogtreecommitdiff
path: root/Northstar.Coop
diff options
context:
space:
mode:
Diffstat (limited to 'Northstar.Coop')
-rw-r--r--Northstar.Coop/keyvalues/playlists_v2.txt59
-rw-r--r--Northstar.Coop/mod.json25
-rw-r--r--Northstar.Coop/mod/scripts/vscripts/sh_sp_coop.gnut6
-rw-r--r--Northstar.Coop/mod/scripts/vscripts/sh_sp_coop_lobby.gnut19
4 files changed, 109 insertions, 0 deletions
diff --git a/Northstar.Coop/keyvalues/playlists_v2.txt b/Northstar.Coop/keyvalues/playlists_v2.txt
new file mode 100644
index 000000000..e3a241b7c
--- /dev/null
+++ b/Northstar.Coop/keyvalues/playlists_v2.txt
@@ -0,0 +1,59 @@
+playlists
+{
+ Playlists
+ {
+ sp_coop
+ {
+ inherit defaults
+ vars
+ {
+ name #PL_sp_coop
+ lobbytitle #PL_sp_coop_lobby
+ description #PL_sp_coop_desc
+ hint #PL_sp_coop_hint
+ abbreviation #PL_sp_coop_abbr
+ image ffa
+
+ // taken from solo gamemode
+ always_enable_autotitans 1
+ burn_meter_enabled 0
+ cinematic_mode 1
+ classic_mp 0
+ hud_score_enabled 0
+ max_players 16
+ max_teams 1
+ ranking_supported 0
+ riff_allow_npcs 1
+ riff_minimap_state 1
+ riff_titan_availability 3
+ riff_titan_exit_enabled 3
+ rodeo_battery_disembark_to_pickup 0
+ titan_build_time 300
+ titan_health_bar_display default
+ titan_mode_change_allowed 0
+ titan_rebuild_time 195
+ titan_segmented_health 0
+ titan_shield_regen 1
+ }
+
+ gamemodes
+ {
+ solo
+ {
+ maps
+ {
+ sp_training 1
+ sp_crashsite 1
+ sp_sewers1 1
+ sp_boomtown_start 1
+ sp_hub_timeshift 1
+ sp_beacon 1
+ sp_tday 1
+ sp_s2s 1
+ sp_skyway_v1 1
+ }
+ }
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/Northstar.Coop/mod.json b/Northstar.Coop/mod.json
new file mode 100644
index 000000000..b4dfaeb27
--- /dev/null
+++ b/Northstar.Coop/mod.json
@@ -0,0 +1,25 @@
+{
+ "Name" : "Northstar.Coop",
+ "Description" : "Allows the singleplayer campaign to be played in multiplayer",
+
+ "LoadPriority": 0,
+
+ "Scripts": [
+ {
+ "Path": "sh_sp_coop.gnut",
+ "RunOn": "SP"
+ },
+
+ {
+ "Path": "sh_sp_coop_lobby.gnut",
+ "RunOn": "( CLIENT || SERVER ) && MP",
+ "ClientCallback": {
+ "After": "SingleplayerCoopLobby_Init"
+ },
+
+ "ServerCallback": {
+ "After": "SingleplayerCoopLobby_Init"
+ }
+ },
+ ],
+} \ No newline at end of file
diff --git a/Northstar.Coop/mod/scripts/vscripts/sh_sp_coop.gnut b/Northstar.Coop/mod/scripts/vscripts/sh_sp_coop.gnut
new file mode 100644
index 000000000..09293a70c
--- /dev/null
+++ b/Northstar.Coop/mod/scripts/vscripts/sh_sp_coop.gnut
@@ -0,0 +1,6 @@
+global function IsSPCoopMode
+
+bool function IsSPCoopMode()
+{
+ return GAMETYPE == "solo" && GetCurrentPlaylistName() == "sp_coop"
+} \ No newline at end of file
diff --git a/Northstar.Coop/mod/scripts/vscripts/sh_sp_coop_lobby.gnut b/Northstar.Coop/mod/scripts/vscripts/sh_sp_coop_lobby.gnut
new file mode 100644
index 000000000..59a31ee87
--- /dev/null
+++ b/Northstar.Coop/mod/scripts/vscripts/sh_sp_coop_lobby.gnut
@@ -0,0 +1,19 @@
+global function SingleplayerCoopLobby_Init
+
+void function SingleplayerCoopLobby_Init()
+{
+ if ( !IsLobby() )
+ return
+
+ AddPrivateMatchMode( "sp_coop" )
+
+ AddPrivateMatchMap( "sp_training" )
+ AddPrivateMatchMap( "sp_crashsite" )
+ AddPrivateMatchMap( "sp_sewers1" )
+ AddPrivateMatchMap( "sp_boomtown_start" )
+ AddPrivateMatchMap( "sp_hub_timeshift" )
+ AddPrivateMatchMap( "sp_beacon" )
+ AddPrivateMatchMap( "sp_tday" )
+ AddPrivateMatchMap( "sp_s2s" )
+ AddPrivateMatchMap( "sp_skyway_v1" )
+} \ No newline at end of file