* Changeling WIP * UI * Pointers fix * Moved out abilities * Regenerate ability * Fixed Regenerate ability Prevent ghosting while regenerating * Cleanup * Base lesser form * Finished Lesser Form && Transform * Transform Sting * Blind Sting * Mute Sting Added OnExamine on absorbed human * Hallucination Sting Changeling Absorb and transfer absorbed entities to absorber * Cryogenic Sting * Adrenaline Sacs * Transform now uses Polymorph * Armblade, Shield, Armor * Tentacle Arm ability Tentacle Gun system * WIP with bugs * WiP bugs * fix implant transfer * Fixed bugs with shop transfer and actions transfer * Just in case * Vi sitter i ventrilo och spelar DotA * Fixes and proper LesserForm tracking * !!!!! * Fixed empty buttons * WIP Gamerule Ready - shop * nerf stun time cause its sucks * cleaning * just in case * Absorb DNA Objective. * Partial objectives with bugs * fix * fix pointer * Changeling objectives * Changeling objectives №2 * Admin verb, game rule * Fixed empty list check Icons for objectives * Changeling chat, changeling names etc. * fix some merge errors * - fix: Fixed all bugs with changeling --------- Co-authored-by: Y-Parvus <yevhen.parvus@gmail.com> Co-authored-by: Y-Parvus <61109031+Y-Parvus@users.noreply.github.com> Co-authored-by: HitPanda <104197232+EnefFlow@users.noreply.github.com> Co-authored-by: EnefFlow <regeto90@mail.ru>
64 lines
1.2 KiB
C#
64 lines
1.2 KiB
C#
using System.Linq;
|
|
using Robust.Shared.Random;
|
|
|
|
namespace Content.Shared.Changeling;
|
|
|
|
public sealed class ChangelingNameGenerator
|
|
{
|
|
[Dependency] private readonly IRobustRandom _random = default!;
|
|
|
|
private List<string> _used = new();
|
|
|
|
private readonly List<string> _greekAlphabet = new()
|
|
{
|
|
"Alpha",
|
|
"Beta",
|
|
"Gamma",
|
|
"Delta",
|
|
"Epsilon",
|
|
"Zeta",
|
|
"Eta",
|
|
"Theta",
|
|
"Iota",
|
|
"Kappa",
|
|
"Lambda",
|
|
"Mu",
|
|
"Nu",
|
|
"Xi",
|
|
"Omicron",
|
|
"Pi",
|
|
"Rho",
|
|
"Sigma",
|
|
"Tau",
|
|
"Upsilon",
|
|
"Phi",
|
|
"Chi",
|
|
"Psi",
|
|
"Omega"
|
|
};
|
|
|
|
private string GenWhiteLabelName()
|
|
{
|
|
var number = _random.Next(0,10000);
|
|
return $"HiveMember-{number}";
|
|
}
|
|
|
|
public string GetName()
|
|
{
|
|
_random.Shuffle(_greekAlphabet);
|
|
|
|
foreach (var selected in _greekAlphabet.Where(selected => !_used.Contains(selected)))
|
|
{
|
|
_used.Add(selected);
|
|
return selected;
|
|
}
|
|
|
|
return GenWhiteLabelName();
|
|
}
|
|
|
|
public void ClearUsed()
|
|
{
|
|
_used.Clear();
|
|
}
|
|
}
|