Closed MichaelTheriot closed 2 years ago
Thanks for reporting! I'd imagine whether an item is tradeable is more likely to be a property than whether it's exchangeable. So it's most likely a misinterpretation. Maybe it means whether it can be noted? Either way, I'll look into it soon™
Based on below information it seems like "tradeable" is indeed not the correct term here. As far as I can tell it does seem to hold true for all exchangeable items though. I could rename it to "exchangeable". Can you think/find any items that this wouldn't hold for? @MichaelTheriot
I've also identified some properties related to trade restricted items (items that can only be traded manually for equal amounts of items in the same category). These do not have the tradeable flag in RSCT right now but definitely are tradeable in some way. See #85.
Maybe it's related to whether items can be noted or not? That's probably why the listed absorption boots are noteable too. This however doesn't hold for extreme potions which can be noted but not traded... What I do know is that it's a messy situation however we look at it.
marker seeds (tradeable, non-ge):
unknown113: 15
unknown114: 5
unknown144: 45
summer pie (tradeable):
unknown113: 10
unknown114: 10
unknown144: 45
dried chillies (restricted trade, non-ge):
unknown144: 45
properties:
unknown3741: 1
unknown689: 1
unknown1397: 2
unknown4907: 125 (destroyForGp)
pure caffeine (restricted trade, same set as dried chillies):
unknown144: 45
properties:
unknown3741: 1
unknown689: 1
unknown1397: 2
unknown4907: 125
tuska mask plate (restricted trade):
unknown113: 30
unknown144: 45
properties:
unknown1397: 1
unknown689: 1
unknown31: 1
unknown3741: 1
coffee stroopwafel (restricted trade):
unknown144: 45
unknown150: 47
properties:
unknown31: 1
unknown3324: 1
unknown689: 1
unknown2951: 10
unknown3741: 1
// tradeable
{
"id": 17281,
"modelId": 54155,
"name": "Absorption boots",
"modelZoom": 855,
"modelRotation1": 158,
"modelRotation2": 246,
"modelOffset1": 5,
"modelOffset2": -7,
"value": 3500,
"equipSlot": 10,
"membersOnly": true,
"maleEquip1": 55692,
"femaleEquip1": 56376,
"inventoryOption2": "Wear",
"inventoryOption3": "Bind",
"category": 17,
"noteId": 17282,
"unknown144": 45,
"unknown151": 51,
"properties": {
"unknown2822": 1,
"magicAffinity": 45,
"meleeAffinity": 65,
"rangedAffinity": 55,
"armourBonus": 520,
"unknown118": 7197,
"dropSoundId": 4191,
"unknown1046": 125,
"equipSkillRequired": 4,
"equipLevelRequired": 57,
"equipSkillRequired2": 1,
"equipLevelRequired2": 57,
"unknown1047": 1
}
}
// untradeable
{
"id": 15829,
"modelId": 54155,
"name": "Absorption boots (b)",
"modelZoom": 855,
"modelRotation1": 158,
"modelRotation2": 246,
"modelOffset1": 5,
"modelOffset2": -7,
"value": 0,
"equipSlot": 10,
"unknown15": true,
"membersOnly": true,
"maleEquip1": 55692,
"femaleEquip1": 56376,
"inventoryOption2": "Wear",
"inventoryOption5": "Destroy",
"category": 17,
"unknown144": 45,
"unknown151": 51,
"properties": {
"unknown2822": 1,
"magicAffinity": 45,
"meleeAffinity": 65,
"rangedAffinity": 55,
"armourBonus": 520,
"unknown118": 7191,
"unknown1046": 125,
"equipSkillRequired": 4,
"equipLevelRequired": 57,
"equipSkillRequired2": 1,
"equipLevelRequired2": 57,
"unknown31": 1,
"unknown1047": 1,
"unknown1050": 1,
"unknown689": 1
}
}
// non-tradeable, noteable
{
"id": 15320,
"modelId": 2789,
"name": "Extreme magic (4)",
"modelZoom": 550,
"modelRotation1": 84,
"modelRotation2": 1996,
"modelOffset2": -1,
"value": 275,
"unknown15": true,
"membersOnly": true,
"inventoryOption1": "Drink",
"inventoryOption4": "Empty",
"modelColors": [[61],[33490]],
"category": 69,
"noteId": 26624,
"unknown144": 45,
"unknown150": 48,
"properties": {
"beastOfBurdenStorable": 1,
"unknown3744": 1,
"dropSoundId": 4175,
"unknown2281": 278
}
}
Update: Scratch that. Property 689 doesn't have anything to do with restricted trade. It just happens to be true for all of above items. be2e1d0a7d3435e5e4cd96f6010e9bd7bb9fce15
You could comprehensively check this by exporting all the ID of items that are sold on the GE and checking that each one has this property. E.g. Terrasaur maul has id 48007 and has a GE page: https://secure.runescape.com/m=itemdb_rs/Terrasaur+maul/viewitem?obj=48007
I know RuneApps maintains a database of this info: https://runeapps.org/apps/ge/browse.php
All the skilling outfits that can be created with Invention have the same trade restrictions. I have not checked if they have any properties indicating this in the cache. I assume that properties like "tradeable" are not modeled in the cache since the client has no need for this information anyway (whereas something like "exchangeable" would probably be used to help with searching for items on the GE).
RuneApps probably just uses a combination of different properties like whether the item has a noted form or has a GE buy limit. Or maybe just whether the GE page exists. For "Extreme magic (4)" and "Absorption boots" it says "Tradable: 0gp" whereas only one of them is actually tradeable.
I assume that properties like "tradeable" are not modeled in the cache since the client has no need for this information anyway (whereas something like "exchangeable" would probably be used to help with searching for items on the GE).
Very likely!
I'll do some additional checking but it seems to me so far that it should be renamed to exchangeable as it stands.
I noticed items that cannot be exchanged on the GE, but are tradeable, are not marked as tradeable.
Is this information not available in the cache or is it just being misinterpreted?