Pushing source files - Update .gitattributes, .gitignore, and 7 more files...

This commit is contained in:
2020-10-22 19:58:02 +02:00
parent f5ded321ba
commit 6e98c4867e
9 changed files with 1091 additions and 0 deletions

165
main.cs Normal file
View File

@@ -0,0 +1,165 @@
using System;
using System.Linq;
using System.Reflection;
using System.Threading;
using System.Text;
using System.Runtime.InteropServices;
using MelonLoader;
using DiscordRichPresense;
using Harmony;
using UnityEngine.UI;
using UnityEngine;
namespace Mod
{
public static class BuildInfo
{
public const string Name = "PhasmodHandler"; // Name of the Mod. (MUST BE SET)
public const string Description = "Mod for handling specific Phasmophobia mods"; // Description for the Mod. (Set as null if none)
public const string Author = "seppdroid"; // Author of the Mod. (Set as null if none)
public const string Company = null; // Company that made the Mod. (Set as null if none)
public const string Version = "1.0.3"; // Version of the Mod. (MUST BE SET)
public const string DownloadLink = null; // Download Link for the Mod. (Set as null if none)
}
public class Mod : MelonMod
{
private const string DiscordAppID = "767737509656002601";
public static readonly DiscordRpc.RichPresence Presence = new DiscordRpc.RichPresence();
public override void OnApplicationStart() // Runs after Game Initialization.
{
var handlers = new DiscordRpc.EventHandlers();
DiscordRpc.Initialize(DiscordAppID, ref handlers, false, string.Empty);
Presence.state = "Starting game...";
Presence.details = "Playing PhasMODphobia";
Presence.startTimestamp = default(long);
Presence.largeImageKey = "phasmod";
Presence.largeImageText = "Phasmodphobia";
Presence.smallImageKey = "phasmod";
Presence.smallImageText = "phasmomod";
DiscordRpc.UpdatePresence(Presence);
MelonLogger.Log("[log] Phasmophobia Mod Handler has started");
}
public override void OnLevelIsLoading() // Runs when a Scene is Loading or when a Loading Screen is Shown. Currently only runs if the Mod is used in BONEWORKS.
{
MelonLogger.Log("[log] Loading level");
}
public override void OnLevelWasLoaded(int level) // Runs when a Scene has Loaded.
{
if (level == 1)
{
Presence.state = "In Main Menu Lobby";
Presence.details = "Playing PhasMODphobia";
Presence.largeImageKey = "lobby";
Presence.largeImageText = "Phasmodphobia";
Presence.smallImageKey = "phasmod";
Presence.smallImageText = "phasmomod";
DiscordRpc.UpdatePresence(Presence);
MelonLogger.Log("[log] RPC Status changed");
}
if (level == 2)
{
Presence.state = "In Tanglewood Street";
Presence.details = "Playing PhasMODphobia";
Presence.largeImageKey = "tanglewood";
Presence.largeImageText = "Tanglewood Street House";
Presence.smallImageKey = "phasmod";
Presence.smallImageText = "phasmomod";
DiscordRpc.UpdatePresence(Presence);
MelonLogger.Log("[log] RPC Status changed");
}
if (level == 3)
{
Presence.state = "In Asylum";
Presence.details = "Playing PhasMODphobia";
Presence.largeImageKey = "asylum";
Presence.largeImageText = "Asylum";
Presence.smallImageKey = "phasmod";
Presence.smallImageText = "phasmomod";
DiscordRpc.UpdatePresence(Presence);
MelonLogger.Log("[log] RPC Status changed");
}
if (level == 4)
{
Presence.state = "In Edgefield Street House";
Presence.details = "Playing PhasMODphobia";
Presence.largeImageKey = "streethouse";
Presence.largeImageText = "Edgefield Street House";
Presence.smallImageKey = "phasmod";
Presence.smallImageText = "phasmomod";
DiscordRpc.UpdatePresence(Presence);
MelonLogger.Log("[log] RPC Status changed");
}
if (level == 5)
{
Presence.state = "In Ridgefield Road House";
Presence.details = "Playing PhasMODphobia";
Presence.largeImageKey = "ridgefield";
Presence.largeImageText = "Ridgefield Road House";
Presence.smallImageKey = "phasmod";
Presence.smallImageText = "phasmomod";
DiscordRpc.UpdatePresence(Presence);
MelonLogger.Log("[log] RPC Status changed");
}
if (level == 6)
{
Presence.state = "In Brownstone Highschool";
Presence.details = "Playing PhasMODphobia";
Presence.largeImageKey = "brownstone";
Presence.largeImageText = "Brownstone Highschool";
Presence.smallImageKey = "phasmod";
Presence.smallImageText = "phasmomod";
DiscordRpc.UpdatePresence(Presence);
MelonLogger.Log("[log] RPC Status changed");
}
if (level == 7)
{
Presence.state = "In Bleasdale Farmhouse";
Presence.details = "Playing PhasMODphobia";
Presence.largeImageKey = "bleasdale";
Presence.largeImageText = "Bleasdale Farmhouse";
Presence.smallImageKey = "phasmod";
Presence.smallImageText = "phasmomod";
DiscordRpc.UpdatePresence(Presence);
MelonLogger.Log("[log] RPC Status changed");
}
if (level == 8)
{
Presence.state = "In Grafton Farmhouse";
Presence.details = "Playing PhasMODphobia";
Presence.largeImageKey = "grafton";
Presence.largeImageText = "Grafton Farmhouse";
Presence.smallImageKey = "phasmod";
Presence.smallImageText = "phasmomod";
DiscordRpc.UpdatePresence(Presence);
MelonLogger.Log("[log] RPC Status changed");
}
// else and set an undefined level so you wont be in the main lobby if you play a map above 8?
MelonLogger.Log("[log] loadedlevel: " + level.ToString());
}
public override void OnLevelWasInitialized(int level) // Runs when a Scene has Initialized.
{
MelonLogger.Log("[log] initlevel: " + level.ToString());
}
public override void OnUpdate()
{
DiscordRpc.RunCallbacks(); // for if we are going to handle invites...
}
public override void OnApplicationQuit() // Runs when the Game is told to Close.
{
DiscordRpc.Shutdown();
MelonLogger.Log("[log] Phasmophobia closed");
}
}
}