mirror of
https://github.com/misternebula/quantum-space-buddies.git
synced 2025-01-04 02:47:22 +00:00
155 lines
3.3 KiB
C#
155 lines
3.3 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
|
|
namespace QSB.DeathSync;
|
|
|
|
public static class Necronomicon
|
|
{
|
|
private static readonly Dictionary<DeathType, string[]> Darkhold = new()
|
|
{
|
|
{
|
|
DeathType.Default,
|
|
new[] // Running out of health
|
|
{
|
|
"{0} died",
|
|
"{0} was killed"
|
|
}
|
|
},
|
|
{
|
|
DeathType.Impact,
|
|
new[] // Hitting the ground/wall/object
|
|
{
|
|
"{0} forgot to use retro-rockets",
|
|
"{0} bonked into the ground too hard",
|
|
"{0} hit the ground too hard",
|
|
"{0} went splat",
|
|
"{0} died",
|
|
"{0} was killed",
|
|
"{0} died due to impact",
|
|
"{0} impacted the ground too hard"
|
|
}
|
|
},
|
|
{
|
|
DeathType.Asphyxiation,
|
|
new[] // Running out of oxygen
|
|
{
|
|
"{0} forgot to breathe",
|
|
"{0} asphyxiated",
|
|
"{0} died due to asphyxiation",
|
|
"{0} forgot how to breathe",
|
|
"{0} forgot to check their oxygen",
|
|
"{0} ran out of air",
|
|
"{0} ran out of oxygen",
|
|
"{0} didn't need air anyway"
|
|
}
|
|
},
|
|
{
|
|
DeathType.Energy,
|
|
new[] // Electricity, sun, etc.
|
|
{
|
|
"{0} was cooked",
|
|
"{0} died",
|
|
"{0} was killed"
|
|
}
|
|
},
|
|
{
|
|
DeathType.Supernova,
|
|
new[] // Supernova
|
|
{
|
|
"{0} ran out of time",
|
|
"{0} burnt up",
|
|
"{0} got vaporized",
|
|
"{0} lost track of time",
|
|
"{0} got front row seats to the supernova",
|
|
"{0} heard the music",
|
|
"{0} watched the sun go kaboom",
|
|
"{0} became cosmic marshmallow",
|
|
"{0} photosynthesized too much",
|
|
"{0} died due to the supernova"
|
|
}
|
|
},
|
|
{
|
|
DeathType.Digestion,
|
|
new[] // Anglerfish
|
|
{
|
|
"{0} was eaten",
|
|
"{0} found a fish",
|
|
"{0} encountered an evil creature",
|
|
"{0} messed with the wrong fish",
|
|
"{0} was digested",
|
|
"{0} died due to digestion"
|
|
}
|
|
},
|
|
{
|
|
DeathType.Crushed,
|
|
new[] // Crushed in sand
|
|
{
|
|
"{0} went through the tunnel too slow",
|
|
"{0} didn't make it out in time",
|
|
"{0} was squished",
|
|
"{0} was crushed",
|
|
"{0} was buried",
|
|
"{0} went swimming in the sand",
|
|
"{0} underestimated the danger of sand",
|
|
"{0} died due to being crushed"
|
|
}
|
|
},
|
|
{
|
|
DeathType.Lava,
|
|
new[] // Lava
|
|
{
|
|
"{0} died in lava",
|
|
"{0} was melted",
|
|
"{0} tried to swim in lava",
|
|
"{0} didn't know what the glowy orange liquid was",
|
|
"{0} fell into lava",
|
|
"{0} became one with the glowing gooey rock",
|
|
"{0} died due to lava",
|
|
"{0} got burnt in the lava"
|
|
}
|
|
},
|
|
{
|
|
DeathType.BlackHole,
|
|
new[] // ATP core black hole
|
|
{
|
|
"{0} should visit the Ash Twin Project again",
|
|
"{0} waited inside the Ash Twin Project",
|
|
"{0} chased their memories"
|
|
}
|
|
},
|
|
{
|
|
DeathType.DreamExplosion,
|
|
new[] // using the prototype
|
|
{
|
|
"{0} exploded",
|
|
"{0} was an early adopter",
|
|
"{0} went kaboom",
|
|
"{0} was fried",
|
|
"{0} died due to explosion",
|
|
"{0} used the wrong artifact"
|
|
}
|
|
},
|
|
{
|
|
DeathType.CrushedByElevator,
|
|
new[] // elevator-induced pancakeness
|
|
{
|
|
"{0} was crushed",
|
|
"{0} was squished",
|
|
"{0} was crushed by an elevator",
|
|
"{0} stood under an elevator",
|
|
"{0} became a flat-hearther",
|
|
"{0} was squished by an elevator"
|
|
}
|
|
},
|
|
};
|
|
|
|
public static string GetPhrase(DeathType deathType, int index)
|
|
=> Darkhold.ContainsKey(deathType)
|
|
? Darkhold[deathType][index]
|
|
: null;
|
|
|
|
public static int GetRandomIndex(DeathType deathType)
|
|
=> Darkhold.ContainsKey(deathType)
|
|
? new Random().Next(0, Darkhold[deathType].Length)
|
|
: -1;
|
|
} |