help wantedplugin
仓库指标
- 星标
- (12 个星标)
- PR 合并指标
- (PR 指标待抓取)
描述
A Generator is a mechanic that produces an Output over time, optionally consumes an Input
interface GeneratorDefinition {
id: string
output: Output | Output[]
conditions?: Condition | Condition[]
input?: Input | Input[]
}
interface GeneratorState { isActive: boolean }
TODO
- How to deal when you cannot consume the input, does it turn off or not produce/consume that tick?
- Currently outputs don't have support for being applied fractionally over time, which would be needed for this plugin. We could add something like
fracture(fraction: number)next tomodify(). Since all input and output is handled through the engine, you could updateengine.produce()to add a fraction. I think that is fine for now as it is always a linear scaling fraction - This would work for now, but not when we have complex outputs that require functions to calculate their
amount, which is always static now.
Other
- This is similar to a previous mechanic I had designed called Boosters, which are more focused on modifiers
- This is also similar to another mechanic call Actions, but those are transactions after time has elapsed
But it is probably best to keep them separated into different plugins!