Advertisement
Krythic

fsfsf

Aug 27th, 2021
1,340
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 16.53 KB | None | 0 0
  1. using System.Collections.Generic;
  2. using VoidwalkerEngine.Framework.Logic;
  3.  
  4. namespace VoidwalkerEngine.Framework.Algorithms
  5. {
  6.     public partial class LootGenerator
  7.     {
  8.         private static readonly string[] _allRareNamePrefixes =
  9.         {
  10.             /**
  11.              * Whenever a new prefix is added, increment the following counter so
  12.              * that a visual quantity can be maintained.
  13.              *
  14.              * Total Prefixes: 184
  15.              *
  16.              */
  17.  
  18.             "Agony",        "Apocalypse",   "Armageddon",   "Ash",          "Basalisk",
  19.             "Beast",        "Behemoth",     "Black",        "Blight",       "Blood",
  20.             "Bone",         "Bramble",      "Brimstone",    "Brood",        "Carrion",
  21.             "Cataclysm",    "Chaos",        "Chimeric",     "Corpse",       "Corruption",
  22.             "Crimson",      "Creep",        "Dark",         "Dawn",         "Death",
  23.             "Demon",        "Cruel",        "Dire",         "Discord",      "Doom",
  24.             "Crypt",        "Horror",       "Hypnotic",     "Kraken",       "Last",
  25.             "Loath",        "Maelstrom",    "Malignant",    "Mind",         "Miracle",
  26.             "Mire",         "Moon",         "Morbid",       "Murk",         "Night",
  27.             "Oblivion",     "Obscure",      "Onslaught",    "Order",        "Pain",
  28.             "Pandemonium",  "Phantom",      "Phoenix",      "Plague",       "Primal",
  29.             "Profane",      "Rage",         "Rapture",      "Raven",        "Rift",
  30.             "Dragon",       "Dread",        "Dusk",         "Eagle",        "Empyrean",
  31.             "Entropic",     "Epoch",        "Ever",         "Fate",         "Fear",
  32.             "Final",        "Flame",        "Foe",          "Forsaken",     "Frost",
  33.             "Gale",         "Ghast",        "Ghost",        "Ghoul",        "Gloom",
  34.             "Glyph",        "Golem",        "Gore",         "Gray",         "Grief",
  35.             "Grim",         "Hate",         "Havoc",        "Haze",         "Hero",
  36.             "Rune",         "Seethe",       "Serpent",      "Shade",        "Shadow",
  37.             "Shamble",      "Skeleton",     "Skull",        "Sorrow",       "Soul",
  38.             "Spell",        "Spirit",       "Star",         "Stone",        "Storm",
  39.             "Tempest",      "Terror",       "Torment",      "Twilight",     "Vengeance",
  40.             "Victory",      "Vile",         "Viper",        "Vivid",        "Vortex",
  41.             "White",        "Wild",         "Woe",          "Wraith",       "Wrath",
  42.             "Gloam",        "Monster",      "Elusive",      "First",        "Ichor",
  43.             "Glimmer",      "Dredge",       "Deific",       "Cyclopean",    "Sunless",
  44.             "Unlit",        "Foul",         "Bleak",        "Sable",        "Somber",
  45.             "Grave",        "Secluded",     "Faint",        "Nameless",     "Rugose",
  46.             "Gibbous",      "Putrid",       "Fetid",        "Esoteric",     "Effluvial",
  47.             "Ebullient",    "Sunlit",       "Melodic",      "Scarce",       "Abundant",
  48.             "Abysmal",      "Acerbic",      "Allusive",     "Horrific",     "Idyllic",
  49.             "Barbaric",     "Somatic",      "Insipid",      "Ceaseless",    "Undying",
  50.             "Iridescent",   "Irascible",    "Knightly",     "Lucent",       "Traumatic",
  51.             "Tumultuous",   "Vigorous",     "Enumerated",   "Earthbound",   "Stalwart",
  52.             "Blossom",      "Turbulent",    "Skybound",     "Skyward",      "Effusive",
  53.             "Perilous",     "Verdant",      "Fiend",        "Prolific",     "Forged",
  54.             "Brooding",     "Wight",        "Waxing",       "Waning"
  55.         };
  56.  
  57.         private static readonly Dictionary<EquipmentType, string[]> _rareNameSuffixes = new Dictionary<EquipmentType, string[]>();
  58.  
  59.         private static void InitializeRareNameSuffixes()
  60.         {
  61.             _rareNameSuffixes.Add(EquipmentType.LightHeadwear, _rareHeadwearNameSuffixes);
  62.             _rareNameSuffixes.Add(EquipmentType.MediumHeadwear, _rareHeadwearNameSuffixes);
  63.             _rareNameSuffixes.Add(EquipmentType.HeavyHeadwear, _rareHeadwearNameSuffixes);
  64.             _rareNameSuffixes.Add(EquipmentType.LightChestwear, _rareChestwearNameSuffixes);
  65.             _rareNameSuffixes.Add(EquipmentType.MediumChestwear, _rareChestwearNameSuffixes);
  66.             _rareNameSuffixes.Add(EquipmentType.HeavyChestwear, _rareChestwearNameSuffixes);
  67.             _rareNameSuffixes.Add(EquipmentType.LightHandwear, _rareHandwearNameSuffixes);
  68.             _rareNameSuffixes.Add(EquipmentType.MediumHandwear, _rareHandwearNameSuffixes);
  69.             _rareNameSuffixes.Add(EquipmentType.HeavyHandwear, _rareHandwearNameSuffixes);
  70.             _rareNameSuffixes.Add(EquipmentType.LightFootwear, _rareFootwearNameSuffixes);
  71.             _rareNameSuffixes.Add(EquipmentType.MediumFootwear, _rareFootwearNameSuffixes);
  72.             _rareNameSuffixes.Add(EquipmentType.HeavyFootwear, _rareFootwearNameSuffixes);
  73.             _rareNameSuffixes.Add(EquipmentType.Necklace, _rareNecklaceNameSuffixes);
  74.             _rareNameSuffixes.Add(EquipmentType.Ring, _rareRingNameSuffixes);
  75.             _rareNameSuffixes.Add(EquipmentType.Shield, _rareShieldNameSuffixes);
  76.             _rareNameSuffixes.Add(EquipmentType.Phylactery, _rarePhylacteryNameSuffixes);
  77.             _rareNameSuffixes.Add(EquipmentType.Focus, _rareFocusNameSuffixes);
  78.             _rareNameSuffixes.Add(EquipmentType.Tome, _rareTomeNameSuffixes);
  79.             _rareNameSuffixes.Add(EquipmentType.Instrument, _rareInstrumentNameSuffixes);
  80.             _rareNameSuffixes.Add(EquipmentType.OneHandedSword, _rareSwordNameSuffixes);
  81.             _rareNameSuffixes.Add(EquipmentType.TwoHandedSword, _rareSwordNameSuffixes);
  82.             _rareNameSuffixes.Add(EquipmentType.OneHandedAxe, _rareAxeNameSuffixes);
  83.             _rareNameSuffixes.Add(EquipmentType.TwoHandedAxe, _rareAxeNameSuffixes);
  84.             _rareNameSuffixes.Add(EquipmentType.OneHandedMace, _rareMaceNameSuffixes);
  85.             _rareNameSuffixes.Add(EquipmentType.TwoHandedMace, _rareMaceNameSuffixes);
  86.             _rareNameSuffixes.Add(EquipmentType.Bow, _rareBowNameSuffixes);
  87.             _rareNameSuffixes.Add(EquipmentType.Dagger, _rareDaggerNameSuffixes);
  88.             _rareNameSuffixes.Add(EquipmentType.Fist, _rareFistNameSuffixes);
  89.             _rareNameSuffixes.Add(EquipmentType.Staff, _rareStaffNameSuffixes);
  90.             _rareNameSuffixes.Add(EquipmentType.Wand, _rareWandNameSuffixes);
  91.         }
  92.  
  93.         #region Rare Weapon Name Suffixes
  94.  
  95.         private static readonly string[] _rareAxeNameSuffixes =
  96.         {
  97.             "Bane", "Butcher","Gnash","Rend","Slayer",
  98.             "Beak","Edge","Hunger","Roar","Song",
  99.             "Bite","Etcher","Mangler","Sever","Spawn",
  100.             "Splitter","Reaver","Ender","Splitter","Shatter",
  101.             "Sunder","Cleaver", "Force","Sever","Break",
  102.             "Thirst","Breaker", "Chopper","Scream","Scourge"
  103.         };
  104.  
  105.         private static readonly string[] _rareMaceNameSuffixes =
  106.         {
  107.             "Star",    "Bane",    "Force",   "Pillar",  "Annihilator",
  108.             "Thresher",    "Mangler", "Smash",   "Column",  "Break",
  109.             "Wreck",   "Roar",    "Mallet",  "Spire",   "Ender",
  110.             "Batter",  "Bringer", "Burst",   "Grinder", "Ruin",
  111.             "Blast",   "Brand",   "Crack",   "Knell",   "Shatter",
  112.             "Blow",    "Breaker", "Crusher", "Ram", "Smasher"
  113.         };
  114.  
  115.         private static readonly string[] _rareSwordNameSuffixes =
  116.         {
  117.             "Bane",     "Fang",     "Needle",   "Scalpel",  "Slicer",
  118.             "Song",     "Gutter",   "Razor",    "Scratch",  "Spike",
  119.             "Barb",     "Bringer",  "Blade",    "Skewer",   "Spiker",
  120.             "Stinger",  "Edge",     "Thirst",   "Cutter",   "Slasher",
  121.             "Beak",     "Hunger",   "Brand",    "Flayer",   "Slayer",
  122.             "Bite",     "Sever",    "Slash",    "Breaker",  "Killer",
  123.         };
  124.  
  125.         private static readonly string[] _rareStaffNameSuffixes =
  126.         {
  127.             "Bane",    "Chant",     "Spell",        "Beam",     "Mast",
  128.             "Roar",    "Cry",       "Weaver",       "Branch",   "Pile",
  129.             "Call",    "Gnarl",     "Song",         "Goad",     "Pillar",
  130.             "Pole",    "Bark",      "Composer",     "Command",  "Keeper",
  131.             "Post",    "Force",     "Summoner",     "Walk",     "Banisher",
  132.             "Spire",   "Channel",   "Tree",         "Guide",    "Sealer"
  133.         };
  134.  
  135.         private static readonly string[] _rareDaggerNameSuffixes =
  136.         {
  137.             "Edge",    "Thirst",  "Seeker",  "Point",   "Thrust",
  138.             "Hunger",  "Etcher",  "Blade",   "Spine",   "Fragment",
  139.             "Sever",   "Piercer", "Slasher", "Impaler", "Splinter",
  140.             "Bane",    "Fang",    "Needle",  "Scratch", "Spike",
  141.             "Song",    "Gutter",  "Razor",   "Skewer",  "Stinger",
  142.             "Barb",    "Impaler", "Scalpel", "Slicer",  "Bite"
  143.         };
  144.  
  145.         private static readonly string[] _rareFistNameSuffixes =
  146.         {
  147.             "Bane",    "Gutter",  "Razor",   "Slicer",  "Bite",
  148.             "Song",    "Impaler", "Scratch", "Spike",   "Edge",
  149.             "Fang",   "Needle",  "Skewer",  "Stinger", "Hunger",
  150.             "Thirst",  "Talon",   "Fight",   "Slayer",  "Cutter",
  151.             "Roar",    "Seeker",  "Blade",   "Slasher", "Flayer",
  152.             "Fist",    "Puncher", "Killer",  "Hand",    "Point",
  153.         };
  154.  
  155.         private static readonly string[] _rareBowNameSuffixes =
  156.         {
  157.             "Reach",   "Thunder", "Wind",    "Reacher", "Sight",
  158.             "Seige",   "Twine",  "Wing",    "Call", "Vision",
  159.             "Strike",  "Volley",  "Caster",  "Wave",    "Eye",
  160.             "Bane",    "Thirst",  "Arch",    "Fetch",  "Mark",
  161.             "Song",    "Branch",  "Barrage", "Guide",   "Nock",
  162.             "Stinger", "Blast",   "Breeze",  "Horn",    "Rain",
  163.         };
  164.  
  165.         private static readonly string[] _rareWandNameSuffixes =
  166.         {
  167.             "Bane",    "Branch",    "Bite",       "Call",   "Gnarl",
  168.             "Song",    "Needle",    "Edge",       "Chant",  "Spell",
  169.             "Thirst",  "Scratch",   "Barb",       "Cry",    "Weaver",
  170.             "Goad",    "Bark",      "Summoner",   "Guide",  "Banisher",
  171.             "Spire",   "Strand",    "Command",    "Keeper", "Splinter",
  172.             "Charm",   "Composer",  "Sealer",     "Force",  "Drink",
  173.         };
  174.  
  175.         private static readonly string[] _rareInstrumentNameSuffixes =
  176.         {
  177.             "Song",    "Chant",   "Blast",   "Spell",   "Call",
  178.             "Branch",  "Call",    "Breeze",  "Gasp",    "Bane",
  179.             "Cry", "Weaver",  "Horn",    "Roar",    "Melody",
  180.             "Breath",  "Voice",   "Wail",    "Speaker", "Bark",
  181.             "Whisper", "Scream",  "Speak",   "Wave",    "Command",
  182.             "Whimper", "Shriek",  "Choke",   "Pulse",   "Growl",
  183.         };
  184.  
  185.         private static readonly string[] _rareScytheNameSuffixes =
  186.         {
  187.             "Song",       "Chant",   "Reap",    "Spell",   "Call",
  188.             "Branch",      "Call",    "Reaper",  "Gnarl",   "Bane",
  189.             "Cry",            "Weaver",  "Harvest", "Roar",    "Harvester",
  190.             "Collector",   "Killer",  "Lash",    "Bringer", "Strangle",
  191.             "Gatherer",    "Command", "Keeper",  "Aspect",  "Choke",
  192.             "Arch",        "Charm",   "Force",   "Spawn",   "Banisher",
  193.         };
  194.  
  195.         private static readonly string[] _rareSickleNameSuffixes =
  196.         {
  197.             "Song",       "Chant",   "Reap",    "Spell",   "Call",
  198.             "Branch",      "Call",    "Reaper",  "Gnarl",   "Bane",
  199.             "Cry",            "Weaver",  "Harvest", "Roar",    "Harvester",
  200.             "Collector",   "Killer",  "Lash",    "Bringer", "Strangle",
  201.             "Gatherer",    "Command", "Keeper",  "Aspect",  "Choke",
  202.             "Arch",        "Charm",   "Force",   "Spawn",   "Banisher",
  203.         };
  204.  
  205.         #endregion Rare Weapon Name Suffixes
  206.  
  207.         #region Rare Apparel Name Suffixes
  208.  
  209.         private static readonly string[] _rareHeadwearNameSuffixes =
  210.         {
  211.             "Brow",    "Crest",   "Glance",  "Horn",    "Salvation",   "Veil",    "Sight",
  212.             "Corona",  "Crown",   "Guardian",    "Keep",    "Shelter", "Visage",  "Gaze",
  213.             "Cowl",    "Dome",    "Halo",    "Peak",    "Star",    "Visor",   "Vision",
  214.         };
  215.  
  216.         private static readonly string[] _rareChestwearNameSuffixes =
  217.         {
  218.             "Carapace",    "Curtain", "Form",    "Pelt",    "Shell",   "Skin",    "Ward",
  219.             "Cloak",   "Guard",    "Keep",    "Cage",    "Shelter", "Suit",    "Wrap",
  220.             "Coat",    "Hide",    "Mantle",  "Sanctuary",   "Shroud",  "Veil",    "Flesh",
  221.             "Chasis"
  222.         };
  223.  
  224.         private static readonly string[] _rareHandwearNameSuffixes =
  225.         {
  226.             "Caress",      "Fingers", "Grip",    "Knuckle", "Palm",   "Touch",   "Force",
  227.             "Claw",        "Fist",    "Hand",    "Mitts",   "Paw",    "Vise",    "Maker",
  228.             "Clutches",    "Grasp",   "Hold",    "Nails",   "Talons", "Keep",    "Taker",
  229.         };
  230.  
  231.         private static readonly string[] _rareFootwearNameSuffixes =
  232.         {
  233.             "Dash",    "League",  "Road",    "Span",    "Stride",  "Tread",   "Voyage",
  234.             "Goad",    "March",   "Slippers",    "Spark",   "Tracks",   "Urge",    "Pilgrimage",
  235.             "Hoof",    "Pace",    "Sole",    "Spur",    "Trail",   "Journey", "Travel",
  236.         };
  237.  
  238.         private static readonly string[] _rareShieldNameSuffixes =
  239.         {
  240.             "Aegis",   "Bastion", "Emblem",  "Mark",    "Rook",    "Tower",   "Wing",
  241.             "Badge",   "Bulwark", "Fend",    "Refuge",  "Sanctum", "Watch",   "Defend",
  242.             "Barrier", "Duty",    "Guard",   "Rock",    "Span",    "Wall",    "Ward",
  243.         };
  244.  
  245.         private static readonly string[] _rareNecklaceNameSuffixes =
  246.         {
  247.             "Beads",   "Choker",  "Idol",    "Locket",  "Pendant", "Talisman",    "Fragment",
  248.             "Braid",   "Clasp",   "Tether",  "Medallion",   "Rosary",  "Piece",   "Hang",
  249.             "Charm",   "Collar",  "Heart",   "Noose",   "Scarab",  "Soul",    "Strangle",
  250.             "Charm",   "Core",    "Secret",  "Reliquary",   "Remains", "Abyss",   "Reward",
  251.             "Trinket", "Cradle",  "Mystery", "Vessel",  "Ornament",  "Trophy",  "Tether",
  252.             "Coffer",  "Crest",   "Vault",   "Sanctuary",   "Momento", "Antique", "Bond",
  253.         };
  254.  
  255.         private static readonly string[] _rareRingNameSuffixes =
  256.         {
  257.             "Band",    "Eye", "Grip",    "Knot",    "Nail",    "Twirl",   "Bound",
  258.             "Circle",  "Finger",  "Gyre",    "Crest",   "Spiral",  "Whorl",   "Bind",
  259.             "Coil",    "Grasp",   "Hold",    "Loop",    "Turn",    "Whirl",   "Shackle",
  260.             "Charm",   "Core",    "Secret",  "Reliquary",   "Remains", "Abyss",   "Reward",
  261.             "Trinket", "Cradle",  "Mystery", "Vessel",  "Ornament",  "Trophy",  "Tether",
  262.             "Coffer",  "Crest",   "Vault",   "Sanctuary",   "Momento", "Antique", "Bond",
  263.         };
  264.  
  265.         private static readonly string[] _rarePhylacteryNameSuffixes =
  266.         {
  267.             "Corpse",   "Body",    "Fear",  "Reliquary",   "Remains", "Abyss",   "Reward",
  268.             "Soul", "Momento",  "Misery", "Vessel",  "Sin",  "Trophy",  "Tether",
  269.             "Coffer",  "Hatred",   "Despair",   "Anger",   "Effigy", "Organ", "Dissection",
  270.         };
  271.  
  272.         private static readonly string[] _rareTomeNameSuffixes =
  273.         {
  274.             "Book",   "Words",    "Reconcile",  "Declare",   "Order", "Rule",   "Laws",
  275.             "Hope", "Bravery",  "Revelation", "Admission",  "Directive",  "Instruction",  "Mandate",
  276.             "Conviction",  "Benediction",   "Command",   "Request",   "Demand", "Decree", "Edict",
  277.         };
  278.  
  279.         private static readonly string[] _rareFocusNameSuffixes =
  280.         {
  281.             "Sight",   "Ebb",    "Simplicity",  "Tether",   "Icon", "Mark",   "Sigil",
  282.             "Clarity", "Channel",  "Lucidity", "Vessel",  "Chain",  "Release",  "Void",
  283.             "Breeze",  "Flow",   "Purity",   "Reliquary",   "Seal", "Shackle", "Call",
  284.         };
  285.  
  286.         #endregion Rare Apparel Name Suffixes
  287.  
  288.         /// <summary>
  289.         /// Generate Rare Name
  290.         /// </summary>
  291.         /// <param name="constraint"></param>
  292.         /// <returns></returns>
  293.         public string GenerateRareName(EquipmentType constraint)
  294.         {
  295.             string prefix = _random.Choose(_allRareNamePrefixes);
  296.             string suffix = _random.Choose(_rareNameSuffixes[constraint]);
  297.             return prefix + " " + suffix;
  298.         }
  299.     }
  300. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement