anchor.diff:  		//check that the player has the necessary item(s)
   		bool hasAtLeastOne = action.itemRequirements.any.length == 0;
   		await Future.forEach(action.itemRequirements.any, (String itemType) async {
  -			if(!hasAtLeastOne) {
  +			if (!hasAtLeastOne) {
   				if (includeBroken) {
   					hasAtLeastOne = await InventoryV2.hasItem(email, itemType, 1);
   				} else {
  
positive.code: 
  		if (thenState != null) {
  			new Timer(new Duration(milliseconds: length), () => setState(thenState));
  			length += (states[thenState].numFrames / 30 *1000).toInt();
  		}
  
  		respawn = new DateTime.now().add(new Duration(milliseconds: length));
  
negative.code: 		message = (message ?? '').trim();
  
  		DateTime now = new DateTime.now();
  		if (sayTimeout == null || sayTimeout.compareTo(now) < 0) {
  			bubbleText = message;
  			int timeToLive = message.length * 30 + 3000; // 0.3 sec per character plus 3 seconds minimum
  			timeToLive = min(timeToLive, 10000); // Cap at 10 seconds
  
  			Duration messageDuration = new Duration(milliseconds: timeToLive);
  			sayTimeout = now.add(messageDuration);
  			new Timer(messageDuration, () {
  				bubbleText = null;
  