anchor.diff:  		document.body.append(super.avatar);
   		super.setLeftTop(new Point(x, y));
   	}
  -}+}
  
positive.code: 		npcId = vendorMap['id'];
  		String windowTitle = vendorMap['vendorName'];
  		if(windowTitle.contains('Street Spirit:')) {
  			windowTitle = windowTitle.substring(15);
  		}
  		header.innerHtml = '<i class="fa-li fa fa-shopping-cart"></i>' + windowTitle;
  		currants.text = " ${commaFormatter.format(metabolics.currants)} currants";
  
negative.code: 				int newNum = buyNum.valueAsNumber.toInt();
  				numToBuy = _updateNumToBuy(item, newNum, sellMode:sellMode);
  			}
  			catch(e) {}
  		});
  
  		// Sell/Buy Button
  		StreamSubscription bb = buyButton.onClick.listen((_) {
  			int newValue;
  			Map actionMap = {"itemType": item['itemType'], "num": numToBuy};
  
  			if(sellMode) {
  				if(numToBuy > getNumItems(item['itemType'])) {
  					return;
  				}
  
  				newValue = metabolics.currants + (item['price'] * numToBuy * .7) ~/ 1;
  				sendAction("sellItem", vendorId, actionMap);
  			}
  			else {
  				if(metabolics.currants < item['price'] * numToBuy) {
  					return;
  				}
  
  				newValue = metabolics.currants - item['price'] * numToBuy;
  				sendAction("buyItem", vendorId, actionMap);
  