#pragma author Draxinusom
#pragma description Gold Box Games - Common Item Functions
#pragma once

// Item Name Part - 01 - Pool of Radiance
fn GetItemNamePart01(u8 Input) {
    match(Input) {
          (0):  return "";
          (1):  return "Battle Axe";
          (2):  return "Hand Axe";
          (3):  return "Bardiche";
          (4):  return "Bec de Corbin";
          (5):  return "Bill-Guisarme";
          (6):  return "Bo Stick";
          (7):  return "Club";
          (8):  return "Dagger";
          (9):  return "Dart";
         (10):  return "Fauchard";
         (11):  return "Fauchard-Fork";
         (12):  return "Flail";
         (13):  return "Military Fork";
         (14):  return "Glaive";
         (15):  return "Glaive-Guisarme";
         (16):  return "Guisarme";
         (17):  return "Guisarme-Voulge";
         (18):  return "Halberd";
         (19):  return "Lucern Hammer";
         (20):  return "Hammer";
         (21):  return "Javelin";
         (22):  return "Jo Stick";
         (23):  return "Mace";
         (24):  return "Morning Star";
         (25):  return "Partisan";
         (26):  return "Military Pick";
         (27):  return "Awl Pike";
         (28):  return "Quarrel";
         (29):  return "Ranseur";
         (30):  return "Scimitar";
         (31):  return "Spear";
         (32):  return "Spetum";
         (33):  return "Quarter Staff";
         (34):  return "Bastard Sword";
         (35):  return "Broad Sword";
         (36):  return "Long Sword";
         (37):  return "Short Sword";
         (38):  return "Two-Handed Sword";
         (39):  return "Trident";
         (40):  return "Voulge";
         (41):  return "Composite Long Bow";
         (42):  return "Composite Short Bow";
         (43):  return "Long Bow";
         (44):  return "Short Bow";
         (45):  return "Heavy Crossbow";
         (46):  return "Light Crossbow";
         (47):  return "Sling";
         (48):  return "Mail";
         (49):  return "Armor";
         (50):  return "Leather";
         (51):  return "Padded";
         (52):  return "Studded";
         (53):  return "Ring";
         (54):  return "Scale";
         (55):  return "Chain";
         (56):  return "Splint";
         (57):  return "Banded";
         (58):  return "Plate";
         (59):  return "Shield";
         (60):  return "Woods";
         (61):  return "Arrow";
         (62):  return "Invalid";
         (63):  return "Invalid";
         (64):  return "Potion";
         (65):  return "Scroll";
         (66):  return "Ring";
         (67):  return "Rod";
         (68):  return "Stave";
         (69):  return "Wand";
         (70):  return "Jug";
         (71):  return "Amulet";
         (72):  return "Apparatus";
         (73):  return "Bag";
         (74):  return "Beaker";
         (75):  return "Boat";
         (76):  return "Book";
         (77):  return "Boots";
         (78):  return "Bowl";
         (79):  return "Bracers";
         (80):  return "Brazier";
         (81):  return "Brooch";
         (82):  return "Broom";
         (83):  return "Purse";
         (84):  return "Candle";
         (85):  return "Carpet";
         (86):  return "Censer";
         (87):  return "Chime";
         (88):  return "Cloak";
         (89):  return "Crystal";
         (90):  return "Cube";
         (91):  return "Cubic";
         (92):  return "Fortress";
         (93):  return "Decanter";
         (94):  return "Deck";
         (95):  return "Drums";
         (96):  return "Dust";
         (97):  return "Eyes";
         (98):  return "Figurine";
         (99):  return "Flask";
        (100):  return "Gauntlets";
        (101):  return "Gem";
        (102):  return "Girdle";
        (103):  return "Helm";
        (104):  return "Horn";
        (105):  return "Horseshoes";
        (106):  return "Incense";
        (107):  return "Stone";
        (108):  return "Instrument";
        (109):  return "Javelin";
        (110):  return "Jewel";
        (111):  return "Ointment";
        (112):  return "Libram";
        (113):  return "Lyre";
        (114):  return "Manual";
        (115):  return "Mattock";
        (116):  return "Maul";
        (117):  return "Medallion";
        (118):  return "Mirror";
        (119):  return "Necklace";
        (120):  return "Net";
        (121):  return "Pigment";
        (122):  return "Pearl";
        (123):  return "Periapt";
        (124):  return "Phylactery";
        (125):  return "Pipes";
        (126):  return "Hole";
        (127):  return "Token";
        (128):  return "Robe";
        (129):  return "Rope";
        (130):  return "Rug";
        (131):  return "Saw";
        (132):  return "Scarab";
        (133):  return "Spade";
        (134):  return "Sphere";
        (135):  return "Invalid";
        (136):  return "Talisman";
        (137):  return "Tome";
        (138):  return "Trident";
        (139):  return "Grimoire";
        (140):  return "Well";
        (141):  return "Wings";
        (142):  return "Vial";
        (143):  return "Lantern";
        (144):  return "Invalid";
        (145):  return "Oil";
        (146):  return "10 ft. Pole";
        (147):  return "50 ft. Rope";
        (148):  return "Iron";
        (149):  return "Thf Prickly Tools";
        (150):  return "Iron Rations";
        (151):  return "Standard Rations";
        (152):  return "Holy Symbol";
        (153):  return "Holy Water Vial";
        (154):  return "Unholy Water Vial";
        (155):  return "Barding";
        (156):  return "Dragon";
        (157):  return "Lightning";
        (158):  return "Saddle";
        (159):  return "Small Raft";
        (160):  return "Cart";
        (161):  return "Wagon";
        (162):  return "+1";
        (163):  return "+2";
        (164):  return "+3";
        (165):  return "+4";
        (166):  return "+5";
        (167):  return "of";
        (168):  return "Invalid";
        (169):  return "Cloak";
        (170):  return "Displacement";
        (171):  return "Torches";
        (172):  return "Oil";
        (173):  return "Speed";
        (174):  return "Tapestry";
        (175):  return "Bodily Health";
        (176):  return "Copper";
        (177):  return "Silver";
        (178):  return "Electrum";
        (179):  return "Gold";
        (180):  return "Platinum";
        (181):  return "Ointment";
        (182):  return "Keoghtum's";
        (183):  return "Sheet";
        (184):  return "Strength";
        (185):  return "Healing";
        (186):  return "Holding";
        (187):  return "Extra";
        (188):  return "Gaseous Form";
        (189):  return "Slipperiness";
        (190):  return "Jewelled";
        (191):  return "Flying";
        (192):  return "Treasure Finding";
        (193):  return "Fear";
        (194):  return "Disappearance";
        (195):  return "Statuette";
        (196):  return "Fungus";
        (197):  return "Chain";
        (198):  return "Pendant";
        (199):  return "Broach";
        (200):  return "of Seeking";
        (201):  return "-1";
        (202):  return "-2";
        (203):  return "-3";
        (204):  return "Lightning Bolt";
        (205):  return "Fire Resistance";
        (206):  return "Magic Missiles";
        (207):  return "Save";
        (208):  return "Clerical Scroll";
        (209):  return "Magic User Scroll";
        (210):  return "with 1 Spell";
        (211):  return "with 2 Spells";
        (212):  return "with 3 Spells";
        (213):  return "Protection Scroll";
        (214):  return "Jewelry";
        (215):  return "Fine";
        (216):  return "Huge";
        (217):  return "Bone";
        (218):  return "Brass";
        (219):  return "Key";
        (220):  return "AC 2";
        (221):  return "AC 6";
        (222):  return "AC 4";
        (223):  return "AC 3";
        (224):  return "of Protection";
        (225):  return "Paralyzation";
        (226):  return "Ogre Power";
        (227):  return "Invisibility";
        (228):  return "Missiles";
        (229):  return "Elvenkind";
        (230):  return "Rotting";
        (231):  return "Covered";
        (232):  return "Efreeti";
        (233):  return "Bottle";
        (234):  return "Missile Attractor";
        (235):  return "of Maglubiyet";
        (236):  return "Secr Door & Trap Det";
        (237):  return "Gd Dragon Control";
        (238):  return "Feather Falling";
        (239):  return "Giant Strength";
        (240):  return "Restoring Level(s)";
        (241):  return "Flame Tongue";
        (242):  return "Fireballs";
        (243):  return "Spiritual";
        (244):  return "Boulder";
        (245):  return "Diamond";
        (246):  return "Emerald";
        (247):  return "Opal";
        (248):  return "Saphire";
        (249):  return "of Tyr";
        (250):  return "of Tempus";
        (251):  return "of Sune";
        (252):  return "Wooden";
        (253):  return "+3 vs Undead";
        (254):  return "Pass";
        (255):  return "Cursed";
    }
};

// Item Name Part - 02 - Curse of the Azure Bonds
fn GetItemNamePart02(u8 Input) {
    match(Input) {
          (0):  return "";
          (1):  return "Battle Axe";
          (2):  return "Hand Axe";
          (3):  return "Bardiche";
          (4):  return "Bec de Corbin";
          (5):  return "Bill-Guisarme";
          (6):  return "Bo Stick";
          (7):  return "Club";
          (8):  return "Dagger";
          (9):  return "Dart";
         (10):  return "Fauchard";
         (11):  return "Fauchard-Fork";
         (12):  return "Flail";
         (13):  return "Military Fork";
         (14):  return "Glaive";
         (15):  return "Glaive-Guisarme";
         (16):  return "Guisarme";
         (17):  return "Guisarme-Voulge";
         (18):  return "Halberd";
         (19):  return "Lucern Hammer";
         (20):  return "Hammer";
         (21):  return "Javelin";
         (22):  return "Jo Stick";
         (23):  return "Mace";
         (24):  return "Morning Star";
         (25):  return "Partisan";
         (26):  return "Military Pick";
         (27):  return "Awl Pike";
         (28):  return "Quarrel";
         (29):  return "Ranseur";
         (30):  return "Scimitar";
         (31):  return "Spear";
         (32):  return "Spetum";
         (33):  return "Quarter Staff";
         (34):  return "Bastard Sword";
         (35):  return "Broad Sword";
         (36):  return "Long Sword";
         (37):  return "Short Sword";
         (38):  return "Two-Handed Sword";
         (39):  return "Trident";
         (40):  return "Voulge";
         (41):  return "Composite Long Bow";
         (42):  return "Composite Short Bow";
         (43):  return "Long Bow";
         (44):  return "Short Bow";
         (45):  return "Heavy Crossbow";
         (46):  return "Light Crossbow";
         (47):  return "Sling";
         (48):  return "Mail";
         (49):  return "Armor";
         (50):  return "Leather";
         (51):  return "Padded";
         (52):  return "Studded";
         (53):  return "Ring";
         (54):  return "Scale";
         (55):  return "Chain";
         (56):  return "Splint";
         (57):  return "Banded";
         (58):  return "Plate";
         (59):  return "Shield";
         (60):  return "Woods";
         (61):  return "Arrow";
         (62):  return "Invalid";
         (63):  return "Invalid";
         (64):  return "Potion";
         (65):  return "Scroll";
         (66):  return "Ring";
         (67):  return "Rod";
         (68):  return "Stave";
         (69):  return "Wand";
         (70):  return "Jug";
         (71):  return "Amulet";
         (72):  return "Dragon Breath";
         (73):  return "Bag";
         (74):  return "Defoliation";
         (75):  return "Ice Storm";
         (76):  return "Book";
         (77):  return "Boots";
         (78):  return "Hornets Nest";
         (79):  return "Bracers";
         (80):  return "Piercing";
         (81):  return "Brooch";
         (82):  return "Elfin Chain";
         (83):  return "Wizardry";
         (84):  return "AC10";
         (85):  return "Dexterity";
         (86):  return "Fumbling";
         (87):  return "Chime";
         (88):  return "Cloak";
         (89):  return "Crystal";
         (90):  return "Cube";
         (91):  return "Cubic";
         (92):  return "the Dwarves";
         (93):  return "Decanter";
         (94):  return "Gloves";
         (95):  return "Drums";
         (96):  return "Dust";
         (97):  return "Thievery";
         (98):  return "Hat";
         (99):  return "Flask";
        (100):  return "Gauntlets";
        (101):  return "Gem";
        (102):  return "Girdle";
        (103):  return "Helm";
        (104):  return "Horn";
        (105):  return "Stupidity";
        (106):  return "Incense";
        (107):  return "Stone";
        (108):  return "Ioun Stone";
        (109):  return "Javelin";
        (110):  return "Jewel";
        (111):  return "Ointment";
        (112):  return "Pale Blue";
        (113):  return "Scarlet and";
        (114):  return "Manual";
        (115):  return "Incandescent";
        (116):  return "Deep Red";
        (117):  return "Pink";
        (118):  return "Mirror";
        (119):  return "Necklace";
        (120):  return "and Green";
        (121):  return "Blue";
        (122):  return "Pearl";
        (123):  return "Powerlessness";
        (124):  return "Vermin";
        (125):  return "Pipes";
        (126):  return "Hole";
        (127):  return "Dragon Slayer";
        (128):  return "Robe";
        (129):  return "Rope";
        (130):  return "Frost Brand";
        (131):  return "Berserker";
        (132):  return "Scarab";
        (133):  return "Spade";
        (134):  return "Sphere";
        (135):  return "Blessed";
        (136):  return "Talisman";
        (137):  return "Tome";
        (138):  return "Trident";
        (139):  return "Grimoire";
        (140):  return "Well";
        (141):  return "Wings";
        (142):  return "Vial";
        (143):  return "Lantern";
        (144):  return "Invalid";
        (145):  return "Flask of Oil";
        (146):  return "10 ft. Pole";
        (147):  return "50 ft. Rope";
        (148):  return "Iron";
        (149):  return "Thf Prickly Tools";
        (150):  return "Iron Rations";
        (151):  return "Standard Rations";
        (152):  return "Holy Symbol";
        (153):  return "Holy Water Vial";
        (154):  return "Unholy Water Vial";
        (155):  return "Barding";
        (156):  return "Dragon";
        (157):  return "Lightning";
        (158):  return "Saddle";
        (159):  return "Staff";
        (160):  return "Drow";
        (161):  return "Wagon";
        (162):  return "+1";
        (163):  return "+2";
        (164):  return "+3";
        (165):  return "+4";
        (166):  return "+5";
        (167):  return "of";
        (168):  return "Vulnerability";
        (169):  return "Cloak";
        (170):  return "Displacement";
        (171):  return "Torches";
        (172):  return "Oil";
        (173):  return "Speed";
        (174):  return "Tapestry";
        (175):  return "Spine";
        (176):  return "Copper";
        (177):  return "Silver";
        (178):  return "Electrum";
        (179):  return "Gold";
        (180):  return "Platinum";
        (181):  return "Ointment";
        (182):  return "Keoghtum's";
        (183):  return "Sheet";
        (184):  return "Strength";
        (185):  return "Healing";
        (186):  return "Holding";
        (187):  return "Extra";
        (188):  return "Gaseous Form";
        (189):  return "Slipperiness";
        (190):  return "Jewelled";
        (191):  return "Flying";
        (192):  return "Treasure Finding";
        (193):  return "Fear";
        (194):  return "Disappearance";
        (195):  return "Statuette";
        (196):  return "Fungus";
        (197):  return "Chain";
        (198):  return "Pendant";
        (199):  return "Broach";
        (200):  return "of Seeking";
        (201):  return "-1";
        (202):  return "-2";
        (203):  return "-3";
        (204):  return "Lightning Bolt";
        (205):  return "Fire Resistance";
        (206):  return "Magic Missiles";
        (207):  return "Save";
        (208):  return "Clrc Scroll";
        (209):  return "MU Scroll";
        (210):  return "with 1 Spell";
        (211):  return "with 2 Spells";
        (212):  return "with 3 Spells";
        (213):  return "Prot. Scroll";
        (214):  return "Jewelry";
        (215):  return "Fine";
        (216):  return "Huge";
        (217):  return "Bone";
        (218):  return "Brass";
        (219):  return "Key";
        (220):  return "AC 2";
        (221):  return "AC 6";
        (222):  return "AC 4";
        (223):  return "AC 3";
        (224):  return "of Prot.";
        (225):  return "Paralyzation";
        (226):  return "Ogre Power";
        (227):  return "Invisibility";
        (228):  return "Missiles";
        (229):  return "Elvenkind";
        (230):  return "Rotting";
        (231):  return "Covered";
        (232):  return "Efreeti";
        (233):  return "Bottle";
        (234):  return "Missile Attractor";
        (235):  return "of Maglubiyet";
        (236):  return "Secr Door & Trap Det";
        (237):  return "Gd Dragon Control";
        (238):  return "Feather Falling";
        (239):  return "Giant Strength";
        (240):  return "Restoring Level(s)";
        (241):  return "Flame Tongue";
        (242):  return "Fireballs";
        (243):  return "Spiritual";
        (244):  return "Boulder";
        (245):  return "Diamond";
        (246):  return "Emerald";
        (247):  return "Opal";
        (248):  return "Saphire";
        (249):  return "of Tyr";
        (250):  return "of Tempus";
        (251):  return "of Sune";
        (252):  return "Wooden";
        (253):  return "+3 vs Undead";
        (254):  return "Pass";
        (255):  return "Cursed";
    }
};

// Item Name Part - 03 - Secret of the Silver Blades
fn GetItemNamePart03(u8 Input) {
    match(Input) {
          (0):  return "";
          (1):  return "Battle Axe";
          (2):  return "Hand Axe";
          (3):  return "Club";
          (4):  return "Dagger";
          (5):  return "Dart";
          (6):  return "Hammer";
          (7):  return "Javelin";
          (8):  return "Mace";
          (9):  return "Morning Star";
         (10):  return "Military Pick";
         (11):  return "Awl Pike";
         (12):  return "Quarrel";
         (13):  return "Scimitar";
         (14):  return "Spear";
         (15):  return "Quarter Staff";
         (16):  return "Bastard Sword";
         (17):  return "Broad Sword";
         (18):  return "Long Sword";
         (19):  return "Short Sword";
         (20):  return "Two-Handed Sword";
         (21):  return "Trident";
         (22):  return "Composite Long Bow";
         (23):  return "Composite Short Bow";
         (24):  return "Long Bow";
         (25):  return "Short Bow";
         (26):  return "Fine";
         (27):  return "Light Crossbow";
         (28):  return "Sling";
         (29):  return "Staff";
         (30):  return "Arrow";
         (31):  return "Leather";
         (32):  return "Ring";
         (33):  return "Scale";
         (34):  return "Chain";
         (35):  return "Banded";
         (36):  return "Plate";
         (37):  return "Shield";
         (38):  return "Cler";
         (39):  return "Scroll";
         (40):  return "Mage";
         (41):  return "Helm";
         (42):  return "Belt";
         (43):  return "Robe";
         (44):  return "Cloak";
         (45):  return "Boots";
         (46):  return "Ring";
         (47):  return "Mail";
         (48):  return "Armor";
         (49):  return "of Prot";
         (50):  return "Bracers";
         (51):  return "Wand";
         (52):  return "Elixer";
         (53):  return "Potion";
         (54):  return "Youth";
         (55):  return "Ruby";
         (56):  return "Boulder";
         (57):  return "Dragon Breath";
         (58):  return "Displacement";
         (59):  return "Eyes";
         (60):  return "Drow";
         (61):  return "Elven Chain";
         (62):  return "Ice Storm";
         (63):  return "Saphire";
         (64):  return "Emerald";
         (65):  return "Wizardry";
         (66):  return "Hornet's Nest";
         (67):  return "Fire Resistance";
         (68):  return "Stone";
         (69):  return "Good Luck";
         (70):  return "Flail";
         (71):  return "Halberd";
         (72):  return "Gauntlets";
         (73):  return "Periapt";
         (74):  return "Health";
         (75):  return "Invalid";
         (76):  return "Invalid";
         (77):  return "Bundle of";
         (78):  return "Ogre Power";
         (79):  return "Girdle";
         (80):  return "Giant Strength";
         (81):  return "Mirror";
         (82):  return "Necklace";
         (83):  return "Dragon";
         (84):  return "vs Giants";
         (85):  return "Diamond";
         (86):  return "Invalid";
         (87):  return "Invalid";
         (88):  return "Lightning";
         (89):  return "Fireballs";
         (90):  return "of";
         (91):  return "Vulnerability";
         (92):  return "Speed";
         (93):  return "Silver";
         (94):  return "Extra";
         (95):  return "Healing";
         (96):  return "Charming";
         (97):  return "Fear";
         (98):  return "Magic Missiles";
         (99):  return "Missiles";
        (100):  return "1 Spell";
        (101):  return "2 Spells";
        (102):  return "3 Spells";
        (103):  return "Paralyzation";
        (104):  return "Invisibility";
        (105):  return "Cute Yellow Canary";
        (106):  return "AC 10";
        (107):  return "AC 6";
        (108):  return "AC 4";
        (109):  return "AC 3";
        (110):  return "AC 2";
        (111):  return "+1";
        (112):  return "+2";
        (113):  return "+3";
        (114):  return "+4";
        (115):  return "+5";
        (116):  return "-1";
        (117):  return "-2";
        (118):  return "-3";
        (119):  return "Spiritual";
        (120):  return "Gem";
        (121):  return "Jewelry";
          (_):  return "Invalid";
    }
};

// Item Name Part - 04 - Pools of Darkness
fn GetItemNamePart04(u8 Input) {
    match(Input) {
          (0):  return "";
          (1):  return "Battle Axe";
          (2):  return "Hand Axe";
          (3):  return "Club";
          (4):  return "Dagger";
          (5):  return "Dart";
          (6):  return "Hammer";
          (7):  return "Javelin";
          (8):  return "Mace";
          (9):  return "Morning Star";
         (10):  return "Military Pick";
         (11):  return "Awl Pike";
         (12):  return "Bolt";
         (13):  return "Scimitar";
         (14):  return "Spear";
         (15):  return "Quarter Staff";
         (16):  return "Bastard Sword";
         (17):  return "Broad Sword";
         (18):  return "Long Sword";
         (19):  return "Short Sword";
         (20):  return "Two-Handed Sword";
         (21):  return "Trident";
         (22):  return "Composite Long Bow";
         (23):  return "Composite Short Bow";
         (24):  return "Long Bow";
         (25):  return "Short Bow";
         (26):  return "Fine";
         (27):  return "Light Crossbow";
         (28):  return "Sling";
         (29):  return "Staff";
         (30):  return "Arrow";
         (31):  return "Leather";
         (32):  return "Ring";
         (33):  return "Scale";
         (34):  return "Chain";
         (35):  return "Banded";
         (36):  return "Plate";
         (37):  return "Shield";
         (38):  return "Cleric";
         (39):  return "Scroll";
         (40):  return "Mage";
         (41):  return "Helm";
         (42):  return "Belt";
         (43):  return "Robe";
         (44):  return "Cloak";
         (45):  return "Boots";
         (46):  return "Ring";
         (47):  return "Mail";
         (48):  return "Armor";
         (49):  return "of Prot";
         (50):  return "Bracers";
         (51):  return "Wand";
         (52):  return "Elixir";
         (53):  return "Potion";
         (54):  return "Youth";
         (55):  return "Ruby";
         (56):  return "Boulder";
         (57):  return "Dragon Breath";
         (58):  return "Displacement";
         (59):  return "Eyes";
         (60):  return "Drow";
         (61):  return "Elfin Chain";
         (62):  return "Ice Storm";
         (63):  return "Saphire";
         (64):  return "Emerald";
         (65):  return "Wizardry";
         (66):  return "Hornet's Nest";
         (67):  return "Fire Resistance";
         (68):  return "Stone";
         (69):  return "Good Luck";
         (70):  return "Flail";
         (71):  return "Halberd";
         (72):  return "Gauntlets";
         (73):  return "Periapt";
         (74):  return "Health";
         (75):  return "Cursed";
         (76):  return "Blessed";
         (77):  return "Bundle of";
         (78):  return "Ogre Power";
         (79):  return "Girdle";
         (80):  return "Giant Strength";
         (81):  return "Mirror";
         (82):  return "Necklace";
         (83):  return "Dragon";
         (84):  return "vs Giants";
         (85):  return "Vorpal";
         (86):  return "Cold Resistance";
         (87):  return "Diamond";
         (88):  return "Lightning";
         (89):  return "Fireballs";
         (90):  return "of";
         (91):  return "Vulnerability";
         (92):  return "Speed";
         (93):  return "Silver";
         (94):  return "Extra";
         (95):  return "Healing";
         (96):  return "Charming";
         (97):  return "Fear";
         (98):  return "Magic Missiles";
         (99):  return "Missiles";
        (100):  return "1 Spell";
        (101):  return "2 Spells";
        (102):  return "3 Spells";
        (103):  return "Paralyzation";
        (104):  return "Invisibility";
        (105):  return "Cute Yellow Canary";
        (106):  return "AC 10";
        (107):  return "AC 6";
        (108):  return "AC 4";
        (109):  return "AC 3";
        (110):  return "AC 2";
        (111):  return "+1";
        (112):  return "+2";
        (113):  return "+3";
        (114):  return "+4";
        (115):  return "+5";
        (116):  return "-1";
        (117):  return "-2";
        (118):  return "-3";
        (119):  return "Electrical Immunity";
        (120):  return "Gaze Resistance";
        (121):  return "Spiritual";
        (122):  return "Gem";
        (123):  return "Jewelry";
        (124):  return "Blinking";
        (125):  return "from Evil";
          (_):  return "Invalid";
    }
};

// Item Name Part - 05 - Champions of Krynn
fn GetItemNamePart05(u8 Input) {
    match(Input) {
          (0):  return "";
          (1):  return "Battle Axe";
          (2):  return "Hand Axe";
          (3):  return "Club";
          (4):  return "Dagger";
          (5):  return "Dart";
          (6):  return "Hammer";
          (7):  return "Javelin";
          (8):  return "Mace";
          (9):  return "Morning Star";
         (10):  return "Military Pick";
         (11):  return "Awl Pike";
         (12):  return "Quarrel";
         (13):  return "Scimitar";
         (14):  return "Spear";
         (15):  return "Quarter Staff";
         (16):  return "Bastard Sword";
         (17):  return "Broad Sword";
         (18):  return "Long Sword";
         (19):  return "Short Sword";
         (20):  return "Two-Handed Sword";
         (21):  return "Trident";
         (22):  return "Composite Long Bow";
         (23):  return "Composite Short Bow";
         (24):  return "Long Bow";
         (25):  return "Short Bow";
         (26):  return "Fine";
         (27):  return "Light Crossbow";
         (28):  return "Sling";
         (29):  return "Staff";
         (30):  return "Arrow";
         (31):  return "Leather";
         (32):  return "Ring";
         (33):  return "Scale";
         (34):  return "Chain";
         (35):  return "Banded";
         (36):  return "Plate";
         (37):  return "Shield";
         (38):  return "Cler";
         (39):  return "Scroll";
         (40):  return "MU Scroll";
         (41):  return "Helm";
         (42):  return "Belt";
         (43):  return "Robe";
         (44):  return "Cloak";
         (45):  return "Boots";
         (46):  return "Ring";
         (47):  return "Mail";
         (48):  return "Armor";
         (49):  return "of Prot";
         (50):  return "Bracers";
         (51):  return "Wand";
         (52):  return "Amulet";
         (53):  return "Potion";
         (54):  return "Holy Water";
         (55):  return "Ruby";
         (56):  return "Boulder";
         (57):  return "Dragon Breath";
         (58):  return "Displacement";
         (59):  return "Bag";
         (60):  return "Drow";
         (61):  return "Elven Chain";
         (62):  return "Ice Storm";
         (63):  return "Saphire";
         (64):  return "Emerald";
         (65):  return "Wizardry";
         (66):  return "Hornet's Nest";
         (67):  return "Hoopak";
         (68):  return "Solamnic Plate";
         (69):  return "Dragonlance";
         (70):  return "Flail";
         (71):  return "Halberd";
         (72):  return "Gauntlets";
         (73):  return "Periapt";
         (74):  return "Proof vs Poison";
         (75):  return "Dust";
         (76):  return "Disappearance";
         (77):  return "Disruption";
         (78):  return "Ogre Power";
         (79):  return "Girdle";
         (80):  return "Giant Strength";
         (81):  return "Mirror";
         (82):  return "Necklace";
         (83):  return "Dragon";
         (84):  return "vs Reptiles";
         (85):  return "Frost Brand";
         (86):  return "Berserker";
         (87):  return "Diamond";
         (88):  return "Lightning";
         (89):  return "Fireballs";
         (90):  return "of";
         (91):  return "Vulnerability";
         (92):  return "Speed";
         (93):  return "Silver";
         (94):  return "Extra";
         (95):  return "Healing";
         (96):  return "Opening";
         (97):  return "Fear";
         (98):  return "Magic Missiles";
         (99):  return "Missiles";
        (100):  return "1 Spell";
        (101):  return "2 Spells";
        (102):  return "3 Spell";
        (103):  return "Paralyzation";
        (104):  return "Invisibility";
        (105):  return "Footman's";
        (106):  return "AC 10";
        (107):  return "AC 6";
        (108):  return "AC 4";
        (109):  return "AC 3";
        (110):  return "AC 2";
        (111):  return "+1";
        (112):  return "+2";
        (113):  return "+3";
        (114):  return "+4";
        (115):  return "+5";
        (116):  return "-1";
        (117):  return "-2";
        (118):  return "-3";
        (119):  return "White";
        (120):  return "Red";
        (121):  return "Spiritual";
        (122):  return "Gem";
        (123):  return "Jewelry";
          (_):  return "Invalid";
    }
};

// Item Name Part - 06 - Death Knights of Krynn
fn GetItemNamePart06(u8 Input) {
    match(Input) {
          (0):  return "";
          (1):  return "Battle Axe";
          (2):  return "Hand Axe";
          (3):  return "Club";
          (4):  return "Dagger";
          (5):  return "Dart";
          (6):  return "Hammer";
          (7):  return "Javelin";
          (8):  return "Mace";
          (9):  return "Morning Star";
         (10):  return "Military Pick";
         (11):  return "Awl Pike";
         (12):  return "Quarrel";
         (13):  return "Scimitar";
         (14):  return "Spear";
         (15):  return "Quarter Staff";
         (16):  return "Bastard Sword";
         (17):  return "Broad Sword";
         (18):  return "Long Sword";
         (19):  return "Short Sword";
         (20):  return "Two-Handed Sword";
         (21):  return "Trident";
         (22):  return "Composite Long Bow";
         (23):  return "Composite Short Bow";
         (24):  return "Long Bow";
         (25):  return "Short Bow";
         (26):  return "Fine";
         (27):  return "Light Crossbow";
         (28):  return "Sling";
         (29):  return "Staff";
         (30):  return "Arrow";
         (31):  return "Leather";
         (32):  return "Ring";
         (33):  return "Scale";
         (34):  return "Chain";
         (35):  return "Banded";
         (36):  return "Plate";
         (37):  return "Shield";
         (38):  return "Cler";
         (39):  return "Scroll";
         (40):  return "MU Scroll";
         (41):  return "Helm";
         (42):  return "Belt";
         (43):  return "Robe";
         (44):  return "Cloak";
         (45):  return "Boots";
         (46):  return "Ring";
         (47):  return "Mail";
         (48):  return "Armor";
         (49):  return "of Prot";
         (50):  return "Bracers";
         (51):  return "Wand";
         (52):  return "Amulet";
         (53):  return "Potion";
         (54):  return "Holy Water";
         (55):  return "Ruby";
         (56):  return "Boulder";
         (57):  return "Dragon Breath";
         (58):  return "Displacement";
         (59):  return "Bag";
         (60):  return "Drow";
         (61):  return "Elven Chain";
         (62):  return "Ice Storm";
         (63):  return "Saphire";
         (64):  return "Emerald";
         (65):  return "Wizardry";
         (66):  return "Hornet's Nest";
         (67):  return "Hoopak";
         (68):  return "Solamnic Plate";
         (69):  return "Dragonlance";
         (70):  return "Flail";
         (71):  return "Halberd";
         (72):  return "Gauntlets";
         (73):  return "Periapt";
         (74):  return "Proof vs Poison";
         (75):  return "Elixir of Youth";
         (76):  return "Eyes of Charming";
         (77):  return "Disruption";
         (78):  return "Ogre Power";
         (79):  return "Girdle";
         (80):  return "Giant Strength";
         (81):  return "Mirror";
         (82):  return "Necklace";
         (83):  return "Dragon";
         (84):  return "vs Reptiles";
         (85):  return "Frost Brand";
         (86):  return "Berserker";
         (87):  return "Diamond";
         (88):  return "Lightning";
         (89):  return "Fireballs";
         (90):  return "of";
         (91):  return "Vulnerability";
         (92):  return "Speed";
         (93):  return "Silver";
         (94):  return "Extra";
         (95):  return "Healing";
         (96):  return "Olin's";
         (97):  return "Fear";
         (98):  return "Magic Missiles";
         (99):  return "Missiles";
        (100):  return "1 Spell";
        (101):  return "2 Spells";
        (102):  return "3 Spell";
        (103):  return "Paralyzation";
        (104):  return "Invisibility";
        (105):  return "Footman's";
        (106):  return "AC 10";
        (107):  return "AC 6";
        (108):  return "AC 4";
        (109):  return "AC 3";
        (110):  return "AC 2";
        (111):  return "+1";
        (112):  return "+2";
        (113):  return "+3";
        (114):  return "+4";
        (115):  return "+5";
        (116):  return "-1";
        (117):  return "-2";
        (118):  return "-3";
        (119):  return "White";
        (120):  return "Red";
        (121):  return "Spiritual";
        (122):  return "Gem";
        (123):  return "Jewelry";
        (124):  return "Blank";
        (125):  return "Item";
          (_):  return "Invalid";
    }
};

// Item Name Part - 07 - The Dark Queen of Krynn
fn GetItemNamePart07(u8 Input) {
    match(Input) {
          (0):  return "";
          (1):  return "Battle Axe";
          (2):  return "Hand Axe";
          (3):  return "Club";
          (4):  return "Dagger";
          (5):  return "Dart";
          (6):  return "Hammer";
          (7):  return "Javelin";
          (8):  return "Mace";
          (9):  return "Morning Star";
         (10):  return "Military Pick";
         (11):  return "Awl Pike";
         (12):  return "Bolt";
         (13):  return "Scimitar";
         (14):  return "Spear";
         (15):  return "Quarter Staff";
         (16):  return "Bastard Sword";
         (17):  return "Broad Sword";
         (18):  return "Long Sword";
         (19):  return "Short Sword";
         (20):  return "Two-Handed Sword";
         (21):  return "Trident";
         (22):  return "Composite Long Bow";
         (23):  return "Composite Short Bow";
         (24):  return "Long Bow";
         (25):  return "Short Bow";
         (26):  return "Fine";
         (27):  return "Light Crossbow";
         (28):  return "Sling";
         (29):  return "Staff";
         (30):  return "Arrow";
         (31):  return "Leather";
         (32):  return "Ring";
         (33):  return "Scale";
         (34):  return "Chain";
         (35):  return "Banded";
         (36):  return "Plate";
         (37):  return "Shield";
         (38):  return "Cleric";
         (39):  return "Scroll";
         (40):  return "Mage";
         (41):  return "Helm";
         (42):  return "Belt";
         (43):  return "Robe";
         (44):  return "Cloak";
         (45):  return "Boots";
         (46):  return "Ring";
         (47):  return "Mail";
         (48):  return "Armor";
         (49):  return "of Prot";
         (50):  return "Bracers";
         (51):  return "Wand";
         (52):  return "Elixir";
         (53):  return "Potion";
         (54):  return "Youth";
         (55):  return "Ruby";
         (56):  return "Boulder";
         (57):  return "Dragon Breath";
         (58):  return "Displacement";
         (59):  return "Eyes";
         (60):  return "Drow";
         (61):  return "Elfin Chain";
         (62):  return "Ice Storm";
         (63):  return "Saphire";
         (64):  return "Emerald";
         (65):  return "Wizardry";
         (66):  return "Hornet's Nest";
         (67):  return "Fire Resistance";
         (68):  return "Stone";
         (69):  return "Good Luck";
         (70):  return "Flail";
         (71):  return "Halberd";
         (72):  return "Gauntlets";
         (73):  return "Periapt";
         (74):  return "Health";
         (75):  return "Cursed";
         (76):  return "Blessed";
         (77):  return "Bundle of";
         (78):  return "Ogre Power";
         (79):  return "Girdle";
         (80):  return "Giant Strength";
         (81):  return "Mirror";
         (82):  return "Necklace";
         (83):  return "Dragon";
         (84):  return "vs Giants";
         (85):  return "Vorpal";
         (86):  return "Cold Resistance";
         (87):  return "Diamond";
         (88):  return "Lightning";
         (89):  return "Fireballs";
         (90):  return "of";
         (91):  return "Vulnerability";
         (92):  return "Speed";
         (93):  return "Silver";
         (94):  return "Extra";
         (95):  return "Healing";
         (96):  return "Charming";
         (97):  return "Fear";
         (98):  return "Magic Missiles";
         (99):  return "Missiles";
        (100):  return "1 Spell";
        (101):  return "2 Spells";
        (102):  return "3 Spells";
        (103):  return "Paralyzation";
        (104):  return "Invisibility";
        (105):  return "Cute Yellow Canary";
        (106):  return "AC 10";
        (107):  return "AC 6";
        (108):  return "AC 4";
        (109):  return "AC 3";
        (110):  return "AC 2";
        (111):  return "+1";
        (112):  return "+2";
        (113):  return "+3";
        (114):  return "+4";
        (115):  return "+5";
        (116):  return "-1";
        (117):  return "-2";
        (118):  return "-3";
        (119):  return "Electrical Immunity";
        (120):  return "Gaze Resistance";
        (121):  return "Spiritual";
        (122):  return "Gem";
        (123):  return "Blinking";
        (124):  return "Invalid";
        (125):  return "from Evil";
        (126):  return "Hoopak";
        (127):  return "Dragonlance";
        (128):  return "Striking";
        (129):  return "Disruption";
        (130):  return "Dragon Slayer";
        (131):  return "Foethumper";
        (132):  return "Solamnic";
        (133):  return "Petrification";
        (134):  return "Free Action";
        (135):  return "Footman's";
        (136):  return "Red Mage";
        (137):  return "White Mage";
        (138):  return "Quarrel";
        (139):  return "Cler";
        (140):  return "MU Scroll";
        (141):  return "Amulet";
        (142):  return "Bag";
        (143):  return "Solamnic Plate";
        (144):  return "Proof vs Poison";
        (145):  return "Elixir of Youth";
        (146):  return "Eyes of Charming";
        (147):  return "vs Reptiles";
        (148):  return "Frost Brand";
        (149):  return "Berserker";
        (150):  return "Olin's";
        (151):  return "Blank";
          (_):  return "Invalid";
    }
};

// Item Name Part - 08 - Gateway to the Savage Frontier
fn GetItemNamePart08(u8 Input) {
    match(Input) {
          (0):  return "";
          (1):  return "Battle Axe";
          (2):  return "Hand Axe";
          (3):  return "Bardiche";
          (4):  return "Bec de Corbin";
          (5):  return "Bill-Guisarme";
          (6):  return "Bo Stick";
          (7):  return "Club";
          (8):  return "Dagger";
          (9):  return "Dart";
         (10):  return "Fauchard";
         (11):  return "Fauchard-Fork";
         (12):  return "Flail";
         (13):  return "Military Fork";
         (14):  return "Glaive";
         (15):  return "Glaive-Guisarme";
         (16):  return "Guisarme";
         (17):  return "Guisarme-Voulge";
         (18):  return "Halberd";
         (19):  return "Lucern Hammer";
         (20):  return "Hammer";
         (21):  return "Javelin";
         (22):  return "Jo Stick";
         (23):  return "Mace";
         (24):  return "Morning Star";
         (25):  return "Partisan";
         (26):  return "Military Pick";
         (27):  return "Awl Pike";
         (28):  return "Quarrel";
         (29):  return "Ranseur";
         (30):  return "Scimitar";
         (31):  return "Spear";
         (32):  return "Spetum";
         (33):  return "Quarter Staff";
         (34):  return "Bastard Sword";
         (35):  return "Broad Sword";
         (36):  return "Long Sword";
         (37):  return "Short Sword";
         (38):  return "Two-Handed Sword";
         (39):  return "Trident";
         (40):  return "Voulge";
         (41):  return "Composite Long Bow";
         (42):  return "Composite Short Bow";
         (43):  return "Long Bow";
         (44):  return "Short Bow";
         (45):  return "Heavy Crossbow";
         (46):  return "Light Crossbow";
         (47):  return "Sling";
         (48):  return "Mail";
         (49):  return "Armor";
         (50):  return "Leather";
         (51):  return "Padded";
         (52):  return "Studded";
         (53):  return "Ring";
         (54):  return "Scale";
         (55):  return "Chain";
         (56):  return "Splint";
         (57):  return "Banded";
         (58):  return "Plate";
         (59):  return "Shield";
         (60):  return "Woods";
         (61):  return "Arrow";
         (62):  return "Banite";
         (63):  return "Robes";
         (64):  return "Potion";
         (65):  return "Scroll";
         (66):  return "Ring";
         (67):  return "Rod";
         (68):  return "Stave";
         (69):  return "Wand";
         (70):  return "Jug";
         (71):  return "Amulet";
         (72):  return "Dragon Breath";
         (73):  return "Bag";
         (74):  return "Defoliation";
         (75):  return "Ice Storm";
         (76):  return "Book";
         (77):  return "Boots";
         (78):  return "Hornets Nest";
         (79):  return "Bracers";
         (80):  return "Piercing";
         (81):  return "Brooch";
         (82):  return "Elfin Chain";
         (83):  return "Wizardry";
         (84):  return "AC10";
         (85):  return "Dexterity";
         (86):  return "Fumbling";
         (87):  return "Chime";
         (88):  return "Cloak";
         (89):  return "Crystal";
         (90):  return "Cube";
         (91):  return "Cubic";
         (92):  return "Dwarven";
         (93):  return "Decanter";
         (94):  return "Gloves";
         (95):  return "Drums";
         (96):  return "Dust";
         (97):  return "Thievery";
         (98):  return "Hat";
         (99):  return "Flask";
        (100):  return "Gauntlets";
        (101):  return "Gem";
        (102):  return "Girdle";
        (103):  return "Helm";
        (104):  return "Horn";
        (105):  return "Stupidity";
        (106):  return "Incense";
        (107):  return "Stone";
        (108):  return "Ioun Stone";
        (109):  return "Javelin";
        (110):  return "Jewel";
        (111):  return "Ointment";
        (112):  return "Scrawled Note";
        (113):  return "Scarlet and";
        (114):  return "Manual";
        (115):  return "Incandescent";
        (116):  return "Deep Red";
        (117):  return "Pink";
        (118):  return "Mirror";
        (119):  return "Necklace";
        (120):  return "and Green";
        (121):  return "Blue";
        (122):  return "Pearl";
        (123):  return "Powerlessness";
        (124):  return "Vermin";
        (125):  return "Pipes";
        (126):  return "Hole";
        (127):  return "Dragon Slayer";
        (128):  return "Robe";
        (129):  return "Rope";
        (130):  return "Frost Brand";
        (131):  return "Berserker";
        (132):  return "Scarab";
        (133):  return "Spade";
        (134):  return "Sphere";
        (135):  return "Blessed";
        (136):  return "Talisman";
        (137):  return "of the Glacier";
        (138):  return "Trident";
        (139):  return "Stunning";
        (140):  return "Well";
        (141):  return "Wings";
        (142):  return "Vial";
        (143):  return "Lantern";
        (144):  return "of Icewind Dale";
        (145):  return "Flask of Oil";
        (146):  return "10 ft. Pole";
        (147):  return "50 ft. Rope";
        (148):  return "Iron";
        (149):  return "Thf Prickly Tools";
        (150):  return "Iron Rations";
        (151):  return "Standard Rations";
        (152):  return "Holy Symbol";
        (153):  return "Holy Water Vial";
        (154):  return "Unholy Water Vial";
        (155):  return "Barding";
        (156):  return "Dragon";
        (157):  return "Lightning";
        (158):  return "Saddle";
        (159):  return "Staff";
        (160):  return "Drow";
        (161):  return "Wagon";
        (162):  return "+1";
        (163):  return "+2";
        (164):  return "+3";
        (165):  return "+4";
        (166):  return "+5";
        (167):  return "of";
        (168):  return "Vulnerability";
        (169):  return "Cloak";
        (170):  return "Displacement";
        (171):  return "Torches";
        (172):  return "Oil";
        (173):  return "Speed";
        (174):  return "Tapestry";
        (175):  return "Spine";
        (176):  return "Copper";
        (177):  return "Silver";
        (178):  return "Electrum";
        (179):  return "Gold";
        (180):  return "Platinum";
        (181):  return "Ointment";
        (182):  return "Button";
        (183):  return "Sheet";
        (184):  return "Strength";
        (185):  return "Healing";
        (186):  return "Holding";
        (187):  return "Extra";
        (188):  return "Gaseous Form";
        (189):  return "Slipperiness";
        (190):  return "Jewelled";
        (191):  return "Flying";
        (192):  return "Treasure Finding";
        (193):  return "Fear";
        (194):  return "Disappearance";
        (195):  return "Statuette";
        (196):  return "Fungus";
        (197):  return "Chain";
        (198):  return "Pendant";
        (199):  return "Broach";
        (200):  return "of Striking";
        (201):  return "-1";
        (202):  return "-2";
        (203):  return "-3";
        (204):  return "Lightning Bolt";
        (205):  return "Fire Resistance";
        (206):  return "Magic Missiles";
        (207):  return "Save";
        (208):  return "Clrc Scroll";
        (209):  return "MU Scroll";
        (210):  return "with 1 Spell";
        (211):  return "with 2 Spells";
        (212):  return "with 3 Spells";
        (213):  return "Prot. Scroll";
        (214):  return "Jewelry";
        (215):  return "Fine";
        (216):  return "Huge";
        (217):  return "Bone";
        (218):  return "Brass";
        (219):  return "Key";
        (220):  return "AC 2";
        (221):  return "AC 6";
        (222):  return "AC 4";
        (223):  return "AC 3";
        (224):  return "of Prot.";
        (225):  return "Paralyzation";
        (226):  return "Map";
        (227):  return "Invisibility";
        (228):  return "Missiles";
        (229):  return "Elven";
        (230):  return "Rotting";
        (231):  return "Covered";
        (232):  return "Efreeti";
        (233):  return "Bottle";
        (234):  return "Missile Attractor";
        (235):  return "Letter";
        (236):  return "Secr Door & Trap Det";
        (237):  return "with Squid Emblem";
        (238):  return "Feather Falling";
        (239):  return "Giant Strength";
        (240):  return "Restoring Level(s)";
        (241):  return "Flame Tongue";
        (242):  return "Fireballs";
        (243):  return "Spiritual";
        (244):  return "Boulder";
        (245):  return "Diamond";
        (246):  return "Emerald";
        (247):  return "Opal";
        (248):  return "Saphire";
        (249):  return "Sword";
        (250):  return "of Stonecutting";
        (251):  return "Meteorite Ore";
        (252):  return "Wooden";
        (253):  return "+2 vs Undead";
        (254):  return "Pass";
        (255):  return "Cursed";
    }
};

// Item Name Part - 09 - Treasures of the Savage Frontier
fn GetItemNamePart09(u8 Input) {
    match(Input) {
          (0):  return "";
          (1):  return "Battle Axe";
          (2):  return "Hand Axe";
          (3):  return "Club";
          (4):  return "Dagger";
          (5):  return "Dart";
          (6):  return "Hammer";
          (7):  return "Javelin";
          (8):  return "Mace";
          (9):  return "Morning Star";
         (10):  return "Military Pick";
         (11):  return "Awl Pike";
         (12):  return "Bolt";
         (13):  return "Scimitar";
         (14):  return "Spear";
         (15):  return "Quarter Staff";
         (16):  return "Bastard Sword";
         (17):  return "Broad Sword";
         (18):  return "Long Sword";
         (19):  return "Short Sword";
         (20):  return "Two-Handed Sword";
         (21):  return "Trident";
         (22):  return "Composite Long Bow";
         (23):  return "Composite Short Bow";
         (24):  return "Long Bow";
         (25):  return "Short Bow";
         (26):  return "Fine";
         (27):  return "Light Crossbow";
         (28):  return "Sling";
         (29):  return "Staff";
         (30):  return "Arrow";
         (31):  return "Leather";
         (32):  return "Ring";
         (33):  return "Scale";
         (34):  return "Chain";
         (35):  return "Banded";
         (36):  return "Plate";
         (37):  return "Shield";
         (38):  return "Cleric";
         (39):  return "Scroll";
         (40):  return "Mage";
         (41):  return "Helm";
         (42):  return "Belt";
         (43):  return "Robe";
         (44):  return "Cloak";
         (45):  return "Boots";
         (46):  return "Ring";
         (47):  return "Mail";
         (48):  return "Armor";
         (49):  return "of Prot.";
         (50):  return "Bracers";
         (51):  return "Wand";
         (52):  return "Elixir";
         (53):  return "Potion";
         (54):  return "Youth";
         (55):  return "Ruby";
         (56):  return "Boulder";
         (57):  return "Dragon Breath";
         (58):  return "Displacement";
         (59):  return "Eyes";
         (60):  return "Drow";
         (61):  return "Elfin Chain";
         (62):  return "Ice Storm";
         (63):  return "Saphire";
         (64):  return "Emerald";
         (65):  return "Wizardry";
         (66):  return "Hornet's Nest";
         (67):  return "Fire Resistance";
         (68):  return "Stone";
         (69):  return "Good Luck";
         (70):  return "Flail";
         (71):  return "Halberd";
         (72):  return "Gauntlets";
         (73):  return "Periapt";
         (74):  return "Health";
         (75):  return "Cursed";
         (76):  return "Blessed";
         (77):  return "Bundle of";
         (78):  return "Ogre Power";
         (79):  return "Girdle";
         (80):  return "Giant Strength";
         (81):  return "Mirror";
         (82):  return "Necklace";
         (83):  return "Dragon";
         (84):  return "vs Giants";
         (85):  return "Vorpal";
         (86):  return "Cold Resistance";
         (87):  return "Diamond";
         (88):  return "Lightning";
         (89):  return "Fireballs";
         (90):  return "of";
         (91):  return "Vulnerability";
         (92):  return "Speed";
         (93):  return "Silver";
         (94):  return "Extra";
         (95):  return "Healing";
         (96):  return "Charming";
         (97):  return "Fear";
         (98):  return "Magic Missiles";
         (99):  return "Missiles";
        (100):  return "1 Spell";
        (101):  return "2 Spells";
        (102):  return "3 Spells";
        (103):  return "Paralyzation";
        (104):  return "Invisibility";
        (105):  return "Cute Yellow Canary";
        (106):  return "AC 10";
        (107):  return "AC 6";
        (108):  return "AC 4";
        (109):  return "AC 3";
        (110):  return "AC 2";
        (111):  return "+1";
        (112):  return "+2";
        (113):  return "+3";
        (114):  return "+4";
        (115):  return "Broken";
        (116):  return "-1";
        (117):  return "-2";
        (118):  return "-3";
        (119):  return "Electrical Immunity";
        (120):  return "Gaze Resistance";
        (121):  return "Spiritual";
        (122):  return "Gem";
        (123):  return "Jewelry";
        (124):  return "Blinking";
        (125):  return "from Evil";
        (126):  return "Lucky Paper";
        (127):  return "of Icewind Dale";
        (128):  return "of the Glacier";
        (129):  return "of Stonecutting";
        (130):  return "of Defoliation";
        (131):  return "Sword";
        (132):  return "Splint";
        (133):  return "Leilon";
        (134):  return "Waterdeep";
        (135):  return "Mintarn";
        (136):  return "Orlumbor";
        (137):  return "Daggerford";
        (138):  return "Neverwinter";
        (139):  return "Yartar";
        (140):  return "Longsaddle";
        (141):  return "Ruathym";
        (142):  return "Luskan";
        (143):  return "Mirabar";
        (144):  return "Real";
        (145):  return "Authentic";
        (146):  return "Battle-used";
        (147):  return "Large";
        (148):  return "Farrberjik";
        (149):  return "Furry";
        (150):  return "Black Crystal";
        (151):  return "Certificate";
        (152):  return "Golden";
        (153):  return "Bloodaxe";
        (154):  return "Redshield";
        (155):  return "Shearhammer";
        (156):  return "Northhelm";
        (157):  return "Tyrant's Trident";
        (158):  return "of Stalking";
        (159):  return "Squid Shield";
        (160):  return "Redflame Armor";
        (161):  return "Seahelm";
        (162):  return "Map";
        (163):  return "Spell Enhancing";
        (164):  return "Striking";
        (165):  return "Rod";
        (166):  return "Stone to Flesh";
        (167):  return "Lined";
        (168):  return "Firepot";
        (169):  return "Flask";
        (170):  return "Kraken";
        (171):  return "the";
        (172):  return "Cold";
        (173):  return "Firedock";
        (174):  return "Treasure";
        (175):  return "Oil";
        (176):  return "Cold";
        (177):  return "MU Scroll";
        (178):  return "Normalcy";
        (179):  return "Farms";
        (180):  return "High Captains";
        (181):  return "Tunnels";
          (_):  return "Invalid";
    }
};
// Item Name Part - 10 - Unlimited Adventures
fn GetItemNamePart10(u8 Input) {
    match(Input) {
          (0):  return "";
          (1):  return "Battle Axe";
          (2):  return "Hand Axe";
          (3):  return "Club";
          (4):  return "Dagger";
          (5):  return "Dart";
          (6):  return "Hammer";
          (7):  return "Javelin";
          (8):  return "Mace";
          (9):  return "Morning Star";
         (10):  return "Military Pick";
         (11):  return "Awl Pike";
         (12):  return "Bolt";
         (13):  return "Scimitar";
         (14):  return "Spear";
         (15):  return "Quarter Staff";
         (16):  return "Bastard Sword";
         (17):  return "Broad Sword";
         (18):  return "Long Sword";
         (19):  return "Short Sword";
         (20):  return "Two-Handed Sword";
         (21):  return "Trident";
         (22):  return "Composite Long Bow";
         (23):  return "Composite Short Bow";
         (24):  return "Long Bow";
         (25):  return "Short Bow";
         (26):  return "Fine";
         (27):  return "Light Crossbow";
         (28):  return "Sling";
         (29):  return "Staff";
         (30):  return "Arrow";
         (31):  return "Leather";
         (32):  return "Ring";
         (33):  return "Scale";
         (34):  return "Chain";
         (35):  return "Banded";
         (36):  return "Plate";
         (37):  return "Shield";
         (38):  return "Cleric";
         (39):  return "Scroll";
         (40):  return "Mage";
         (41):  return "Helm";
         (42):  return "Belt";
         (43):  return "Robe";
         (44):  return "Cloak";
         (45):  return "Boots";
         (46):  return "Ring";
         (47):  return "Mail";
         (48):  return "Armor";
         (49):  return "of Prot";
         (50):  return "Bracers";
         (51):  return "Wand";
         (52):  return "Elixir";
         (53):  return "Potion";
         (54):  return "Youth";
         (55):  return "Ruby";
         (56):  return "Boulder";
         (57):  return "Dragon Breath";
         (58):  return "Displacement";
         (59):  return "Eyes";
         (60):  return "Drow";
         (61):  return "Elfin Chain";
         (62):  return "Ice Storm";
         (63):  return "Sapphire";
         (64):  return "Emerald";
         (65):  return "Wizardry";
         (66):  return "Hornet's Nest";
         (67):  return "Fire Resistance";
         (68):  return "Stone";
         (69):  return "Good Luck";
         (70):  return "Flail";
         (71):  return "Halberd";
         (72):  return "Gauntlets";
         (73):  return "Periapt";
         (74):  return "Health";
         (75):  return "Cursed";
         (76):  return "Blessed";
         (77):  return "Bundle of";
         (78):  return "Ogre Power";
         (79):  return "Girdle";
         (80):  return "Giant Strength";
         (81):  return "Mirror";
         (82):  return "Necklace";
         (83):  return "Dragon";
         (84):  return "vs Giants";
         (85):  return "Vorpal";
         (86):  return "Cold Resistance";
         (87):  return "Diamond";
         (88):  return "Lightning";
         (89):  return "Fireballs";
         (90):  return "of";
         (91):  return "Vulnerability";
         (92):  return "Speed";
         (93):  return "Silver";
         (94):  return "Extra";
         (95):  return "Healing";
         (96):  return "Charming";
         (97):  return "Fear";
         (98):  return "Magic Missiles";
         (99):  return "Missiles";
        (100):  return "1 Spell";
        (101):  return "2 Spells";
        (102):  return "3 Spells";
        (103):  return "Paralyzation";
        (104):  return "Invisibility";
        (105):  return "Cute Yellow Canary";
        (106):  return "AC 10";
        (107):  return "AC 6";
        (108):  return "AC 4";
        (109):  return "AC 3";
        (110):  return "AC 2";
        (111):  return "+1";
        (112):  return "+2";
        (113):  return "+3";
        (114):  return "+4";
        (115):  return "+5";
        (116):  return "-1";
        (117):  return "-2";
        (118):  return "-3";
        (119):  return "Electric Immunity";
        (120):  return "Gaze Resistance";
        (121):  return "Spiritual";
        (122):  return "Gem";
        (123):  return "Jewelry";
        (124):  return "Blinking";
        (125):  return "from Evil";
          (_):  return "Invalid";
    }
};

// Function to simplify calling the GetItemNamePart## functions in GetDisplayName function/ITEM struct
fn GetItemNamePart (u8 Input) {
    if (GameID == 1) {
        return GetItemNamePart01(Input);
    }
    if (GameID == 2) {
        return GetItemNamePart02(Input);
    }
    if (GameID == 3) {
        return GetItemNamePart03(Input);
    }
    if (GameID == 4) {
        return GetItemNamePart04(Input);
    }
    if (GameID == 5) {
        return GetItemNamePart05(Input);
    }
    if (GameID == 6) {
        return GetItemNamePart06(Input);
    }
    if (GameID == 7) {
        return GetItemNamePart07(Input);
    }
    if (GameID == 8) {
        return GetItemNamePart08(Input);
    }
    if (GameID == 9) {
        return GetItemNamePart09(Input);
    }
    if (GameID == 10) {
        return GetItemNamePart10(Input);
    }
};

// Function to 0 pad array index in Item display names because of OCD
fn FormatIndex(u8 IndexID, u8 ItemCount) {
    if (ItemCount < 10) {
        return std::string::to_string(IndexID);
    }
    else if (ItemCount < 100) {
        return std::format("{:02d}", IndexID);
    }
    else {
        return std::format("{:03d}", IndexID);
    }
};

// Helper function used in GetDisplayName to identify if a string is a word to be made plural (i.e. add "s") for stacked items
fn IsPluralWord(str Input) {
    str NamePart = std::string::to_lower(Input);
    if (NamePart == "arrow" || NamePart == "bolt" || NamePart == "boulder" || NamePart == "chain" || NamePart == "dart" || NamePart == "javelin" || NamePart == "lucky paper" || NamePart == "quarrel") {
        return true;
    }
    return false;
};

// Function to build Item display names from name parts
fn GetDisplayName(u8 NamePartID1, u8 NamePartID2, u8 NamePartID3, u8 Quantity) {
    str Prefix = "";
    str NamePart1 = GetItemNamePart(NamePartID1);
    str NamePart2 = std::format("{}{}", NamePartID1 > 0 ? " " : "", GetItemNamePart(NamePartID2));
    str NamePart3 = std::format("{}{}", (NamePartID1 > 0 || NamePartID2 > 0) ? " " : "", GetItemNamePart(NamePartID3));

// Prefix Quantity except for Scroll Bundles which is handled separately - Hoopak in 7 has Quantity set erroneously to 1
    if (Quantity > 0 && NamePart1 != "Bundle of" && NamePart1 != "Hoopak") {
        Prefix = std::string::to_string(Quantity) + " ";
    }
// Make plural if Quantity > 1
    if (Quantity > 1 && NamePart1 != "Bundle of" && NamePart1 != "Hoopak") {
    // Get the last character of each word, need to do multiple checks so better to grab once as variables
        str LastChar1 = std::string::substr(NamePart1, std::string::length(NamePart1) - 1, 1);
        str LastChar2 = NamePartID2 == 0 ? "" : std::string::substr(NamePart2, std::string::length(NamePart2) - 1, 1);
        str LastChar3 = NamePartID3 == 0 ? "" : std::string::substr(NamePart3, std::string::length(NamePart3) - 1, 1);

    // Pick word to plurize
        if (LastChar1 != "s" && !(LastChar1 >= "0" && LastChar1 <= "9") && NamePart1 != "Tapestry" && ((NamePartID2 == 0 && NamePartID3 == 0) || IsPluralWord(NamePart1))) {
            NamePart1 = NamePart1 + "s";
        }
        else if (NamePartID2 > 0) {
            if (LastChar2 != "s" && !(LastChar2 >= "0" && LastChar2 <= "9") && NamePart2 != "Tapestry" && NamePartID3 == 0 && !IsPluralWord(NamePart1)) {
                NamePart2 = NamePart2 + "s";
            }
        }
        else if (NamePartID3 > 0) {
            if (LastChar3 != "s" && !(LastChar3 >= "0" && LastChar3 <= "9") && NamePart3 != "Tapestry" && !IsPluralWord(NamePart1)) {
                NamePart3 = NamePart3 + "s";
            }
        }
    }
// Bundle of # Scrolls handling
    if (NamePart1 == "Bundle of") {
        NamePart1 = "Bundle of " + std::string::to_string(Quantity);
    // This is the original bundle quantity, not a string index, so clear value
        NamePart2 = "";
    // Tack on plural "s" if Quantity > 1
        if (Quantity > 1 && !std::string::ends_with(NamePart3, "s")) {
            NamePart3 = NamePart3 + "s";
        }
    }

    return std::format("{}{}{}{}", Prefix, NamePart1, NamePart2, NamePart3);
};