aboutsummaryrefslogtreecommitdiff
path: root/Northstar.CustomServers/scripts/vscripts/gamemodes/sh_gamemode_mfd.nut
blob: 4410a513661a535c4fcf287f2b970586eb1ff50a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
untyped

global function GamemodeMfdShared_Init
global function GetMarked
global function GetPendingMarked
global function FillMFDMarkers
global function TargetsMarkedImmediately
global function IsTitanMarkedForDeathMode

void function GamemodeMfdShared_Init()
{
	// mfd mfdActiveMarkedPlayerEnt are server side entities with a boss player that marks the marked
	level.mfdActiveMarkedPlayerEnt <- {}
	level.mfdActiveMarkedPlayerEnt[ TEAM_IMC ] <- null
	level.mfdActiveMarkedPlayerEnt[ TEAM_MILITIA ] <- null

	level.mfdPendingMarkedPlayerEnt <- {}
	level.mfdPendingMarkedPlayerEnt[ TEAM_IMC ] <- null
	level.mfdPendingMarkedPlayerEnt[ TEAM_MILITIA ] <- null

	SetWaveSpawnInterval( 8.0 )
}

entity function GetMarked( int team )
{
	if ( IsValid( level.mfdActiveMarkedPlayerEnt[ team ] ) )
		return expect entity( level.mfdActiveMarkedPlayerEnt[ team ] ).GetOwner()

	return null
}

entity function GetPendingMarked( int team )
{
	if ( IsValid( level.mfdPendingMarkedPlayerEnt[ team ] ) )
		return expect entity( level.mfdPendingMarkedPlayerEnt[ team ] ).GetOwner()

	return null
}

function FillMFDMarkers( entity ent ) //Ent used for kill replay related issues...
{
	print( "FillMFDMarkers " + ent )

	if ( ent.GetTargetName() == MARKET_ENT_MARKED_NAME )
	{
		Assert( ent.GetTeam() != TEAM_UNASSIGNED )
		level.mfdActiveMarkedPlayerEnt[ ent.GetTeam() ] = ent
	}
	else if ( ent.GetTargetName() == MARKET_ENT_PENDING_MARKED_NAME )
	{
		Assert( ent.GetTeam() != TEAM_UNASSIGNED )
		level.mfdPendingMarkedPlayerEnt[ ent.GetTeam() ] = ent
	}

	return
}

function TargetsMarkedImmediately()
{
	return IsRoundBased() && IsPilotEliminationBased()
}

bool function IsTitanMarkedForDeathMode()
{
	return GetCurrentPlaylistVarInt( "titan_marked_for_death", 0 ) == 1
}