Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public override void DoAIInterval()
- {
- base.DoAIInterval();
- if (StartOfRound.Instance.livingPlayers == 0 || isEnemyDead)
- {
- return;
- }
- PlayerControllerB playerControllerB = null;
- switch (currentBehaviourStateIndex)
- {
- case 0:
- if (!emerged && !inEmergingState)
- {
- if (!roamMap.inProgress)
- {
- StartSearch(base.transform.position, roamMap);
- }
- agent.speed = 4f;
- playerControllerB = GetClosestPlayer(requireLineOfSight: false, cannotBeInShip: true, cannotBeNearShip: true);
- if (playerControllerB != null && mostOptimalDistance < 15f)
- {
- SetMovingTowardsTargetPlayer(playerControllerB);
- SwitchToBehaviourState(1);
- chaseTimer = 0f;
- }
- }
- break;
- case 1:
- if (roamMap.inProgress)
- {
- StopSearch(roamMap);
- }
- targetPlayer = GetClosestPlayer(requireLineOfSight: false, cannotBeInShip: true, cannotBeNearShip: true);
- if (mostOptimalDistance > 19f)
- {
- targetPlayer = null;
- }
- if (targetPlayer == null)
- {
- SwitchToBehaviourState(0);
- break;
- }
- SetMovingTowardsTargetPlayer(targetPlayer);
- if (chaseTimer < 1.5f && Vector3.Distance(base.transform.position, targetPlayer.transform.position) < 4f && !(Vector3.Distance(StartOfRound.Instance.shipInnerRoomBounds.ClosestPoint(base.transform.position), base.transform.position) < 9f) && UnityEngine.Random.Range(0, 100) < 17)
- {
- StartEmergeAnimation();
- }
- break;
- }
- }
- public override void Update()
- {
- base.Update();
- if (isEnemyDead)
- {
- return;
- }
- if (stateLastFrame != currentBehaviourStateIndex)
- {
- stateLastFrame = currentBehaviourStateIndex;
- chaseTimer = 0f;
- }
- switch (currentBehaviourStateIndex)
- {
- case 0:
- if (creatureSFX.isPlaying)
- {
- creatureSFX.Stop();
- }
- break;
- case 1:
- if (!creatureSFX.isPlaying && !inEmergingState && !emerged)
- {
- int num = UnityEngine.Random.Range(0, ambientRumbleSFX.Length);
- creatureSFX.clip = ambientRumbleSFX[num];
- creatureSFX.Play();
- }
- if (!base.IsOwner)
- {
- break;
- }
- if (targetPlayer == null)
- {
- SwitchToBehaviourState(0);
- break;
- }
- if (!PlayerIsTargetable(targetPlayer, cannotBeInShip: true) || Vector3.Distance(targetPlayer.transform.position, base.transform.position) > 22f)
- {
- chaseTimer += Time.deltaTime;
- }
- else
- {
- chaseTimer = 0f;
- }
- if (chaseTimer > 6f)
- {
- SwitchToBehaviourState(0);
- }
- break;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement