Example #1
0
        private void Replace()
        {
            Rigidbody  component  = base.GetComponent <Rigidbody>();
            GameObject gameObject = ItemUtils.SpawnItem(this._itemId, this._spawnTr.position, this._spawnTr.rotation, false);

            if (gameObject)
            {
                Rigidbody component2 = gameObject.GetComponent <Rigidbody>();
                if (component2)
                {
                    component2.velocity = component.velocity / 2f;
                    component2.AddRelativeTorque(0f, 0f, -component.velocity.sqrMagnitude / 2f, ForceMode.Impulse);
                }
            }
            if (PoolManager.Pools["misc"].IsSpawned(base.transform))
            {
                component.velocity = Vector3.zero;
                if (BoltNetwork.isRunning)
                {
                    BoltNetwork.Detach(base.gameObject);
                }
                PoolManager.Pools["misc"].Despawn(base.transform);
            }
            else
            {
                UnityEngine.Object.Destroy(base.gameObject);
            }
        }
Example #2
0
    private void EndFire()
    {
        if (this.Parent)
        {
            this.Parent.ExtinguishPoint(this);
        }
        if (BoltNetwork.isRunning && base.entity && base.entity.isAttached && base.entity.isOwner)
        {
            BoltNetwork.Detach(base.gameObject);
        }
        SpawnPool spawnPool = PoolManager.Pools["Particles"];

        if (spawnPool.IsSpawned(base.transform))
        {
            spawnPool.Despawn(base.transform);
        }
        else if (base.transform.parent)
        {
            base.gameObject.SetActive(false);
        }
        else
        {
            UnityEngine.Object.Destroy(base.gameObject);
        }
    }
Example #3
0
    public override void ExecuteCommand(Command command, bool resetState)
    {
        PlayerInputCommand cmd = (PlayerInputCommand)command;

        if (resetState)
        {
            transform.position = cmd.Result.position;
            transform.rotation = Quaternion.Slerp(transform.rotation, cmd.Result.rotation, 0.3f);
            rb.velocity        = cmd.Result.velocity;
            rb.angularVelocity = cmd.Result.angularVelocity;
            if (cmd.Input.exit)
            {
                BoltNetwork.Detach(gameObject);
                Application.Quit();
            }
        }
        else
        {
            if (cmd.IsFirstExecution)
            {
                ProcessInput(cmd);
                cmd.Result.position        = transform.position;
                cmd.Result.rotation        = transform.rotation;
                cmd.Result.velocity        = rb.velocity;
                cmd.Result.angularVelocity = rb.angularVelocity;
            }
        }
    }
Example #4
0
    private void TurnOff()
    {
        BoltEntity boltEntity = null;

        if (BoltNetwork.isRunning)
        {
            boltEntity = base.GetComponent <BoltEntity>();
            if (boltEntity && boltEntity.isAttached && !boltEntity.isOwner)
            {
                return;
            }
        }
        if (PoolManager.Pools["misc"].IsSpawned(base.transform))
        {
            if (BoltNetwork.isServer && boltEntity && boltEntity.isAttached)
            {
                BoltNetwork.Detach(base.gameObject);
            }
            PoolManager.Pools["misc"].Despawn(base.transform);
        }
        else
        {
            UnityEngine.Object.Destroy(base.gameObject);
        }
    }
Example #5
0
 public static void DetachLocalPlayer()
 {
     if (LocalPlayer.Entity != null && LocalPlayer.Entity.isAttached)
     {
         BoltNetwork.Detach(LocalPlayer.Entity);
     }
 }
Example #6
0
        public static void DetachLocalPlayer()
        {
            if (LocalPlayer.Entity != null && LocalPlayer.Entity.isAttached)
            {
                Menu.Values.Self.Visible = false;

                BoltNetwork.Detach(LocalPlayer.Entity);
            }
        }
Example #7
0
    private void ExplosionReal()
    {
        FMODCommon.PlayOneshotNetworked(this.breakEvent, base.transform, FMODCommon.NetworkRole.Server);
        GameObject gameObject = UnityEngine.Object.Instantiate(this.Broken, base.transform.position, base.transform.rotation) as GameObject;

        if (this.entity.IsOwner())
        {
            BoltNetwork.Detach(this.entity, new CoopCreateBreakToken());
        }
        UnityEngine.Object.Destroy(base.gameObject);
    }
Example #8
0
 public void despawn()
 {
     this.animator.enabled = false;
     base.CancelInvoke("updateSpawn");
     if (this.turtle && BoltNetwork.isRunning)
     {
         BoltEntity component = base.gameObject.GetComponent <BoltEntity>();
         if (component != null && component.isAttached)
         {
             BoltNetwork.Detach(base.gameObject);
             UnityEngine.Object.Destroy(component);
         }
         UnityEngine.Object.Destroy(base.gameObject.GetComponent <AnimalDespawner>());
     }
     if (PoolManager.Pools["creatures"].IsSpawned(base.transform))
     {
         PoolManager.Pools["creatures"].Despawn(base.transform);
     }
     else
     {
         UnityEngine.Object.Destroy(base.gameObject);
     }
     if (this.lizard)
     {
         this.sceneInfo.currLizardAmount--;
     }
     if (this.rabbit)
     {
         this.sceneInfo.currRabbitAmount--;
         this.sceneInfo.allRabbits.Remove(base.gameObject);
     }
     if (this.turtle)
     {
         this.controller.seCurrTurtleAmount(-1);
     }
     if (this.tortoise)
     {
         this.sceneInfo.currTortoiseAmount--;
     }
     if (this.raccoon)
     {
         this.sceneInfo.currRaccoonAmount--;
         this.sceneInfo.allRaccoons.Remove(base.gameObject);
     }
     if (this.deer)
     {
         this.sceneInfo.currDeerAmount--;
         this.sceneInfo.allDeer.Remove(base.gameObject);
     }
 }
Example #9
0
 public bool TryPool()
 {
     if (this._poolManagerDespawnCreature && this._destroyTarget && (!BoltNetwork.isClient || !this._destroyTarget.GetComponent <BoltEntity>()) && PoolManager.Pools[this._poolManagerPool].IsSpawned(this._destroyTarget.transform))
     {
         base.enabled = false;
         this._destroyTarget.transform.parent = null;
         if (BoltNetwork.isServer && this._destroyTarget.GetComponent <BoltEntity>())
         {
             BoltNetwork.Detach(this._destroyTarget.gameObject);
         }
         PoolManager.Pools[this._poolManagerPool].Despawn(this._destroyTarget.transform);
         this.OwnershipCheckUnregister();
         return(true);
     }
     return(false);
 }
Example #10
0
 public void UpdateSpawnState(bool testPlayer = true)
 {
     if (testPlayer)
     {
         for (int i = 0; i < this.sceneTracker.allPlayers.Count; i++)
         {
             GameObject gameObject = this.sceneTracker.allPlayers[i];
             if (gameObject && (gameObject.transform.position - base.transform.position).sqrMagnitude < this.DespawnRadius * this.DespawnRadius)
             {
                 return;
             }
         }
         Vector3 vector = LocalPlayer.Transform.InverseTransformPoint(base.transform.position);
         float   num    = Mathf.Atan2(vector.x, vector.z) * 57.29578f;
         if (num < 90f && num > -90f)
         {
             return;
         }
     }
     if (this.SpawnedFromZone)
     {
         this.SpawnedFromZone.SpawnedAnimals.Remove(base.gameObject);
         this.SpawnedFromZone = null;
     }
     if (BoltNetwork.isRunning)
     {
         BoltNetwork.Detach(base.gameObject);
         UnityEngine.Object.Destroy(base.gameObject.GetComponent <BoltEntity>());
         UnityEngine.Object.Destroy(this);
     }
     if (base.GetComponent <CoopAnimalServer>().NonPooled || !PoolManager.Pools["creatures"].IsSpawned(base.transform))
     {
         UnityEngine.Object.Destroy(base.gameObject);
     }
     else
     {
         PoolManager.Pools["creatures"].Despawn(base.transform);
         UnityEngine.Object.Destroy(this);
     }
 }
Example #11
0
 public void Despawn()
 {
     if (this.instances == null || this.InstanceData == null)
     {
         return;
     }
     for (int i = 0; i < this.instances.Length; i++)
     {
         if (this.currentlyVisible && i < this.scheduledSpawnIndex && (!this.instances[i] || !this.instances[i].activeSelf) && this.InstanceData != null && this.InstanceData[i].Spawned)
         {
             if (this.AllowRegrowth)
             {
                 this.InstanceData[i].CreationTime = Time.timeSinceLevelLoad;
             }
             else
             {
                 this.InstanceData[i].Destroyed = true;
             }
             if (this.Data != null)
             {
                 this.Data._instancesState[i] = 255;
             }
         }
         if (Application.isPlaying)
         {
             if (this.MpSync && BoltNetwork.isServer && this.instances[i])
             {
                 BoltNetwork.Detach(this.instances[i]);
             }
             GreeblePlugin.Destroy(this.instances[i]);
         }
         else
         {
             UnityEngine.Object.DestroyImmediate(this.instances[i]);
         }
         this.InstanceData[i].Spawned = false;
         this.instances[i]            = null;
     }
     this.currentlyVisible = false;
 }
Example #12
0
 private void TurnOff()
 {
     if (!BoltNetwork.isClient)
     {
         if (PoolManager.Pools["PickUps"].IsSpawned(base.transform))
         {
             if (BoltNetwork.isServer)
             {
                 BoltEntity component = base.GetComponent <BoltEntity>();
                 if (component && component.isAttached)
                 {
                     BoltNetwork.Detach(base.gameObject);
                 }
             }
             PoolManager.Pools["PickUps"].Despawn(base.transform);
         }
         else
         {
             UnityEngine.Object.Destroy(base.gameObject);
         }
     }
 }
Example #13
0
 private void Clear()
 {
     if (!BoltNetwork.isClient)
     {
         if (PoolManager.Pools["misc"].IsSpawned(base.transform))
         {
             if (BoltNetwork.isRunning && base.entity && base.entity.isAttached && base.entity.isOwner)
             {
                 BoltNetwork.Detach(base.entity);
             }
             base.transform.parent = null;
             PoolManager.Pools["misc"].Despawn(base.transform);
             for (int i = 0; i < this._pickups.Length; i++)
             {
                 this._pickups[i].transform.parent.gameObject.SetActive(true);
             }
         }
         else
         {
             UnityEngine.Object.Destroy(base.gameObject);
         }
     }
 }
Example #14
0
 private void Respawn()
 {
     Debug.Log("LocalPlayer -> Respawn");
     if (LocalPlayer.Stats.Dead)
     {
         if (LocalPlayer.IsInEndgame)
         {
             GameObject gameObject = GameObject.FindWithTag("EndgameLoader");
             if (gameObject)
             {
                 SceneLoadTrigger component = gameObject.GetComponent <SceneLoadTrigger>();
                 component.ForceUnload();
             }
         }
         EventRegistry.Player.Publish(TfEvent.ExitOverlookArea, null);
         EventRegistry.Player.Publish(TfEvent.ExitEndgame, null);
         LocalPlayer.GameObject.SendMessage("NotInACave");
         PlayerInventory     inventory           = LocalPlayer.Inventory;
         PlayerClothing      clothing            = LocalPlayer.Clothing;
         AchievementsManager achievements        = LocalPlayer.Achievements;
         SurvivalBookTodo    componentInChildren = LocalPlayer.SpecialItems.GetComponentInChildren <SurvivalBookTodo>();
         string name   = LocalPlayer.Entity.GetState <IPlayerState>().name;
         bool   value  = LocalPlayer.SavedData.ReachedLowSanityThreshold;
         bool   value2 = LocalPlayer.SavedData.ExitedEndgame;
         LocalPlayer.Inventory.HideAllEquiped(false, false);
         LocalPlayer.Inventory.enabled = false;
         if (Scene.SceneTracker.allPlayers.Contains(LocalPlayer.GameObject))
         {
             Scene.SceneTracker.allPlayers.Remove(LocalPlayer.GameObject);
         }
         if (Scene.SceneTracker.allPlayerEntities.Contains(LocalPlayer.Entity))
         {
             Scene.SceneTracker.allPlayerEntities.Remove(LocalPlayer.Entity);
         }
         BoltNetwork.Detach(LocalPlayer.Entity);
         GameObject gameObject2 = LocalPlayer.GameObject;
         BoltEntity entity      = LocalPlayer.Entity;
         gameObject2.name                  = "player Corpse - " + name;
         gameObject2.tag                   = "Untagged";
         LocalPlayer.MainCamTr.parent      = LocalPlayer.Transform;
         LocalPlayer.Inventory.CurrentView = PlayerInventory.PlayerViews.Loot;
         if (LocalPlayer.AnimControl.swimming)
         {
             LocalPlayer.Rigidbody.useGravity = true;
         }
         for (int i = gameObject2.transform.childCount - 1; i >= 0; i--)
         {
             Transform child = gameObject2.transform.GetChild(i);
             UnityEngine.Object.Destroy(child.gameObject);
         }
         Component[] components = gameObject2.GetComponents(typeof(MonoBehaviour));
         foreach (Component component2 in components)
         {
             if (!(component2 is BoltEntity))
             {
                 UnityEngine.Object.DestroyImmediate(component2);
             }
         }
         Transform  transform   = base.transform;
         GameObject gameObject3 = UnityEngine.Object.Instantiate <GameObject>(Prefabs.Instance.PlayerPrefab, transform.position, transform.rotation);
         gameObject3.transform.localEulerAngles = new Vector3(0f, gameObject3.transform.localEulerAngles.y, 0f);
         gameObject3.name = Prefabs.Instance.PlayerPrefab.name;
         LocalPlayer.Inventory.SetQuickSelectItemIds(inventory.QuickSelectItemIds);
         LocalPlayer.Achievements.Clone(achievements);
         LocalPlayer.SpecialItems.GetComponentInChildren <SurvivalBookTodo>().Clone(componentInChildren);
         LocalPlayer.SavedData.ReachedLowSanityThreshold.SetValue(value);
         LocalPlayer.SavedData.ExitedEndgame.SetValue(value2);
         LocalPlayer.FpCharacter.UnLockView();
         LocalPlayer.CamFollowHead.enableMouseControl(false);
         LocalPlayer.MainCamTr.localEulerAngles = Vector3.zero;
         LocalPlayer.MainRotator.enabled        = true;
         LocalPlayer.CamRotator.enabled         = true;
         LocalPlayer.Stats.Health       = 28f;
         LocalPlayer.Stats.HealthTarget = 28f;
         LocalPlayer.Stats.Energy       = 100f;
         LocalPlayer.Stats.Fullness     = 0.35f;
         LocalPlayer.Stats.Thirst       = 0.35f;
         LocalPlayer.Stats.Invoke("CheckArmsStart", 2f);
         LocalPlayer.Stats.Invoke("PlayWakeMusic", 0.5f);
         LocalPlayer.Tuts.CloseColdTut();
         Scene.RainFollowGO.GetComponent <SmoothTransformConstraint>().target = LocalPlayer.Transform;
         gameObject3.SetActive(true);
         CoopUtils.AttachLocalPlayer(gameObject3, name);
         Scene.SceneTracker.allPlayers.Add(LocalPlayer.GameObject);
         LocalPlayer.GreebleRoot.SetActive(true);
         LocalPlayer.Inventory.enabled = true;
         LocalPlayer.Transform.SendMessage("enableMpRenderers");
         LocalPlayer.Transform.SendMessage("playerLoadedFromRespawn");
         this._addedItems = false;
         StealItemTrigger stealItemTrigger = UnityEngine.Object.Instantiate <StealItemTrigger>(Prefabs.Instance.DeadBackpackPrefab, gameObject2.transform.position, gameObject2.transform.rotation);
         stealItemTrigger._entity          = entity;
         stealItemTrigger.transform.parent = gameObject2.transform;
         gameObject2.AddComponent <DeathMPTut>();
         ItemStorage itemStorage = gameObject2.AddComponent <ItemStorage>();
         itemStorage._acceptedTypes = ~Item.Types.Story;
         for (int k = inventory._possessedItems.Count - 1; k >= 0; k--)
         {
             InventoryItem inventoryItem = inventory._possessedItems[k];
             if (!LocalPlayer.Inventory.Owns(inventoryItem._itemId, false))
             {
                 if (inventoryItem.MaxAmount == 1)
                 {
                     InventoryItemView inventoryItemView = inventory.InventoryItemViewsCache[inventoryItem._itemId][0];
                     this.AddItemToStorage(inventoryItem._itemId, inventoryItem._amount, itemStorage, inventoryItemView.Properties);
                 }
                 else if (inventoryItem.MaxAmount > 0 && inventoryItem.MaxAmount < 2147483647)
                 {
                     while (inventory.Owns(inventoryItem._itemId, false))
                     {
                         InventoryItemView inventoryItemView2 = inventory.InventoryItemViewsCache[inventoryItem._itemId][0];
                         inventory.SortInventoryViewsByBonus(inventoryItemView2, inventoryItemView2.Properties.ActiveBonus, true);
                         int amount = inventory.AmountOfItemWithBonus(inventoryItem._itemId, inventoryItemView2.Properties.ActiveBonus);
                         inventory.RemoveItem(inventoryItem._itemId, amount, true, false);
                         this.AddItemToStorage(inventoryItem._itemId, amount, itemStorage, inventoryItemView2.Properties);
                     }
                 }
                 else
                 {
                     this.AddItemToStorage(inventoryItem._itemId, inventoryItem._amount, itemStorage, null);
                 }
             }
         }
         for (int l = 0; l < inventory.EquipmentSlots.Length; l++)
         {
             InventoryItemView inventoryItemView3 = inventory.EquipmentSlots[l];
             if (inventoryItemView3 && inventoryItemView3._itemId > 0)
             {
                 this.AddItemToStorage(inventoryItemView3._itemId, 1, itemStorage, inventoryItemView3.Properties);
             }
         }
         clothing.DropAll(gameObject2.transform.position, true, true);
         if (!this._addedItems)
         {
             UnityEngine.Object.Destroy(gameObject2);
         }
         animalAI[] array2 = UnityEngine.Object.FindObjectsOfType <animalAI>();
         foreach (animalAI animalAI in array2)
         {
             animalAI.SendMessage("updatePlayerTargets");
         }
         mutantAI[] array4 = UnityEngine.Object.FindObjectsOfType <mutantAI>();
         foreach (mutantAI mutantAI in array4)
         {
             mutantAI.SendMessage("updatePlayerTargets");
         }
         Fish[] array6 = UnityEngine.Object.FindObjectsOfType <Fish>();
         mutantScriptSetup[] array7 = UnityEngine.Object.FindObjectsOfType <mutantScriptSetup>();
         foreach (mutantScriptSetup mutantScriptSetup in array7)
         {
             mutantScriptSetup.setupPlayer();
             mutantScriptSetup.search.refreshCurrentTarget();
         }
         LocalPlayer.Transform.SendMessage("enableMpRenderers");
         Terrain.activeTerrain.GetComponent <Collider>().enabled = true;
         Scene.Clock.IsNotCave();
     }
     PlayerRespawnMP.Cancel();
     if (this._bringUpPauseMenu)
     {
         this._bringUpPauseMenu = false;
         LocalPlayer.Inventory.TogglePauseMenu();
     }
 }
Example #15
0
 public override void OnEnter()
 {
     BoltNetwork.Detach(gameObject.Value);
     Finish();
 }
Example #16
0
 private void Respawn()
 {
     UnityEngine.Debug.Log("LocalPlayer -> Respawn");
     if (LocalPlayer.Stats.Dead)
     {
         LocalPlayer.GameObject.SendMessage("NotInACave");
         PlayerInventory inventory = LocalPlayer.Inventory;
         string          name      = LocalPlayer.Entity.GetState <IPlayerState>().name;
         LocalPlayer.Inventory.HideAllEquiped(false);
         LocalPlayer.Inventory.enabled = false;
         if (Scene.SceneTracker.allPlayers.Contains(LocalPlayer.GameObject))
         {
             Scene.SceneTracker.allPlayers.Remove(LocalPlayer.GameObject);
         }
         if (Scene.SceneTracker.allPlayerEntities.Contains(LocalPlayer.Entity))
         {
             Scene.SceneTracker.allPlayerEntities.Remove(LocalPlayer.Entity);
         }
         BoltNetwork.Detach(LocalPlayer.Entity);
         GameObject gameObject = LocalPlayer.GameObject;
         BoltEntity entity     = LocalPlayer.Entity;
         gameObject.name = "player Corpse - " + name;
         gameObject.tag  = "Untagged";
         LocalPlayer.MainCamTr.parent      = LocalPlayer.Transform;
         LocalPlayer.Inventory.CurrentView = PlayerInventory.PlayerViews.Loot;
         for (int i = gameObject.transform.childCount - 1; i >= 0; i--)
         {
             Transform child = gameObject.transform.GetChild(i);
             UnityEngine.Object.Destroy(child.gameObject);
         }
         Component[] components = gameObject.GetComponents(typeof(MonoBehaviour));
         Component[] array      = components;
         for (int j = 0; j < array.Length; j++)
         {
             Component component = array[j];
             if (!(component is BoltEntity))
             {
                 UnityEngine.Object.DestroyImmediate(component);
             }
         }
         Transform  transform   = base.transform;
         GameObject gameObject2 = (GameObject)UnityEngine.Object.Instantiate(Prefabs.Instance.PlayerPrefab, transform.position, transform.rotation);
         gameObject2.transform.localEulerAngles = new Vector3(0f, gameObject2.transform.localEulerAngles.y, 0f);
         gameObject2.name = Prefabs.Instance.PlayerPrefab.name;
         LocalPlayer.FpCharacter.UnLockView();
         LocalPlayer.CamFollowHead.enableMouseControl(false);
         LocalPlayer.MainCamTr.localEulerAngles = Vector3.zero;
         LocalPlayer.MainRotator.enabled        = true;
         LocalPlayer.CamRotator.enabled         = true;
         LocalPlayer.Stats.Health   = 28f;
         LocalPlayer.Stats.Energy   = 100f;
         LocalPlayer.Stats.Fullness = 0.35f;
         LocalPlayer.Stats.Thirst   = 0.35f;
         LocalPlayer.Stats.Invoke("CheckArmsStart", 2f);
         LocalPlayer.Stats.Invoke("PlayWakeMusic", 0.5f);
         Scene.RainFollowGO.GetComponent <SmoothTransformConstraint>().target = LocalPlayer.Transform;
         gameObject2.SetActive(true);
         CoopUtils.AttachLocalPlayer(gameObject2, name);
         Scene.SceneTracker.allPlayers.Add(LocalPlayer.GameObject);
         LocalPlayer.GreebleRoot.SetActive(true);
         StealItemTrigger stealItemTrigger = (StealItemTrigger)UnityEngine.Object.Instantiate(Prefabs.Instance.DeadBackpackPrefab, gameObject.transform.position, gameObject.transform.rotation);
         stealItemTrigger._entity          = entity;
         stealItemTrigger.transform.parent = gameObject.transform;
         gameObject.AddComponent <DeathMPTut>();
         ItemStorage cis = gameObject.AddComponent <ItemStorage>();
         for (int k = 0; k < inventory._possessedItems.Count; k++)
         {
             InventoryItem inventoryItem = inventory._possessedItems[k];
             if (!LocalPlayer.Inventory.Owns(inventoryItem._itemId))
             {
                 this.AddItemToStorage(inventoryItem._itemId, inventoryItem._amount, inventoryItem._maxAmountBonus, cis);
             }
         }
         for (int l = 0; l < inventory.EquipmentSlots.Length; l++)
         {
             InventoryItemView inventoryItemView = inventory.EquipmentSlots[l];
             if (inventoryItemView && inventoryItemView._itemId > 0)
             {
                 this.AddItemToStorage(inventoryItemView._itemId, 1, 0, cis);
             }
         }
         animalAI[] array2 = UnityEngine.Object.FindObjectsOfType <animalAI>();
         animalAI[] array3 = array2;
         for (int m = 0; m < array3.Length; m++)
         {
             animalAI animalAI = array3[m];
             animalAI.SendMessage("updatePlayerTargets");
         }
         mutantAI[] array4 = UnityEngine.Object.FindObjectsOfType <mutantAI>();
         mutantAI[] array5 = array4;
         for (int n = 0; n < array5.Length; n++)
         {
             mutantAI mutantAI = array5[n];
             mutantAI.SendMessage("updatePlayerTargets");
         }
         Fish[] array6 = UnityEngine.Object.FindObjectsOfType <Fish>();
         Fish[] array7 = array6;
         for (int num = 0; num < array7.Length; num++)
         {
             Fish fish = array7[num];
             fish.SendMessage("updatePlayerTargets");
         }
         mutantScriptSetup[] array8 = UnityEngine.Object.FindObjectsOfType <mutantScriptSetup>();
         mutantScriptSetup[] array9 = array8;
         for (int num2 = 0; num2 < array9.Length; num2++)
         {
             mutantScriptSetup mutantScriptSetup = array9[num2];
             mutantScriptSetup.setupPlayer();
             mutantScriptSetup.search.refreshCurrentTarget();
         }
         Terrain.activeTerrain.GetComponent <Collider>().enabled = true;
         Scene.Clock.IsNotCave();
     }
     PlayerRespawnMP.Cancel();
 }