本文章基於發表於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%估算。