29 public void apply(MutableShipStatsAPI stats, String
id, State state,
float effectLevel) {
32 float mult = (Float) mag.get(HullSize.CRUISER);
33 if (stats.getVariant() !=
null) {
34 mult = (Float) mag.get(stats.getVariant().getHullSize());
36 stats.getHullDamageTakenMult().modifyMult(
id, 1f - (1f - mult) * effectLevel);
37 stats.getArmorDamageTakenMult().modifyMult(
id, 1f - (1f - mult) * effectLevel);
38 stats.getEmpDamageTakenMult().modifyMult(
id, 1f - (1f - mult) * effectLevel);
42 boolean player =
false;
43 if (stats.getEntity() instanceof ShipAPI) {
44 ship = (ShipAPI) stats.getEntity();
50 float percent = (1f - mult) * effectLevel * 100;
52 system.getSpecAPI().getIconSpriteName(), system.getDisplayName(),
53 (int) Math.round(percent) +
"% less damage taken",
false);
58 public static ShipSystemAPI
getDamper(ShipAPI ship) {
64 ShipSystemAPI system = ship.getPhaseCloak();
65 if (system !=
null && system.getId().equals(
"damper"))
return system;
66 if (system !=
null && system.getId().equals(
"damper_omega"))
return system;
67 if (system !=
null && system.getSpecAPI() !=
null && system.getSpecAPI().hasTag(Tags.SYSTEM_USES_DAMPER_FIELD_AI))
return system;
68 return ship.getSystem();