So I’ve been messing with this for a long time to no avail. This is my silly little generator I made and I just can’t get this to work.

I am currently using an example marking to make this work until I can figure it out.

Essentially what I’m looking for is how can I make it so that “redtonemarking1” will only be visible/possible if “redBase” is currently on screen/selected.

Is there something I’m missing? Is it not possible? Thank you in advance.

  • VioneT@lemmy.worldM
    link
    fedilink
    English
    arrow-up
    3
    ·
    edit-2
    1 month ago

    Hello, you can check the changes here: https://perchance.org/vgs5qtexr3

    First, you don’t need to have multiple layers per color. You can just have one layer, on the generator its called base, then under it, is the images per color, then you can use Perchance’s dynamic odds to select the correct image.

    output
      [x = base.evaluateItem] [imageLayerCombiner(data)] ^[clicked == "lion"] // selects the base, then uses it for the selections.
    
    data
      ...
      layers
        ...
        base // base layer
          filter = [baseFilters.evaluateItem]
          https://i.imgur.com/B6nOqdc.png^[x == 'blank'] //blank
          https://i.imgur.com/4sFFKFS.png^[x == 'brownpinkBase']
          https://i.imgur.com/xxCVLzl.png^[x == 'redBase']
          https://i.imgur.com/IstBWcB.png^[x == 'blueBase']
          https://i.imgur.com/JIPN8jR.png^[x == 'lavendarBase']
          https://i.imgur.com/ZFlZfFp.png^[x == 'gingerBase']
          https://i.imgur.com/fpAEPbi.png^[x == 'goldBase']
    ...
    base // a separate list to select the base.
      blank
      redBase
      blueBase
      brownpinkBase
      lavendarBase
      gingerBase
      goldBase
    
    baseFilters // List of filter per base, selected with the dynamic odds.
      hue-rotate({0-40}deg) saturate({0-100}%) brightness({50-150}%)^[x == 'brownpinkBase']
      hue-rotate({0-10}deg) saturate({50-120}%) brightness({50-150}%)^[x == 'redBase']
      hue-rotate({0-35}deg) saturate({50-120}%) brightness({50-130}%)^[x == 'blueBase']
      hue-rotate({0-50}deg) saturate({50-120}%) brightness({50-130}%)^[x == 'lavendarBase']
      hue-rotate({0-20}deg) saturate({50-100}%) brightness({50-100}%)^[x == 'gingerBase']
      hue-rotate({0-10}deg) saturate({50-120}%) brightness({50-110}%)^[x == 'goldBase']
    
    • RancidWine@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 month ago

      Thank you so much! I super appreciate the time and help! I can’t wait to add more and keep going now that you’ve made it so much simpler and organized!

    • RancidWine@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 month ago

      I actually just noticed that it is printing out text on the actual generator. Is there a way to avoid this happening but still get my intended results?

      • wthit56@lemmy.world
        link
        fedilink
        English
        arrow-up
        4
        ·
        1 month ago

        I notice the code has [x = base.evaluateItem] which will naturally output base.evaluateItem, which is what you are seeing. You can avoid this to also give it what to output after a comma: [x = base.evaluateItem, ""] Or you could even combine the block with the next block like this: [x = base.evaluateItem, imageLayerCombiner(data)] so that it will set the variable and output just the layer thingy.