public static GameAction GetRandomOrder(Entity entity, int orderTimeOurInMins = 120) { var randomValue = Random.value; if (randomValue <= 0.20) { var drinkOrder = new ExactDrinkorder(DrinkRecipes.GetRandomDrinkRecipe(), entity.GetState <NameState>().Name); return(OrderDrink(entity, drinkOrder, DialogueSelector.GetExactDrinkOrderConversation(drinkOrder.Recipe.DrinkName, entity), orderTimeoutInMins: orderTimeOurInMins)); } if (randomValue <= 0.40) { return(OrderDrink(entity, new NonAlcoholicDrinkOrder(entity.GetState <NameState>().Name), new OrderNonAlcoholicDrinkConversation(), orderTimeoutInMins: orderTimeOurInMins)); } if (randomValue <= 0.60) { var ingredient = Ingredients.DispensedIngredients.PickRandom(); return(OrderDrink(entity, new IncludingIngredientOrder(ingredient, entity.GetState <NameState>().Name), new OrderDrinkIncludingIngredientConversation(ingredient), orderTimeoutInMins: orderTimeOurInMins)); } if (randomValue <= 0.80) { var ingredient = Ingredients.DispensedIngredients.PickRandom(); return(OrderDrink(entity, new ExcludingIngredientOrder(ingredient, entity.GetState <NameState>().Name), new OrderDrinkExcludingIngredientConversation(ingredient), orderTimeoutInMins: orderTimeOurInMins)); } return(OrderDrink(entity, new ExactDrinkorder(DrinkRecipes.Beer, entity.GetState <NameState>().Name), DialogueSelector.GetExactDrinkOrderConversation("Beer", entity), orderTimeoutInMins: orderTimeOurInMins)); }
public static GameAction GetRandomAlcoholicDrinkOrderWithoutFailure(Entity entity, int orderTimeOurInMins = 20) { var drinkOrder = new ExactDrinkorder(DrinkRecipes.GetRandomAlcoholicDrinkRecipe(), entity.GetState <NameState>().Name); return(OrderDrinkWithoutFailure(entity, drinkOrder, DialogueSelector.GetExactDrinkOrderConversation(drinkOrder.Recipe.DrinkName, entity, required: Required.Yes), orderTimeOurInMins)); }
public static GameAction GetRandomAlcoholicDrinkOrder(Entity entity, Conversation correctDrinkConversation = null, Conversation incorrectDrinkConversation = null, Dictionary <String, GameAction> otherDrinkActions = null, int orderTimeOurInMins = 20) { var drinkOrder = new ExactDrinkorder(DrinkRecipes.GetRandomAlcoholicDrinkRecipe(), entity.GetState <NameState>().Name); return(OrderDrink(entity, drinkOrder, DialogueSelector.GetExactDrinkOrderConversation(drinkOrder.Recipe.DrinkName, entity, required: Required.Yes), correctDrinkConversation, incorrectDrinkConversation, otherDrinkActions, orderTimeOurInMins)); }