blob: 62fd52c9c81ac4ff68c398221eb22c0fcc9e2c00 (
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
|
untyped
global function FeaturedModeSettings_Init
void function FeaturedModeSettings_Init()
{
// if it's not super obvious at a glance this script is used for playlist vars with the prefix "featured_mode_"
// these often set loadouts and shit so they need a script
// note: for turbo_titans, the core multiplier is set in playlist
AddCallback_OnPlayerRespawned( FeaturedModeSettingsSetupPilotLoadouts )
AddCallback_OnPilotBecomesTitan( FeaturedModeSettingsSetupTitanLoadouts )
}
bool function IsFeaturedMode( string modeName )
{
return GetCurrentPlaylistVar( "featured_mode_" + modeName ) == "1"
}
void function FeaturedModeSettingsSetupPilotLoadouts( entity player )
{
bool shouldChangeLoadout = false
// create loadout struct
PilotLoadoutDef modifiedLoadout = clone GetActivePilotLoadout( player )
if ( IsFeaturedMode( "all_holopilot" ) )
{
shouldChangeLoadout = true
modifiedLoadout.special = "mp_ability_holopilot"
}
if ( IsFeaturedMode( "all_grapple" ) )
{
shouldChangeLoadout = true
modifiedLoadout.special = "mp_ability_grapple"
modifiedLoadout.specialMods = [ "all_grapple" ]
}
if ( IsFeaturedMode( "all_phase" ) )
{
shouldChangeLoadout = true
modifiedLoadout.special = "mp_ability_shifter"
modifiedLoadout.specialMods = [ "all_phase" ]
}
if ( IsFeaturedMode( "all_ticks" ) )
{
shouldChangeLoadout = true
modifiedLoadout.ordnance = "mp_weapon_frag_drone"
modifiedLoadout.ordnanceMods = [ "all_ticks" ]
}
if ( IsFeaturedMode( "rocket_arena" ) )
{
// this crashes sometimes for some reason
shouldChangeLoadout = true
modifiedLoadout.primary = "mp_weapon_epg"
modifiedLoadout.primaryMods = [ "rocket_arena" ]
// set secondary to whatever one is pistol
if ( GetWeaponInfoFileKeyField_Global( player.GetMainWeapons()[ 1 ].GetWeaponClassName(), "menu_category" ) == "at" )
{
modifiedLoadout.weapon3 = "mp_weapon_autopistol"
modifiedLoadout.weapon3Mods = [ "rocket_arena" ]
}
else
{
modifiedLoadout.secondary = "mp_weapon_autopistol"
modifiedLoadout.secondaryMods = [ "rocket_arena" ]
}
player.GiveExtraWeaponMod( "rocket_arena" )
}
if ( IsFeaturedMode( "shotguns_snipers" ) )
{
shouldChangeLoadout = true
// this one was never released, assuming it just gives you a mastiff and a kraber with quick swap
modifiedLoadout.primary = "mp_weapon_sniper"
modifiedLoadout.primaryMods = [ "pas_fast_swap", "pas_fast_ads" ]
// set secondary to whatever one is pistol
if ( GetWeaponInfoFileKeyField_Global( player.GetMainWeapons()[ 1 ].GetWeaponClassName(), "menu_category" ) == "at" )
{
modifiedLoadout.weapon3 = "mp_weapon_mastiff"
modifiedLoadout.weapon3Mods = [ "pas_fast_swap", "pas_run_and_gun" ]
}
else
{
modifiedLoadout.secondary = "mp_weapon_mastiff"
modifiedLoadout.secondaryMods = [ "pas_fast_swap", "pas_run_and_gun" ]
}
}
// dont wanna give a new loadout if it's not necessary, could break other callbacks
if ( shouldChangeLoadout )
GivePilotLoadout( player, modifiedLoadout )
if ( IsFeaturedMode( "tactikill" ) )
player.GiveExtraWeaponMod( "tactical_cdr_on_kill" )
if ( IsFeaturedMode( "amped_tacticals" ) )
player.GiveExtraWeaponMod( "amped_tacticals" )
}
void function FeaturedModeSettingsSetupTitanLoadouts( entity player, entity titan )
{
if ( IsFeaturedMode( "turbo_titans" ) )
{
array<string> settingsMods = player.GetPlayerSettingsMods()
settingsMods.append( "turbo_titan" )
player.SetPlayerSettingsWithMods( player.GetPlayerSettings(), settingsMods )
}
}
|