Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System.Collections.Generic;
- using VoidwalkerEngine.Framework.Logic;
- namespace VoidwalkerEngine.Framework.Algorithms
- {
- public partial class LootGenerator
- {
- private static readonly string[] _allRareNamePrefixes =
- {
- "Agony", "Apocalypse", "Armageddon", "Ash", "Basalisk",
- "Beast", "Behemoth", "Black", "Blight", "Blood",
- "Bone", "Bramble", "Brimstone", "Brood", "Carrion",
- "Cataclysm", "Chaos", "Chimeric", "Corpse", "Corruption",
- "Crimson", "Creep", "Dark", "Dawn", "Death",
- "Demon", "Cruel", "Dire", "Discord", "Doom",
- "Crypt", "Horror", "Hypnotic", "Kraken", "Last",
- "Loath", "Maelstrom", "Malignant", "Mind", "Miracle",
- "Mire", "Moon", "Morbid", "Murk", "Night",
- "Oblivion", "Obscure", "Onslaught", "Order", "Pain",
- "Pandemonium", "Phantom", "Phoenix", "Plague", "Primal",
- "Profane", "Rage", "Rapture", "Raven", "Rift",
- "Dragon", "Dread", "Dusk", "Eagle", "Empyrean",
- "Entropic", "Epoch", "Ever", "Fate", "Fear",
- "Final", "Flame", "Foe", "Forsaken", "Frost",
- "Gale", "Ghast", "Ghost", "Ghoul", "Gloom",
- "Glyph", "Golem", "Gore", "Gray", "Grief",
- "Grim", "Hate", "Havoc", "Haze", "Hero",
- "Rune", "Seethe", "Serpent", "Shade", "Shadow",
- "Shamble", "Skeleton", "Skull", "Sorrow", "Soul",
- "Spell", "Spirit", "Star", "Stone", "Storm",
- "Tempest", "Terror", "Torment", "Twilight", "Vengeance",
- "Victory", "Vile", "Viper", "Vivid", "Vortex",
- "White", "Wild", "Woe", "Wraith", "Wrath",
- "Gloam", "Monster", "Elusive", "First", "Ichor"
- };
- private static readonly Dictionary<ItemType, string[]> _rareNameSuffixes = new Dictionary<ItemType, string[]>();
- private static void InitializeRareNameSuffixes()
- {
- _rareNameSuffixes.Add(ItemType.LightHeadwear, _rareHeadwearNameSuffixes);
- _rareNameSuffixes.Add(ItemType.MediumHeadwear, _rareHeadwearNameSuffixes);
- _rareNameSuffixes.Add(ItemType.HeavyHeadwear, _rareHeadwearNameSuffixes);
- _rareNameSuffixes.Add(ItemType.LightChestwear, _rareChestwearNameSuffixes);
- _rareNameSuffixes.Add(ItemType.MediumChestwear, _rareChestwearNameSuffixes);
- _rareNameSuffixes.Add(ItemType.HeavyChestwear, _rareChestwearNameSuffixes);
- _rareNameSuffixes.Add(ItemType.LightHandwear, _rareHandwearNameSuffixes);
- _rareNameSuffixes.Add(ItemType.MediumHandwear, _rareHandwearNameSuffixes);
- _rareNameSuffixes.Add(ItemType.HeavyHandwear, _rareHandwearNameSuffixes);
- _rareNameSuffixes.Add(ItemType.LightFootwear, _rareFootwearNameSuffixes);
- _rareNameSuffixes.Add(ItemType.MediumFootwear, _rareFootwearNameSuffixes);
- _rareNameSuffixes.Add(ItemType.HeavyFootwear, _rareFootwearNameSuffixes);
- _rareNameSuffixes.Add(ItemType.Necklace, _rareNecklaceNameSuffixes);
- _rareNameSuffixes.Add(ItemType.Ring, _rareRingNameSuffixes);
- _rareNameSuffixes.Add(ItemType.Shield, _rareShieldNameSuffixes);
- _rareNameSuffixes.Add(ItemType.Phylactery, _rarePhylacteryNameSuffixes);
- _rareNameSuffixes.Add(ItemType.Focus, _rareFocusNameSuffixes);
- _rareNameSuffixes.Add(ItemType.Tome, _rareTomeNameSuffixes);
- _rareNameSuffixes.Add(ItemType.Instrument, _rareInstrumentNameSuffixes);
- /**
- * Weapons
- */
- _rareNameSuffixes.Add(ItemType.OneHandedSword, _rareSwordNameSuffixes);
- _rareNameSuffixes.Add(ItemType.TwoHandedSword, _rareSwordNameSuffixes);
- _rareNameSuffixes.Add(ItemType.OneHandedAxe, _rareAxeNameSuffixes);
- _rareNameSuffixes.Add(ItemType.TwoHandedAxe, _rareAxeNameSuffixes);
- _rareNameSuffixes.Add(ItemType.OneHandedMace, _rareMaceNameSuffixes);
- _rareNameSuffixes.Add(ItemType.TwoHandedMace, _rareMaceNameSuffixes);
- _rareNameSuffixes.Add(ItemType.Bow, _rareBowNameSuffixes);
- _rareNameSuffixes.Add(ItemType.Dagger, _rareDaggerNameSuffixes);
- _rareNameSuffixes.Add(ItemType.Sickle, _rareSickleNameSuffixes);
- _rareNameSuffixes.Add(ItemType.Fist, _rareFistNameSuffixes);
- _rareNameSuffixes.Add(ItemType.Scythe, _rareScytheNameSuffixes);
- _rareNameSuffixes.Add(ItemType.Staff, _rareStaffNameSuffixes);
- _rareNameSuffixes.Add(ItemType.Wand, _rareWandNameSuffixes);
- }
- #region Rare Weapon Name Suffixes
- private static readonly string[] _rareAxeNameSuffixes =
- {
- "Bane","Butcher","Gnash","Rend","Slayer",
- "Beak","Edge","Hunger","Roar","Song",
- "Bite","Etcher","Mangler","Sever","Spawn",
- "Splitter","Reaver","Ender","Splitter","Shatter",
- "Sunder","Cleaver", "Force","Sever","Break",
- "Thirst","Breaker", "Chopper","Scream","Scourge"
- };
- private static readonly string[] _rareMaceNameSuffixes =
- {
- "Star", "Bane", "Force", "Pillar", "Annihilator",
- "Thresher", "Mangler", "Smash", "Column", "Break",
- "Wreck", "Roar", "Mallet", "Spire", "Ender",
- "Batter", "Bringer", "Burst", "Grinder", "Ruin",
- "Blast", "Brand", "Crack", "Knell", "Shatter",
- "Blow", "Breaker", "Crusher", "Ram", "Smasher"
- };
- private static readonly string[] _rareSwordNameSuffixes =
- {
- "Bane", "Fang", "Needle", "Scalpel", "Slicer",
- "Song", "Gutter", "Razor", "Scratch", "Spike",
- "Barb", "Bringer", "Blade", "Skewer", "Spiker",
- "Stinger", "Edge", "Thirst", "Cutter", "Slasher",
- "Beak", "Hunger", "Brand", "Flayer", "Slayer",
- "Bite", "Sever", "Slash", "Breaker", "Killer",
- };
- private static readonly string[] _rareStaffNameSuffixes =
- {
- "Bane", "Chant", "Spell", "Beam", "Mast",
- "Roar", "Cry", "Weaver", "Branch", "Pile",
- "Call", "Gnarl", "Song", "Goad", "Pillar",
- "Pole", "Bark", "Composer", "Command", "Keeper",
- "Post", "Force", "Summoner", "Walk", "Banisher",
- "Spire", "Channel", "Tree", "Guide", "Sealer"
- };
- private static readonly string[] _rareDaggerNameSuffixes =
- {
- "Edge", "Thirst", "Seeker", "Point", "Thrust",
- "Hunger", "Etcher", "Blade", "Spine", "Fragment",
- "Sever", "Piercer", "Slasher", "Impaler", "Splinter",
- "Bane", "Fang", "Needle", "Scratch", "Spike",
- "Song", "Gutter", "Razor", "Skewer", "Stinger",
- "Barb", "Impaler", "Scalpel", "Slicer", "Bite"
- };
- private static readonly string[] _rareFistNameSuffixes =
- {
- "Bane", "Gutter", "Razor", "Slicer", "Bite",
- "Song", "Impaler", "Scratch", "Spike", "Edge",
- "Fang", "Needle", "Skewer", "Stinger", "Hunger",
- "Thirst", "Talon", "Fight", "Slayer", "Cutter",
- "Roar", "Seeker", "Blade", "Slasher", "Flayer",
- "Fist", "Puncher", "Killer", "Hand", "Point",
- };
- private static readonly string[] _rareBowNameSuffixes =
- {
- "Reach", "Thunder", "Wind", "Reacher", "Sight",
- "Seige", "Twine", "Wing", "Call", "Vision",
- "Strike", "Volley", "Caster", "Wave", "Eye",
- "Bane", "Thirst", "Arch", "Fetch", "Mark",
- "Song", "Branch", "Barrage", "Guide", "Nock",
- "Stinger", "Blast", "Breeze", "Horn", "Rain",
- };
- private static readonly string[] _rareWandNameSuffixes =
- {
- "Bane", "Branch", "Bite", "Call", "Gnarl",
- "Song", "Needle", "Edge", "Chant", "Spell",
- "Thirst", "Scratch", "Barb", "Cry", "Weaver",
- "Goad", "Bark", "Summoner", "Guide", "Banisher",
- "Spire", "Strand", "Command", "Keeper", "Splinter",
- "Charm", "Composer", "Sealer", "Force", "Drink",
- };
- private static readonly string[] _rareInstrumentNameSuffixes =
- {
- "Song", "Chant", "Blast", "Spell", "Call",
- "Branch", "Call", "Breeze", "Gasp", "Bane",
- "Cry", "Weaver", "Horn", "Roar", "Melody",
- "Breath", "Voice", "Wail", "Speaker", "Bark",
- "Whisper", "Scream", "Speak", "Wave", "Command",
- "Whimper", "Shriek", "Choke", "Pulse", "Growl",
- };
- private static readonly string[] _rareScytheNameSuffixes =
- {
- "Song", "Chant", "Reap", "Spell", "Call",
- "Branch", "Call", "Reaper", "Gnarl", "Bane",
- "Cry", "Weaver", "Harvest", "Roar", "Harvester",
- "Collector", "Killer", "Lash", "Bringer", "Strangle",
- "Gatherer", "Command", "Keeper", "Aspect", "Choke",
- "Arch", "Charm", "Force", "Spawn", "Banisher",
- };
- private static readonly string[] _rareSickleNameSuffixes =
- {
- "Song", "Chant", "Reap", "Spell", "Call",
- "Branch", "Call", "Reaper", "Gnarl", "Bane",
- "Cry", "Weaver", "Harvest", "Roar", "Harvester",
- "Collector", "Killer", "Lash", "Bringer", "Strangle",
- "Gatherer", "Command", "Keeper", "Aspect", "Choke",
- "Arch", "Charm", "Force", "Spawn", "Banisher",
- };
- #endregion Rare Weapon Name Suffixes
- #region Rare Apparel Name Suffixes
- private static readonly string[] _rareHeadwearNameSuffixes =
- {
- "Brow", "Crest", "Glance", "Horn", "Salvation", "Veil", "Sight",
- "Corona", "Crown", "Guardian", "Keep", "Shelter", "Visage", "Gaze",
- "Cowl", "Dome", "Halo", "Peak", "Star", "Visor", "Vision",
- };
- private static readonly string[] _rareChestwearNameSuffixes =
- {
- "Carapace", "Curtain", "Form", "Pelt", "Shell", "Skin", "Ward",
- "Cloak", "Guard", "Keep", "Cage", "Shelter", "Suit", "Wrap",
- "Coat", "Hide", "Mantle", "Sanctuary", "Shroud", "Veil", "Flesh",
- "Chasis"
- };
- private static readonly string[] _rareHandwearNameSuffixes =
- {
- "Caress", "Fingers", "Grip", "Knuckle", "Palm", "Touch", "Force",
- "Claw", "Fist", "Hand", "Mitts", "Paw", "Vise", "Maker",
- "Clutches", "Grasp", "Hold", "Nails", "Talons", "Keep", "Taker",
- };
- private static readonly string[] _rareFootwearNameSuffixes =
- {
- "Dash", "League", "Road", "Span", "Stride", "Tread", "Voyage",
- "Goad", "March", "Slippers", "Spark", "Tracks", "Urge", "Pilgrimage",
- "Hoof", "Pace", "Sole", "Spur", "Trail", "Journey", "Travel",
- };
- private static readonly string[] _rareShieldNameSuffixes =
- {
- "Aegis", "Bastion", "Emblem", "Mark", "Rook", "Tower", "Wing",
- "Badge", "Bulwark", "Fend", "Refuge", "Sanctum", "Watch", "Defend",
- "Barrier", "Duty", "Guard", "Rock", "Span", "Wall", "Ward",
- };
- private static readonly string[] _rareNecklaceNameSuffixes =
- {
- "Beads", "Choker", "Idol", "Locket", "Pendant", "Talisman", "Fragment",
- "Braid", "Clasp", "Tether", "Medallion", "Rosary", "Piece", "Hang",
- "Charm", "Collar", "Heart", "Noose", "Scarab", "Soul", "Strangle",
- "Charm", "Core", "Secret", "Reliquary", "Remains", "Abyss", "Reward",
- "Trinket", "Cradle", "Mystery", "Vessel", "Ornament", "Trophy", "Tether",
- "Coffer", "Crest", "Vault", "Sanctuary", "Momento", "Antique", "Bond",
- };
- private static readonly string[] _rareRingNameSuffixes =
- {
- "Band", "Eye", "Grip", "Knot", "Nail", "Twirl", "Bound",
- "Circle", "Finger", "Gyre", "Crest", "Spiral", "Whorl", "Bind",
- "Coil", "Grasp", "Hold", "Loop", "Turn", "Whirl", "Shackle",
- "Charm", "Core", "Secret", "Reliquary", "Remains", "Abyss", "Reward",
- "Trinket", "Cradle", "Mystery", "Vessel", "Ornament", "Trophy", "Tether",
- "Coffer", "Crest", "Vault", "Sanctuary", "Momento", "Antique", "Bond",
- };
- private static readonly string[] _rarePhylacteryNameSuffixes =
- {
- "Corpse", "Body", "Fear", "Reliquary", "Remains", "Abyss", "Reward",
- "Soul", "Momento", "Misery", "Vessel", "Sin", "Trophy", "Tether",
- "Coffer", "Hatred", "Despair", "Anger", "Effigy", "Organ", "Dissection",
- };
- private static readonly string[] _rareTomeNameSuffixes =
- {
- "Book", "Words", "Reconcile", "Declare", "Order", "Rule", "Laws",
- "Hope", "Bravery", "Revelation", "Admission", "Directive", "Instruction", "Mandate",
- "Conviction", "Benediction", "Command", "Request", "Demand", "Decree", "Edict",
- };
- private static readonly string[] _rareFocusNameSuffixes =
- {
- "Sight", "Ebb", "Simplicity", "Tether", "Icon", "Mark", "Sigil",
- "Clarity", "Channel", "Lucidity", "Vessel", "Chain", "Release", "Void",
- "Breeze", "Flow", "Purity", "Reliquary", "Seal", "Shackle", "Call",
- };
- #endregion
- /// <summary>
- ///
- /// </summary>
- /// <param name="constraint"></param>
- /// <returns></returns>
- public string GenerateRareName(ItemType constraint)
- {
- string prefix = _random.Choose(_allRareNamePrefixes);
- string suffix = _random.Choose(_rareNameSuffixes[constraint]);
- return prefix + " " + suffix;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement