aboutsummaryrefslogtreecommitdiff
path: root/Northstar.CustomServers/mod/scripts/vscripts/_northstar_cheatcommands.nut
blob: af3dfea56c27c913d65e01a20a951b2bb0514479 (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
67
68
69
70
71
72
73
74
untyped
global function NorthstarCheatCommands_Init

void function NorthstarCheatCommands_Init()
{
	AddClientCommandCallback( "noclip", ClientCommandCallbackToggleNoclip )
	AddClientCommandCallback( "notarget", ClientCommandCallbackToggleNotarget )
	AddClientCommandCallback( "demigod", ClientCommandCallbackToggleDemigod )
	AddClientCommandCallback( "kill", ClientCommandCallbackKill )
	AddClientCommandCallback( "explode", ClientCommandCallbackExplode )
}

bool function ClientCommandCallbackToggleNoclip( entity player, array<string> args )
{
	if ( !GetConVarBool( "sv_cheats" ) )
		return true
	if( player.GetParent() ) // change movetype while setparented will crash the server
	{
		print( player + " failed noclipping because the entity is parented" )
		return true
	}
	
	print( player + " TOGGLED NOCLIP" )

	if ( player.IsNoclipping() )
		player.SetPhysics( MOVETYPE_WALK )
	else
		player.SetPhysics( MOVETYPE_NOCLIP )
		
	return true
}

bool function ClientCommandCallbackToggleNotarget( entity player, array<string> args )
{
	if ( !GetConVarBool( "sv_cheats" ) )
		return true

	print( player + " TOGGLED NOTARGET" )

	player.SetNoTarget( !player.GetNoTarget() )
	player.SetNoTargetSmartAmmo( player.GetNoTarget() )
	return true
}

bool function ClientCommandCallbackToggleDemigod( entity player, array<string> args )
{
	if ( !GetConVarBool( "sv_cheats" ) )
		return true

	print( player + " TOGGLED DEMIGOD" )

	if ( IsDemigod( player ) )
		DisableDemigod( player )
	else
		EnableDemigod( player )
		
	return true
}

bool function ClientCommandCallbackKill( entity player, array<string> args )
{
	if ( IsAlive( player ) && ( GetConVarBool( "sv_cheats" ) || GetConVarBool( "ns_allow_kill_commands" ) ) )
		player.Die()
	
	return true
}

bool function ClientCommandCallbackExplode( entity player, array<string> args )
{
	if ( IsAlive( player ) && ( GetConVarBool( "sv_cheats" ) || GetConVarBool( "ns_allow_kill_commands" ) ) )
		player.Die( null, null, { scriptType = DF_GIB } )
	
	return true
}