-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathNewProjectilesJSONExamples.txt
More file actions
190 lines (142 loc) · 9.63 KB
/
NewProjectilesJSONExamples.txt
File metadata and controls
190 lines (142 loc) · 9.63 KB
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
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
(needs the mod to work you know)
//--------------------------------------------------------------------------------------------------
// PROJECTILES
//--------------------------------------------------------------------------------------------------
/* Throw this within your JSONBLOCK's FireData m_BulletPrefab to initiate them
// a module that makes sure SeekingProjectile stays active even on ground collision
"RandomAdditions.KeepSeekingProjectile": {},// Keep seeking no matter what.
-----------------------------------------------------------------------------------------------------
// For use with weapons like the Ethreal Lancer, mostly to reduce lag with phasing
"RandomAdditions.LanceProjectile": {},// Phase without the mass lag.
-----------------------------------------------------------------------------------------------------
// You know the story of David and Goliath? -
// This is david
// a module that ensures block kill when paired with Projectile
"RandomAdditions.OHKOProjectile": {
"InstaKill": true, ///Should we kill the block we collided with?
"GuaranteedKillOnLowHP": true,//Kill the block we collided with if it's HP hits zero?
},// Ensure erad.
-----------------------------------------------------------------------------------------------------
// a module that allows you projectiles to become bowling balls or act very heavy
"RandomAdditions.WeightedProjectile":{ // launch bowling balls but they actually have proper weight
"ProjectileMass": 4, // The Mass you want the projectile to have
"CustomGravity": false, // enable the parameters below - WARNING! breaks WeaponAimMod!
"CustomGravityFractionSpeed": true, // Slow down the projectile's speed so that it doesn't overaim too badly
"GravityAndSpeedScale": 1.0,// The percent (1.0 is 100%) force gravity pulls down on this and the speed it travels at
//so you can have dramatic super-heavy projectiles that move slow through the air
},
-----------------------------------------------------------------------------------------------------
// With Watermod installed, any missile that goes into the water with this projectile type
// will change their thrust value to the one specified here.
"RandomAdditions.TorpedoProjectile": {
"SubmergedThrust" : 0.5, //Thrust to apply underwater
"ThrustUntilProjectileDeath" : false, //Should we thrust until we explode?
},
// Make sure to add a new GameObject with the name "_subProp" and position it to where
// the thrust should be if it isn't using a missile reference.
// Also the ParticleSystem you use in "_subProp" will be played when the TorpedoProjectile is thrusting.
-----------------------------------------------------------------------------------------------------
//A projectile that floats off (gravitationally-ish) in the specified direction with the specified force.
// Can be used to create floating mines or balloon-like ordinances.
"RandomAdditions.GravitateProjectile":{ // Add a special movement effect to your projectile
"WorldGravitateDirection": {"x": 0, "y": 1, "z": 0}, // Gravitate direction
"GravitatePosition": {"x": 0, "y": 0, "z": 0}, // Center of the gravitation
"WorldGravitateStrength": 0.01, // Force of the gravitation
"WorldAugmentedDragEnabled": false, // Should this projectile slow down faster? (WARNING! MESSES WITH AIMING WEAPONS!)
"WorldAugmentedDragStrength": 0.1, // The strength of the drag effect [MULTIPLIER!]
//-----------------------------------------------------------------------------
"MovementDampening": 30, // Dampener for the operations below
"WorldHeightBiasEnabled": false, // Should this float at a set altitude?
"WorldHeightBias": 50, // The height to float at
"WorldUseTerrainOffset": false, // Should this projectile float in relation to the height above terrain/water?
"AffectedByWater": false, // Should this projectile act differently in water?
"WaterDepth": 1, // The depth to float at in relation to water (overrides WorldHeightBias)
"WaterDepthSeekingStrength": 1, // The strength we should try to enforce the depth [MULTIPLIER!]
},
//I mean well it lets you do sideways gravity but that's sorta strange at the moment.
// maybe that will change down the line but for now it's kinda pointless
-----------------------------------------------------------------------------------------------------
// a module that makes sure SeekingProjectile does not obey player lock-on
"RandomAdditions.SeekingProjectileIgnoreLock": {},// no seek player lock target!
-----------------------------------------------------------------------------------------------------
//Allows a projectile to collide with Projectiles and home in on MissileProjectile\
"RandomAdditions.InterceptProjectile":{ // Add a special movement effect to your projectile
// General
"InterceptRange": 2, // The range when this projectile applies it's damage
"StartDelay": 3, // The frame delay before the projectile starts intercepting [3 - 255]
"InterceptedExplode": true, // Any projectile intercepted by this will explode (no damage)
"PointDefDamage": 0, // How much damage to apply when target projectile is hit
// - leave at zero to use the WeaponRound damage
// Jammers / Flares
"IsFlare": false, // Will fool MissileProjectiles into heading after itself
"DistractsMoreThanOne": true, // Distract more than one projectile
"ConstantDistract": false, // Keep trying to fool projectiles after launch
"DistractChance": 2, // The chance to fool the target projectile (out of 100)
// SeekingProjectile
"ForcedAiming": false, // If there's a projectile, this will always aim at it first
"Aiming": true, // If there's a projectile, this will aim at it if there's no enemy in range
"OnlyDefend": false, // will not home in on enemies
"InterceptMultiplier": 3,// How much to multiply the aiming strength if targeting a missile
},
-----------------------------------------------------------------------------------------------------
// Spawns MORE projectiles on host projectile "Explosion"
// DO NOT TRY TO CHAIN OPERATE!!!!
// I mean there's almost no limit on how far you can daisy-chain this.
// - Watch your sanity and your framerate impact - I take no blame if you overdo it
// and your computer crashes.
//
// Additionally, you can make a GameObject called "_splitSpawn" to control the angle
// the split projectiles are launched.
// - ! This can be messed up by m_BulletSpin !
"RandomAdditions.SpiltProjectile":{
"SpawnAmount": 4, // How many of these SplitPayloads to spawn - Max 100
"UseSeeking": false, // Enable Seeking for the SplitPayload
"DeployOnExplode": true, // Deploy on explosion
"DeployOnEveryExplode": false, // Deploy each time this explodes
"DeployInFlight": false, // Deply over time while airborne
"ShotCooldown": 1.0, // Rate per second to deploy SplitPayloads
},// ^ Reference an existing FireData (and be sure to edit it) below this
Like such:
"JSONBLOCK": {
"FireData": { // Any firedata
"m_BulletPrefab": {
"SplitProjectile":{
},
"Reference|REF_BLOCKNAME\FireData.": {
},
},
},
},
or if you are feeling extra spicy:
"JSONBLOCK": {
"FireData": { // Any firedata (yes you can nest them)
"m_BulletPrefab": {
"SplitProjectile":{
},
"Reference|REF_BLOCKNAME\FireData.": {
"m_BulletPrefab": {
"SplitProjectile":{
},
"Reference|REF_BLOCKNAME\FireData.": {
},
},
},
},
},
},
-----------------------------------------------------------------------------------------------------
"RandomAdditions.TrailProjectile": {}, // Keep trails until the projectile reaches the end of it's DeathDelay against shield collisions.
-----------------------------------------------------------------------------------------------------
"RaycastProjectile": { // Raycasts a one-hit ray to hit blocks in a line.
// Use LanceProjectile for volume-based damage handling.
"PierceDepth": 0, // How many blocks to damage in the ray. Set to -1 to hit all.
"MaxRange": 100, // How often it makes new "points"
"FadeTime": 1, // How long it takes to fade
"AlphaStart": 1, // The starting alpha to apply to the ray
"AlphaEnd": 1, // The ending alpha to apply to the ray
},
-----------------------------------------------------------------------------------------------------
"RandomAdditions.ChildProjectile": {}, // PENDING - Allows ChildModules to work on Projectiles
"RandomAdditions.ProximityProjectile": {}, // PENDING - Triggers on enemy entering radius, like a gun.
-----------------------------------------------------------------------------------------------------
Need help? Let me know on the official TerraTech Community Discord!