ScottJDaley / ada

A Discord bot for the Satisfactory video game.
MIT License
29 stars 5 forks source link

Support for alternate recipes #104

Closed pmeacham closed 1 year ago

pmeacham commented 1 year ago

I'm trying to use an alternate recipe in a build but don't see a way to allow for that. /optimize 6 heavy modular frames calls for screws, but don't want to build reinforced plates with screws. I used /exclude screws but it doesn't have an output option this way.

ScottJDaley commented 1 year ago

Alternate recipes are not enabled by default. You have to enable them using include: alternate recipes.

However, while this allows for alternate recipes, it does not guarantee that it will use alternate recipes. It will still choose what it thinks is optimal in terms of input resources. But you can then exclude certain recipes by explicitly listing them, e.g. exclude: steel screw.

It looks like the "exclude" part does not like when you use the word "recipe", so just list the recipe name without the word "recipe" and you should be fine. For example

Thus, to make heavy modular frames without ever using screws, you could do something like: /optimize output: 6 heavy modular frames include: alternate recipes exclude: screw or steel screw or cast screw

Hope that helps!

P.S. I realize that there is a lot room for improvement here when it comes to controlling which recipes it chooses. Ideally, there would be some way to configure which recipes you have unlocked (https://github.com/ScottJDaley/ada/issues/74). It would also be cool if the response in discord gave you buttons to easily exclude any recipe that it tried to use. Unfortunately, I haven't worked on this bot for over a year and not sure when I'll get back to it.

ScottJDaley commented 1 year ago

You can also use wildcards if you don't want to write out all the screw recipes:

/optimize output:6 heavy modular frames include:alternate recipes exclude:.*screw.*