anchor.diff:              alchemyResult = new AlchemyResultXOR(<Item> [item1, item2]);
           }
           alchemyResult.apply(player);
  +        if(alchemyShop.shopKeep == ab && alchemyResult.result.traits.contains(ItemTraitFactory.CORRUPT) && !alchemyResult.result.traits.contains(ItemTraitFactory.ZAP)) {
  +            alchemyShop.setQuip("I swear to fuck you don't know how close you came to fucking shit up, asshole. ");
  +        }
           checkShopKeepTrigger(alchemyResult.result);
           //giveRandomItem(); //nope, gotta buy em now asshole.
           if(resultTraitsDiv != null) resultTraitsDiv.remove();
  
positive.code: Map<CombinedTrait, Achievement> achievements = <CombinedTrait, Achievement>{};
  Shop alchemyShop;
  
  int ticksRemaining = 10;
  Element storeDiv;
  Element buyDiv;
  Element sellDiv;
  
negative.code:         Item item = findItemNamed(secondItemSelect.selectedOptions[0].value);
          quip(item);
          Item item2 = findItemNamed(firstItemSelect.selectedOptions[0].value);
          if(alchemyShop.shopKeep == ab && item.traits.contains(ItemTraitFactory.CORRUPT)) {
              Random rand = new Random();
              alchemyShop.setQuip("It seems you have not considered the consequences of alchemizing with that corrupt as fuck ${item.baseName}, asshole.<br><br>Don't worry, as your superior RoboOverlord, I will guide you. <br><Br>There will be all the consequences. All of them. Don't fucking do it. I don't care how fucking ${rand.pickFrom(item.traits).descriptions.first} it is.");
          }
  
          item2TraitsDiv.remove();
          item2TraitsDiv = (renderItemStats(item));
  