@CONFIG( version -> "1.0.0" features -> "advanced" ) @ENUMS( Rarity { COMMON = 0, UNCOMMON = 1, RARE = 2, EPIC = 3, LEGENDARY = 4 } ItemType { WEAPON = 0, ARMOR = 1, CONSUMABLE = 2, QUEST = 3 } ) @QUICKFUNCS( ~makeItem(id, name, type, rarity, value) { return { id = id name = name type = type rarity = rarity value = value sell = value / 2 } } ~scaledValue(base, rarity) { return rarity == Rarity.LEGENDARY ? base * 5 : rarity == Rarity.EPIC ? base * 3 : rarity == Rarity.RARE ? base * 2 : rarity == Rarity.UNCOMMON ? base + (base / 2) : base } ) @DATA( package_name = "base_types" package_version = "1.0.0" )