我正在建立一个具有相当数量的触发能力的回合制游戏。单个动作可以触发多个自动投射的异能。我试图远离优先系统或让玩家选择首先触发的触发能力(如MTG)。这只是不必要地增加了游戏的复杂性。所以我想尝试同时触发多种能力。
在此示例中, A 触发能力 B 和能力 C 。如果 B 和 C 影响不同的游戏对象,则执行 B ,然后执行 C 就可以了。但是,如果它们都影响相同的游戏对象,则执行顺序可能很重要(执行 B 然后 C 导致与执行 C 不同的状态然后 B )。
我想知道如何解决这个问题。我在考虑一个事件系统。最复杂的游戏机制归结为一些简单的机制(移动,损坏,(de)buff,单位放置/移除)。我可以为每个创建一个事件,并将Execution分成两个步骤。首先是计划损失,计划运动等的计划阶段。这些数据被输入事件系统。一切都完成后,将调度事件并实际执行操作。我看到的唯一问题是两个对象是否想要移动到/在同一位置创建。