diff --git a/features/eid_api.lua b/features/eid_api.lua index 23ced410..c9322249 100644 --- a/features/eid_api.lua +++ b/features/eid_api.lua @@ -1050,7 +1050,12 @@ function EID:hasDescription(entity) (EID.isRepentance and EID:getEntityData(entity, "EID_FlipItemID") and EID:PlayersHaveCollectible(CollectibleType.COLLECTIBLE_FLIP))) end if entity.Type == 6 and entity.Variant == 16 and EID.Config["DisplayCraneInfo"] and EID.isRepentance then - isAllowed = not entity:GetSprite():IsPlaying("Broken") and not entity:GetSprite():IsPlaying("Prize") and not entity:GetSprite():IsPlaying("OutOfPrizes") and (EID.CraneItemType[entity.InitSeed.."Drop"..entity.DropSeed] or EID.CraneItemType[tostring(entity.InitSeed)]) + if REPENTOGON then + isAllowed = not entity:GetSprite():IsPlaying("Broken") and not entity:GetSprite():IsPlaying("OutOfPrizes") and entity:ToSlot():GetPrizeCollectible() ~= -1 + else + isAllowed = not entity:GetSprite():IsPlaying("Broken") and not entity:GetSprite():IsPlaying("OutOfPrizes") and (EID.CraneItemType[entity.InitSeed.."Drop"..entity.DropSeed] or EID.CraneItemType[tostring(entity.InitSeed)]) + end + end if entity.Type == 1000 then if entity.Variant == 161 then diff --git a/main.lua b/main.lua index 6c303d06..97caca07 100644 --- a/main.lua +++ b/main.lua @@ -1505,15 +1505,23 @@ function EID:OnRender() end -- Handle Crane Game elseif closest.Type == 6 and closest.Variant == 16 then - if EID.CraneItemType[tostring(closest.InitSeed)] or EID.CraneItemType[closest.InitSeed.."Drop"..closest.DropSeed] then + local collectibleID = EID.CraneItemType[closest.InitSeed.."Drop"..closest.DropSeed] or EID.CraneItemType[tostring(closest.InitSeed)] + -- REPENTOGON lets us get the prize collectible directly + if REPENTOGON then + collectibleID = closest:ToSlot():GetPrizeCollectible() + end + if collectibleID then + local wasHidden = false if EID:getEntityData(closest, "EID_DontHide") ~= true then - if (EID:hasCurseBlind() and EID.Config["DisableOnCurse"]) or (game.Challenge == Challenge.CHALLENGE_APRILS_FOOL and EID.Config["DisableOnAprilFoolsChallenge"]) then - EID:addQuestionMarkDescription(closest) + local isHideUncollected = EID.Config["HideUncollectedItemDescriptions"] and EID:requiredForCollectionPage(collectibleID) + if (EID.Config["DisableOnCurse"] and EID:hasCurseBlind()) or (isHideUncollected) or (EID.Config["DisableOnAprilFoolsChallenge"] and game.Challenge == Challenge.CHALLENGE_APRILS_FOOL) then + local description = isHideUncollected and EID:getDescriptionEntry("CollectionPageInfo") or nil + EID:addQuestionMarkDescription(closest, description) + wasHidden = true; end - else - local collectibleID = EID.CraneItemType[closest.InitSeed.."Drop"..closest.DropSeed] or EID.CraneItemType[tostring(closest.InitSeed)] + end + if not wasHidden then local descriptionObj = EID:getDescriptionObj(5, 100, collectibleID, closest) - EID:addDescriptionToPrint(descriptionObj) end end