Steamworks-dokumentation
Steam-inventarskema

ItemDef-skemaoversigt

Kerneskema og genstandstyper

Dette er de grundlæggende egenskaber, som forstås og fortolkes af Steam og er nødvendige for korrekt drift af økonomi, handel og visning af inventar. Mange af disse egenskaber er de samme som dem, der returneres af web-API'en ISteamEconomy/GetAssetClassInfo.

En itemdef skal være en af de følgende typer:

NavnBeskrivelse
itemEn genstandstype, som kan findes i en spillers inventar.
bundleRepræsenterer en samling af ItemDefs med en tilhørende mængde af hver type. Når denne genstand er tildelt, udvides den automatisk til sættet med genstande, som er konfigureret i bundle-egenskaben.
generatorRepræsenterer en tilfældig genstand. Hvis denne genstand tildeles, vil en tilfældig genstandstype blive valgt fra bundle-egenskaben, og der oprettes en forekomst af den pågældende type. (For eksempel: Man kan forestille sig, at når man åbner en boks, oprettes der en af de mulige genstande).
playtimegeneratorDette er en særlig form for generator, som kan tildeles af ISteamInventory::TriggerItemDrop-kaldet fra applikationen.
tag_generatorSærlig genstandsdefinition, som tildeler tags til genstandsforekomster (se Genstandstags til Steam-inventar for flere detaljer).
Se nedenfor for detaljer omkring angivelse af komplekse genstandstyper.

Egenskaber for ItemDef

NavnBeskrivelse
appidID'et tilhørende din applikation
nameDet engelske navn på din genstand. Du kan oplyse lokaliserede versioner af genstandens navn ved at bruge følgende eksempel som guide:
name_english: "Hat" name_french: "Chapeau"
Se dokumentationen Lokalisering og sprog for gyldige sprognavne til at bruge som endelse.
descriptionDen engelske beskrivelse af genstanden.
Du kan oplyse lokaliserede versioner af genstandens navn ved at bruge følgende eksempel som guide:
description_english: "This is a tall hat" description_french: "Ceci est un chapeau haut de forme"
Se dokumentationen Lokalisering og sprog for gyldige sprognavne til at bruge som endelse.
display_typeDen engelske beskrivelse af genstandens "type".
Du kan oplyse lokaliserede versioner af genstandens navn ved at bruge følgende eksempel som guide:
display_type_english: "Weapon" display_type_french: "Arme"
Se dokumentationen Lokalisering og sprog for gyldige sprognavne til at bruge som endelse.
itemdefidID'et til denne itemdef. Dette skal være lavere end 1.000.000 for ikke-værkstedsgenstande.
typeIntern værdi. ('item' | 'bundle' | 'generator' | 'playtimegenerator' | 'tag_generator')
bundle(se bundle- eller generator/genstande nedenfor)
promo(se promoformat ndenfor)
drop_start_timeUTC-tidsstempel – forhindrer promoveringstildelinger før dette tidspunkt. Kun gældende, når promo = manual (se promo-format nedenfor)
exchange(se udvekslingsformat nedenfor)
price(se prisformat nedenfor)
price_categoryEn forudindstillet pris, hvor vi håndterer de forskellige valutaværdier for dig. (se prisformat nedenfor)
background_colorFarven, som skal vises på inventarets baggrund som en 6-cifret hex-værdi.
name_colorFarven, som skal vises i inventaret som en 6-cifret hex-værdi.
icon_urlURL'en til genstandens lille ikon. URL-adressen skal være offentligt tilgængelig, fordi Steam-serverne skal downloade og cachelagre. Anbefalet størrelse er 200 x 200 pixel.
icon_url_largeURL'en til genstandens store ikon. URL-adressen skal være offentligt tilgængelig, fordi Steam-serverne skal downloade og cachelagre. Anbefalet størrelse er 2048 x 2048 pixel.
marketablefalse / true . Angiver, om denne genstand kan sælges til andre brugere på Steam-fællesskabsmarkedet.
tradablefalse / true . Angiver, om denne genstand kan byttehandles til andre brugere ved at bruge Steam-byttehandel.
tags(se Genstandstags til Steam-inventar)
tag_generatorsListe med genstandsdefinitions-ID'er for tag_generator, der kan anvendes (se Genstandstags til Steam-inventar)
tag_generator_nameNavn på tagkategoriens token (se Genstandstags til Steam-inventar)
tag_generator_valuesListe med tagværdier og chancen for, at de bliver valgt (se Genstandstags til Steam-inventar)
store_tagsStrenge med "tags" adskilt af et ";"-tegn. Disse tags vil blive brugt til at kategorisere/filtrere genstande i Steam-genstandsbutikken for din app.
store_imagesBilled-URL'er afgrænses af tegnet ";". Disse billeder vil blive proxygodkendt og brugt på oplysningssiden i Steam-genstandsbutikken til din app.
game_onlyfalse/true. Hvis sat til true, bliver genstande ikke vist i brugerens Steam-inventar, herunder notifikationer om nye genstande. Dette bruges ofte til tildelte genstande, der opbruges med det samme.
hiddenfalse/true. Hvis sat til true, vil genstandsdefinitionen ikke blive vist for kunder eller kunne købes. Brug dette til at skjule ubrugte itemdefs eller itemdefs, som er under udvikling.
store_hiddenfalse/true. Hvis sat til true, skjules denne genstand i Steam-genstandsbutikken for din app. Som standard vises alle genstande med en pris i butikken.
use_drop_limitfalse/true. Hvis sat til true, er vi afhængige af drop_limit til at begrænse, at genstandene tildeles via ISteamInventory::TriggerItemDrop. (Se genstandsdrops baseret på spilletid nedenfor).
drop_limitHeltal. Begrænser antallet af gange, denne genstand vil blive droppet via ISteamInventory::TriggerItemDrop for en specifik bruger. Hvis det indstilles til nul, forhindres fremtidige drops af denne genstand. (Se genstandsdrops baseret på spilletid nedenfor)
drop_intervalHeltal. Spilletid i minutter, før genstanden kan tildeles til brugeren. (se genstandsdrops baseret på spilletid nedenfor)
use_drop_windowfalse/true. Hvis sat til true, bruger vi "drop_window" til denne itemdef. (Se genstandsdrops baseret på spilletid nedenfor).
drop_windowHeltal. Forløbet tid i minutter for et nedkølingsvindue, før vi tildeler en genstand. (Se genstandsdrops baseret på spilletid nedenfor).
drop_max_per_windowHeltal. Antal tildelinger inden for det tilladte vindue, før nedkølingen anvendes. Standardværdien er 1. (Se genstandsdrops baseret på spilletid nedenfor)
granted_manuallyfalse/true. Hvis sat til true, vil tildelingen kun ske, når AddPromoItem() eller AddPromoItems() kaldes med det eksplicitte itemdefid. Ellers kan tildelingen ske via kaldet GrantPromoItems(). Standardindstillingen er false.
use_bundle_pricefalse/true. Se Salg af bundter nedenfor. Standardindstillingen er false.
auto_stackfalse/true. Hvis sat til true, bliver genstandstildelinger automatisk tildelt til en enkelt stak af den givne type. Tildelinger vil være synlige i tilbagekald af inventaret, når antallet ændres. Standardindstillingen er false.

Udvidet skema

Du kan også definere yderligere egenskaber, som du har brug for, som er specifikke for dit spil.

Brug af komplekse genstandsdefinitioner

Bundt- og generatorgenstandstyper

Regler for bundle, generator og playtimegenerator defineres med bundle-feltet.

Når der er tale om bundter, beskriver vi typen og antallet af de indeholdte genstande.

I en generator eller playtimegenerator beskriver vi typerne for den mulige genstand, som skal genereres, og den relative vægt af hver type. Bemærk, at vægten ikke behøver at give en total på 100, selv om det kan være praktisk at gøre det.

Bundle-feltet er udtrykt som en serie af genstandsopskrifter adskilt af ";". Hver opskrift indeholder et itemdefid efterfulgt af et valgfrit "x" til at adskille dem og et ønsket antal.

Hvis mængden ikke er angivet udtrykkeligt, bliver "1" anvendt som standard.

Bundtformat

bundle_def : item_recipe , { ";" , item_recipe } item_recipe : item_def , []

Eksempler på bundter

  • Giv én hver af itemdef 201, itemdef 202, item 203:
    type: bundle bundle: 201;202;203
  • Giv en forekomst med itemdef 101 og fem forekomster af itemdef 102:
    type: bundt bundt: 101x1;102x5
  • Tilfældig 90% chance for itemdef 501, 9% chance for itemdef 502, 1% chance for item 503:
    type: generator bundle: 501x90;502x9;503x1
  • 90% chance for en almindelig genstand; 10% chance for en særlig genstand.
    itemdefid: 600 name: Common generator type: generator bundle: 601;602;603;604;605 itemdefid: 700 name: Special generator type: generator bundle: 701;702;703;704;705 itemdefid: 800 name: Master generator type: generator bundle: 600x9;700x1

Bemærk, at ligesom i det sidste eksempel kan bundle- og generator-definitioner kædes sammen. På tildelingstidspunktet bliver komplekse genstandstyper udvidet gentagne gange, indtil der kun er simple itemdefs tilbage.

Formularer for udveksling

ExchangeItems-API'en gør det muligt at definere opskrifter til at lave eller transformere genstande, som kan kaldes sikkert fra klienten. Steam-servere tjekker spillerinventaret og indtager de givne materialer atomistisk og tildeler en målgenstand, hvis kravene er imødekommet.

Genstanden kan være et bundt eller en generatortype.

Formularen er givet i exchange-feltet for målgenstanden. Formularen er specificeret som et sæt af en eller flere opskrifter adskilt med semikolon.

Hver opskrift er et sæt af påkrævede materialegenstande adskilt af komma.

Påkrævede materialer kan gives eksplicit med itemdefid eller med tag. Når antal ikke er angivet, antages 1.

Når ExchangeItems bruges, giver kalderen en liste med materialegenstande, som skal skiftes ud for målgenstanden. Serveren tjekker hver opskrift og vælger den første opskrift, som passer til de givne materialer.

Udskiftninger er fleksible. Man kan bruge en nøgle til at åbne en boks, bygge en smart genstand ud af dele, genbruge genstande og opgradere genstande – alt sammen ved at bruge disse formularer.

Udvekslingsformat

<exchange>: <recipe> { ";" <recipe> } <recipe>: <material> { "," <material> } <material>: <item_def_descriptor> / <item_tag_descriptor> <item_def_descriptor>: <itemdefid> [] <item_tag_descriptor>: <tag_name> ":" <tag_value> []
Hvis det ikke er udtrykkeligt angivet, er det påkrævede antal 1.

Udvekslingseksempel

// kræver en af: // - en genstand#100 og en genstand#101; eller // - fem af genstand#102; eller // - tre af genstand#103 og tre af genstand#104. "byt":"100,101;102x5;103x3,104x3" // kræver en venstre og en højre handske: "byt":"handed:left,handed:right" // kræver tre træer plus noget smart: "exchange":"type:tree*3,quality:fancy" // kræver enten: // - genstand#201 og genstand#202; eller // - en genstand med banansmag og et tungt objekt "exchange":"201x1,202x1;flavor:banana,mass:heavy" // genbrug fem "almindelige" artefakter til et "særligt" artefakt: { "name":"special_generator", "type":"generator", "tags":"rarity:special", "bundle":...., "exchange":"rarity:common*5", ... }

Promogenstande

Promoveringsgenstande kan gives til spillere baseret på et par forskellige kriterier:

  • Ejerskab af et app-ID (inklusive et DLC-app-ID)
  • En præstation
  • Spilletid med et app-ID
  • Manuel tildeling – klienten skal kalde AddPromoItem med det specifikke itemdefid.

Kontrol af promoveringsgenstande foretages af Steam, så det er sikkert at anmode om disse genstande fra klienter. Se ISteamInventory::AddPromoItem. For at definere en promoveringsgenstand skal du sætte en eller flere regler for at tildele genstanden i "promo"-egenskaben til genstandsdefinitionen.

Bemærk, at en promoveringsgenstand også kan være et bundt.

Promoveringsgenstande, som tildeles manuelt, kan også have drop-intervaller. Eksempelvis kan du ved at bruge dette give et par genstande hver uge baseret på, om spilleren gennemfører nogle opgaver (f.eks. missioner i spillet). For at bruge denne funktion skal du angive værdierne for drop_start_time og drop_interval i itemdef.

Promoveringsgenstande gives ikke for midlertidigt ejerskab af en gratis titel (såsom gratis weekend, tilgået via familiedeling osv.).

Format for promoveringsregel

<promo>: <rule> { ";" <rule> } <rule>: app_rule / ach_rule / played_rule / manual_rule <app_rule>: "owns:" <appid> <ach_rule>: "ach:" <achievement name> <played_rule>: "played:" <appid>/<minutes played, defaults to 1> <manual>: "manual"

Promoeksempler

// simple promoregeldefinitioner: "promo":"owns:440;owns:480" // har spillet mindst 15 minutter af app-ID 570: "promo":"played:570/15" // opbrugelig genstand, som kan gives én gang om ugen: "itemdefid": 404, "type": "item", "name": "Weekly Quest Item", "promo": "manual", "drop_start_time": "20170801T120000Z", "drop_interval": 10080, ...

Starttidspunkt for drop

Ved at indstille promoveringsgenstandens starttidspunkt for drop forhindres det, at genstanden tildeles før dette tidspunkt. Dette gør det muligt at implementere den kode, som tildeler den forud for starttidspunktet. Tidsstemplet skal være angivet i ISO 8601-formatet i UTC-tidszone: YYYYMMDDTHHMMSSZ. For eksempel: 20050515T171151Z.

Genstandsdrops baseret på spilletid

Genstandsdrops baseret på spilletid er en funktion, som lader Steam-serverne spore og administrere genstandsdrops baseret på brugerens spilletid. Dit spil behøver kun at kalde funktionen ISteamInventory::TriggerItemDrop, når du mener, at en tildeling bør ske. Du skal oprette genstande af typen "playtimegenerator" for at udføre droppet.
Spilletidsdrops kontrolleres af din applikation. Der er ingen understøttelse af automatiske uddelinger baseret udelukkende på brugerens spilletid. Med andre ord er spilletid en betingelse for tildeling, mens din applikation er den udløsende faktor for tildelingsevalueringen.

Hyppigheden af genstandsdrops kan kontrolleres i applikationen via "Fællesskab" -> "Inventartjeneste" -> sektionen "Udstedelse af genstande i løbet af spillet". Der er tre kontrolelementer, som tillader følgende tilpasning:
(1) Hvor længe før en genstand droppes?
(2) Hvor mange genstande dropper i et vindue? Og:
(3) Hvor lang tid varer nedkølingsvinduet, før vi kan tildele et andet genstandsdrop?

Den samme kontrol eksisterer pr. itemdef. Værdier angivet på genstanden vil tilsidesætte alle indstillinger fra applikationen for den specifikke genstand. Dette gør det muligt for hver genstand at have sin egen drop-rate, maks. pr. vindue og nedkølingsvindue.

Hver tildeling ud fra spilletid spores separat, hvis nogen af drop-indstillingerne er angivet ("drop_interval", "use_drop_window", "drop_window", "drop_max_per_window"). Med andre ord, hvis itemdef IKKE har nogen drop-indstillinger, deler den drops med alle andre spilletidsgeneratorer uden drop-indstillinger, og de er alle begrænset af applikationens drop-interval. Ellers hvis itemdef ikke udtrykkeligt angiver en drop-indstilling, bliver drops tildelt/sporet separat på generatorniveauet, uafhængigt af applikationen eller andre itemdef-spilletidsgeneratorer.

Eksempel på ItemDef-spilletidstildeling

  1. Tillad, at brugeren tildeles en genstand efter 30 minutters spilletid. En ulempe ved denne indstilling er, at den tillader spillerne
    at farme genstanden, da hvert 30. minuts spilletid kvalificerer dem til endnu en genstand. Vi anbefaler stærkt at tilføje en drop-vinduesindstilling:
    "drop_interval" : 30
  2. Begræns det til et enkelt drop pr. dag efter 30 minutters spilletid. Dette belønner dine spillere hver dag, når de vender tilbage for at spille dit spil.
    "drop_interval" : 30,
    "use_drop_window" : "true",
    "drop_window" : "1440"

  3. Tillad, at brugeren får tre genstande hver dag ved at spille i mindst 90 minutter. Disse minutter behøver ikke at være sammenhængende. Dette belønner længere spilletid.
    "drop_interval" : 30,
    "use_drop_window" : "true",
    "drop_window" : "1440",
    "drop_max_per_window" : "3"
Hvis en bestemt itemdef-indstilling mangler, vil den som standard gå til den indstilling, der er defineret i applikationen.

Drop-begrænsninger

drop_limit-variablen tillader en maksimal spilletidstildeling for en specifik generator.
Du kan bruge dette til at begrænse, hvor mange gange en genstand bliver genereret (for eksempel kun den første gang, spilleren gennemfører spillet på Legendarisk sværhedsgrad).
Alternativt kan det bruges til at forhindre fremtidige drops af en udfaset genstand, hvis værdien er sat til nul. Vi anerkender kun denne indstilling, hvis use_drop_limit er "true".

Salg af genstande

For at gøre visse spilobjekter tilgængelige til salg skal du blot definere priser eller priskategorier i de relevante itemdefs.
Se dokumentationen om Steam-genstandsbutikken for flere oplysninger om at aktivere og tilpasse din butiksside.

Angivelse af priser

Genstandspriser kan defineres i et af de følgende felter, men ikke begge.
NavnBeskrivelse
prisDefinerer en specifik pris for hver valutaenhed. Valutaenheder, som ikke er defineret, vil automatisk blive konverteret på købstidspunktet.
price_categoryDefinerer en pris, som vil blive præsenteret i hver understøttede valuta ud fra en pristabel, som vedligeholdes af Valve.

Feltet price_category er angivet i den særlige "VLV"-valuta. VLV100 svarer til 0,99 USD og konverteres til alle understøttede valutaer ved at bruge Valves omregningskurser.

VLV-omregningskurser administreres nøje og tilpasses efter valutabevægelser over tid. Vi opdaterer priserne efter behov, samtidig med at mindre svingninger giver kunderne stabile priser og en positiv brugeroplevelse.

Prisformat

Price: <version>;<pricelist> Version: "1" <pricelist> : <originalprice>(;<price>)* <originalprice>: <currency><integer>(,<currency><integer)* <price>: (<daterange>)<currency><integer>(,<currency><integer)* <currency> 3 bogstaver såsom "USD" <integer> beløb i valutaspecifikke enheder <daterange>: YYYYMMDDTHHMMSSZ-YYYYMMDDTHHMMSSZ
<daterange> skal være præcis 33 tegn.

Listen over "dateranges" skal være i faldende rækkefølge (fremtidige datoer først).

Priseksempler

  • price_category: 1;VLV100
    Forudindstillet priskategori ved hjælp af pristabel, som vedligeholdes af Valve.
  • price: 1;USD100
    (1,00 USD)
  • price: 1;USD100,EUR080
    (1,00 USD eller 0,80 EUR)
  • price: 1;USD100,EUR080;20130607T080000Z-20130606T080000ZUSD50,EUR40
    (1,00 USD eller 0,80 EUR undtagen fra 6.6.2013, hvor prisen reduceres til 0,50 USD/0,40 EUR)
  • price: 1;USD100,EUR080;20130609T080000Z-20130606T080000ZUSD50,EUR40
    (1,00 USD eller 0,80 EUR undtagen fra 6.6.2013, når prisen reduceres til 0,50 USD/0,40 EUR)

Salg af bundter


Genstande i bundter kan sælges i gestandsbutikken. Bundtet vil blive udvidet under betalingsprocessen, så brugeren ser listen med tildelte genstande. Steam-refunderingspolitikken tillader, at købet kan refunderes inden for bestemte tidsbegrænsninger – men alle de vedhæftede genstande skal stadigvæk være i spillerens inventar, og de skal være uden modifikationer.

Bundtpriser

Når et bundt skal prissættes, er der et par ekstra trin, som skal overvejes. Steam bruger priserne fra den individuelle genstand inde i bundtet til at bestemme bundtprisen og tildele bundtindtægterne proportionalt. Denne tildeling bestemmer værdien af udbetalingerne til værkstedets bidragydere. Et bundt kan nemt være en blanding af indhold fra forskellige værkstedsbidragydere eller inkludere værkstedsindhold med dit eget førstepartsindhold.

Sådan fastsætter du en pris på en genstand i et bundt:
  • Angiv prisoplysningerne for hver genstand i bundtet.
  • Hvis nogle af genstandene i bundtet ikke må kunne sælges individuelt, skal du sætte store_hidden
    til "true" for disse genstande.
  • Sæt price- eller price_category-feltet i bundtet til en simpel pris (såsom VLV0).
    Denne pris vil ikke blive brugt i butikken, men er nødvendig for at signalere til genstandsbutikken, at dette er en genstand, som kan sælges.
  • Du kan også vælge at angive purchase_bundle_discount som en procentvis rabat på bundtet.

Hvis du foretrækker det, kan du angive en nøjagtig pris for bundtet i hver valuta. Tilsidesættelse af bundtets pris vil ignorere det, du eventuelt angiver i purchase_bundle_discount. De individuelle genstandspriser bruges dog stadig til at fordele indtægterne fra bundterne forholdsmæssigt, så de skal angives.

Sådan tilsidesætter du den automatiske bundtpris:
  • Angiv den ønskede pris i feltet price eller price_category i bundtet.
  • Sæt use_bundle_price til true for genstanden i bundtet.

Salg af generator-genstande

Forsøg ikke at sælge genstande af typen generator direkte i genstandsbutikken.

For at sælge en genstand med en tilfældig komponent (en skattekiste), bør du definere skattekistegenstanden som en simpel item-type. Derefter skal du oprette en generator-genstand, som accepterer skattekisten som input for en udvekslingsopskrift.

Efter køb kan spilleren vælge at "åbne" skattekisten, hvorefter du kalder ISteamInventory::ExchangeItems for at eksekvere generatoren. Skattekisten vil ikke længere kunne refunderes, når skattekisten først er blevet åbnet.

Forudindstillet VLV-pristabel

Her er de nuværende mulige værdier, som du kan bruge til at specificere en price_category for din genstand.
NavnPris i USD
VLV250,25 USD
VLV500,49 USD
VLV750,75 USD
VLV1000,99 USD
VLV1501,49 USD
VLV2001,99 USD
VLV2502,49 USD
VLV3002,99 USD
VLV3503,49 USD
VLV4003,99 USD
VLV4504,49 USD
VLV5004,99 USD
VLV5505,49 USD
VLV6005,99 USD
VLV6506,49 USD
VLV7006,99 USD
VLV7507,49 USD
VLV8007,99 USD
VLV8508,49 USD
VLV9008,99 USD
VLV9509,49 USD
VLV10009,99 USD
VLV110010,99 USD
VLV120011,99 USD
VLV130012,99 USD
VLV140013,99 USD
VLV150014,99 USD
VLV160015,99 USD
VLV170016,99 USD
VLV180017,99 USD
VLV190018,99 USD
VLV200019,99 USD
VLV250024,99 USD
VLV300029,99 USD
VLV350034,99 USD
VLV400039,99 USD
VLV450044,99 USD
VLV500049,99 USD
VLV600059,99 USD
VLV700069,99 USD
VLV800079,99 USD
VLV900089,99 USD
VLV1000099,99 USD

Eksempel på ItemDef-skema:

{ "appid": 480, "items": [ { "itemdefid": 10, "type": "playtimegenerator", "bundle": "100x100;101x50;102x25;103x2;110x20;111x20;120x5;121x3", "name": "Drop Generator", "name_color": "7D6D00", "background_color": "3C352E", "item_slot": "generator", "icon_url": "http://cdn.beta.steampowered.com/apps/440/icons/c_fireaxe_pyro_xmas_large.fa878752e1aa09a721a03042a234063b6c929278.png", "icon_url_large": "http://cdn.beta.steampowered.com/apps/440/icons/c_fireaxe_pyro_xmas_large.fa878752e1aa09a721a03042a234063b6c929278.png", "tradable": false, "marketable": false }, { "itemdefid": 100, "type": "item", "name": "Hat decoration", "description": "Hat decoration description", "price": "1;USD99", "name_color": "7D6D00", "background_color": "3C352E", "item_slot": "decoration", "icon_url": "http://cdn.beta.steampowered.com/apps/440/icons/c_fireaxe_pyro_xmas_large.fa878752e1aa09a721a03042a234063b6c929278.png", "icon_url_large": "http://cdn.beta.steampowered.com/apps/440/icons/c_fireaxe_pyro_xmas_large.fa878752e1aa09a721a03042a234063b6c929278.png", "tradable": true, "marketable": true }, { "itemdefid": 200, "type": "item", "price": "1;VLV100", "name_english": "Red Hat", "name_german": "Roter Hut", "description_english": "Red Hat", "description_german": "Roter Hut", "store_tags": "hat;featured", "icon_url": "http://cdn.beta.steampowered.com/apps/440/icons/c_fireaxe_pyro_xmas_large.fa878752e1aa09a721a03042a234063b6c929278.png", "icon_url_large": "http://cdn.beta.steampowered.com/apps/440/icons/c_fireaxe_pyro_xmas_large.fa878752e1aa09a721a03042a234063b6c929278.png", "tradable": true, "marketable": true } ] }