Skip to content

Realism 弹药数值规则指南

<NolebasePageProperties />

本文档用于说明当前弹药规则的三层结构、覆盖字段、夹紧策略和调参入口。当前内容与 ammo_rule_ranges.py 和 generate_realism_patch.py 中的弹药应用流程保持同步。

0. 文档同步说明(2026-03-13 / v3.15)

  • 当前规则源文件:ammo_rule_ranges.py
  • 当前应用入口:generate_realism_patch.py 中的 apply_realism_sanity_check() -> RealismMod.Ammo 分支
  • 当前实现仍采用“词元精确匹配优先,短语匹配补充”的第三层匹配策略
  • 当前输出审计以武器、附件、弹药、装备为重点;消耗品不在规则审计主范围内

1. 当前规则覆盖字段

弹药当前按“口径基础 + 穿深分层 + 弹种型号”三层重算以下字段:

  • InitialSpeed
  • BulletMassGram
  • Damage
  • PenetrationPower
  • ammoRec
  • ammoAccr
  • ArmorDamage
  • HeatFactor
  • HeavyBleedingDelta
  • LightBleedingDelta
  • DurabilityBurnModificator
  • BallisticCoeficient
  • MalfMisfireChance
  • MisfireChance
  • MalfFeedChance

2. 三层规则结构

2.1 第一层:口径基础档

当前口径基础档位由 AMMO_PROFILE_RANGES 提供,主要包括:

  • rifle_545x39
  • rifle_556x45
  • rifle_762x39
  • rifle_762x51
  • rifle_9x39
  • rifle_300blk
  • pistol_compact
  • pdw_small_high_velocity
  • intermediate_rifle
  • full_power_rifle
  • magnum_heavy
  • shotgun_shell
  • anti_materiel_50bmg

这些档位决定弹药的基础风格,例如初速、弹头质量、伤害、穿深、热量、耐久烧蚀和故障概率上限。

2.2 第二层:穿深分层

当前穿深档位由 AMMO_PENETRATION_TIERS 与 AMMO_PENETRATION_MODIFIERS 提供,共 11 级:

  • pen_lvl_1 到 pen_lvl_10:常规 10 点分层
  • pen_lvl_11:101 到 130 的扩展极限档

当前默认理解:

  • 低穿深档更偏肉伤与流血
  • 中穿深档更均衡
  • 高穿深档更偏穿甲、护甲耐久损伤、热量与故障风险

2.3 第三层:弹种型号

当前第三层由 AMMO_SPECIAL_KEYWORDS 与 AMMO_SPECIAL_MODIFIERS 提供,主要包括:

  • ap_extreme
  • tracer
  • ap_high
  • subsonic_heavy
  • expanding
  • shot_shell_payload
  • ball_standard

说明:

  • 匹配优先级按 AMMO_SPECIAL_KEYWORDS 顺序执行
  • 先做词元精确匹配,再做必要的短语匹配
  • 目标是在同口径内拉开 AP、示踪、扩张、亚音速、霰弹载荷等真实差异

3. 当前硬限制

主流程中的关键硬限制如下:

  • PenetrationPower:1 到 130
  • ArmorDamage:1.00 到 1.20
  • MalfMisfireChance / MisfireChance / MalfFeedChance:0.001 到 0.015

这意味着即使多层修正叠加,最终结果也会被收口到可控区间。

4. 当前识别来源

4.1 口径识别

脚本会综合以下信息:

  • Caliber
  • AmmoCaliber / ammoCaliber
  • ammoType
  • Name

口径无法识别时,当前默认回退到 intermediate_rifle。

4.2 穿深识别

当前优先从以下字段读取:

  • PenetrationPower
  • Penetration
  • penPower

无法识别时默认回退到 pen_lvl_5。

5. 当前调参入口

想调整某个口径整体风格

改 AMMO_PROFILE_RANGES。

想调整同口径内高穿/低穿差异

改 AMMO_PENETRATION_MODIFIERS。

想补充新口径别名

改 AMMO_PROFILE_KEYWORDS。

想补充新弹种关键词

改 AMMO_SPECIAL_KEYWORDS 与 AMMO_SPECIAL_MODIFIERS。

6. 验证建议

  1. 先用少量弹药样本生成输出
  2. 检查 PenetrationPower、Damage、ArmorDamage 是否符合预期层级
  3. 再用 audit_output_rule_violations.py 看是否出现明显越界项

7. 文档策略

本指南描述当前弹药规则的结构与边界;完整区间数据以 ammo_rule_ranges.py 为准。涉及版本发布时,记得同时更新 CHANGELOG.md 与 规则文件与文档同步对照清单.md。

贡献者

<NolebaseGitContributors />

文件历史

<NolebaseGitChangelog />

撰写