r2mods/ilspy_dump/ror2_csproj/RoR2/MeridianEventLightningTrigg...

83 lines
2.0 KiB
C#

using UnityEngine;
using UnityEngine.Networking;
namespace RoR2;
public class MeridianEventLightningTrigger : NetworkBehaviour
{
public GameObject lightningStorm;
public CombatDirector enemySpawnerScript;
public bool lightningToggle;
public bool enemySpawnToggle;
private float monsterCredit;
[SerializeField]
private float levelstartMonsterCredit;
[SerializeField]
private float expRewardCoefficient;
[SerializeField]
private float eliteBias;
[SerializeField]
private float spawnDistanceMultiplier;
private void Start()
{
if (NetworkServer.active)
{
monsterCredit = (int)(levelstartMonsterCredit * Run.instance.difficultyCoefficient);
}
}
public void OnTriggerExit(Collider other)
{
if (other.TryGetComponent<CharacterBody>(out var component) && component.isPlayerControlled)
{
LightningStormController.SetStormActive(lightningToggle);
enemySpawnerScript.enabled = enemySpawnToggle;
PopulateSceneWithMonsters();
Object.Destroy(base.gameObject);
}
}
private void PopulateSceneWithMonsters()
{
float num = enemySpawnerScript.expRewardCoefficient;
float num2 = enemySpawnerScript.eliteBias;
float num3 = enemySpawnerScript.spawnDistanceMultiplier;
enemySpawnerScript.monsterCredit += monsterCredit;
enemySpawnerScript.expRewardCoefficient = expRewardCoefficient;
enemySpawnerScript.eliteBias = eliteBias;
enemySpawnerScript.spawnDistanceMultiplier = spawnDistanceMultiplier;
monsterCredit = 0f;
enemySpawnerScript.SpendAllCreditsOnMapSpawns(TeleporterInteraction.instance ? TeleporterInteraction.instance.transform : null);
enemySpawnerScript.expRewardCoefficient = num;
enemySpawnerScript.eliteBias = num2;
enemySpawnerScript.spawnDistanceMultiplier = num3;
}
private void UNetVersion()
{
}
public override bool OnSerialize(NetworkWriter writer, bool forceAll)
{
bool result = default(bool);
return result;
}
public override void OnDeserialize(NetworkReader reader, bool initialState)
{
}
public override void PreStartClient()
{
}
}