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!

貢獻者指南