Skip to content

Instantly share code, notes, and snippets.

@Noxville
Created January 6, 2015 16:10
Show Gist options
  • Save Noxville/d6b9061395bffa8a04b9 to your computer and use it in GitHub Desktop.
Save Noxville/d6b9061395bffa8a04b9 to your computer and use it in GitHub Desktop.
Hero <-> ID translation
package twopee
import grails.transaction.Transactional
import javax.annotation.PostConstruct
@Transactional
class HeroService {
Map<String, String> lookupMap
Map<String, Integer> stringToId
@PostConstruct
def init() {
lookupMap = [
"1": "Anti Mage",
"2": "Axe",
"3": "Bane",
"4": "Bloodseeker",
"5": "Crystal Maiden",
"6": "Drow Ranger",
"7": "Earthshaker",
"8": "Juggernaut",
"9": "Mirana",
"10": "Morphling",
"11": "Shadow Fiend",
"12": "Phantom Lancer",
"13": "Puck",
"14": "Pudge",
"15": "Razor",
"16": "Sand King",
"17": "Storm Spirit",
"18": "Sven",
"19": "Tiny",
"20": "Vengeful Spirit",
"21": "Windranger",
"22": "Zeus",
"23": "Kunkka",
"25": "Lina",
"26": "Lion",
"27": "Shadow Shaman",
"28": "Slardar",
"29": "Tidehunter",
"30": "Witch Doctor",
"31": "Lich",
"32": "Riki",
"33": "Enigma",
"34": "Tinker",
"35": "Sniper",
"36": "Necrophos",
"37": "Warlock",
"38": "Beastmaster",
"39": "Queen of Pain",
"40": "Venomancer",
"41": "Faceless Void",
"42": "Wraith King",
"43": "Death Prophet",
"44": "Phantom Assassin",
"45": "Pugna",
"46": "Templar Assassin",
"47": "Viper",
"48": "Luna",
"49": "Dragon Knight",
"50": "Dazzle",
"51": "Clockwerk",
"52": "Leshrac",
"53": "Natures Prophet",
"54": "Lifestealer",
"55": "Dark Seer",
"56": "Clinkz",
"57": "Omniknight",
"58": "Enchantress",
"59": "Huskar",
"60": "Night Stalker",
"61": "Broodmother",
"62": "Bounty Hunter",
"63": "Weaver",
"64": "Jakiro",
"65": "Batrider",
"66": "Chen",
"67": "Spectre",
"68": "Ancient Apparition",
"69": "Doom",
"70": "Ursa",
"71": "Spirit Breaker",
"72": "Gyrocopter",
"73": "Alchemist",
"74": "Invoker",
"75": "Silencer",
"76": "Outworld Devourer",
"77": "Lycan",
"78": "Brewmaster",
"79": "Shadow Demon",
"80": "Lone Druid",
"81": "Chaos Knight",
"82": "Meepo",
"83": "Treant Protector",
"84": "Ogre Magi",
"85": "Undying",
"86": "Rubick",
"87": "Disruptor",
"88": "Nyx Assassin",
"89": "Naga Siren",
"90": "Keeper of the Light",
"91": "Io",
"92": "Visage",
"93": "Slark",
"94": "Medusa",
"95": "Troll Warlord",
"96": "Centaur Warrunner",
"97": "Magnus",
"98": "Timbersaw",
"99": "Bristleback",
"100": "Tusk",
"101": "Skywrath Mage",
"102": "Abaddon",
"103": "Elder Titan",
"104": "Legion Commander",
"106": "Ember Spirit",
"107": "Earth Spirit",
"109": "Terrorblade",
"110": "Phoenix"
]
stringToId = [
"abaddon": 102,
"alchemist": 73,
"ancientapparition": 68,
"antimage": 1,
"axe": 2,
"bane": 3,
"batrider": 65,
"beastmaster": 38,
"bloodseeker": 3,
"bountyhunter": 62,
"brewmaster": 78,
"bristleback": 99,
"broodmother": 61,
"centaur": 96,
"chaosknight": 81,
"chen": 66,
"clinkz": 56,
"crystalmaiden": 5,
"darkseer": 55,
"dazzle": 50,
"deathprophet": 43,
"disruptor": 87,
"doombringer": 69,
"dragonknight": 49,
"drowranger": 6,
"earthshaker": 7,
"earthspirit": 107,
"eldertitan": 103,
"emberspirit": 106,
"enchantress": 58,
"enigma": 33,
"facelessvoid": 41,
"furion": 53,
"gyrocopter": 72,
"huskar": 59,
"invoker": 74,
"jakiro": 64,
"juggernaut": 8,
"keeperofthelight": 90,
"kunkka": 23,
"legioncommander": 104,
"leshrac": 52,
"lich": 31,
"lifestealer": 54,
"lina": 25,
"lion": 26,
"lonedruid": 80,
"luna": 48,
"lycan": 77,
"magnataur": 97,
"medusa": 94,
"meepo": 82,
"mirana": 9,
"morphling": 10,
"nagasiren": 89,
"necrolyte": 36,
"nevermore": 11,
"nightstalker": 60,
"nyxassassin": 88,
"obsidiandestroyer": 76,
"ogremagi": 84,
"omniknight": 57,
"phantomassassin": 44,
"phantomlancer": 12,
"phoenix": 110,
"puck": 13,
"pudge": 14,
"pugna": 45,
"queenofpain": 39,
"rattletrap": 51,
"razor": 15,
"riki": 32,
"rubick": 86,
"sandking": 16,
"shadowdemon": 79,
"shadowshaman": 27,
"shredder": 98,
"silencer": 75,
"skeletonking": 42,
"skywrathmage": 101,
"slardar": 28,
"slark": 93,
"sniper": 35,
"spectre": 67,
"spiritbreaker": 71,
"stormspirit": 17,
"sven": 18,
"techies": -1,
"templarassassin": 46,
"terrorblade": 109,
"tidehunter": 29,
"tinker": 34,
"tiny": 19,
"treant": 83,
"trollwarlord": 95,
"tusk": 100,
"undying": 85,
"ursa": 70,
"vengefulspirit": 20,
"venomancer": 40,
"viper": 47,
"visage": 92,
"warlock": 37,
"weaver": 63,
"windrunner": 21,
"wisp": 91,
"witchdoctor": 30,
"zeus": 22
]
}
String lookup(Integer id) {
lookupMap[id.toString()]
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment