// Token: 0x0600049B RID: 1179 RVA: 0x00013388 File Offset: 0x00011588
        public override void OnEnter()
        {
            base.OnEnter();
            base.PlayAnimation("Base", "Release");
            Transform modelTransform = base.GetModelTransform();

            if (modelTransform)
            {
                ChildLocator component = modelTransform.GetComponent <ChildLocator>();
                component.FindChild("Door").gameObject.SetActive(false);
                component.FindChild("ReleaseExhaustFX").gameObject.SetActive(true);
            }
            if (!base.survivorPodController)
            {
                return;
            }
            if (Util.HasEffectiveAuthority(base.survivorPodController.characterBodyObject))
            {
                base.survivorPodController.characterStateMachine.SetNextStateToMain();
                TeleportHelper.TeleportGameObject(base.survivorPodController.characterBodyObject, base.survivorPodController.exitPosition.position);
                CharacterMotor component2 = base.survivorPodController.characterBodyObject.GetComponent <CharacterMotor>();
                if (component2)
                {
                    component2.velocity = base.survivorPodController.exitPosition.forward * Release.ejectionSpeed;
                }
            }
        }
Example #2
0
        private static void CCTpBots(ConCommandArgs args)
        {
            NetworkUser user = args.sender;

            if (Stage.instance == null || user.master == null || user.master.IsDeadAndOutOfLivesServer())
            {
                return;
            }

            foreach (GameObject gameObject in playerbots)
            {
                if (gameObject)
                {
                    CharacterMaster master = gameObject.GetComponent <CharacterMaster>();

                    if (!master.IsDeadAndOutOfLivesServer())
                    {
                        TeleportHelper.TeleportGameObject(master.GetBody().gameObject, new Vector3(
                                                              user.master.GetBody().transform.position.x,
                                                              user.master.GetBody().transform.position.y,
                                                              user.master.GetBody().transform.position.z
                                                              ));
                    }
                }
            }
        }
Example #3
0
        public void Awake()
        {
            for (int i = 0; i < 32; i++)
            {
                Physics.IgnoreLayerCollision(22, i, collisionMap[31 - i] == '0' ? true : false);
            }
            On.RoR2.PickupDropletController.Start += (orig, self) =>
            {
                orig(self);
                self.gameObject.layer = 22;
            };
            On.RoR2.MapZone.TryZoneStart += (orig, self, collider) => {
                if (self.zoneType == MapZone.ZoneType.OutOfBounds)
                {
                    if (collider.GetComponent <PickupDropletController>() || collider.GetComponent <GenericPickupController>())
                    {
                        SpawnCard spawnCard = ScriptableObject.CreateInstance <SpawnCard>();
                        spawnCard.hullSize      = HullClassification.Human;
                        spawnCard.nodeGraphType = RoR2.Navigation.MapNodeGroup.GraphType.Ground;
                        spawnCard.prefab        = Resources.Load <GameObject>("SpawnCards/HelperPrefab");
                        GameObject gameObject = DirectorCore.instance.TrySpawnObject(new DirectorSpawnRequest(spawnCard, new DirectorPlacementRule
                        {
                            placementMode = DirectorPlacementRule.PlacementMode.NearestNode,
                            position      = collider.transform.position
                        }, RoR2Application.rng));
                        if (gameObject)
                        {
                            Debug.Log("TP Item Back");
                            TeleportHelper.TeleportGameObject(collider.gameObject, gameObject.transform.position);
                            UnityEngine.Object.Destroy(gameObject);
                        }
                        UnityEngine.Object.Destroy(spawnCard);
                    }
                }

                orig(self, collider);
            };

            On.RoR2.EquipmentSlot.ExecuteIfReady += (orig, self) =>
            {
                if ((self.inventory != null) ? self.inventory.GetItemCount(ItemIndex.AutoCastEquipment) > 0 : false)
                {
                    if (SceneInfo.instance.sceneDef.nameToken == "MAP_BAZAAR_TITLE")
                    {
                        return(false);
                    }
                }
                return(orig(self));
            };

            On.RoR2.Inventory.UpdateEquipment += (orig, self) =>
            {
                if (self.GetItemCount(ItemIndex.AutoCastEquipment) > 0)
                {
                    if (SceneInfo.instance.sceneDef.nameToken == "MAP_BAZAAR_TITLE")
                    {
                        for (int i = 0; i < self.equipmentStateSlots.Length; i++)
                        {
                            self.equipmentStateSlots[0].chargeFinishTime.t += Time.deltaTime;
                        }
                        return;
                    }
                }
                orig(self);
            };
        }