本文章基于发表于3.23的帖子改编,可能出现错误,欢迎各位勘误。
首先要理解实弹伤害必须理解以下几个参数
1.护盾实弹抗性,只要实弹打到护盾上就会必须接受的减伤,能量武器也有。
抗性与电源分配直接关联,根据电源分配的百分比,由于CIG机制没做完导致现在使用了旧系统的33%电量,也就是比如默认的33.3%*系数25%=8.3%抗性
2.实弹护盾吸收,这公式最沟槽的地方就在这里,你的实弹在穿过护盾时会被护盾吸收,在护盾满时为30%,理论上应该和护盾盾量的百分比呈线性关系,也就是在结算抗性之后,100伤害的实弹会有30被护盾吸收,而随着护盾减少被吸收的实弹伤害会越来越少,也就是其实很难通过实弹武器也就是低伤害的实弹武器来破盾。
顺便一提这个是可调节参数,也就是说外星人的100%吸收实弹的护盾是可以实现的。
3.船体抗性
由于装甲系统没出,所以所有船船体都有一个实弹抗性比如德雷克就有离谱的58%,而圣盾仅有50%,这就是uee出价最低的承包商👍🏻。
其中有些抽象逼,比如c8和速伦的0%就暂且不表。
实弹结算伤害=初始伤害-抗性减伤-护盾吸收减伤-船体减伤,需要注意的是护盾吸收减伤是个动态数值,所以我直接摆烂写了个公式计算。
也就是说,最惨的情况下,一个伤害100的实弹,需要经过8.3%的抗性减伤,30%的吸收,50%的船体减伤,最后结算只有32的伤害,真是哈哈了。
以下是代码,丢到Python里自己设置参数即可运行
# Adjust the parameters
shield_hp = 50000 //护盾血量
hull_hp = 80000 //船体血量
bullet_damage = 284 //单发伤害
shield_reduction = 0.083
hull_reduction = 0.50
absorption_ratio = 0.30
# Calculate damage per bullet until hull HP reaches zero
bullets_count = 0
while hull_hp > 0:
bullets_count += 1
# Step 1: Calculate damage after shield reduction
reduced_damage = bullet_damage * (1 - shield_reduction)
# Step 2: Calculate shield absorbed damage
shield_absorbed_damage = reduced_damage * (shield_hp / 50000) * absorption_ratio
# Step 3: Calculate damage to hull
damage_to_hull = (reduced_damage - shield_absorbed_damage) * (1 - hull_reduction)
# Step 4: Update shield and hull HP
shield_hp -= shield_absorbed_damage
hull_hp -= damage_to_hull
bullets_count
当然,可以直接通过33%估算。