‪Black Ops 3 Source Code Explorer  0.1
‪An script explorer for Black Ops 3 by ZeRoY
All Data Structures Files Functions Variables Macros
warlord.gsh
Go to the documentation of this file.
1 //
3 // Tweakables
4 //
6 
7 // Millisecond cooldown time before the warlord can juke again.
8 // Anything less than 2000 is less than the juke animation playback length.
9 #define WARLORD_NEXT_JUKE_TIME 3000
10 
11 // Health pool the warlord uses when in the tug-of-war recharge state.
12 #define WARLORD_RECHARGE_HEALTH_MAX 1000.0
13 
14 // The initial health added to the warlord's health pool when entering the recharge state.
15 // NOTE - This is truncated to WARLORD_RECHARGE_HEALTH_MAX and should be positive.
16 #define WARLORD_RECHARGE_INITIAL_HEALTH 0.0
17 
18 // The amount of health to give the warlord per second when recharging.
19 #define WARLORD_RECHARGE_HEALTH_PER_SECOND 50.0
20 
21 // Health percentage of the warlord to play the medium damage FX.
22 #define WARLORD_DAMAGE_STATE_PERCENTAGE 0.5
23 
24 // Health percentage of the warlord to play the heavy damage FX.
25 #define WARLORD_HEAVY_DAMAGE_STATE_PERCENTAGE 0.25
26 
27 // The starting health of the warlord's shield.
28 #define WARLORD_SHIELD_HEALTH_MAX 1000
29 
30 // The percent of health the shield has to be to turn orange.
31 #define WARLORD_SHIELD_MEDIUM_HEALTH_PERCENTAGE 0.6
32 
33 // The percent of health the shield has to be to turn red.
34 #define WARLORD_SHIELD_CRITICAL_HEALTH_PERCENTAGE 0.3
35 
36 // Maximum distance from the player the warlord will try to charge melee them.
37 #define WARLORD_CHARGE_DISTANCE 280
38 
39 // How often the warlord will attempt to charge melee.
40 #define WARLORD_NEXT_CHARGE_TIME 7500
41 
42 // in seconds
43 #define WARLORD_SEEN_ENEMY_TOLERENCE 2
44 
45 #define WARLORD_HUNT_MIN_RADIUS 150
46 
47 #define WARLORD_HUNT_MAX_RADIUS 250
48 
49 #define WARLORD_HUNT_DURATION 15000
50 
51 #define WARLORD_HUNT_MAX_ACCUMILATED_DAMAGE 350
52 
53 #define WARLORD_ANGRY_ACCUMILATED_DAMAGE_MAX_DUR 1500
54 
55 #define WARLORD_ANGRY_MAX_ACCUMILATED_DAMAGE 200
56 
57 #define WARLORD_NEXT_ANGRYATTACK_TIME 13000
58 
59 #define WARLORD_NEAR_JUKE_DISTANCE 300
60 
61 #define WARLORD_PAIN_COOLDOWN_MIN 500
62 #define WARLORD_PAIN_COOLDOWN_MAX 2500
63 
64 #define WARLORD_DAMAGE_ACTORS_REDUCTION_MULTIPLIER 0.05
65 #define WARLORD_DAMAGE_EXPLOSIVE_REDUCTION_MULTIPLIER 0.25
66 
68 //
69 // Warlord Defines
70 //
72 
73 #define WARLORD_RADIUS 18
74 
75 #define WARLORD_TACTICAL_JUKE_RADIUS 50
76 
77 #define WARLORD_JUKE_DISTANCE 145
78 
79 #define WARLORD_JUKE_TOO_CLOSE_DIST 250
80 
81 #define WARLORD_NAVMESH_THRESHOLD 6
82 
83 #define WARLORD_LEAP_THRESHOLD 20
84 
85 #define WARLORD_LEAP_DISTANCES array( 100, 300 )
86 
87 #define WARLORD_LEAP_NAMES array( "short", "long" )
88 
89 #define WARLORD_HEIGHT 90
90 
91 #define WARLORD_DIAMETER 36
92 
93 #define WARLORD_MELEE_RANGE_SQ SQR(100)
94 
95 #define WARLORD_MELEE_BLAST_RADIUS 96
96 
97 #define WARLORD_MELEE_BLAST_DAMAGE_MIN 50
98 
99 #define WARLORD_MELEE_BLAST_DAMAGE_MAX 50
100 
101 #define WARLORD_REPULSOR_RADIUS 256
102 
103 #define WARLORD_NAVMESH_TOLERANCE 200
104 
105 
107 //
108 // Clientfields
109 //
111 
112 #define WARLORD_DAMAGE_STATE_CLIENTFIELD "warlord_damage_state"
113 #define WARLORD_DAMAGE_STATE_UNDAMAGED 0
114 #define WARLORD_DAMAGE_STATE_DAMAGE 1
115 #define WARLORD_DAMAGE_STATE_HEAVY_DAMAGE 2
116 #define WARLORD_DAMAGE_STATE_DEAD 3
117 
118 #define WARLORD_TYPE_CLIENTFIELD "warlord_type"
119 #define WARLORD_TYPE_UKNOWN 0
120 #define WARLORD_TYPE_DEFAULT 1
121 #define WARLORD_TYPE_HVT 2
122 
123 #define WARLORD_THRUSTER_CLIENTFIELD "warlord_thruster_direction"
124 #define WARLORD_THRUSTER_OFF 0
125 #define WARLORD_THRUSTER_FRONT 1
126 #define WARLORD_THRUSTER_BACK 2
127 #define WARLORD_THRUSTER_LEFT 3
128 #define WARLORD_THRUSTER_RIGHT 4
129 
130 #define WARLORD_LIGHTS_CLIENTFIELD "warlord_lights_state"
131 
133 //
134 // Warlord Spawn Types
135 //
137 
138 #define WARLORD_TYPE_NAME_HVT "actor_spawner_bo3_warlord_enemy_hvt"
139 #define WARLORD_TYPE_NAME_DEFAULT "actor_spawner_bo3_warlord_enemy_tool"
140 
142 //
143 // FX
144 //
146 
147 #define WARLORD_DAMAGE_STATE_TAG "j_spine4"
148 #define WARLORD_DAMAGE_STATE_FX "fx_elec_warlord_damage_1"
149 #define WARLORD_DAMAGE_STATE_FX_FILE "electric/fx_elec_warlord_damage_1"
150 
151 #define WARLORD_DAMAGE_STATE_LOWER_TAG "j_mainroot"
152 #define WARLORD_DAMAGE_STATE_LOWER_FX "fx_elec_warlord_lower_damage_1"
153 #define WARLORD_DAMAGE_STATE_LOWER_FX_FILE "electric/fx_elec_warlord_lower_damage_1"
154 
155 #define WARLORD_DAMAGE_HEAVY_STATE_FX "fx_elec_warlord_damage_2"
156 #define WARLORD_DAMAGE_HEAVY_STATE_FX_FILE "electric/fx_elec_warlord_damage_2"
157 
158 #define WARLORD_DAMAGE_HEAVY_STATE_LOWER_FX "fx_elec_warlord_lower_damage_2"
159 #define WARLORD_DAMAGE_HEAVY_STATE_LOWER_FX_FILE "electric/fx_elec_warlord_lower_damage_2"
160 
161 #define WARLORD_DEATH_FX "fx_exp_warlord_death"
162 #define WARLORD_DEATH_FX_FILE "explosions/fx_exp_warlord_death"
163 
164 #define WARLORD_DEATH_TAG "j_spine4"
165 
166 #define WARLORD_THRUSTER_FX "fx_exhaust_jetpack_warlord_juke"
167 #define WARLORD_THRUSTER_FX_FILE "vehicle/fx_exhaust_jetpack_warlord_juke"
168 
169 #define WARLORD_THRUSTER_FRONT_TAGS array( "tag_jets_left_front", "tag_jets_right_front" )
170 #define WARLORD_THRUSTER_BACK_TAGS array( "tag_jets_left_back", "tag_jets_right_back" )
171 #define WARLORD_THRUSTER_LEFT_TAGS array( "tag_jets_left_side" )
172 #define WARLORD_THRUSTER_RIGHT_TAGS array( "tag_jets_right_side" )
173 
174 #define WARLORD_REPULSE_FX "vehicle/fx_quadtank_airburst"
175 #define WARLORD_REPULSE_GROUND_FX "vehicle/fx_quadtank_airburst_ground"
176 
177 #define WARLORD_EYE_FX "light/fx_light_eye_glow_warlord"
178 
179 #define WARLORD_HEAD_LIGHT_FX_FILE "light/fx_light_eye_glow_warlord"
180 #define WARLORD_HEAD_LIGHT_FX "fx_light_eye_glow_warlord"
181 #define WARLORD_HEAD_LIGHT_TAG "tag_eye"
182 
183 #define WARLORD_BODY_LIGHT_FX_FILE "light/fx_light_body_glow_warlord"
184 #define WARLORD_BODY_LIGHT_FX "fx_light_body_glow_warlord"
185 #define WARLORD_BODY_LIGHT_TAG "j_spine4"
186 
188 //
189 // Sounds
190 //
192 
193 #define WARLORD_SOUND_RECHARGE_START "chr_warlord_field_start"
194 #define WARLORD_SOUND_RECHARGE_LOOP "chr_warlord_field_loop"
195 #define WARLORD_SOUND_RECHARGE_END "chr_warlord_field_stop"