小白第一次做模组,用AI做的可能有BUG,这个模组用处不大,只是我突发奇想,塔科夫的武器等于子弹发射器,能不能加点东西,所以有了增加激发威力系统的想法,同时让枪管长度决定增加伤害。
作用:增加激发威力系统(管理穿甲概率),增加枪管决定伤害(增加子弹伤害),增加武器激发威力越大,价格越贵的机制,同时也不妨碍原版的子弹伤害
目前应该适配大部分模组,因为我的模组真的很多,我喜欢加模组,这是我第一次发模组,所以可能会有问题,希望大家多多包容,这是DLL,把他放进\BepInEx\plugins就行
2.0更新,本次针对了激发威力的具体作用进行了重置和细化,对激发威力的判定更严格,对同等级但不同武器类别的进行细化
内容
一、穿甲概率计算公式(v2.0 最新)
二、详细数据表
步骤1:基础概率(弹药等级 vs 护甲等级)
步骤2:口径修正系数
步骤3:激发威力修正
步骤4:武器评分修正 (0.75−1.25)
评分修正对照表:
步骤5:自动穿甲覆盖 (0.80−1.20)
覆盖系数对照表:
步骤6:护甲耐久衰减
三、实战场景计算示例
场景1:同是「较高激发」武器对比 (打5级护甲 AP弹 × 5级护甲)
场景2:反器材武器对比 (打6级护甲)
场景3:同武器打不同等级护甲 (完好护甲)
四、v2.0 模组功能 vs 之前版本对比
关键改进带来的变化
-
M4A1 vs ADAR 2-15
-
旧版:都是 较高激发,穿甲概率几乎一样
-
v2.0:M4A1(评分0.50,较高)穿甲概率比 ADAR(评分0.35,较低)高 ~20%
-
SVD 雪貂 vs M4A1
-
旧版:都是 较高激发,穿甲概率接近
-
v3.0:SVD 口径 7.62x54R (×1.15),评分更高,穿甲概率比 M4A1 高 ~30%
-
巴雷特 M82
-
旧版:较高激发,跟SVD一个级别
-
v3.0:高激发,×1.20口径修正,自动覆盖×1.16,打同等级护甲直接 99%上限
-
模组本体,目前在排查BUGDarkZoneExcitationPower2.0.zip29.12 KB,下载次数:25[记录]
-
3.0更新
-
本次更新重构了伤害模型:伤害完全由枪管长度决定,新增「有效射击射程」概念,检视面板显示肉伤 / 穿甲概率 / 有效射程,并确认 AI 与玩家共用同一套标准。同时修复了 WTT 模组武器读取异常、单发伤害显示错乱等问题。
-
2. 本次核心改动
-
2.1 伤害改为「只用枪管决定」(Breaking Change)
-
旧版
新版
伤害来源
激发威力等级(×50) + 口径 + 弹药类型 + 枪管 多因素叠加
弹药基础伤害 × 枪管伤害倍率
AI / 玩家
共用
共用(补丁无玩家限定)
-
枪管伤害倍率
CalculateBarrelDamageMultiplier(distance, barrelLength, suppressor): -
距离 ≤ 有效射程:短枪管加成更高(
CloseRangeDamageBonus),长枪管 ≈ 原版 -
距离 > 有效射程:短枪管跌幅更大(
BeyondRangePenalty),可低于原版;长枪管几乎不受影响 -
倍率钳制范围
[0.4, 1.6] -
注:伤害不再受激发威力等级影响(纯枪管驱动),但等级仍参与穿甲概率的微调(
CalculatePenetrationProbability内含武器评分校正)。 -
2.2 新增「有效射击射程」
-
塔科夫原版「射程」= 最大射程(远但初速衰减后几乎无意义)。本次新增有效射击射程作为伤害结算拐点:
-
CalculateExcitationEffectiveRange(barrelLength, suppressor):枪管 8~22 寸归一化 → 30m(短) ~ 110m(长) 线性插值 -
消音器额外
-12%射程 -
每把枪按真实枪管长度在 30~110m 间得到不同有效射程
-
2.3 每把枪按真实枪管长度计算(修复)
-
修复前:
GetBaseBarrelLength按weaponClass一刀切(狙=20 / 步枪=16 / 卡宾=12…),M4 与 AK、不同狙被当一样,config 里手填的barrelLength只进威力等级没进射程。 -
修复后:
GetRealBarrelLength用反射读取武器模板自带barrelLength字段(覆盖全游戏所有枪),读不到才回退类别。配合配件加成(长枪管 +2、消音器 +3)。 -
2.4 检视面板显示 穿甲概率 + 肉伤 + 有效射程
-
标题栏追加:
[有效射程Xm][穿甲(4甲)X%][肉伤Y] -
肉伤 = 弹药基础
Damage× 枪管倍率(参考距离 15m)—— 即裸肉理论伤害,不含护甲 -
穿甲概率 =
CalculatePenetrationProbability(弹药穿甲力 vs 护甲等级,含武器评分微调) -
标签由「单发」改为「肉伤」,明确这是裸肉理论值而非实战穿透后伤害
-
2.5 AI 也使用此标准
-
所有补丁无玩家限定,
ApplyExcitationDamage+CalculatePenetrationProbability在 AI 命中时同样生效,全局一致。 -
3. 修复的 Bug
-
问题
根因
修复
WTT 模组武器单发伤害异常(显示 108 / 679)
GetWeaponAmmoBaseDamage反射读Damage字段读到非弹药对象(武器总伤 / 弹匣总伤)新增
ReadDamageFromTemplate+ 合理性校验(>120 视为异常不显示)WTT 武器不显示单发 / 肉伤(雷电 Model1、SIG MCX SPEAR、M14、RPK-16 等)
GetWeaponAmmoItem只一层AllSlots遍历 +is AmmoTemplate,WTT 自定义槽位找不到弹药重写为三层策略:按槽位 ID(
mod_chamber/mod_magazine等)查找 → 全量遍历兜底 → 递归Cartridges/Slots两层嵌套原始距离衰减死代码
CreatePrefix 创建时 distance 恒 0,伤害修改无效
移除该逻辑,改由命中时按真实飞行距离结算
每把枪枪管/射程无差异
GetBaseBarrelLength按类别硬编码改用模板真实
barrelLength(见 2.3) -
4. 新增配置项(F12 实时可调 + config.json 持久化)
-
参数
含义
默认值
EffectiveRangeShort最短有效射程(短枪管)
30m
EffectiveRangeLong最长有效射程(长枪管)
110m
CloseRangeDamageBonus有效射程内短枪管伤害加成
20%
BeyondRangePenalty超出有效射程短枪管跌幅
40%
SuppressorRangePenaltyPct消音器射程惩罚
12%
DisplayReferenceArmorClass穿甲概率参考甲
4 级
DisplayDamageReferenceDistance肉伤参考距离
15m
-
改法:F12 搜
DarkZoneExcitationPower直接调(立即生效,重启保留);或编辑BepInEx/config/DarkZoneExcitationPower.cfg。 -
DarkZoneExcitationPower.zip35.55 KB,下载次数:20[记录]
4.0更新
一、战斗机制改动(原版 → 本模组)
1. 单发伤害 = 枪管驱动(相对原厂)
-
原版:单发伤害只由弹药决定,枪管长短不影响伤害(枪管只改后坐/手感/初速)。
-
本模组:以武器出厂原厂枪管为基准,
倍率 = 1 + DamagePerInch×Δ管长。长管加伤、短管减伤,每英寸 ±4%(clamp ±35%)。装配枪管优先读真实长度(barrel_lengths.json)。 -
超出有效射程有距离衰减惩罚(
BeyondRangePenalty40%),短管劣势会真实体现。
2. 有效射程 = 枪管驱动(每把枪独立)
-
原版:有效射程基本由武器类别/模板固定。
-
本模组:查
barrel_range.json(149+ 把枪的baseRange + perInch×Δ管长),消音器 ×0.88,clamp[5,400]。长管射程远、短管近;9×39 特殊枪族(VSS/VAL/9A91 等)单独处理防止被拉高。
3. 穿甲概率 = 武器性能(枪身)混合模型
-
原版:穿甲只由弹药
PenetrationPower决定,同口径不同弹差异巨大,枪本身毫无关系。 -
本模组:
final = (1-0.3)·弹药真实穿透力(logistic) + 0.3·枪身性能等级。弹药为主、枪身微调;护甲耐久、距离衰减、消音都计入。PenetrationGunWeight(0.3) 可调(0=纯弹药原版式、1=纯枪身)。 -
已修复:传入真实弹药穿透力,BP/PS 等弹种穿甲真正拉开差距。对玩家与 AI 全局生效。
4. 价格 = 武器强度驱动(服务端组件)
-
原版:价格由游戏/商人平衡设定,与你这把枪实战强不强无关。
-
本模组:服务端组件按激发等级 5 档严格定价
6万 / 16.5万 / 27万 / 37.5万 / 48万 ₽,同档内按实战分 ±15% 浮动;枪管按长度4千~9万。特殊武器手动溢价(AXMC 70万、VSS 54万、AS VAL 56万),弱但被高估的下调(P90 30万、RSh-12 38万、Vector 30万等)。删服务端文件夹即恢复原价。
二、界面显示(原版没有的)
5. 检视面板标题(按 F)
原版只有枪名。本模组在标题后追加:[激发威力: X 高] + 配件标记([消音][长枪管+][制退器])+ [有效射程Xm][穿甲(X甲)Y%][肉伤Z]。
6. 武器属性面板新增 TTK 行
在”口径”后面插入 TTK(对X甲) = 估算击杀耗时。默认”同等级子弹对同等级护甲”,也可手动固定目标甲级/距离/HP。渲染后自动回收(不污染其它界面)。
7. 市场/跳蚤/商人武器卡评级
武器卡片名称后拼 [激发威力: ...];跳蚤卡重显被原版隐藏的名称标签。
8. 评级显示模式可切
数字(1-5) / 中文(低/较低/中/较高/高) / 同时显示。
三、配置项速览(com.darkzone.excitationpower.cfg)
四、架构(为什么分两块)
-
客户端 BepInEx 模组
DarkZoneExcitationPower.dll:管战斗(伤害/射程/穿甲)+ 全部显示(标题/TTK/市场评级)。 -
服务端组件
SPT/user/mods/DarkZoneExcitationPower/PriceServer.dll+config/prices_override.json:管价格联动。真实成交价(商人卖价、跳蚤挂价)只能服务端改,客户端模组改不了——所以”价格随强度变”必须放在服务端。
价格数据由 gen_price_by_tier.py 生成(复用武器模组的评分逻辑),--apply 后就绪,重启服务端生效。手动调价只改那张 MANUAL_PRICE 表 + 档位常量。
4.01加入配置文件
隐藏内容需要付费才可以看见



















4.0优化了很多东西,枪械强度是根据数值和网上数据排的,看看还有BUG吗
关注了 感觉会火 加油
感谢分享~加油
为啥激发威力基本上都是较高
这是第一个版本,有很多不精细的东西,比如冲锋枪大概率中低,步枪为较高,价格不合理,枪管与枪口作用不大,没有均衡原版子弹伤害与枪械激发的问题,由于我塔科夫正版时间只有100多小时,离线有太多魔改的枪械和子弹,所以想问一下有没有官方数据哪种枪械强度高,哪个低,目前感觉口径决定伤害,射速决定强度,而且枪管太多种类了,各位老油条们有没有好建议啊
纯粹个人观点阿,个人觉得这个其实可以只跟枪管关联,比如都是m4,10寸管和20寸管伤害会不一样,如果按价格来算的话x17和scar这俩价格是不一样的吧,但是其实这俩是一个东西。如果还要考虑价格人气啥的,那就成了某种wf紫卡了,而且也没理由比方说都在用ak12威力就会变低,没人用的啥某款74威力就会变大。纯粹个人建议
请问ai也适用于这一套公式吗
不是哥们,暗区的糟粕怎么拿过来了,这样导致很多枪械没法玩了。。