@@ -54,7 +54,7 @@ public List<PlayerManager> TrackedPlayers
54
54
private NavMeshEvent onLinkEnd ;
55
55
private AmmoBoxCollector ammoBoxCollector ;
56
56
private Coroutine airDisablingRoutine ;
57
- private bool isJumpCooldown = false ;
57
+ private bool hasInaccurateAugment = false ;
58
58
59
59
private void Start ( )
60
60
{
@@ -150,6 +150,9 @@ public override void SetGun(Transform offset)
150
150
var barrel = ChoosePart ( identity . Barrel , identity . Barrels , StaticInfo . Singleton . StartingBarrel ) ;
151
151
var extension = ChoosePart ( identity . Extension , identity . Extensions , StaticInfo . Singleton . StartingExtension ) ;
152
152
153
+ if ( extension != null )
154
+ hasInaccurateAugment = extension . id == "Rubber" ;
155
+
153
156
var gun = GunFactory . InstantiateGunAI ( body , barrel , extension , this , offset ) ;
154
157
gunController = gun . GetComponent < GunController > ( ) ;
155
158
gunController . Initialize ( ) ;
@@ -220,8 +223,10 @@ private void UpdateAimTarget(GunStats stats)
220
223
{
221
224
if ( ! ShootingTarget )
222
225
return ;
226
+
227
+ var badAimMultiplier = hasInaccurateAugment ? 4f : 1f ;
223
228
gunController . target = ShootingTarget . position
224
- + new Vector3 ( Random . Range ( - 1f , 1f ) , 0 , Random . Range ( - 1f , 1f ) )
229
+ + new Vector3 ( Random . Range ( - 1f , 1f ) * badAimMultiplier , 0 , Random . Range ( - 1f , 1f ) * badAimMultiplier )
225
230
* ( transform . position - ShootingTarget . position ) . magnitude * 0.1f ;
226
231
}
227
232
@@ -284,7 +289,7 @@ private void FindPlayers()
284
289
// TODO do not default to shooting target??? what's this for?
285
290
aiMovement . Target = ShootingTarget ;
286
291
var isStrafeDistance = closestDistance < 10f ;
287
- aiMovement . enabled = isStrafeDistance && ! agent . currentOffMeshLinkData . activated && ! isJumpCooldown ;
292
+ aiMovement . enabled = isStrafeDistance && ! agent . currentOffMeshLinkData . activated ;
288
293
289
294
if ( ShootingTarget != null )
290
295
{
@@ -379,7 +384,7 @@ private void AnimateJump()
379
384
{
380
385
OffMeshLinkData offMeshLinkData = agent . currentOffMeshLinkData ;
381
386
382
- if ( offMeshLinkData . activated && ! isJumpCooldown )
387
+ if ( offMeshLinkData . activated )
383
388
{
384
389
var distance = Vector3 . Distance ( offMeshLinkData . startPos , offMeshLinkData . endPos ) ;
385
390
if ( offMeshLinkData . linkType != OffMeshLinkType . LinkTypeDropDown )
@@ -392,13 +397,6 @@ private void AnimateJump()
392
397
}
393
398
}
394
399
395
- private IEnumerator JumpCoolDown ( )
396
- {
397
- isJumpCooldown = true ;
398
- yield return new WaitForSeconds ( 1f ) ;
399
- isJumpCooldown = false ;
400
- }
401
-
402
400
private void AnimateStopCrouch ( )
403
401
{
404
402
animator . SetBool ( "Crouching" , false ) ;
0 commit comments