Skip to content

Latest commit

 

History

History
141 lines (91 loc) · 7.56 KB

功能扩展-驻军逻辑.md

File metadata and controls

141 lines (91 loc) · 7.56 KB

功能扩展-驻军逻辑

现在驻军支持使用自己武器的射程了(强制启用)。

步兵的驻军武器强制使用 OccupyWeaponEliteOccupyWeapon 来确定,如果没写则会视为无驻军武器(即可以驻军但是无法开火)。
驻军使用自己的武器射程而非全局设置,而全局设置 [CombatDamage] -> OccupyWeaponRange 则改为指定可驻军建筑允许的最大射程。

注意

  • 这只是允许驻军使用自己武器的射程进行攻击,而非类似于战斗要塞的逻辑,因此超时空冻结、子机、寄生等特殊武器仍然会有限制(可以使用心控武器)。

  • 对于其他扩展平台中的类似于“击杀可驻军建筑内的步兵”之类的效果,有些可能导致弹窗,原因有很多可能,比如击杀了步兵而没有重置驻军开火的顺序,因此类似的功能请测试后再使用。
    原始平台中的此种相关问题已修,而其他扩展平台中的问题则可能需要联系相关开发人员。

全局属性调整

需要手动调整可驻军建筑允许的最大射程。

位于 rulesmd.ini

[CombatDamage]
OccupyWeaponRange=6                             ; 已失效 , 由于现在驻军使用战斗要塞的模式自己打自己的 , 因此这个全局参数已经没有任何实际作用了 , 默认值是 6 , 单位 : 格子
                                                ; 但是为了保险起见,仍建议使用一个相对正常的数值
OccupyDamageMultiplier=1.2                      ; 浮点数 , 指定驻军的攻击伤害倍率 , 默认值是 1.2
OccupyROFMultiplier=1.2                         ; 浮点数 , 指定驻军的攻击速度倍率 , 默认值是 1.2

当第一个进入建筑的单位是射程比较短的单位时,需要等待一定的时间,之后射程长的单位才会自动开火。
自动开火的延迟受到 [General] -> NormalTargetingDelay 的值的影响,但不是精准影响,具体的时间会有所浮动,若要修改此值,建议修改为一个大于 6 的质数。

位于 rulesmd.ini

[General]
NormalTargetingDelay=27                         ; 整数 , 单位普通状态下对范围内的目标进行攻击的延迟时间 , 它提供了一个精确的值 , 27 只是泰伯利亚之日的默认值 , 单位 : 帧

新增的全局属性

可以统一设置可驻军建筑的武器。

位于 rulesmd.ini

[WICControls]
OccupyBuildingPrimary=                          ; 武器 , 如果设置了且可驻军建筑无武器 , 则此武器替代可驻军建筑的主武器 , 默认值是 空

原有的驻军属性

请注意以下属性,它们在 WIC 中进行了重新定义,请确保你的单位拥有合适的属性。

位于 rulesmd.ini

[SomeBuildingType]
CanBeOccupied=no                                ; yes/no , 建筑允许驻军 , 默认值是 no
CanOccupyFire=no                                ; yes/no , 建筑允许驻军进行开火 , 默认值是 no

新增的建筑微观设置

位于 rulesmd.ini

[SomeBuildingType]
; 驻军设置
OccupyTargetingDelay=27                         ; 整数 , 可驻军建筑对范围内的目标进行攻击的延迟时间 , 默认值是 [General] -> NormalTargetingDelay 的值

; 驻军加成
OccupyDamageMultiplier=1.2                      ; 浮点数 , 指定该可驻军建筑中驻军的攻击伤害倍率 , 默认值是 [CombatDamage] -> OccupyDamageMultiplier 的值
OccupyROFMultiplier=1.2                         ; 浮点数 , 指定该可驻军建筑中驻军的攻击速度倍率 , 默认值是 [CombatDamage] -> OccupyROFMultiplier 的值
OccupyExtraRange=0                              ; 浮点数 , 指定该可驻军建筑中驻军的攻击射程增加量 , 负数 = 减少射程 , 默认值是 0 , 单位 : 格子
OccupyAutoRange=yes                             ; yes/no , 是否根据建筑面积自动提升射程 , 避免驻军到拥有较大面积的建筑时步兵对外射程不足的问题 , 默认值是 yes

; 驻军开火限制
CanOccupyTypes=                                 ; 步兵单位列表 , 可以在此建筑驻军开火的步兵列表 (白名单) , 不写或留空表示所有人都可以开火 , 默认值是 空
CannotOccupyTypes=                              ; 步兵单位列表 , 不可以在此建筑驻军开火的步兵列表 (黑名单) , 默认值是 空
                                                ; 如果两个列表都设置了就必须同时满足两个列表才能开火 , 然后即使不能开火 , 单位也依然可以进入可驻军建筑

; 复刻 yr 的固定驻军武器射程
OccupyForceRange=0                              ; 浮点数 , 在这里 , 你可以恢复以前的固定射程的逻辑 , 强制此建筑的所有驻军都使用此射程 , 当此项大于 0 时生效 , 默认值是 0 , 单位 : 格子
                                                ; 不影响 OccupyAutoRange 的效果 , OccupyExtraRange 不再生效

; 复刻 ra2 的固定驻军武器
ForceUseSelfOccupyWeapon=no                     ; yes/no , 启用逻辑 , 优先级高于【多驻军武器】 , 默认值是 no
                                                ; yes = 所有驻军无法使用自己的驻军武器 , 改为使用建筑的 OccupyWeapon 武器开火
                                                ; 如果你没有写建筑的 OccupyWeapon , 则效果基本等同于 CanOccupyFire=no , 还请注意
                                                ; 同时这是一个优化方案 , 在要求所有步兵都使用同一个驻军武器时 , 它的性能会比较高
OccupyWeapon=                                   ; 武器 , 新兵级使用的驻军武器 , 默认值是 空
EliteOccupyWeapon=                              ; 武器 , 精英级使用的驻军武器 , 默认值是 空

多驻军武器(可切换的驻军武器)

给建筑增加了 替换驻军武器模式 的属性,步兵驻军这种建筑后,会变更驻军武器。

位于 rulesmd.ini

[SomeBuildingType]
ChangeOccupyWeapon=no                           ; yes/no , 启用逻辑 , 默认值是 no
OccupyWeaponCount=0                             ; 整数 , 驻军武器的数量 , 小于 0 按 0 算 , 默认值是 0
; 下列为使用的第 X 个驻军武器 (武器编号从 1 开始)
OccupyWeaponX=                                  ; 武器 , 新兵级使用的驻军武器 , 默认值是 空
EliteOccupyWeaponX=                             ; 武器 , 精英级使用的驻军武器 , 默认值是 空

注意

  • 多驻军武器有两种写法(列表写法和 WeaponX 写法),对于某一特定建筑来说使用其中一种即可。
    当然可以两种一起写,最终会保留 OccupyWeaponX 的武器(即 OccupyWeaponX 的优先级更高一点),如果 OccupyWeaponX 无武器则保留 OccupyWeapons 列表中的武器。(精英驻军武器同理)

位于 rulesmd.ini

[SomeInfantryType]
OccupyMode=-1                                   ; 整数 , 切换武器的索引 , -1 = 使用 OccupyWeapon 作为驻军武器

此逻辑就相当于建筑版本的 IFV。
通俗来说,就是在步兵上设置 IFVMode=,在建筑上设置 WeaponX=
然而与载具 IFV 不同的是,建筑的每一个驻军格子都是 IFV 栏位(即每一个驻军的武器都会根据设置进行切换)。

其他改变

现在驻军可以使用心控武器了。
现在可驻军建筑可以使用自身的武器进行主动攻击了(需要拥有驻军),当可驻军建筑无武器时,会像无武器的战斗要塞一样,无法指挥驻军攻击某一个确定的目标。