aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDinorush <62536724+Dinorush@users.noreply.github.com>2022-02-23 16:46:44 -0500
committerGitHub <noreply@github.com>2022-02-23 18:46:44 -0300
commita1cd08d5b2e8b726391539d2bfc7875dd0a1d20e (patch)
tree21d0fc6477eb67ec5153b70a19822fe221072b52
parentec1f1f0bc95ae391736a4ecc6a181f5676d70c97 (diff)
downloadNorthstarMods-a1cd08d5b2e8b726391539d2bfc7875dd0a1d20e.tar.gz
NorthstarMods-a1cd08d5b2e8b726391539d2bfc7875dd0a1d20e.zip
Fixes Kodai + Angel battery spawns (#224)
-rw-r--r--Northstar.CustomServers/mod/scripts/vscripts/mp/levels/mp_angel_city.nut25
-rw-r--r--Northstar.CustomServers/mod/scripts/vscripts/mp/levels/mp_forwardbase_kodai.nut28
2 files changed, 50 insertions, 3 deletions
diff --git a/Northstar.CustomServers/mod/scripts/vscripts/mp/levels/mp_angel_city.nut b/Northstar.CustomServers/mod/scripts/vscripts/mp/levels/mp_angel_city.nut
index e7cc8224..8b2a4060 100644
--- a/Northstar.CustomServers/mod/scripts/vscripts/mp/levels/mp_angel_city.nut
+++ b/Northstar.CustomServers/mod/scripts/vscripts/mp/levels/mp_angel_city.nut
@@ -1,5 +1,15 @@
global function CodeCallback_MapInit
+struct {
+ int batteryIndex = 0
+} file
+
+const array<vector> BATTERY_SPAWNS = [
+ < -1444.55, -1108.55, 127 >, // field
+ < -730, 644, 121 >, // mid
+ < 535, 2657.67, 119 > // bridge
+]
+
void function CodeCallback_MapInit()
{
AddEvacNode( CreateScriptRef( < 2527.889893, -2865.360107, 753.002991 >, < 0, -80.54, 0 > ) )
@@ -9,13 +19,24 @@ void function CodeCallback_MapInit()
SetEvacSpaceNode( CreateScriptRef( < -1700, -5500, -7600 >, < -3.620642, 270.307129, 0 > ) )
- // todo: also we need to change the powerup spawns on this map, they use a version from an older patch
-
+ // Battery spawns (in LTS/Free Agents) are in old locations, so we move them to the proper locations
+ AddSpawnCallbackEditorClass( "script_ref", "script_power_up_other", FixBatterySpawns )
+
// there are some really busted titan startspawns that are on the fucking other side of the map from where they should be, so we remove them
AddSpawnCallback( "info_spawnpoint_titan_start", TrimBadTitanStartSpawns )
AddSpawnCallback( "sky_camera", FixSkycamFog )
}
+void function FixBatterySpawns( entity spawn )
+{
+ if ( GAMETYPE != LAST_TITAN_STANDING && GAMETYPE != FREE_AGENCY )
+ return
+
+ PowerUp powerupDef = GetPowerUpFromItemRef( expect string( spawn.kv.powerUpType ) )
+ if ( powerupDef.spawnFunc() )
+ spawn.SetOrigin( BATTERY_SPAWNS[file.batteryIndex++] )
+}
+
void function TrimBadTitanStartSpawns( entity spawn )
{
if ( spawn.GetTeam() == TEAM_MILITIA )
diff --git a/Northstar.CustomServers/mod/scripts/vscripts/mp/levels/mp_forwardbase_kodai.nut b/Northstar.CustomServers/mod/scripts/vscripts/mp/levels/mp_forwardbase_kodai.nut
index 37b89169..345a86d9 100644
--- a/Northstar.CustomServers/mod/scripts/vscripts/mp/levels/mp_forwardbase_kodai.nut
+++ b/Northstar.CustomServers/mod/scripts/vscripts/mp/levels/mp_forwardbase_kodai.nut
@@ -1 +1,27 @@
-//fuck \ No newline at end of file
+global function CodeCallback_MapInit
+
+struct {
+ int batteryIndex = 0
+} file
+
+const array<vector> BATTERY_SPAWNS = [
+ < 3960, 1215.04, 942 >, // cliff
+ < 31, 462.459, 797 >, // mid
+ < -4150.21, 693.654, 1123 > // mountain
+]
+
+void function CodeCallback_MapInit()
+{
+ // Battery spawns (in LTS/Free Agents) are in old locations, so we move them to the proper locations
+ AddSpawnCallbackEditorClass( "script_ref", "script_power_up_other", FixBatterySpawns )
+}
+
+void function FixBatterySpawns( entity spawn )
+{
+ if ( GAMETYPE != LAST_TITAN_STANDING && GAMETYPE != FREE_AGENCY )
+ return
+
+ PowerUp powerupDef = GetPowerUpFromItemRef( expect string( spawn.kv.powerUpType ) )
+ if ( powerupDef.spawnFunc() )
+ spawn.SetOrigin( BATTERY_SPAWNS[file.batteryIndex++] )
+} \ No newline at end of file