diff --git a/go/gilded-rose.go b/go/gilded-rose.go index eb7e8efb..872d5336 100644 --- a/go/gilded-rose.go +++ b/go/gilded-rose.go @@ -40,21 +40,21 @@ func UpdateQualityBackstagePasses(item *Item) { if item.sellIn <= 0 { item.quality = 0 - } - - if item.quality == 50 { return } - if item.quality == 49 && item.sellIn <= 0 { - item.quality = 50 + + if item.sellIn <= 5 { + item.quality = min(item.quality+3, 50) + return } - if item.sellIn > 0 { - item.quality++ - } - if item.sellIn <= 0 { - item.quality += 2 + + if item.sellIn <= 10 { + item.quality = min(item.quality+2, 50) + return } + item.quality++ + } func UpdateQuality(items []*Item) { @@ -69,6 +69,11 @@ func UpdateQuality(items []*Item) { continue } + if items[i].name == "Backstage passes to a TAFKAL80ETC concert" { + UpdateQualityBackstagePasses(items[i]) + continue + } + if items[i].name != "Backstage passes to a TAFKAL80ETC concert" { if items[i].quality > 0 { items[i].quality = items[i].quality - 1