|
|
楼主 |
发表于 2025-3-3 16:06:35
|
显示全部楼层
十分感谢你的指点,我找错了方向,根据你的提示我将改装机库的惩罚分为了两类方法:
1. 全局调整 DP 惩罚比例(简单修改)
修改 FIGHTER_OP_PER_DP 的数值即可改变 OP 到 DP 的转换比例。
java
public static float FIGHTER_OP_PER_DP = 10; // 原值为5,改为10后 DP 惩罚减半
效果:每 10 OP 的飞机会增加 1 DP(原为每 5 OP)。
适用场景:希望全面降低所有舰船的 DP 惩罚。
2. 按舰船类型差异化调整
根据舰船类型(如巡洋舰、主力舰)设置不同的 OP/DP 比例。
java
public static int computeDPModifier(float fighterOPCost, HullSize hullSize) {
float opPerDP = FIGHTER_OP_PER_DP;
if (hullSize == HullSize.CRUISER) {
opPerDP = 15; // 巡洋舰每15 OP 增加1 DP
} else if (hullSize == HullSize.CAPITAL_SHIP) {
opPerDP = 20; // 主力舰每20 OP 增加1 DP
}
int mod = (int) Math.ceil(fighterOPCost / opPerDP);
return Math.max(mod, MIN_DP);
}
在 applyEffectsBeforeShipCreation 中调用时传入 hullSize:
java
float dpMod = computeDPModifier(getFighterOPCost(stats), hullSize);
效果:巡洋舰和主力舰会有更低的 DP 惩罚。
适用场景:希望大型舰船承受更少惩罚。
配置建议
降低全局惩罚:推荐方案 1,简单有效。
差异化调整:方案 2 可让大型舰船更灵活。
|
|