123ishaTest/ludiek

[Generator] Create a Generator plugin

开放

#137 创建于 2026年1月26日

 (0 条评论) (0 个反应) (0 位负责人)TypeScript (4 个派生)auto 404
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 to modify(). Since all input and output is handled through the engine, you could update engine.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!

贡献者指南