Esempio n. 1
0
        public void AddShrineStack(Interactor interactor)
        {
            if (!NetworkServer.active)
            {
                Debug.LogWarning("[Server] function 'System.Void RoR2.ShrineBossBehavior::AddShrineStack(RoR2.Interactor)' called on client");
                return;
            }
            this.waitingForRefresh = true;
            if (TeleporterInteraction.instance)
            {
                TeleporterInteraction.instance.AddShrineStack();
            }
            CharacterBody component = interactor.GetComponent <CharacterBody>();

            Chat.SendBroadcastChat(new Chat.SubjectFormatChatMessage
            {
                subjectAsCharacterBody = component,
                baseToken = "SHRINE_BOSS_USE_MESSAGE"
            });
            EffectManager.SpawnEffect(Resources.Load <GameObject>("Prefabs/Effects/ShrineUseEffect"), new EffectData
            {
                origin   = base.transform.position,
                rotation = Quaternion.identity,
                scale    = 1f,
                color    = new Color(0.7372549f, 0.90588236f, 0.94509804f)
            }, true);
            this.purchaseCount++;
            this.refreshTimer = 2f;
            if (this.purchaseCount >= this.maxPurchaseCount)
            {
                this.symbolTransform.gameObject.SetActive(false);
            }
        }
Esempio n. 2
0
 public void GrantUnlock(Interactor interactor)
 {
     if (!NetworkServer.active)
     {
         Debug.LogWarning("[Server] function 'System.Void RoR2.RadiotowerTerminal::GrantUnlock(RoR2.Interactor)' called on client");
         return;
     }
     EffectManager.instance.SpawnEffect(this.unlockEffect, new EffectData
     {
         origin = base.transform.position
     }, true);
     this.SetHasBeenPurchased(true);
     if (Run.instance)
     {
         Util.PlaySound(this.unlockSoundString, interactor.gameObject);
         Run.instance.GrantUnlockToAllParticipatingPlayers(this.unlockableName);
         string        pickupToken   = "???";
         UnlockableDef unlockableDef = UnlockableCatalog.GetUnlockableDef(this.unlockableName);
         if (unlockableDef != null)
         {
             pickupToken = unlockableDef.nameToken;
         }
         Chat.SendBroadcastChat(new Chat.PlayerPickupChatMessage
         {
             subjectCharacterBodyGameObject = interactor.gameObject,
             baseToken      = "PLAYER_PICKUP",
             pickupToken    = pickupToken,
             pickupColor    = ColorCatalog.GetColor(ColorCatalog.ColorIndex.Unlockable),
             pickupQuantity = 1u
         });
     }
 }
        public void SetRunNextStageToTarget()
        {
            if (!NetworkServer.active)
            {
                Debug.LogWarning("[Server] function 'System.Void RoR2.SeerStationController::SetRunNextStageToTarget()' called on client");
                return;
            }
            SceneDef sceneDef = SceneCatalog.GetSceneDef(this.targetSceneDefIndex);

            if (sceneDef)
            {
                SceneExitController sceneExitController = this.explicitTargetSceneExitController;
                if (!sceneExitController && this.fallBackToFirstActiveExitController)
                {
                    sceneExitController = InstanceTracker.FirstOrNull <SceneExitController>();
                }
                if (sceneExitController)
                {
                    sceneExitController.destinationScene     = sceneDef;
                    sceneExitController.useRunNextStageScene = false;
                    Chat.SendBroadcastChat(new Chat.SimpleChatMessage
                    {
                        baseToken = sceneDef.portalSelectionMessageString
                    });
                }
            }
        }
Esempio n. 4
0
        public void AddShrineStack(Interactor activator)
        {
            if (!NetworkServer.active)
            {
                Debug.LogWarning("[Server] function 'System.Void RoR2.ShrineChanceBehavior::AddShrineStack(RoR2.Interactor)' called on client");
                return;
            }
            PickupIndex none   = PickupIndex.none;
            PickupIndex value  = Run.instance.availableTier1DropList[this.rng.RangeInt(0, Run.instance.availableTier1DropList.Count - 1)];
            PickupIndex value2 = Run.instance.availableTier2DropList[this.rng.RangeInt(0, Run.instance.availableTier2DropList.Count - 1)];
            PickupIndex value3 = Run.instance.availableTier3DropList[this.rng.RangeInt(0, Run.instance.availableTier3DropList.Count - 1)];
            PickupIndex value4 = Run.instance.availableEquipmentDropList[this.rng.RangeInt(0, Run.instance.availableEquipmentDropList.Count - 1)];
            WeightedSelection <PickupIndex> weightedSelection = new WeightedSelection <PickupIndex>(8);

            weightedSelection.AddChoice(none, this.failureWeight);
            weightedSelection.AddChoice(value, this.tier1Weight);
            weightedSelection.AddChoice(value2, this.tier2Weight);
            weightedSelection.AddChoice(value3, this.tier3Weight);
            weightedSelection.AddChoice(value4, this.equipmentWeight);
            PickupIndex pickupIndex = weightedSelection.Evaluate(this.rng.nextNormalizedFloat);
            bool        flag        = pickupIndex == PickupIndex.none;

            if (flag)
            {
                Chat.SendBroadcastChat(new Chat.SubjectFormatChatMessage
                {
                    subjectCharacterBodyGameObject = activator.gameObject,
                    baseToken = "SHRINE_CHANCE_FAIL_MESSAGE"
                });
            }
            else
            {
                this.successfulPurchaseCount++;
                PickupDropletController.CreatePickupDroplet(pickupIndex, this.dropletOrigin.position, this.dropletOrigin.forward * 20f);
                Chat.SendBroadcastChat(new Chat.SubjectFormatChatMessage
                {
                    subjectCharacterBodyGameObject = activator.gameObject,
                    baseToken = "SHRINE_CHANCE_SUCCESS_MESSAGE"
                });
            }
            Action <bool, Interactor> action = ShrineChanceBehavior.onShrineChancePurchaseGlobal;

            if (action != null)
            {
                action(flag, activator);
            }
            this.waitingForRefresh = true;
            this.refreshTimer      = 2f;
            EffectManager.instance.SpawnEffect(Resources.Load <GameObject>("Prefabs/Effects/ShrineUseEffect"), new EffectData
            {
                origin   = base.transform.position,
                rotation = Quaternion.identity,
                scale    = 1f,
                color    = this.shrineColor
            }, true);
            if (this.successfulPurchaseCount >= this.maxPurchaseCount)
            {
                this.symbolTransform.gameObject.SetActive(false);
            }
        }
Esempio n. 5
0
        public void GrantUnlock(Interactor interactor)
        {
            if (!NetworkServer.active)
            {
                Debug.LogWarning("[Server] function 'System.Void RoR2.BlueprintTerminal::GrantUnlock(RoR2.Interactor)' called on client");
                return;
            }
            this.SetHasBeenPurchased(true);
            string unlockableName = this.unlockableOptions[this.unlockableChoice].unlockableName;

            EffectManager.SpawnEffect(this.unlockEffect, new EffectData
            {
                origin = base.transform.position
            }, true);
            if (Run.instance)
            {
                Util.PlaySound(this.unlockSoundString, interactor.gameObject);
                CharacterBody component = interactor.GetComponent <CharacterBody>();
                Run.instance.GrantUnlockToSinglePlayer(unlockableName, component);
                string        pickupToken   = "???";
                UnlockableDef unlockableDef = UnlockableCatalog.GetUnlockableDef(unlockableName);
                if (unlockableDef != null)
                {
                    pickupToken = unlockableDef.nameToken;
                }
                Chat.SendBroadcastChat(new Chat.PlayerPickupChatMessage
                {
                    subjectAsCharacterBody = component,
                    baseToken      = "PLAYER_PICKUP",
                    pickupToken    = pickupToken,
                    pickupColor    = ColorCatalog.GetColor(ColorCatalog.ColorIndex.Unlockable),
                    pickupQuantity = 1U
                });
            }
        }
 private void AttemptToSpawnShopPortal()
 {
     if (!NetworkServer.active)
     {
         Debug.LogWarning("[Server] function 'System.Void RoR2.TeleporterInteraction::AttemptToSpawnShopPortal()' called on client");
         return;
     }
     Debug.Log("Submitting request for shop portal");
     if (DirectorCore.instance.TrySpawnObject(this.shopPortalSpawnCard, new DirectorPlacementRule
     {
         maxDistance = 30f,
         minDistance = 0f,
         placementMode = DirectorPlacementRule.PlacementMode.Approximate,
         position = base.transform.position,
         spawnOnTarget = base.transform
     }, this.rng))
     {
         Debug.Log("Succeeded in creating shop portal!");
         Run.instance.shopPortalCount++;
         Chat.SendBroadcastChat(new Chat.SimpleChatMessage
         {
             baseToken = "PORTAL_SHOP_OPEN"
         });
     }
 }
 // Token: 0x06001674 RID: 5748 RVA: 0x0006AEA4 File Offset: 0x000690A4
 public void OnInteractionBegin(Interactor activator)
 {
     if (this.activationState == TeleporterInteraction.ActivationState.Idle)
     {
         this.CallRpcClientOnActivated(activator.gameObject);
         Chat.SendBroadcastChat(new Chat.SubjectChatMessage
         {
             subjectCharacterBodyGameObject = activator.gameObject,
             baseToken = "PLAYER_ACTIVATED_TELEPORTER"
         });
         if (this.showBossIndicator)
         {
             Chat.SendBroadcastChat(new Chat.SimpleChatMessage
             {
                 baseToken = "SHRINE_BOSS_BEGIN_TRIAL"
             });
         }
         this.activationState = TeleporterInteraction.ActivationState.IdleToCharging;
         return;
     }
     if (this.activationState == TeleporterInteraction.ActivationState.Charged)
     {
         this.activationState = TeleporterInteraction.ActivationState.Finished;
         base.GetComponent <SceneExitController>().Begin();
     }
 }
Esempio n. 8
0
 // Token: 0x06000A59 RID: 2649 RVA: 0x00033CAB File Offset: 0x00031EAB
 public static void SendPlayerDisconnectedMessage(NetworkUser user)
 {
     Chat.SendBroadcastChat(new Chat.PlayerChatMessage
     {
         networkPlayerName = user.GetNetworkPlayerName(),
         baseToken         = "PLAYER_DISCONNECTED"
     });
 }
        private void AddItemType(ItemTier itemTier)
        {
            if (!NetworkServer.active)
            {
                Debug.LogWarning("[Server] function 'System.Void RoR2.ArenaMissionController::AddItemType(RoR2.ItemTier)' called on client");
                return;
            }
            List <PickupIndex> list;

            switch (itemTier)
            {
            case ItemTier.Tier1:
                list = this.availableTier1DropList;
                break;

            case ItemTier.Tier2:
                list = this.availableTier2DropList;
                break;

            case ItemTier.Tier3:
                list = this.availableTier3DropList;
                break;

            default:
                return;
            }
            if (list.Count == 0)
            {
                Debug.LogErrorFormat("No items remaining in arena for tier {0}. Aborting.", new object[]
                {
                    itemTier
                });
                return;
            }
            PickupIndex pickupIndex = this.rng.NextElementUniform <PickupIndex>(list);

            list.Remove(pickupIndex);
            this.syncActivePickups.Add(pickupIndex.value);
            for (int i = 0; i < this.pickupDisplays.Length; i++)
            {
                PickupDisplay pickupDisplay = this.pickupDisplays[i];
                if (!pickupDisplay.enabled)
                {
                    pickupDisplay.enabled = true;
                    pickupDisplay.SetPickupIndex(pickupIndex, false);
                    break;
                }
            }
            PickupDef pickupDef = PickupCatalog.GetPickupDef(pickupIndex);

            Chat.SendBroadcastChat(new Chat.PlayerPickupChatMessage
            {
                baseToken   = "ARENA_ADD_ITEM",
                pickupToken = pickupDef.nameToken,
                pickupColor = pickupDef.baseColor
            });
        }
Esempio n. 10
0
        // Token: 0x0600090E RID: 2318 RVA: 0x0002739A File Offset: 0x0002559A
        private IEnumerator BroadcastFamilySelection(ClassicStageInfo.MonsterFamily selectedFamily)
        {
            yield return(new WaitForSeconds(1f));

            Chat.SendBroadcastChat(new Chat.SimpleChatMessage
            {
                baseToken = selectedFamily.familySelectionChatString
            });
            yield break;
        }
Esempio n. 11
0
 private static void CCSay(ConCommandArgs args)
 {
     args.CheckArgumentCount(1);
     if (args.sender)
     {
         Chat.SendBroadcastChat(new Chat.UserChatMessage
         {
             sender = args.sender.gameObject,
             text   = args[0]
         });
     }
 }
Esempio n. 12
0
 public void CmdReportAchievement(string achievementNameToken)
 {
     Chat.SendBroadcastChat(new Chat.SubjectFormatChatMessage
     {
         baseToken          = "ACHIEVEMENT_UNLOCKED_MESSAGE",
         subjectNetworkUser = this,
         paramTokens        = new string[]
         {
             achievementNameToken
         }
     });
 }
Esempio n. 13
0
        // Token: 0x06000B6E RID: 2926 RVA: 0x00038294 File Offset: 0x00036494
        public void CommentOnLunarPurchase()
        {
            float percentChance = 20f;
            int   max           = 8;

            if (Util.CheckRoll(percentChance, 0f, null))
            {
                Chat.SendBroadcastChat(new Chat.NpcChatMessage
                {
                    sender    = this.shopkeeper,
                    baseToken = "NEWT_LUNAR_PURCHASE_" + UnityEngine.Random.Range(1, max)
                });
            }
        }
Esempio n. 14
0
        // Token: 0x06000B71 RID: 2929 RVA: 0x000382E8 File Offset: 0x000364E8
        public void CommentOnUpgrade()
        {
            float percentChance = 100f;
            int   max           = 3;

            if (Util.CheckRoll(percentChance, 0f, null))
            {
                Chat.SendBroadcastChat(new Chat.NpcChatMessage
                {
                    sender    = this.shopkeeper,
                    baseToken = "NEWT_UPGRADE_" + UnityEngine.Random.Range(1, max)
                });
            }
        }
        public void AddShrineStack(Interactor interactor)
        {
            if (!NetworkServer.active)
            {
                Debug.LogWarning("[Server] function 'System.Void RoR2.ShrineCombatBehavior::AddShrineStack(RoR2.Interactor)' called on client");
                return;
            }
            new List <CharacterBody>();
            this.waitingForRefresh = true;
            if (this.combatDirector)
            {
                this.combatDirector.enabled        = true;
                this.combatDirector.monsterCredit += this.monsterCredit;
                this.combatDirector.OverrideCurrentMonsterCard(this.chosenDirectorCard);
                this.combatDirector.monsterSpawnTimer = 0f;
            }
            CharacterMaster component = this.chosenDirectorCard.spawnCard.prefab.GetComponent <CharacterMaster>();

            if (component)
            {
                CharacterBody component2 = component.bodyPrefab.GetComponent <CharacterBody>();
                if (component2)
                {
                    Chat.SendBroadcastChat(new Chat.SubjectFormatChatMessage
                    {
                        subjectAsCharacterBody = interactor.GetComponent <CharacterBody>(),
                        baseToken   = "SHRINE_COMBAT_USE_MESSAGE",
                        paramTokens = new string[]
                        {
                            component2.baseNameToken
                        }
                    });
                }
            }
            EffectManager.SpawnEffect(Resources.Load <GameObject>("Prefabs/Effects/ShrineUseEffect"), new EffectData
            {
                origin   = base.transform.position,
                rotation = Quaternion.identity,
                scale    = 1f,
                color    = this.shrineEffectColor
            }, true);
            this.purchaseCount++;
            this.refreshTimer = 2f;
            if (this.purchaseCount >= this.maxPurchaseCount)
            {
                this.symbolTransform.gameObject.SetActive(false);
            }
        }
        private void AddMonsterType()
        {
            if (!NetworkServer.active)
            {
                Debug.LogWarning("[Server] function 'System.Void RoR2.ArenaMissionController::AddMonsterType()' called on client");
                return;
            }
            if (this.availableMonsterCards.Count == 0)
            {
                Debug.Log("Out of monster types! Aborting.");
                return;
            }
            int          num   = this.availableMonsterCards.EvaluteToChoiceIndex(this.rng.nextNormalizedFloat);
            DirectorCard value = this.availableMonsterCards.choices[num].value;

            this.activeMonsterCards.Add(value);
            SyncList <int>  syncList  = this.syncActiveMonsterBodies;
            CharacterMaster component = value.spawnCard.prefab.GetComponent <CharacterMaster>();
            int?            num2;

            if (component == null)
            {
                num2 = null;
            }
            else
            {
                CharacterBody component2 = component.bodyPrefab.GetComponent <CharacterBody>();
                num2 = ((component2 != null) ? new int?(component2.bodyIndex) : null);
            }
            syncList.Add(num2 ?? -1);
            this.availableMonsterCards.RemoveChoice(num);
            CharacterBody component3 = value.spawnCard.prefab.GetComponent <CharacterMaster>().bodyPrefab.GetComponent <CharacterBody>();

            Chat.SendBroadcastChat(new Chat.SubjectFormatChatMessage
            {
                baseToken   = "ARENA_ADD_MONSTER",
                paramTokens = new string[]
                {
                    component3.baseNameToken
                }
            });
        }
Esempio n. 17
0
        public void AddShrineStack(Interactor interactor)
        {
            if (!NetworkServer.active)
            {
                Debug.LogWarning("[Server] function 'System.Void RoR2.ShrineBloodBehavior::AddShrineStack(RoR2.Interactor)' called on client");
                return;
            }
            this.waitingForRefresh = true;
            CharacterBody component = interactor.GetComponent <CharacterBody>();

            if (component)
            {
                uint amount = (uint)(component.healthComponent.fullHealth * (float)this.purchaseInteraction.cost / 100f * this.goldToPaidHpRatio);
                if (component.master)
                {
                    component.master.GiveMoney(amount);
                    Chat.SendBroadcastChat(new Chat.SubjectFormatChatMessage
                    {
                        subjectCharacterBodyGameObject = interactor.gameObject,
                        baseToken   = "SHRINE_BLOOD_USE_MESSAGE",
                        paramTokens = new string[]
                        {
                            amount.ToString()
                        }
                    });
                }
            }
            EffectManager.instance.SpawnEffect(Resources.Load <GameObject>("Prefabs/Effects/ShrineUseEffect"), new EffectData
            {
                origin   = base.transform.position,
                rotation = Quaternion.identity,
                scale    = 1f,
                color    = Color.red
            }, true);
            this.purchaseCount++;
            this.refreshTimer = 2f;
            if (this.purchaseCount >= this.maxPurchaseCount)
            {
                this.symbolTransform.gameObject.SetActive(false);
            }
        }
        public void AddShrineStack(Interactor activator)
        {
            if (!NetworkServer.active)
            {
                Debug.LogWarning("[Server] function 'System.Void RoR2.ShrineHealingBehavior::AddShrineStack(RoR2.Interactor)' called on client");
                return;
            }
            this.SetWardEnabled(true);
            Chat.SendBroadcastChat(new Chat.SubjectFormatChatMessage
            {
                subjectAsCharacterBody = activator.gameObject.GetComponent <CharacterBody>(),
                baseToken = "SHRINE_HEALING_USE_MESSAGE"
            });
            this.waitingForRefresh = true;
            int purchaseCount = this.purchaseCount;

            this.purchaseCount = purchaseCount + 1;
            float networkradius = this.baseRadius + this.radiusBonusPerPurchase * (float)(this.purchaseCount - 1);

            this.healingWard.Networkradius = networkradius;
            this.refreshTimer = 2f;
            EffectManager.SpawnEffect(Resources.Load <GameObject>("Prefabs/Effects/ShrineUseEffect"), new EffectData
            {
                origin   = base.transform.position,
                rotation = Quaternion.identity,
                scale    = 1f,
                color    = Color.green
            }, true);
            if (this.purchaseCount >= this.maxPurchaseCount)
            {
                this.symbolTransform.gameObject.SetActive(false);
            }
            Action <ShrineHealingBehavior, Interactor> action = ShrineHealingBehavior.onActivated;

            if (action == null)
            {
                return;
            }
            action(this, activator);
        }
 private void AttemptToSpawnMSPortal()
 {
     if (!NetworkServer.active)
     {
         Debug.LogWarning("[Server] function 'System.Void RoR2.TeleporterInteraction::AttemptToSpawnMSPortal()' called on client");
         return;
     }
     if (DirectorCore.instance.TrySpawnObject(this.msPortalSpawnCard, new DirectorPlacementRule
     {
         maxDistance = 40f,
         minDistance = 10f,
         placementMode = DirectorPlacementRule.PlacementMode.Approximate,
         position = base.transform.position,
         spawnOnTarget = base.transform
     }, this.rng))
     {
         Chat.SendBroadcastChat(new Chat.SimpleChatMessage
         {
             baseToken = "PORTAL_MS_OPEN"
         });
     }
 }
        public void AddShrineStack(Interactor interactor)
        {
            if (!NetworkServer.active)
            {
                Debug.LogWarning("[Server] function 'System.Void RoR2.ShrineRestackBehavior::AddShrineStack(RoR2.Interactor)' called on client");
                return;
            }
            this.waitingForRefresh = true;
            CharacterBody component = interactor.GetComponent <CharacterBody>();

            if (component && component.master)
            {
                Inventory inventory = component.master.inventory;
                if (inventory)
                {
                    inventory.ShrineRestackInventory(this.rng);
                    Chat.SendBroadcastChat(new Chat.SubjectFormatChatMessage
                    {
                        subjectCharacterBodyGameObject = interactor.gameObject,
                        baseToken = "SHRINE_RESTACK_USE_MESSAGE"
                    });
                }
            }
            EffectManager.instance.SpawnEffect(Resources.Load <GameObject>("Prefabs/Effects/ShrineUseEffect"), new EffectData
            {
                origin   = base.transform.position,
                rotation = Quaternion.identity,
                scale    = 1f,
                color    = new Color(1f, 0.23f, 0.6337214f)
            }, true);
            this.purchaseCount++;
            this.refreshTimer = 2f;
            if (this.purchaseCount >= this.maxPurchaseCount)
            {
                this.symbolTransform.gameObject.SetActive(false);
            }
        }
 // Token: 0x06001730 RID: 5936 RVA: 0x0006E220 File Offset: 0x0006C420
 private void GrantPickup(GameObject activator)
 {
     if (Run.instance)
     {
         Util.PlaySound(UnlockPickup.itemPickupSoundString, activator);
         Run.instance.GrantUnlockToAllParticipatingPlayers(this.unlockableName);
         string        pickupToken   = "???";
         UnlockableDef unlockableDef = UnlockableCatalog.GetUnlockableDef(this.unlockableName);
         if (unlockableDef != null)
         {
             pickupToken = unlockableDef.nameToken;
         }
         Chat.SendBroadcastChat(new Chat.PlayerPickupChatMessage
         {
             subjectCharacterBodyGameObject = activator,
             baseToken      = "PLAYER_PICKUP",
             pickupToken    = pickupToken,
             pickupColor    = ColorCatalog.GetColor(ColorCatalog.ColorIndex.Unlockable),
             pickupQuantity = 1u
         });
         this.consumed = true;
         UnityEngine.Object.Destroy(base.transform.root.gameObject);
     }
 }
Esempio n. 22
0
 // Token: 0x06000A56 RID: 2646 RVA: 0x00033BF9 File Offset: 0x00031DF9
 public static void SendBroadcastChat(Chat.ChatMessageBase message)
 {
     Chat.SendBroadcastChat(message, QosChannelIndex.chat.intVal);
 }
        public void EndRound()
        {
            if (!NetworkServer.active)
            {
                Debug.LogWarning("[Server] function 'System.Void RoR2.ArenaMissionController::EndRound()' called on client");
                return;
            }
            int clearedRounds = this.clearedRounds;

            this.clearedRounds = clearedRounds + 1;
            if (this.currentRound < this.totalRoundsMax)
            {
                this.ReadyNextNullWard();
            }
            else
            {
                Action action = ArenaMissionController.onBeatArena;
                if (action != null)
                {
                    action();
                }
                this.mainStateMachine.SetNextState(new ArenaMissionController.MissionCompleted());
                Chat.SendBroadcastChat(new Chat.SimpleChatMessage
                {
                    baseToken = "ARENA_END"
                });
            }
            for (int i = 0; i < this.combatDirectors.Length; i++)
            {
                CombatDirector combatDirector = this.combatDirectors[i];
                combatDirector.enabled       = false;
                combatDirector.monsterCredit = 0f;
            }
            ReadOnlyCollection <TeamComponent> teamMembers = TeamComponent.GetTeamMembers(TeamIndex.Monster);

            for (int j = teamMembers.Count - 1; j >= 0; j--)
            {
                teamMembers[j].body.healthComponent.Suicide(base.gameObject, base.gameObject, DamageType.VoidDeath);
            }
            int participatingPlayerCount = Run.instance.participatingPlayerCount;

            if (participatingPlayerCount != 0 && this.rewardSpawnPosition)
            {
                List <PickupIndex> list = Run.instance.availableTier1DropList;
                if (this.currentRound > 4)
                {
                    list = Run.instance.availableTier2DropList;
                }
                if (this.currentRound == this.totalRoundsMax)
                {
                    list = Run.instance.availableTier3DropList;
                }
                ItemIndex  itemIndex = this.rng.NextElementUniform <PickupIndex>(list).itemIndex;
                int        num       = participatingPlayerCount;
                float      angle     = 360f / (float)num;
                Vector3    vector    = Quaternion.AngleAxis((float)UnityEngine.Random.Range(0, 360), Vector3.up) * (Vector3.up * 40f + Vector3.forward * 5f);
                Quaternion rotation  = Quaternion.AngleAxis(angle, Vector3.up);
                int        k         = 0;
                while (k < num)
                {
                    PickupDropletController.CreatePickupDroplet(new PickupIndex(itemIndex), this.rewardSpawnPosition.transform.position, vector);
                    k++;
                    vector = rotation * vector;
                }
            }
        }