using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using Terraria;
using Terraria.ModLoader;
using Terraria.UI;
using System;
namespace FatlorianMod
{
public class Fatlorian : Mod
{
private static Random random = new Random();
private static bool jumpscareActive = false;
private static int jumpscareTimer = 0;
private static Texture2D jumpscareTexture;
private static int displayTime = 60 * 60; // 60 seconds at 60 FPS
private static string soundPath = "JumpscareSound";
public override void Load()
{
jumpscareTexture = ModContent.Request<Texture2D>("Jumpscare").Value;
}
public override void PostUpdateEverything()
{
if (!jumpscareActive)
{
int chance = random.Next(0, 100000); // 1/100,000 chance
if (chance == 0)
{
jumpscareActive = true;
jumpscareTimer = displayTime;
Terraria.Audio.SoundEngine.PlaySound(new Terraria.Audio.SoundStyle(Mod.GetSoundSlot(Terraria.ModLoader.SoundType.Custom, soundPath)));
}
}
else
{
jumpscareTimer--;
if (jumpscareTimer <= 0)
{
jumpscareActive = false;
}
}
}
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using Terraria;
using Terraria.ModLoader;
using Terraria.UI;
using System;
namespace FatlorianMod
{
public class Fatlorian : Mod
{
private static Random random = new Random();
private static bool jumpscareActive = false;
private static int jumpscareTimer = 0;
private static Texture2D jumpscareTexture;
private static int displayTime = 60 * 60; // 60 seconds at 60 FPS
private static string soundPath = "JumpscareSound";
public override void Load()
{
jumpscareTexture = ModContent.Request<Texture2D>("Jumpscare").Value;
}
public override void PostUpdateEverything()
{
if (!jumpscareActive)
{
int chance = random.Next(0, 100000); // 1/100,000 chance
if (chance == 0)
{
jumpscareActive = true;
jumpscareTimer = displayTime;
Terraria.Audio.SoundEngine.PlaySound(new Terraria.Audio.SoundStyle(Mod.GetSoundSlot(Terraria.ModLoader.SoundType.Custom, soundPath)));
}
}
else
{
jumpscareTimer--;
if (jumpscareTimer <= 0)
{
jumpscareActive = false;
}
}
}