Skip to content

Latest commit

 

History

History
1020 lines (727 loc) · 54.1 KB

待办事项.md

File metadata and controls

1020 lines (727 loc) · 54.1 KB

待办事项

反馈和灌水 QQ 群:486835964

待办事项 版本 0.1.0

【接收中】

新的独立功能可以列在此处,但是目前并不会把它们添加进去(距离 0.0.9 完成还有一段时间)。

已准备添加的功能

这里列出已经确定确实可以加上的功能,它们会被陆续添加到平台扩展中。

经验值系统

  • 增加 Y 键选择新经验值系统的单位(无等级,等级不满,等级已满等情况,可能会考虑 ini 自定义)。

Buff

  • 【判断单位条件】增加旧经验系统的 单位等级条件

  • 技能 Buff 持续持续类技能和施放型技能,并且其中的按钮也可以支持持续按下的状态。
    技能处于可以使用的状态时,鼠标悬浮可以看到施放范围。

  • 武器类 Buff 支持伪装、威胁度的判断、炮塔模拟能力。
    具体细节待定。

  • 挂载类型 Mark.Type,具有相同类型的 Buff 挂载在同一个单位身上时它们会合并,此项可以改变这个行为。
    具有相同类型的 Buff 仍然不能在同一个单位身上共存,这是硬性限制。
    Mark.Type=Merge:默认值,与原来的 Buff 合并(也就是原来的行为);
    Mark.Type=Replace:干掉原来的 Buff,重新创建;
    Mark.Type=Next:使用新的 Buff 类型再次尝试(新的 Buff 类型如果也是 Next 则会再次更换,请注意死循环);
    Mark.Type=None:放弃挂载,什么都不做。
    具体细节待定。

  • 引爆弹头 Buff 增加 Effect.Owner 的支持。

  • 蜂巢 Buff 增加 调整工蜂跟随等待时间工蜂即时跟随模式工蜂固定移动到 Buff 所属单位指定的 flh 位置的模式工蜂停止并自爆的跟随模式工蜂同步 Buff 所属单位的目标、`` 的功能。

  • 集群 Buff。
    以一定 delay,检测距携带者 range 范围内 techno 的数量和种类(种类数量等),然后给自己上 Buff 或弹头。
    检测数量由 base 定义,负数 / 0 表示 0,也就是无效。
    此外,还会基于需检测的单位的 <总数> 或 <超出数量>,将其按一定比例转化为附加的 Buff 的强度值。
    Modes 第一位,0 表示正常,1 表示反转,即单位数 ≤ base 时触发 Buff。
    Modes 第二位,0 表示基于总数,1 表示基于超出数(第一位为 1 时,此处表示与当前值比 base 少的部分)。

  • 距离-攻击 Buff / 距离-受伤 Buff。
    基于自身和目标的距离,改变自身造成的伤害或受到的伤害,Base=a,b
    a 表示伤害加成幅度,b 表示最大距离(超出该距离按该距离算),Modes=0,0
    第一位,0 表示常态,范围内渐变加成,1 表示反转,对 base 的第二位反向判定,即范围外渐变加成。
    第二位,0 表伤害示加成随距离线性变化,1 表示,只有到达最大距离才有伤害加成。

  • 【判断单位条件】增加单位所在地形的判断。

  • 武器 Buff 增加所属单位等级的识别,不同等级使用不同的武器。

  • 载员 Buff 和工厂 Buff 支持使用单位自己的降落伞(如果单位没有降落伞则使用全局值)。

  • 替换武器 Buff 增加设置 flh 的功能。

  • LockRange=no,武器射程不受 Buff 影响,伤害为 -101 的武器默认 yes,其他武器默认 no,【全都是 no,需要自己设置 yes】。
    LockCellspread=no,弹头范围不受 Buff 影响,武器伤害为 -101 的弹头默认 yes,其他弹头默认 no,【全都是 no,需要自己设置 yes】。

  • 伤害承担伤害格挡 Buff 增加叠加当前护盾值(格挡次数)的效果。

  • 弹头最多只能给指定数量的单位挂载 Buff。

  • 复仇和殉爆类 Buff 增加最大目标数量和距离限制。

杂项

  • 全局和微观定义扳手对建筑的维修效果。
    维修间隔:单位:帧;
    单次维修量:数值或百分比;
    维修的生命值上限:超出后停止,默认 1(0 - 1 表示生命上限百分比,大于 1 表示固定值);
    维修成本:0 表示不花钱,正数表示维修全部生命消耗造价的 n 倍的钱,负数表示每维修 1000 点生命固定花那么多钱(0.15 即造价的 0.15,-500 即维修 1000 生命值固定花 500 元)。
    具体细节待定。

  • 左侧边栏,用于放置超武或技能(快捷方式)。
    具体细节待定。

  • 单位的 能力属性耐久度模式 改为 等级模式

  • 微观单位建造时间的最大值和最小值。

  • 移除覆盖物弹头。

可能会添加的功能

由于不确定是否可以加得上的功能,以及暂时没有合适的解决方案的功能会列在此处。一旦这些功能获得了合适的解决方案,就会被添加到平台扩展中。

Buff

  • Buff 组。
    可以把独立的 Buff 加入 Buff 组;
    Buff 组是一个独立的结构,可以单独定义 Buff 组的行为;
    在挂载、激发、结束、移除和检测 Buff 时,同 Buff 组的 Buff 会作为一个整体进行挂载、激发、结束、移除和检测操作。
    具体细节待定。

  • 消失 Buff。

  • 无法选择 Buff,单位获得 Buff 后就无法被选中了,效果等同于 Selectable=no

  • 抹除特效 Buff。
    持续期间会出现超时空冻结特效(仅特效)。

  • Active.Auto= 不为 0 时,快捷键会失效。

杂项

  • 建筑的供电 / 耗电值,随当前生命值比例变化的自定义。
    Power.DependHP:电力依赖血量;供电的默认 yes,表示电力受血量影响;耗电的默认 no,表示电力不受血量影响。

  • 单位的抛起、浮空与坠落。
    处于浮空状态下的单位可以被对空武器攻击,并且会陷入完全静默状态。
    浮空:对建筑无效,对受到浮空影响的单位取最大浮空高度。
    浮空重量:只能抬升重量小于该值的单位(不受失重因子影响)。
    浮空高度:最大抬升至多高。
    升力:抬升速度 = 升力 / 256 / 目标重量,单位:格子/s。
    降力:降落速度 = 降力 / 256 / 目标重量,单位:格子/s。
    失重因子:抬升或降落时,无视目标多少重量,取值范围:0 ~ 1,1 表示不受重力影响,即立刻抬升至浮空高度或坠落至地面。
    具体细节待定。

  • 自定义溅射范围的形状,设置这个形状后,CellSpread 属性将不再影响溅射范围。
    具体细节待定。

  • 载具伪装载具。

  • 方向护甲(具体细节待定)。

  • 自定义鲍里斯的光线颜色,例如把光线改成蓝色,被瞄准的建筑也是变蓝。
    这块可能会和染色 Buff 关联。

  • 快捷提示功能。
    按下指定快捷键后会在指定建筑引爆 ShoutWarheads= 的弹头(伤害由 ShoutDamages= 指定)、ShoutWeapons= 的武器、播放 ShoutAnims= 的动画、播放 ShoutSounds= 的声音,以及雷达事件。
    建筑按照带有 Shoutable=yes 的主要建造厂、主要重工、主要兵营、主要船厂、其他建筑的顺序选择。
    带有全局默认值,可以微观指定。

  • 坦克碉堡和里面的坦克互相提供 Buff。

  • 奴隶矿场和奴隶互相提供 Buff。

  • 航母和子机互相提供 Buff。

  • LoseHealth 弹头,直接扣除目标单位的血量,不走伤害结算(这也会使武器和弹头的大部分效果失效,同时还会使部分单位受击能力失效)。

已记录的虫子

经验值系统

  • 可以听见敌对方的升级语音。

Buff

  • Buff 的按钮会导致联机时的数据传输错误。

  • 染色 Buff 会有概率失效。

  • 弹药 Buff 无法减少弹药。

  • 带有变形的弹头,BuffAdd.Types 属性会失效。

  • 实测:弹头 Buff 的 Effect.Self=no 有 bug。

; 测试内容 :

; 如果我给 弹头 Buff 设置 Effect.Self=yes , 在 Neutral 所属方的单位 A 身上引爆的弹头设置为 :
AffectsAllies=no
AffectsEnemies=yes
AffectsOwner=no
; 那么弹头引爆后 , 由于我是中立方的敌方 , 弹头预期应该生效 , 测试中也确实对我的单位生效了

; 如果我给 弹头 Buff 设置 Effect.Self=no , 在 Neutral 所属方的单位 A 身上引爆的弹头设置为 :
AffectsAllies=no
AffectsEnemies=no
AffectsOwner=yes
; 那么弹头引爆后 , 那个 弹头 Buff 所属方是我 , 所以弹头应该也是我的 , 弹头预期应该对我生效 , 但是测试中并没有对我生效
  • Anim.RemovedAnim.End 动画无法正常播放。

  • 中立单位使用 死亡复仇 Buff 无效。

  • 中立单位使用 单位投放 Buff 无法投放出中立单位(Buff 来源是正常作战方的单位)。

  • 模式 ini 中 BuffInit.Types 无效。

  • 大范围 吸纳载员 Buff 性能太差(处理时间超过预期)。

杂项

  • 投放单位 超武投放的单位会自动朝着兵营集结。

  • 二次载入 ini 的全局默认值部分时,这些默认值对非新增单位无法生效的问题。

已添加(修改)完毕的功能

Buff

  • Buff 的默认效果强度值。

杂项

  • 单位额外属性算法开关。
    详见 额外属性
    (#180)

想来想去添不上去的功能

(暂无)

待办事项 版本 0.0.9

(已完成)

详细内容已折叠,点击展开。

以下功能暂时无合适的解决方案,因此暂时无法添加,之后有了解决方案时再添加

  • 触发关联 Buff。
    被挂上这种 Buff 的单位可以被触发行为激活,激活后这些单位会成为那个触发的关联对象。

  • 限制矿车只能采某一或几种矿物。

已添加(修改)完毕的功能

全局

  • 重构通用块记录。
    这是一个内部逻辑的改变,并不体现在 ini 中。
    (#93)

  • 单位完全支持类型转换。
    这是一个内部逻辑的改变,并不体现在 ini 中。
    (#90)

  • 改进单位类型和所属作战方的写法。
    详见 类型-Buff(各类 Buff 效果不再列举) 和 类型-判断单位条件
    (#93)

触发与 AI 脚本动作

战役相关

驻军逻辑

  • 重做了驻军逻辑。
    详见 驻军逻辑
    (#150 #151 #152 #153 #154 #176)

  • 根据驻军人数变换驻军建筑的武器;根据驻军步兵的 OccupyMode 变换驻军建筑的武器。
    详见 多驻军武器可切换的驻军武器
    (#86 #87 #88 #89 #150 #151 #152 #153 #154)

  • 现在驻军可以使用心控武器了。
    详见 其他改进
    (#129 #150 #151 #152 #153 #154)

经验值系统

数值显示

元素伤害

Buff

杂项

想来想去添不上去的功能

Buff

  • Buff 的几个效果强度值判断,用 -2147483648 表示不判断。
    数据精度不够,暂时搞不定(而且用这个数值也太怪了)。

  • 记录单位类型 Buff。
    无软用。

  • 弹药限制 Buff。
    当弹药超过 A 或低于 B 时均会禁用指定的武器(会尝试切换为另一个可使用的武器攻击)。
    以目前的眼光看,实现它的代价有点大,而且在功能上并非不可替代。

  • 逆分摊 Buff。
    此 Buff 已被伤害转化广播 Buff 替代。

  • 扩散连锁 Buff。
    此 Buff 已被 Buff 挂载监听 Buff 替代。

  • 扩散弹头(抛射体)Buff。
    此 Buff 已被弹头监听 Buff 替代。

  • 揭示黑幕 Buff。
    因为可以跳超武,而且这个本来也没啥用。

杂项

  • 军团效应。
    性能堪忧,而且可以通过 Buff 简单近似模拟。

  • 单位转换 弹头的持续时间,时间结束变回去。
    使用各种 Buff 可以实现绝大多数情况的需要。

  • 变更所属作战方 弹头的持续时间,时间结束变回去。
    使用各种 Buff 可以实现绝大多数情况的需要。

如果你还想要某个功能的话

如果你确实需要某个逻辑,那么可以提出它(请找我私聊或在群里 @ 我而不是在 github 中提出 Issue 或 Pull request),但是具体能不能加得上就是另一个故事了。

如果你觉得说明书哪里需要改进,可以在 github 中提交 Pull request 并找我私聊或在群里 @ 我,如果没问题的话,我会查看并合并它们。

以下请求会被拒绝

  • 修复其他扩展平台引入的 bug,包括其他扩展平台修了但没完全修好的原版就有的 bug。

  • 复刻其他公开扩展平台已经做好的功能,未正式合并或非常难用的功能除外。

  • 添加改善 ini 编写的功能(类似于经典的块继承这种的),这类功能请提给《INI 连接器》项目。

  • 扩充文件载入范围类的功能(栗如想要支持直接读取名为 rulesEX.ini 的文件或者想要支持读取 .png 文件什么的),某个特殊功能确实需要载入的额外文件除外。

  • 一看就没什么意义,甚至有些离谱的功能(栗如在游戏里打开一个界面编写 ini 代码),过于小众或专用的功能也算在内,此类功能请使用 EC 自行开发(WIC 向 EC 开放的接口可以实现自定义 Buff 效果种类)。

  • 带有某种破坏性效果的功能(比如故意弹窗恶心别人的流氓软件行为),或违反法律法规的功能(如未经用户知晓和允许就读取非游戏文件)。

  • 接入第三方系统,这个会有其他层面的问题,因此不做。

  • 扩展底层结构,比如支持 8 人以上游戏什么的,这个是真的无能为力。