Black Ops 3 Source Code Explorer
0.1
An script explorer for Black Ops 3 by ZeRoY
archetype_thrasher.gsh
Go to the documentation of this file.
1
//
3
// THRASHER TUNABLES
4
//
6
7
// Initial thrasher health, NOT USED IN ZOMBIES
8
#define THRASHER_TOTAL_HEALTH 1000
9
10
// Total health is based on level.zombie_health multiplied by this multiplier, increases per round
11
#define THRASHER_EARLY_ROUND_HEALTH_MULTIPLIER 10
12
#define THRASHER_LATE_ROUND_HEALTH_MULTIPLIER 3
13
14
// Initial pustule health, NOT USED IN ZOMBIES
15
#define THRASHER_PUSTULE_HEALTH 100
16
17
// Total pustule health is based on level.zombie_health multiplied by this multiplier, increases per round
18
#define THRASHER_PUSTULE_HEALTH_MULTIPLIER 2
19
20
// Initial head health
21
#define THRASHER_HEAD_HEALTH 10
22
23
// Additional health added when enraged
24
#define THRASHER_RAGE_HEALTH_BONUS 1500
25
26
// Amount of rage added when hit in a particular location
27
#define THRASHER_RAGE_INC_NONVITAL 10
28
#define THRASHER_RAGE_INC_HEADSHOT 200
29
#define THRASHER_RAGE_INC_PUSTULE 10
30
31
// Amount of rage added per second
32
#define THRASHER_RAGE_AUTO 1
33
34
// Additional rage added on top "THRASHER_RAGE_AUTO" per second multiplied by current level
35
#define THRASHER_RAGE_AUTO_MULTIPLIER 1
36
37
// Amount of rage added when performing behavior
38
#define THRASHER_RAGE_INC_INGEST_ZOMBIE 50
39
#define THRASHER_RAGE_INC_INGEST_PLAYER 200
40
41
// Amount of rage before pushing the thrasher into berserk mode
42
#define THRASHER_RAGE_THRESHOLD 200
43
44
// How often a thrasher can consume a zombie
45
#define THRASHER_CONSUME_COOLDOWN 3000
46
47
// How many times a thrasher can consume a zombie
48
#define THRASHER_CONSUME_MAX 2
49
50
// How often a thrasher can teleport to close the distance in milliseconds
51
#define THRASHER_TELEPORT_COOLDOWN 10000
52
53
// How close a thrasher can teleport to another thrasher's position
54
#define THRASHER_TELEPORT_OVERLAP 240
55
56
// How far a thrasher will consider a downed player to consume
57
#define THRASHER_CONSUME_PLAYER_DISTANCE 2400
58
59
// How long stuns lasts in milliseconds
60
#define THRASHER_STUN_TIME 1000
61
62
// How much normal damage before the thrasher is stunned
63
#define THRASHER_STUN_HEALTH 3000
64
65
// How long the thrasher stays invulnerable after becoming enraged
66
#define THRASHER_RAGE_INVULNERABLE_TIME 2.5
67
68
// Distance from enemy before the thrasher will teleport
69
#define THRASHER_TELEPORT_MIN_DISTANCE 1200
70
71
// How long the thrasher's spore inflate FX will play for.
72
#define THRASHER_SPORE_INFLATE_TIME 2000
73
74
// How long the spore cloud released from a popped pustule lasts
75
#define THRASHER_SPORE_CLOUD_TIME 5000
76
77
// How far away from the center of a spore cloud zombies can be affected
78
#define THRASHER_SPORE_CLOUD_RADIUS 60
79
80
// Maximum number of zombies a single spore cloud can convert to thrashers
81
#define THRASHER_SPORE_CLOUD_MAX_CONVERT 2
82
83
// Maximum number of zombies that can be converted per round into thrashers
84
#define THRASHER_SPORE_CLOUD_ROUND_MAX_CONVERT 2
85
86
// Chance a single zombie will be converted into a thrasher (0, 1)
87
#define THRASHER_SPORE_CLOUD_CONVERT_CHANCE 0.2
88
89
// How often all zombies within a spore cloud will be tested to turn into a thrasher
90
#define THRASHER_SPORE_CLOUD_EVALUATE 0.5
91
92
// How long a player must be in laststand before being able to be eatten
93
#define THRASHER_LASTSTAND_SAFETY 5000
94
95
// How long of a time must pass before a new thrasher can consume a player that was just freed from a thrasher.
96
#define THRASHER_FREED_SAFETY 10000
97
99
//
100
// THRASHER DEFINES
101
//
103
104
#define ASM_THRASHER_MELEE_NOTETRACK "thrasher_melee"
105
106
// Melee
107
#define THRASHER_MELEE_DIST 96
108
#define THRASHER_MELEE_DIST_SQ THRASHER_MELEE_DIST * THRASHER_MELEE_DIST
109
#define THRASHER_MELEE_YAW 60
110
#define THRASHER_MELEE_ENRAGED "thrasher_melee_enraged"
111
112
// Consume
113
#define THRASHER_CONSUME_DIST 48
114
#define THRASHER_CONSUME_DIST_SQ THRASHER_CONSUME_DIST * THRASHER_CONSUME_DIST
115
116
// Consume Zombie
117
#define THRASHER_CONSUME_ZOMBIE_HEIGHT 18
118
#define THRASHER_CONSUME_ZOMBIE_MAX_DIST 96
119
#define THRASHER_CONSUME_ZOMBIE_MIN_DIST 50
120
121
// Navmesh
122
#define THRASHER_NAVMESH_RADIUS 128
123
#define THRASHER_NAVMESH_BOUNDARY_DIST 30
124
125
#define THRASHER_FOOTSTEP_EARTHQUAKE_MAX_RADIUS 1000
126
127
// Spores
128
#define THRASHER_SPORE_CHEST "tag_spore_chest"
129
#define THRASHER_SPORE_BACK "tag_spore_back"
130
#define THRASHER_SPORE_LEG "tag_spore_leg"
131
#define THRASHER_SPORES array( THRASHER_SPORE_CHEST, THRASHER_SPORE_BACK, THRASHER_SPORE_LEG )
132
#define THRASHER_SPORE_DAMAGE_DISTS array( 12, 18, 12 )
133
134
#define THRASHER_SPORE_STATE_DESTROYED "state_destroyed"
135
#define THRASHER_SPORE_STATE_HEALTHY "state_healthly"
136
#define THRASHER_SPORE_DESTROY_FX1 "fx_thrash_pustule_burst"
137
#define THRASHER_SPORE_DESTROY_FX1_FILE "dlc2/island/fx_thrash_pustule_burst"
138
#define THRASHER_SPORE_DESTROY_FX2 "fx_thrash_pustule_spore_exp"
139
#define THRASHER_SPORE_DESTROY_FX2_FILE "dlc2/island/fx_thrash_pustule_spore_exp"
140
141
#define THRASHER_SPORE_CLOUD_SM_FX "fx_spores_cloud_ambient_sm"
142
#define THRASHER_SPORE_CLOUD_SM_FX_FILE "dlc2/island/fx_spores_cloud_ambient_sm"
143
#define THRASHER_SPORE_CLOUD_MD_FX "fx_spores_cloud_ambient_md"
144
#define THRASHER_SPORE_CLOUD_MD_FX_FILE "dlc2/island/fx_spores_cloud_ambient_md"
145
#define THRASHER_SPORE_CLOUD_LRG_FX "fx_spores_cloud_ambient_lrg"
146
#define THRASHER_SPORE_CLOUD_LRG_FX_FILE "dlc2/island/fx_spores_cloud_ambient_lrg"
147
148
#define THRASHER_SPORE_INFLATE_FX "fx_thrash_pustule_reinflate"
149
#define THRASHER_SPORE_INFLATE_FX_FILE "dlc2/island/fx_thrash_pustule_reinflate"
150
151
#define THRASHER_SPORE_IMPACT_CF "thrasher_spore_impact"
152
#define THRASHER_SPORE_IMPACT_CF_TYPE "counter"
153
#define THRASHER_SPORE_IMPACT_CF_BITS 1
154
#define THRASHER_SPORE_IMPACT_FX "fx_thrash_pustule_impact"
155
#define THRASHER_SPORE_IMPACT_FX_FILE "dlc2/island/fx_thrash_pustule_impact"
156
157
#define THRASHER_SPORE_CF "thrasher_spore_state"
158
#define THRASHER_SPORE_CF_TYPE "int"
159
#define THRASHER_SPORE_CF_BITS 3
160
#define THRASHER_SPORE_CF_SPORE1 1
161
#define THRASHER_SPORE_CF_SPORE2 2
162
#define THRASHER_SPORE_CF_SPORE3 4
163
#define THRASHER_SPORE_CF_SPORES array( THRASHER_SPORE_CF_SPORE1, THRASHER_SPORE_CF_SPORE2, THRASHER_SPORE_CF_SPORE3 )
164
165
// Thrasher First Person Mouth
166
#define THRASHER_MOUTH_CF "thrasher_mouth_cf"
167
#define THRASHER_MOUTH_CF_TYPE "int"
168
// 2 bits per player
169
#define THRASHER_MOUTH_CF_BITS 8
170
#define THRASHER_MOUTH_CF_DELETE 0
171
#define THRASHER_MOUTH_CF_IDLE 1
172
#define THRASHER_MOUTH_CF_OPEN 2
173
#define THRASHER_MOUTH_CF_CLOSE 3
174
175
#define THRASHER_MOUTH_IDLE_ANIM "p7_fxanim_zm_island_thrasher_stomach_idle_anim"
176
#define THRASHER_MOUTH_CLOSE_ANIM "p7_fxanim_zm_island_thrasher_stomach_close_anim"
177
#define THRASHER_MOUTH_OPEN_ANIM "p7_fxanim_zm_island_thrasher_stomach_open_anim"
178
179
// Berserk Mode
180
#define THRASHER_BERSERK_CF "thrasher_berserk_state"
181
#define THRASHER_BERSERK_CF_TYPE "int"
182
#define THRASHER_BERSERK_CF_BITS 1
183
#define THRASHER_BERSERK_CF_NORMAL 0
184
#define THRASHER_BERSERK_CF_BERSERK 1
185
186
// Spikes
187
#define THRASHER_SPIKE_COUNT 24
188
189
// FX
190
#define THRASHER_FOOTSTEP_FX "fx_mech_foot_step"
191
#define THRASHER_FOOTSTEP_FX_FILE "dlc1/castle/fx_mech_foot_step"
192
193
#define THRASHER_BERSERK_FX1 "fx_thrash_rage_gas_torso"
194
#define THRASHER_BERSERK_FX1_TAG "j_spinelower"
195
#define THRASHER_BERSERK_FX1_FILE "dlc2/island/fx_thrash_rage_gas_torso"
196
197
#define THRASHER_BERSERK_FX2 "fx_thrash_rage_gas_leg_lft"
198
#define THRASHER_BERSERK_FX2_TAG "j_hip_le"
199
#define THRASHER_BERSERK_FX2_FILE "dlc2/island/fx_thrash_rage_gas_leg_lft"
200
201
#define THRASHER_BERSERK_FX3 "fx_thrash_rage_gas_leg_rgt"
202
#define THRASHER_BERSERK_FX3_TAG "j_hip_ri"
203
#define THRASHER_BERSERK_FX3_FILE "dlc2/island/fx_thrash_rage_gas_leg_rgt"
204
205
#define THRASHER_EYE_TAG "j_eyeball_le"
206
#define THRASHER_EYE_FX "fx_thrash_eye_glow"
207
#define THRASHER_EYE_FX_FILE "dlc2/island/fx_thrash_eye_glow"
208
#define THRASHER_BERSERK_EYE_FX "fx_thrash_eye_glow_rage"
209
#define THRASHER_BERSERK_EYE_FX_FILE "dlc2/island/fx_thrash_eye_glow_rage"
210
211
#define THRASHER_CONSUMED_PLAYER_FX "fx_thrash_chest_mouth_drool"
212
#define THRASHER_CONSUMED_PLAYER_FX_FILE "dlc2/island/fx_thrash_chest_mouth_drool_1p"
213
214
#define THRASHER_CONSUMED_PLAYER_POSTFX "pstfx_thrasher_stomach"
215
#define THRASHER_CONSUMED_PLAYER_VISIONSET_FILE "zm_isl_thrasher_stomach"
216
#define THRASHER_CONSUMED_PLAYER_VISIONSET_ALIAS "zm_isl_thrasher_stomach_visionset"
217
#define THRASHER_CONSUMED_PLAYER_VISIONSET_LERP_STEP_COUNT 16
218
#define THRASHER_CONSUMED_PLAYER_VISIONSET_RAMP_IN_DURATION 2
219
#define THRASHER_CONSUMED_PLAYER_VISIONSET_PRIORITY 30
220
221
// Head Damage
222
#define THRASHER_HEAD_TAG "j_head"
223
#define THRASHER_HEAD_HITLOC "head"
224
225
// Teleport
226
#define THRASHER_TELERPOT_MIN_DISTANCE_SQ THRASHER_TELEPORT_MIN_DISTANCE * THRASHER_TELEPORT_MIN_DISTANCE
227
#define THRASHER_TELEPORT_DESTINATION_SAFE_RADIUS 128
228
#define THRASHER_TELEPORT_DESTINATION_MAX_RADIUS 256
scripts
shared
ai
archetype_thrasher.gsh
Generated by
1.8.17