anchor.diff:              text = "They are writing a FAQ? I wonder what it says?";
           }else {
               text = "The ${faq.author.htmlTitle()} seems to understand how this bullshit game works. They are reading a FAQ? Huh, I wonder where they found that?";
  -            Player author = randomPlayer(session);
  -            faq.author = author; //new author, not me, i jsut found this
           }
           String id = "faq${div.id}${faq.author.id}";
           //alright, i've got the intro, and i've got the quirk. what now? well, need to print out the phrase and then a link to pop up the faq
  
positive.code:         }
      }
  
      void findRandomFAQ(Element div, Player author) {
          //TODO pick an ascii out, aspect symbols generically, but if there's any rare segments could be bike or 4th wall etc.
          //TODO have local list of faq files for meta bullshit, like the First Player, the creators and wranglers, or maybe some of debug rambling
          ///futureJR: you're gonna wonder why i'm making a new random with the existing seed here
          /// it's because async is a fickle fucking bitch, and since i can't predict how long it will take, other scenes can eat the rand
          Random r = new Random(rand.nextInt());
          GeneratedFAQ gfaq = new GeneratedFAQ(author,"THIS IS JUST A TEST OKAY???", <FAQSection>[],r);
  
          getRandomFAQSections(div, gfaq); //<-- this is async, don't do anything after this dunkass
  
negative.code:         //from manic i have hope, breath, doom and time, murder mode and rage upcoming
          //find FAQs, like Kanaya did. Will either be quirkless or in a random quirk. MOST things here will be intro effects
          //chance of finding a faq
          findRandomFAQ(div); //have to pass player cause async bs means i can't trust instance vars to not change
      }
  
      void tier2(Element div) {
  