Add BodyLoc1 and BodyLoc2 as an array in item Type struct (#77)

* Added BodyLocs to type struct
To hold array of BodyLoc1 and BodyLoc2 from itemtypes.txt

* Updated itemtype template to import BodyLoc1 and BodyLoc2 as an array

* New generated itemtypes.go with BodyLocs array

* Use LocationType instead of string for BodyLocs

* Added missing ItemTypes declaration

---------

Co-authored-by: CarlPoppa <hilikus99@protonmail.com>
This commit is contained in:
CarlPoppa1
2025-02-28 13:01:13 +00:00
committed by GitHub
parent 4204d68f23
commit d2da4b1919
3 changed files with 207 additions and 206 deletions

View File

@@ -6,13 +6,13 @@ package item
const ( const (
{{- range $key, $value := . }} {{- range $key, $value := . }}
Type{{ replace $value.ItemType " " "" }} = "{{ $value.Code }}" Type{{ replace $value.ItemType " " "" }} = "{{ $value.Code }}"
{{- end }} {{- end }}
) )
var ItemTypes = map[string]Type{ var ItemTypes = map[string]Type{
{{- range $key, $value := . }} {{- range $key, $value := . }}
Type{{ replace $value.ItemType " " "" }}: {ID: {{ $key }}, Name: "{{ $value.ItemType }}", Code: "{{ $value.Code }}", Throwable: {{ if eq $value.Throwable "1" }}true{{ else }}false{{ end }}, Beltable: {{ if eq $value.Beltable "1" }}true{{ else }}false{{ end }}}, Type{{ replace $value.ItemType " " "" }}: {ID: {{ $key }}, Name: "{{ $value.ItemType }}", Code: "{{ $value.Code }}", Throwable: {{ if eq $value.Throwable "1" }}true{{ else }}false{{ end }}, Beltable: {{ if eq $value.Beltable "1" }}true{{ else }}false{{ end }}, BodyLocs: []LocationType{{ if $value.BodyLoc1 }}{ {{- $loc1 := $value.BodyLoc1 }}{{- $loc1 = replace $loc1 "tors" "Torso" }}{{- $loc1 = replace $loc1 "larm" "LeftArm" }}{{- $loc1 = replace $loc1 "rarm" "RightArm" }}{{- $loc1 = replace $loc1 "lrin" "LeftRing" }}{{- $loc1 = replace $loc1 "rrin" "RightRing" }}{{- $loc1 = replace $loc1 "glov" "Gloves" }}{{- $loc1 = replace $loc1 "feet" "Feet" }}{{- $loc1 = replace $loc1 "neck" "Neck" }}{{- $loc1 = replace $loc1 "head" "Head" }}{{- $loc1 = replace $loc1 "belt" "Belt" }}Loc{{ $loc1 }}{{ if and $value.BodyLoc2 (ne $value.BodyLoc2 $value.BodyLoc1) }}{{- $loc2 := $value.BodyLoc2 }}{{- $loc2 = replace $loc2 "tors" "Torso" }}{{- $loc2 = replace $loc2 "larm" "LeftArm" }}{{- $loc2 = replace $loc2 "rarm" "RightArm" }}{{- $loc2 = replace $loc2 "lrin" "LeftRing" }}{{- $loc2 = replace $loc2 "rrin" "RightRing" }}{{- $loc2 = replace $loc2 "glov" "Gloves" }}{{- $loc2 = replace $loc2 "feet" "Feet" }}{{- $loc2 = replace $loc2 "neck" "Neck" }}{{- $loc2 = replace $loc2 "head" "Head" }}{{- $loc2 = replace $loc2 "belt" "Belt" }}, Loc{{ $loc2 }}{{ end }}}{{ else }}{}{{ end }}},
{{- end }} {{- end }}
}` }`

View File

@@ -2,210 +2,210 @@
// source: cmd/txttocode/txt/itemtypes.txt // source: cmd/txttocode/txt/itemtypes.txt
package item package item
const ( const (
TypeNone = "none" TypeNone = "none"
TypeShield = "shie" TypeShield = "shie"
TypeArmor = "tors" TypeArmor = "tors"
TypeGold = "gold" TypeGold = "gold"
TypeBowQuiver = "bowq" TypeBowQuiver = "bowq"
TypeCrossbowQuiver = "xboq" TypeCrossbowQuiver = "xboq"
TypePlayerBodyPart = "play" TypePlayerBodyPart = "play"
TypeHerb = "herb" TypeHerb = "herb"
TypePotion = "poti" TypePotion = "poti"
TypeRing = "ring" TypeRing = "ring"
TypeElixir = "elix" TypeElixir = "elix"
TypeAmulet = "amul" TypeAmulet = "amul"
TypeCharm = "char" TypeCharm = "char"
TypeBoots = "boot" TypeBoots = "boot"
TypeGloves = "glov" TypeGloves = "glov"
TypeBook = "book" TypeBook = "book"
TypeBelt = "belt" TypeBelt = "belt"
TypeGem = "gem" TypeGem = "gem"
TypeTorch = "torc" TypeTorch = "torc"
TypeScroll = "scro" TypeScroll = "scro"
TypeScepter = "scep" TypeScepter = "scep"
TypeWand = "wand" TypeWand = "wand"
TypeStaff = "staf" TypeStaff = "staf"
TypeBow = "bow" TypeBow = "bow"
TypeAxe = "axe" TypeAxe = "axe"
TypeClub = "club" TypeClub = "club"
TypeSword = "swor" TypeSword = "swor"
TypeHammer = "hamm" TypeHammer = "hamm"
TypeKnife = "knif" TypeKnife = "knif"
TypeSpear = "spea" TypeSpear = "spea"
TypePolearm = "pole" TypePolearm = "pole"
TypeCrossbow = "xbow" TypeCrossbow = "xbow"
TypeMace = "mace" TypeMace = "mace"
TypeHelm = "helm" TypeHelm = "helm"
TypeMissilePotion = "tpot" TypeMissilePotion = "tpot"
TypeQuest = "ques" TypeQuest = "ques"
TypeBodyPart = "body" TypeBodyPart = "body"
TypeKey = "key" TypeKey = "key"
TypeThrowingKnife = "tkni" TypeThrowingKnife = "tkni"
TypeThrowingAxe = "taxe" TypeThrowingAxe = "taxe"
TypeJavelin = "jave" TypeJavelin = "jave"
TypeWeapon = "weap" TypeWeapon = "weap"
TypeMeleeWeapon = "mele" TypeMeleeWeapon = "mele"
TypeMissileWeapon = "miss" TypeMissileWeapon = "miss"
TypeThrownWeapon = "thro" TypeThrownWeapon = "thro"
TypeComboWeapon = "comb" TypeComboWeapon = "comb"
TypeAnyArmor = "armo" TypeAnyArmor = "armo"
TypeAnyShield = "shld" TypeAnyShield = "shld"
TypeMiscellaneous = "misc" TypeMiscellaneous = "misc"
TypeSocketFiller = "sock" TypeSocketFiller = "sock"
TypeSecondHand = "seco" TypeSecondHand = "seco"
TypeStavesAndRods = "rod" TypeStavesAndRods = "rod"
TypeMissile = "misl" TypeMissile = "misl"
TypeBlunt = "blun" TypeBlunt = "blun"
TypeJewel = "jewl" TypeJewel = "jewl"
TypeClassSpecific = "clas" TypeClassSpecific = "clas"
TypeAmazonItem = "amaz" TypeAmazonItem = "amaz"
TypeBarbarianItem = "barb" TypeBarbarianItem = "barb"
TypeNecromancerItem = "necr" TypeNecromancerItem = "necr"
TypePaladinItem = "pala" TypePaladinItem = "pala"
TypeSorceressItem = "sorc" TypeSorceressItem = "sorc"
TypeAssassinItem = "assn" TypeAssassinItem = "assn"
TypeDruidItem = "drui" TypeDruidItem = "drui"
TypeHandtoHand = "h2h" TypeHandtoHand = "h2h"
TypeOrb = "orb" TypeOrb = "orb"
TypeVoodooHeads = "head" TypeVoodooHeads = "head"
TypeAuricShields = "ashd" TypeAuricShields = "ashd"
TypePrimalHelm = "phlm" TypePrimalHelm = "phlm"
TypePelt = "pelt" TypePelt = "pelt"
TypeCloak = "cloa" TypeCloak = "cloa"
TypeRune = "rune" TypeRune = "rune"
TypeCirclet = "circ" TypeCirclet = "circ"
TypeHealingPotion = "hpot" TypeHealingPotion = "hpot"
TypeManaPotion = "mpot" TypeManaPotion = "mpot"
TypeRejuvPotion = "rpot" TypeRejuvPotion = "rpot"
TypeStaminaPotion = "spot" TypeStaminaPotion = "spot"
TypeAntidotePotion = "apot" TypeAntidotePotion = "apot"
TypeThawingPotion = "wpot" TypeThawingPotion = "wpot"
TypeSmallCharm = "scha" TypeSmallCharm = "scha"
TypeMediumCharm = "mcha" TypeMediumCharm = "mcha"
TypeLargeCharm = "lcha" TypeLargeCharm = "lcha"
TypeAmazonBow = "abow" TypeAmazonBow = "abow"
TypeAmazonSpear = "aspe" TypeAmazonSpear = "aspe"
TypeAmazonJavelin = "ajav" TypeAmazonJavelin = "ajav"
TypeHandtoHand2 = "h2h2" TypeHandtoHand2 = "h2h2"
TypeMagicBowQuiv = "mboq" TypeMagicBowQuiv = "mboq"
TypeMagicXbowQuiv = "mxbq" TypeMagicXbowQuiv = "mxbq"
TypeChippedGem = "gem0" TypeChippedGem = "gem0"
TypeFlawedGem = "gem1" TypeFlawedGem = "gem1"
TypeStandardGem = "gem2" TypeStandardGem = "gem2"
TypeFlawlessGem = "gem3" TypeFlawlessGem = "gem3"
TypePerfectGem = "gem4" TypePerfectGem = "gem4"
TypeAmethyst = "gema" TypeAmethyst = "gema"
TypeDiamond = "gemd" TypeDiamond = "gemd"
TypeEmerald = "geme" TypeEmerald = "geme"
TypeRuby = "gemr" TypeRuby = "gemr"
TypeSapphire = "gems" TypeSapphire = "gems"
TypeTopaz = "gemt" TypeTopaz = "gemt"
TypeSkull = "gemz" TypeSkull = "gemz"
TypeSwordsandKnives = "blde" TypeSwordsandKnives = "blde"
TypeSpearsandPolearms = "sppl" TypeSpearsandPolearms = "sppl"
) )
var ItemTypes = map[string]Type{ var ItemTypes = map[string]Type{
TypeNone: {ID: 0, Name: "None", Code: "none", Throwable: false, Beltable: false}, TypeNone: {ID: 0, Name: "None", Code: "none", Throwable: false, Beltable: false, BodyLocs: []LocationType{}},
TypeShield: {ID: 1, Name: "Shield", Code: "shie", Throwable: false, Beltable: false}, TypeShield: {ID: 1, Name: "Shield", Code: "shie", Throwable: false, Beltable: false, BodyLocs: []LocationType{LocRightArm, LocLeftArm}},
TypeArmor: {ID: 2, Name: "Armor", Code: "tors", Throwable: false, Beltable: false}, TypeArmor: {ID: 2, Name: "Armor", Code: "tors", Throwable: false, Beltable: false, BodyLocs: []LocationType{LocTorso}},
TypeGold: {ID: 3, Name: "Gold", Code: "gold", Throwable: false, Beltable: false}, TypeGold: {ID: 3, Name: "Gold", Code: "gold", Throwable: false, Beltable: false, BodyLocs: []LocationType{}},
TypeBowQuiver: {ID: 4, Name: "Bow Quiver", Code: "bowq", Throwable: false, Beltable: false}, TypeBowQuiver: {ID: 4, Name: "Bow Quiver", Code: "bowq", Throwable: false, Beltable: false, BodyLocs: []LocationType{LocRightArm, LocLeftArm}},
TypeCrossbowQuiver: {ID: 5, Name: "Crossbow Quiver", Code: "xboq", Throwable: false, Beltable: false}, TypeCrossbowQuiver: {ID: 5, Name: "Crossbow Quiver", Code: "xboq", Throwable: false, Beltable: false, BodyLocs: []LocationType{LocRightArm, LocLeftArm}},
TypePlayerBodyPart: {ID: 6, Name: "Player Body Part", Code: "play", Throwable: false, Beltable: false}, TypePlayerBodyPart: {ID: 6, Name: "Player Body Part", Code: "play", Throwable: false, Beltable: false, BodyLocs: []LocationType{}},
TypeHerb: {ID: 7, Name: "Herb", Code: "herb", Throwable: false, Beltable: false}, TypeHerb: {ID: 7, Name: "Herb", Code: "herb", Throwable: false, Beltable: false, BodyLocs: []LocationType{}},
TypePotion: {ID: 8, Name: "Potion", Code: "poti", Throwable: false, Beltable: true}, TypePotion: {ID: 8, Name: "Potion", Code: "poti", Throwable: false, Beltable: true, BodyLocs: []LocationType{}},
TypeRing: {ID: 9, Name: "Ring", Code: "ring", Throwable: false, Beltable: false}, TypeRing: {ID: 9, Name: "Ring", Code: "ring", Throwable: false, Beltable: false, BodyLocs: []LocationType{LocRightRing, LocLeftRing}},
TypeElixir: {ID: 10, Name: "Elixir", Code: "elix", Throwable: false, Beltable: true}, TypeElixir: {ID: 10, Name: "Elixir", Code: "elix", Throwable: false, Beltable: true, BodyLocs: []LocationType{}},
TypeAmulet: {ID: 11, Name: "Amulet", Code: "amul", Throwable: false, Beltable: false}, TypeAmulet: {ID: 11, Name: "Amulet", Code: "amul", Throwable: false, Beltable: false, BodyLocs: []LocationType{LocNeck}},
TypeCharm: {ID: 12, Name: "Charm", Code: "char", Throwable: false, Beltable: false}, TypeCharm: {ID: 12, Name: "Charm", Code: "char", Throwable: false, Beltable: false, BodyLocs: []LocationType{}},
TypeBoots: {ID: 13, Name: "Boots", Code: "boot", Throwable: false, Beltable: false}, TypeBoots: {ID: 13, Name: "Boots", Code: "boot", Throwable: false, Beltable: false, BodyLocs: []LocationType{LocFeet}},
TypeGloves: {ID: 14, Name: "Gloves", Code: "glov", Throwable: false, Beltable: false}, TypeGloves: {ID: 14, Name: "Gloves", Code: "glov", Throwable: false, Beltable: false, BodyLocs: []LocationType{LocGloves}},
TypeBook: {ID: 15, Name: "Book", Code: "book", Throwable: false, Beltable: false}, TypeBook: {ID: 15, Name: "Book", Code: "book", Throwable: false, Beltable: false, BodyLocs: []LocationType{}},
TypeBelt: {ID: 16, Name: "Belt", Code: "belt", Throwable: false, Beltable: false}, TypeBelt: {ID: 16, Name: "Belt", Code: "belt", Throwable: false, Beltable: false, BodyLocs: []LocationType{LocBelt}},
TypeGem: {ID: 17, Name: "Gem", Code: "gem", Throwable: false, Beltable: false}, TypeGem: {ID: 17, Name: "Gem", Code: "gem", Throwable: false, Beltable: false, BodyLocs: []LocationType{}},
TypeTorch: {ID: 18, Name: "Torch", Code: "torc", Throwable: false, Beltable: false}, TypeTorch: {ID: 18, Name: "Torch", Code: "torc", Throwable: false, Beltable: false, BodyLocs: []LocationType{}},
TypeScroll: {ID: 19, Name: "Scroll", Code: "scro", Throwable: false, Beltable: true}, TypeScroll: {ID: 19, Name: "Scroll", Code: "scro", Throwable: false, Beltable: true, BodyLocs: []LocationType{}},
TypeScepter: {ID: 20, Name: "Scepter", Code: "scep", Throwable: false, Beltable: false}, TypeScepter: {ID: 20, Name: "Scepter", Code: "scep", Throwable: false, Beltable: false, BodyLocs: []LocationType{LocRightArm, LocLeftArm}},
TypeWand: {ID: 21, Name: "Wand", Code: "wand", Throwable: false, Beltable: false}, TypeWand: {ID: 21, Name: "Wand", Code: "wand", Throwable: false, Beltable: false, BodyLocs: []LocationType{LocRightArm, LocLeftArm}},
TypeStaff: {ID: 22, Name: "Staff", Code: "staf", Throwable: false, Beltable: false}, TypeStaff: {ID: 22, Name: "Staff", Code: "staf", Throwable: false, Beltable: false, BodyLocs: []LocationType{LocRightArm, LocLeftArm}},
TypeBow: {ID: 23, Name: "Bow", Code: "bow", Throwable: false, Beltable: false}, TypeBow: {ID: 23, Name: "Bow", Code: "bow", Throwable: false, Beltable: false, BodyLocs: []LocationType{LocRightArm, LocLeftArm}},
TypeAxe: {ID: 24, Name: "Axe", Code: "axe", Throwable: false, Beltable: false}, TypeAxe: {ID: 24, Name: "Axe", Code: "axe", Throwable: false, Beltable: false, BodyLocs: []LocationType{LocRightArm, LocLeftArm}},
TypeClub: {ID: 25, Name: "Club", Code: "club", Throwable: false, Beltable: false}, TypeClub: {ID: 25, Name: "Club", Code: "club", Throwable: false, Beltable: false, BodyLocs: []LocationType{LocRightArm, LocLeftArm}},
TypeSword: {ID: 26, Name: "Sword", Code: "swor", Throwable: false, Beltable: false}, TypeSword: {ID: 26, Name: "Sword", Code: "swor", Throwable: false, Beltable: false, BodyLocs: []LocationType{LocRightArm, LocLeftArm}},
TypeHammer: {ID: 27, Name: "Hammer", Code: "hamm", Throwable: false, Beltable: false}, TypeHammer: {ID: 27, Name: "Hammer", Code: "hamm", Throwable: false, Beltable: false, BodyLocs: []LocationType{LocRightArm, LocLeftArm}},
TypeKnife: {ID: 28, Name: "Knife", Code: "knif", Throwable: false, Beltable: false}, TypeKnife: {ID: 28, Name: "Knife", Code: "knif", Throwable: false, Beltable: false, BodyLocs: []LocationType{LocRightArm, LocLeftArm}},
TypeSpear: {ID: 29, Name: "Spear", Code: "spea", Throwable: false, Beltable: false}, TypeSpear: {ID: 29, Name: "Spear", Code: "spea", Throwable: false, Beltable: false, BodyLocs: []LocationType{LocRightArm, LocLeftArm}},
TypePolearm: {ID: 30, Name: "Polearm", Code: "pole", Throwable: false, Beltable: false}, TypePolearm: {ID: 30, Name: "Polearm", Code: "pole", Throwable: false, Beltable: false, BodyLocs: []LocationType{LocRightArm, LocLeftArm}},
TypeCrossbow: {ID: 31, Name: "Crossbow", Code: "xbow", Throwable: false, Beltable: false}, TypeCrossbow: {ID: 31, Name: "Crossbow", Code: "xbow", Throwable: false, Beltable: false, BodyLocs: []LocationType{LocRightArm, LocLeftArm}},
TypeMace: {ID: 32, Name: "Mace", Code: "mace", Throwable: false, Beltable: false}, TypeMace: {ID: 32, Name: "Mace", Code: "mace", Throwable: false, Beltable: false, BodyLocs: []LocationType{LocRightArm, LocLeftArm}},
TypeHelm: {ID: 33, Name: "Helm", Code: "helm", Throwable: false, Beltable: false}, TypeHelm: {ID: 33, Name: "Helm", Code: "helm", Throwable: false, Beltable: false, BodyLocs: []LocationType{LocHead}},
TypeMissilePotion: {ID: 34, Name: "Missile Potion", Code: "tpot", Throwable: true, Beltable: false}, TypeMissilePotion: {ID: 34, Name: "Missile Potion", Code: "tpot", Throwable: true, Beltable: false, BodyLocs: []LocationType{LocRightArm, LocLeftArm}},
TypeQuest: {ID: 35, Name: "Quest", Code: "ques", Throwable: false, Beltable: false}, TypeQuest: {ID: 35, Name: "Quest", Code: "ques", Throwable: false, Beltable: false, BodyLocs: []LocationType{}},
TypeBodyPart: {ID: 36, Name: "Body Part", Code: "body", Throwable: false, Beltable: false}, TypeBodyPart: {ID: 36, Name: "Body Part", Code: "body", Throwable: false, Beltable: false, BodyLocs: []LocationType{}},
TypeKey: {ID: 37, Name: "Key", Code: "key", Throwable: false, Beltable: false}, TypeKey: {ID: 37, Name: "Key", Code: "key", Throwable: false, Beltable: false, BodyLocs: []LocationType{}},
TypeThrowingKnife: {ID: 38, Name: "Throwing Knife", Code: "tkni", Throwable: true, Beltable: false}, TypeThrowingKnife: {ID: 38, Name: "Throwing Knife", Code: "tkni", Throwable: true, Beltable: false, BodyLocs: []LocationType{LocRightArm, LocLeftArm}},
TypeThrowingAxe: {ID: 39, Name: "Throwing Axe", Code: "taxe", Throwable: true, Beltable: false}, TypeThrowingAxe: {ID: 39, Name: "Throwing Axe", Code: "taxe", Throwable: true, Beltable: false, BodyLocs: []LocationType{LocRightArm, LocLeftArm}},
TypeJavelin: {ID: 40, Name: "Javelin", Code: "jave", Throwable: true, Beltable: false}, TypeJavelin: {ID: 40, Name: "Javelin", Code: "jave", Throwable: true, Beltable: false, BodyLocs: []LocationType{LocRightArm, LocLeftArm}},
TypeWeapon: {ID: 41, Name: "Weapon", Code: "weap", Throwable: false, Beltable: false}, TypeWeapon: {ID: 41, Name: "Weapon", Code: "weap", Throwable: false, Beltable: false, BodyLocs: []LocationType{}},
TypeMeleeWeapon: {ID: 42, Name: "Melee Weapon", Code: "mele", Throwable: false, Beltable: false}, TypeMeleeWeapon: {ID: 42, Name: "Melee Weapon", Code: "mele", Throwable: false, Beltable: false, BodyLocs: []LocationType{}},
TypeMissileWeapon: {ID: 43, Name: "Missile Weapon", Code: "miss", Throwable: false, Beltable: false}, TypeMissileWeapon: {ID: 43, Name: "Missile Weapon", Code: "miss", Throwable: false, Beltable: false, BodyLocs: []LocationType{}},
TypeThrownWeapon: {ID: 44, Name: "Thrown Weapon", Code: "thro", Throwable: true, Beltable: false}, TypeThrownWeapon: {ID: 44, Name: "Thrown Weapon", Code: "thro", Throwable: true, Beltable: false, BodyLocs: []LocationType{}},
TypeComboWeapon: {ID: 45, Name: "Combo Weapon", Code: "comb", Throwable: true, Beltable: false}, TypeComboWeapon: {ID: 45, Name: "Combo Weapon", Code: "comb", Throwable: true, Beltable: false, BodyLocs: []LocationType{}},
TypeAnyArmor: {ID: 46, Name: "Any Armor", Code: "armo", Throwable: false, Beltable: false}, TypeAnyArmor: {ID: 46, Name: "Any Armor", Code: "armo", Throwable: false, Beltable: false, BodyLocs: []LocationType{}},
TypeAnyShield: {ID: 47, Name: "Any Shield", Code: "shld", Throwable: false, Beltable: false}, TypeAnyShield: {ID: 47, Name: "Any Shield", Code: "shld", Throwable: false, Beltable: false, BodyLocs: []LocationType{}},
TypeMiscellaneous: {ID: 48, Name: "Miscellaneous", Code: "misc", Throwable: false, Beltable: false}, TypeMiscellaneous: {ID: 48, Name: "Miscellaneous", Code: "misc", Throwable: false, Beltable: false, BodyLocs: []LocationType{}},
TypeSocketFiller: {ID: 49, Name: "Socket Filler", Code: "sock", Throwable: false, Beltable: false}, TypeSocketFiller: {ID: 49, Name: "Socket Filler", Code: "sock", Throwable: false, Beltable: false, BodyLocs: []LocationType{}},
TypeSecondHand: {ID: 50, Name: "Second Hand", Code: "seco", Throwable: false, Beltable: false}, TypeSecondHand: {ID: 50, Name: "Second Hand", Code: "seco", Throwable: false, Beltable: false, BodyLocs: []LocationType{}},
TypeStavesAndRods: {ID: 51, Name: "Staves And Rods", Code: "rod", Throwable: false, Beltable: false}, TypeStavesAndRods: {ID: 51, Name: "Staves And Rods", Code: "rod", Throwable: false, Beltable: false, BodyLocs: []LocationType{}},
TypeMissile: {ID: 52, Name: "Missile", Code: "misl", Throwable: false, Beltable: false}, TypeMissile: {ID: 52, Name: "Missile", Code: "misl", Throwable: false, Beltable: false, BodyLocs: []LocationType{}},
TypeBlunt: {ID: 53, Name: "Blunt", Code: "blun", Throwable: false, Beltable: false}, TypeBlunt: {ID: 53, Name: "Blunt", Code: "blun", Throwable: false, Beltable: false, BodyLocs: []LocationType{}},
TypeJewel: {ID: 54, Name: "Jewel", Code: "jewl", Throwable: false, Beltable: false}, TypeJewel: {ID: 54, Name: "Jewel", Code: "jewl", Throwable: false, Beltable: false, BodyLocs: []LocationType{}},
TypeClassSpecific: {ID: 55, Name: "Class Specific", Code: "clas", Throwable: false, Beltable: false}, TypeClassSpecific: {ID: 55, Name: "Class Specific", Code: "clas", Throwable: false, Beltable: false, BodyLocs: []LocationType{}},
TypeAmazonItem: {ID: 56, Name: "Amazon Item", Code: "amaz", Throwable: false, Beltable: false}, TypeAmazonItem: {ID: 56, Name: "Amazon Item", Code: "amaz", Throwable: false, Beltable: false, BodyLocs: []LocationType{}},
TypeBarbarianItem: {ID: 57, Name: "Barbarian Item", Code: "barb", Throwable: false, Beltable: false}, TypeBarbarianItem: {ID: 57, Name: "Barbarian Item", Code: "barb", Throwable: false, Beltable: false, BodyLocs: []LocationType{}},
TypeNecromancerItem: {ID: 58, Name: "Necromancer Item", Code: "necr", Throwable: false, Beltable: false}, TypeNecromancerItem: {ID: 58, Name: "Necromancer Item", Code: "necr", Throwable: false, Beltable: false, BodyLocs: []LocationType{}},
TypePaladinItem: {ID: 59, Name: "Paladin Item", Code: "pala", Throwable: false, Beltable: false}, TypePaladinItem: {ID: 59, Name: "Paladin Item", Code: "pala", Throwable: false, Beltable: false, BodyLocs: []LocationType{}},
TypeSorceressItem: {ID: 60, Name: "Sorceress Item", Code: "sorc", Throwable: false, Beltable: false}, TypeSorceressItem: {ID: 60, Name: "Sorceress Item", Code: "sorc", Throwable: false, Beltable: false, BodyLocs: []LocationType{}},
TypeAssassinItem: {ID: 61, Name: "Assassin Item", Code: "assn", Throwable: false, Beltable: false}, TypeAssassinItem: {ID: 61, Name: "Assassin Item", Code: "assn", Throwable: false, Beltable: false, BodyLocs: []LocationType{}},
TypeDruidItem: {ID: 62, Name: "Druid Item", Code: "drui", Throwable: false, Beltable: false}, TypeDruidItem: {ID: 62, Name: "Druid Item", Code: "drui", Throwable: false, Beltable: false, BodyLocs: []LocationType{}},
TypeHandtoHand: {ID: 63, Name: "Hand to Hand", Code: "h2h", Throwable: false, Beltable: false}, TypeHandtoHand: {ID: 63, Name: "Hand to Hand", Code: "h2h", Throwable: false, Beltable: false, BodyLocs: []LocationType{LocRightArm, LocLeftArm}},
TypeOrb: {ID: 64, Name: "Orb", Code: "orb", Throwable: false, Beltable: false}, TypeOrb: {ID: 64, Name: "Orb", Code: "orb", Throwable: false, Beltable: false, BodyLocs: []LocationType{LocRightArm, LocLeftArm}},
TypeVoodooHeads: {ID: 65, Name: "Voodoo Heads", Code: "head", Throwable: false, Beltable: false}, TypeVoodooHeads: {ID: 65, Name: "Voodoo Heads", Code: "head", Throwable: false, Beltable: false, BodyLocs: []LocationType{LocRightArm, LocLeftArm}},
TypeAuricShields: {ID: 66, Name: "Auric Shields", Code: "ashd", Throwable: false, Beltable: false}, TypeAuricShields: {ID: 66, Name: "Auric Shields", Code: "ashd", Throwable: false, Beltable: false, BodyLocs: []LocationType{LocRightArm, LocLeftArm}},
TypePrimalHelm: {ID: 67, Name: "Primal Helm", Code: "phlm", Throwable: false, Beltable: false}, TypePrimalHelm: {ID: 67, Name: "Primal Helm", Code: "phlm", Throwable: false, Beltable: false, BodyLocs: []LocationType{LocHead}},
TypePelt: {ID: 68, Name: "Pelt", Code: "pelt", Throwable: false, Beltable: false}, TypePelt: {ID: 68, Name: "Pelt", Code: "pelt", Throwable: false, Beltable: false, BodyLocs: []LocationType{LocHead}},
TypeCloak: {ID: 69, Name: "Cloak", Code: "cloa", Throwable: false, Beltable: false}, TypeCloak: {ID: 69, Name: "Cloak", Code: "cloa", Throwable: false, Beltable: false, BodyLocs: []LocationType{LocTorso}},
TypeRune: {ID: 70, Name: "Rune", Code: "rune", Throwable: false, Beltable: false}, TypeRune: {ID: 70, Name: "Rune", Code: "rune", Throwable: false, Beltable: false, BodyLocs: []LocationType{}},
TypeCirclet: {ID: 71, Name: "Circlet", Code: "circ", Throwable: false, Beltable: false}, TypeCirclet: {ID: 71, Name: "Circlet", Code: "circ", Throwable: false, Beltable: false, BodyLocs: []LocationType{LocHead}},
TypeHealingPotion: {ID: 72, Name: "Healing Potion", Code: "hpot", Throwable: false, Beltable: true}, TypeHealingPotion: {ID: 72, Name: "Healing Potion", Code: "hpot", Throwable: false, Beltable: true, BodyLocs: []LocationType{}},
TypeManaPotion: {ID: 73, Name: "Mana Potion", Code: "mpot", Throwable: false, Beltable: true}, TypeManaPotion: {ID: 73, Name: "Mana Potion", Code: "mpot", Throwable: false, Beltable: true, BodyLocs: []LocationType{}},
TypeRejuvPotion: {ID: 74, Name: "Rejuv Potion", Code: "rpot", Throwable: false, Beltable: true}, TypeRejuvPotion: {ID: 74, Name: "Rejuv Potion", Code: "rpot", Throwable: false, Beltable: true, BodyLocs: []LocationType{}},
TypeStaminaPotion: {ID: 75, Name: "Stamina Potion", Code: "spot", Throwable: false, Beltable: true}, TypeStaminaPotion: {ID: 75, Name: "Stamina Potion", Code: "spot", Throwable: false, Beltable: true, BodyLocs: []LocationType{}},
TypeAntidotePotion: {ID: 76, Name: "Antidote Potion", Code: "apot", Throwable: false, Beltable: true}, TypeAntidotePotion: {ID: 76, Name: "Antidote Potion", Code: "apot", Throwable: false, Beltable: true, BodyLocs: []LocationType{}},
TypeThawingPotion: {ID: 77, Name: "Thawing Potion", Code: "wpot", Throwable: false, Beltable: true}, TypeThawingPotion: {ID: 77, Name: "Thawing Potion", Code: "wpot", Throwable: false, Beltable: true, BodyLocs: []LocationType{}},
TypeSmallCharm: {ID: 78, Name: "Small Charm", Code: "scha", Throwable: false, Beltable: false}, TypeSmallCharm: {ID: 78, Name: "Small Charm", Code: "scha", Throwable: false, Beltable: false, BodyLocs: []LocationType{}},
TypeMediumCharm: {ID: 79, Name: "Medium Charm", Code: "mcha", Throwable: false, Beltable: false}, TypeMediumCharm: {ID: 79, Name: "Medium Charm", Code: "mcha", Throwable: false, Beltable: false, BodyLocs: []LocationType{}},
TypeLargeCharm: {ID: 80, Name: "Large Charm", Code: "lcha", Throwable: false, Beltable: false}, TypeLargeCharm: {ID: 80, Name: "Large Charm", Code: "lcha", Throwable: false, Beltable: false, BodyLocs: []LocationType{}},
TypeAmazonBow: {ID: 81, Name: "Amazon Bow", Code: "abow", Throwable: false, Beltable: false}, TypeAmazonBow: {ID: 81, Name: "Amazon Bow", Code: "abow", Throwable: false, Beltable: false, BodyLocs: []LocationType{LocRightArm, LocLeftArm}},
TypeAmazonSpear: {ID: 82, Name: "Amazon Spear", Code: "aspe", Throwable: false, Beltable: false}, TypeAmazonSpear: {ID: 82, Name: "Amazon Spear", Code: "aspe", Throwable: false, Beltable: false, BodyLocs: []LocationType{LocRightArm, LocLeftArm}},
TypeAmazonJavelin: {ID: 83, Name: "Amazon Javelin", Code: "ajav", Throwable: true, Beltable: false}, TypeAmazonJavelin: {ID: 83, Name: "Amazon Javelin", Code: "ajav", Throwable: true, Beltable: false, BodyLocs: []LocationType{LocRightArm, LocLeftArm}},
TypeHandtoHand2: {ID: 84, Name: "Hand to Hand 2", Code: "h2h2", Throwable: false, Beltable: false}, TypeHandtoHand2: {ID: 84, Name: "Hand to Hand 2", Code: "h2h2", Throwable: false, Beltable: false, BodyLocs: []LocationType{LocRightArm, LocLeftArm}},
TypeMagicBowQuiv: {ID: 85, Name: "Magic Bow Quiv", Code: "mboq", Throwable: false, Beltable: false}, TypeMagicBowQuiv: {ID: 85, Name: "Magic Bow Quiv", Code: "mboq", Throwable: false, Beltable: false, BodyLocs: []LocationType{LocRightArm, LocLeftArm}},
TypeMagicXbowQuiv: {ID: 86, Name: "Magic Xbow Quiv", Code: "mxbq", Throwable: false, Beltable: false}, TypeMagicXbowQuiv: {ID: 86, Name: "Magic Xbow Quiv", Code: "mxbq", Throwable: false, Beltable: false, BodyLocs: []LocationType{LocRightArm, LocLeftArm}},
TypeChippedGem: {ID: 87, Name: "Chipped Gem", Code: "gem0", Throwable: false, Beltable: false}, TypeChippedGem: {ID: 87, Name: "Chipped Gem", Code: "gem0", Throwable: false, Beltable: false, BodyLocs: []LocationType{}},
TypeFlawedGem: {ID: 88, Name: "Flawed Gem", Code: "gem1", Throwable: false, Beltable: false}, TypeFlawedGem: {ID: 88, Name: "Flawed Gem", Code: "gem1", Throwable: false, Beltable: false, BodyLocs: []LocationType{}},
TypeStandardGem: {ID: 89, Name: "Standard Gem", Code: "gem2", Throwable: false, Beltable: false}, TypeStandardGem: {ID: 89, Name: "Standard Gem", Code: "gem2", Throwable: false, Beltable: false, BodyLocs: []LocationType{}},
TypeFlawlessGem: {ID: 90, Name: "Flawless Gem", Code: "gem3", Throwable: false, Beltable: false}, TypeFlawlessGem: {ID: 90, Name: "Flawless Gem", Code: "gem3", Throwable: false, Beltable: false, BodyLocs: []LocationType{}},
TypePerfectGem: {ID: 91, Name: "Perfect Gem", Code: "gem4", Throwable: false, Beltable: false}, TypePerfectGem: {ID: 91, Name: "Perfect Gem", Code: "gem4", Throwable: false, Beltable: false, BodyLocs: []LocationType{}},
TypeAmethyst: {ID: 92, Name: "Amethyst", Code: "gema", Throwable: false, Beltable: false}, TypeAmethyst: {ID: 92, Name: "Amethyst", Code: "gema", Throwable: false, Beltable: false, BodyLocs: []LocationType{}},
TypeDiamond: {ID: 93, Name: "Diamond", Code: "gemd", Throwable: false, Beltable: false}, TypeDiamond: {ID: 93, Name: "Diamond", Code: "gemd", Throwable: false, Beltable: false, BodyLocs: []LocationType{}},
TypeEmerald: {ID: 94, Name: "Emerald", Code: "geme", Throwable: false, Beltable: false}, TypeEmerald: {ID: 94, Name: "Emerald", Code: "geme", Throwable: false, Beltable: false, BodyLocs: []LocationType{}},
TypeRuby: {ID: 95, Name: "Ruby", Code: "gemr", Throwable: false, Beltable: false}, TypeRuby: {ID: 95, Name: "Ruby", Code: "gemr", Throwable: false, Beltable: false, BodyLocs: []LocationType{}},
TypeSapphire: {ID: 96, Name: "Sapphire", Code: "gems", Throwable: false, Beltable: false}, TypeSapphire: {ID: 96, Name: "Sapphire", Code: "gems", Throwable: false, Beltable: false, BodyLocs: []LocationType{}},
TypeTopaz: {ID: 97, Name: "Topaz", Code: "gemt", Throwable: false, Beltable: false}, TypeTopaz: {ID: 97, Name: "Topaz", Code: "gemt", Throwable: false, Beltable: false, BodyLocs: []LocationType{}},
TypeSkull: {ID: 98, Name: "Skull", Code: "gemz", Throwable: false, Beltable: false}, TypeSkull: {ID: 98, Name: "Skull", Code: "gemz", Throwable: false, Beltable: false, BodyLocs: []LocationType{}},
TypeSwordsandKnives: {ID: 99, Name: "Swords and Knives", Code: "blde", Throwable: false, Beltable: false}, TypeSwordsandKnives: {ID: 99, Name: "Swords and Knives", Code: "blde", Throwable: false, Beltable: false, BodyLocs: []LocationType{}},
TypeSpearsandPolearms: {ID: 100, Name: "Spears and Polearms", Code: "sppl", Throwable: false, Beltable: false}, TypeSpearsandPolearms: {ID: 100, Name: "Spears and Polearms", Code: "sppl", Throwable: false, Beltable: false, BodyLocs: []LocationType{}},
} }

View File

@@ -6,6 +6,7 @@ type Type struct {
Code string Code string
Throwable bool Throwable bool
Beltable bool Beltable bool
BodyLocs []LocationType
} }
// TODO: Refactor to support parent types // TODO: Refactor to support parent types