Starsector API
Loading...
Searching...
No Matches
IncreasedMaintenance.java
Go to the documentation of this file.
1
package
com.fs.starfarer.api.impl.hullmods;
2
3
import
com.fs.starfarer.api.combat.BaseHullMod;
4
import
com.fs.starfarer.api.combat.MutableShipStatsAPI;
5
import
com.fs.starfarer.api.combat.ShipAPI;
6
import
com.fs.starfarer.api.combat.ShipAPI.HullSize;
7
import
com.fs.starfarer.api.impl.campaign.ids.Stats;
8
9
public
class
IncreasedMaintenance
extends
BaseHullMod {
10
11
public
static
float
CREW_PERCENT
= 30;
12
public
static
float
SUPPLY_USE_MULT
= 1.30f;
13
public
static
float
MAX_CR_PENALTY
= 0.05f;
14
15
public
void
applyEffectsBeforeShipCreation
(HullSize hullSize, MutableShipStatsAPI stats, String
id
) {
16
float
effect = stats.getDynamic().getValue(Stats.DMOD_EFFECT_MULT);
17
//stats.getSuppliesPerMonth().modifyMult(id, 1f + (SUPPLY_USE_MULT - 1f) * effect);
18
stats.getSuppliesPerMonth().modifyPercent(
id
, Math.round((
SUPPLY_USE_MULT
- 1f) * effect * 100f));
19
stats.getMinCrewMod().modifyPercent(
id
,
CREW_PERCENT
* effect);
20
stats.getMaxCombatReadiness().modifyFlat(
id
, -Math.round(
MAX_CR_PENALTY
* effect * 100f) * 0.01f,
"Increased Maintenance"
);
21
CompromisedStructure
.
modifyCost
(hullSize, stats,
id
);
22
}
23
24
public
String
getDescriptionParam
(
int
index, HullSize hullSize, ShipAPI ship) {
25
float
effect = 1f;
26
if
(ship !=
null
) effect = ship.getMutableStats().getDynamic().getValue(Stats.DMOD_EFFECT_MULT);
27
if
(index == 0)
return
""
+ (int)Math.round((1f + (
SUPPLY_USE_MULT
- 1f) * effect - 1f) * 100f) +
"%"
;
28
if
(index == 1)
return
""
+ (int)Math.round(
CREW_PERCENT
* effect) +
"%"
;
29
if
(index == 2)
return
""
+ Math.round(
MAX_CR_PENALTY
* 100f * effect) +
"%"
;
30
if
(index >= 3)
return
CompromisedStructure
.
getCostDescParam
(index, 3);
31
return
null
;
32
}
33
34
35
}
com.fs.starfarer.api.impl.hullmods.CompromisedStructure
Definition
CompromisedStructure.java:9
com.fs.starfarer.api.impl.hullmods.CompromisedStructure.getCostDescParam
static String getCostDescParam(int index, int startIndex)
Definition
CompromisedStructure.java:20
com.fs.starfarer.api.impl.hullmods.CompromisedStructure.modifyCost
static void modifyCost(HullSize hullSize, MutableShipStatsAPI stats, String id)
Definition
CompromisedStructure.java:12
com.fs.starfarer.api.impl.hullmods.IncreasedMaintenance
Definition
IncreasedMaintenance.java:9
com.fs.starfarer.api.impl.hullmods.IncreasedMaintenance.getDescriptionParam
String getDescriptionParam(int index, HullSize hullSize, ShipAPI ship)
Definition
IncreasedMaintenance.java:24
com.fs.starfarer.api.impl.hullmods.IncreasedMaintenance.applyEffectsBeforeShipCreation
void applyEffectsBeforeShipCreation(HullSize hullSize, MutableShipStatsAPI stats, String id)
Definition
IncreasedMaintenance.java:15
com.fs.starfarer.api.impl.hullmods.IncreasedMaintenance.CREW_PERCENT
static float CREW_PERCENT
Definition
IncreasedMaintenance.java:11
com.fs.starfarer.api.impl.hullmods.IncreasedMaintenance.MAX_CR_PENALTY
static float MAX_CR_PENALTY
Definition
IncreasedMaintenance.java:13
com.fs.starfarer.api.impl.hullmods.IncreasedMaintenance.SUPPLY_USE_MULT
static float SUPPLY_USE_MULT
Definition
IncreasedMaintenance.java:12
src
com
fs
starfarer
api
impl
hullmods
IncreasedMaintenance.java
Generated by
1.9.8