1package com.fs.starfarer.api.impl.hullmods;
3import com.fs.starfarer.api.Global;
4import com.fs.starfarer.api.characters.PersonAPI;
5import com.fs.starfarer.api.combat.BaseHullMod;
6import com.fs.starfarer.api.combat.CombatEngineAPI;
7import com.fs.starfarer.api.combat.CombatFleetManagerAPI;
8import com.fs.starfarer.api.combat.DeployedFleetMemberAPI;
9import com.fs.starfarer.api.combat.MutableShipStatsAPI;
10import com.fs.starfarer.api.combat.ShipAPI;
11import com.fs.starfarer.api.combat.ShipAPI.HullSize;
12import com.fs.starfarer.api.impl.campaign.ids.Stats;
17 public static final String
MOD_ID =
"operations_center_mod";
32 if (engine ==
null)
return;
34 CombatFleetManagerAPI manager = engine.getFleetManager(ship.getOriginalOwner());
35 if (manager ==
null)
return;
37 DeployedFleetMemberAPI member = manager.getDeployedFleetMember(ship);
38 if (member ==
null)
return;
40 boolean apply = ship == engine.getPlayerShip();
41 PersonAPI commander =
null;
42 if (member.getMember() !=
null) {
43 commander = member.getMember().getFleetCommander();
44 if (member.getMember().getFleetCommanderForStats() !=
null) {
45 commander = member.getMember().getFleetCommanderForStats();
48 apply |= commander !=
null && ship.getCaptain() == commander;
51 ship.getMutableStats().getDynamic().getMod(Stats.COMMAND_POINT_RATE_FLAT).modifyFlat(
MOD_ID,
RECOVERY_BONUS * 0.01f);
53 ship.getMutableStats().getDynamic().getMod(Stats.COMMAND_POINT_RATE_FLAT).unmodify(
MOD_ID);
static CombatEngineAPI getCombatEngine()
static final float RECOVERY_BONUS
String getDescriptionParam(int index, HullSize hullSize)
void applyEffectsBeforeShipCreation(HullSize hullSize, MutableShipStatsAPI stats, String id)
void advanceInCombat(ShipAPI ship, float amount)
static final String MOD_ID