001package com.fs.starfarer.api.impl.campaign.ids;
002
003public class Stats {
004        
005        // character stats
006        public static final String CAN_DEPLOY_LEFT_RIGHT_MOD = "can_deploy_left_right";
007        
008        public static final String AUXILIARY_EFFECT_ADD_PERCENT = "auxiliary_effect_add_percent";
009        public static final String OFFICER_MAX_LEVEL_MOD = "officer_max_level_mod";
010        public static final String OFFICER_MAX_ELITE_SKILLS_MOD = "officer_max_elite_skills_mod";
011        public static final String BUILD_IN_BONUS_XP_MOD = "build_in_bonus_xp_mod";
012        public static final String CUSTOM_PRODUCTION_MOD = "custom_production_mod";
013        
014        public static final String DEPLOYMENT_POINTS_FRACTION_OF_BATTLE_SIZE_BONUS_MOD = "deployment_points_fraction_of_battle_size_bonus_mod";
015        public static final String DEPLOYMENT_POINTS_MIN_FRACTION_OF_BATTLE_SIZE_BONUS_MOD = "deployment_points_min_fraction_of_battle_size_bonus_mod";
016        
017        /**
018         * Set for both character (from having Neural Link skill) and ship (from having Neural Interface hullmod.
019         */
020        public static final String HAS_NEURAL_LINK = "has_neural_link";
021        public static final String INSTANT_NEURAL_TRANSFER_FROM = "instant_neural_transfer_from";
022        
023        public static final String NUM_MAX_CONTACTS_MOD = "num_max_contacts_mod";
024        
025        // outposts - these are admin stats, so, applied in "CharacterStatsSkillEffect"
026        public static final String FUEL_SUPPLY_BONUS_MOD = "fuel_supply_bonus";
027        public static final String SUPPLY_BONUS_MOD = "supply_bonus";
028        public static final String DEMAND_REDUCTION_MOD = "demand_reduction";
029        
030        // markets 
031        //- old, will probably replace these two?
032//      public static final String OFFICER_NUM_MULT = "officer_num_mult";
033//      public static final String OFFICER_LEVEL_MULT = "officer_level_mult";
034        
035        public static final String SLIPSTREAM_REVEAL_RANGE_LY_MOD = "slipstream_reveal_range_ly_mod";
036        
037        public static final String ADMIN_PROB_MOD = "admin_prob";
038        public static final String OFFICER_PROB_MOD = "officer_prob";
039        public static final String OFFICER_ADDITIONAL_PROB_MULT_MOD = "additional_officer_prob_mult";
040        public static final String OFFICER_IS_MERC_PROB_MOD = "officer_is_merc_prob";
041        
042        public static final String PRODUCTION_QUALITY_MOD = "production_quality_mod";
043        public static final String FLEET_QUALITY_MOD = "fleet_quality_mod";
044        public static final String COMBAT_FLEET_SIZE_MULT = "combat_fleet_size_mult";
045        public static final String COMBAT_FLEET_SPAWN_RATE_MULT = "combat_fleet_spawn_rate_mult";
046        
047        public static final String PATROL_NUM_HEAVY_MOD = "patrol_num_heavy_mod";
048        public static final String PATROL_NUM_MEDIUM_MOD = "patrol_num_medium_mod";
049        public static final String PATROL_NUM_LIGHT_MOD = "patrol_num_light_mod";
050        
051        public static final String GROUND_DEFENSES_MOD = "ground_defenses_mod";
052        
053        public static final String TECH_MINING_MULT = "tech_mining_mult";
054        
055        /**
056         * Does not include structures.
057         */
058        public static final String MAX_INDUSTRIES = "max_industries";
059        
060        public static final String MAX_MARKET_SIZE = "max_market_size";
061        
062        // fleets
063        public static final String FUEL_USE_NOT_SHOWN_ON_MAP_MULT = "fuel_use_not_shown_on_map_mult";
064        
065        public static final String PLANETARY_OPERATIONS_MOD = "ground_attack_mod";
066        public static final String PLANETARY_OPERATIONS_CASUALTIES_MULT = "ground_attack_casualties_mult";
067        
068        public static final String CAN_SEE_NASCENT_POINTS = "can_see_nascent_points"; // not actually used, can always see
069        
070        public static final String SURVEY_MAX_HAZARD = "survey_max_hazard";
071        public static final String SURVEY_COST_MULT = "survey_cost_mult";
072        public static final String PLANET_MINING_VALUE_MULT = "planet_mining_value_mult";
073        //public static final String SALVAGE_MAX_RATING = "salvage_max_rating";
074        
075        public static final String MOVE_SLOW_SPEED_BONUS_MOD = "move_slow_speed_bonus_mod";
076        
077        public static final String NAVIGATION_PENALTY_MULT = "nav_penalty_mult";
078        public static final String COORDINATED_MANEUVERS_MAX = "coord_maneuvers_max";
079        public static final String ELECTRONIC_WARFARE_MAX = "electronic_warfare_max";
080        
081        public static final String FUEL_SALVAGE_VALUE_MULT_FLEET = "fuel_salvage_value_mult_fleet";
082        public static final String SALVAGE_VALUE_MULT_FLEET_INCLUDES_RARE = "salvage_value_bonus_fleet";
083        public static final String SALVAGE_VALUE_MULT_FLEET_NOT_RARE = "salvage_value_bonus_fleet_not_rare";
084        public static final String BATTLE_SALVAGE_MULT_FLEET = "battle_salvage_value_bonus_fleet";
085        
086        public static final String DETECTED_BY_PLAYER_RANGE_MULT = "detected_by_player_range_mult";
087        
088        /**
089         * This one is on the commander, not the fleet.
090         */
091        public static final String COMMAND_POINT_RATE_COMMANDER = "command_point_rate";
092        public static final String NON_COMBAT_CREW_LOSS_MULT = "overall_crew_loss_mult";
093        
094        public static final String OWN_WEAPON_RECOVERY_MOD = "own_weapon_recovery_mod";
095        public static final String OWN_WING_RECOVERY_MOD = "own_wing_recovery_mod";
096        
097        public static final String ENEMY_WEAPON_RECOVERY_MOD = "enemy_weapon_recovery_mod";
098        public static final String ENEMY_WING_RECOVERY_MOD = "enemy_wing_recovery_mod";
099        
100        public static final String SHIP_RECOVERY_MOD = "ship_recovery_mod";
101        public static final String SHIP_DMOD_REDUCTION = "ship_dmod_reduction_mod";
102        
103        public static final String OFFICER_SHIP_RECOVERY_MOD = "officer_ship_recovery_mod";
104        
105        public static final String RECOVERED_CR_MIN = "ship_recovery_cr_min";
106        public static final String RECOVERED_CR_MAX = "ship_recovery_cr_max";
107        public static final String RECOVERED_HULL_MIN = "ship_recovery_hull_min";
108        public static final String RECOVERED_HULL_MAX = "ship_recovery_hull_max";
109        
110        
111        // fleet ability modifiers
112        public static final String GO_DARK_DETECTED_AT_MULT = "go_dark_effectiveness";
113        //public static final String GO_DARK_BURN_PENALTY_MULT = "go_dark_burn_penalty_mult";
114        //public static final String SENSOR_BURST_BURN_PENALTY_MULT = "sensor_burst_penalty_mult";
115        public static final String SUSTAINED_BURN_BONUS = "sustained_burn_bonus";
116        public static final String EMERGENCY_BURN_CR_MULT = "emergency_burn_mult";
117        public static final String DIRECT_JUMP_CR_MULT = "direct_jump_cr_mult";
118        
119        
120        // fleet members
121        //public static final String CR_LOSS_WHEN_DISABLED_MULT = "cr_loss_when_disabled_mult";
122        
123        public static final String FLEET_GROUND_SUPPORT = "ground_support";
124        public static final String FLEET_BOMBARD_COST_REDUCTION = "fleet_bombard_cost_reduction";
125        
126        public static final String CORONA_EFFECT_MULT = "corona_resistance";
127        public static final String BOARDING_CHANCE_MULT = "boarding_chance_mult";
128        
129        /**
130         * 20% of this modifier applies to post-combat salvage.
131         */
132        public static final String SALVAGE_VALUE_MULT_MOD = "salvage_value_bonus_ship";
133        
134        public static final String PHASE_FIELD_SENSOR_PROFILE_MOD  = "phase_field_sensor_profile_mod";
135        public static final String HRS_SENSOR_RANGE_MOD  = "hrs_sensor_range_mod";
136        
137        //public static final String BATTLE_SALVAGE_VALUE_MULT_MOD = "battle_salvage_value_bonus_ship";
138        public static final String HULL_DAMAGE_CR_LOSS = "hull_damage_cr_loss";
139        public static final String SURVEY_COST_REDUCTION = "survey_cost_reduction_";
140        public static final String FLEET_BURN_BONUS = "fleet_burn_bonus";
141        public static String getSurveyCostReductionId(String commodityId) {
142                return SURVEY_COST_REDUCTION + commodityId;
143        }
144        
145        // ships
146        public static final String ACT_AS_COMBAT_SHIP = "act_as_combat_ship";
147        
148        public static final String CAN_REPAIR_MODULES_UNDER_FIRE = "can_repair_modules_under_fire";
149        
150        public static final String FRAGMENT_SWARM_SIZE_MOD = "fragment_swarm_size_mod";
151        public static final String FRAGMENT_SWARM_RESPAWN_RATE_MULT = "fragment_swarm_respawn_rate_mult";
152        public static final String SWARM_LAUNCHER_WING_SIZE_MOD = "swarm_launcher_wing_size_mod";
153        
154        /**
155         * Modifying suppliesToRecover does not affect deployment points.
156         * But this modifies the base value of supplies to recover for deployment points purposes only.
157         */
158        public static final String DEPLOYMENT_POINTS_MOD = "deployment_points_mod";
159        
160        public static final String FIGHTER_REARM_TIME_MULT = "fighter_rearm_time_mult";
161        public static final String FIGHTER_REARM_TIME_EXTRA_FLAT_MOD = "fighter_rearm_time_extra_flat_mod";
162        public static final String FIGHTER_REARM_TIME_EXTRA_PER_WING_MOD = "fighter_rearm_time_extra_per_wing_mod";
163        public static final String FIGHTER_REARM_TIME_EXTRA_FRACTION_OF_BASE_REFIT_TIME_MOD = "fighter_rearm_time_extra_fraction_of_base_refit_time_mod";
164        
165        //public static final String HAS_FORCE_CONCENTRATION_BONUS_MOD = "has_force_concentration_bonus";
166        public static final String ZERO_FLUX_BOOST_TURN_RATE_BONUS_MULT = "zero_flux_boost_turn_rate_bonus_mult";
167        
168        //public static final String ZERO_FLUX_BOOST_DELAY_MULT = "zero_flux_boost_delay_mult";
169        
170        
171        public static final String PHASE_CLOAK_FLUX_LEVEL_FOR_MIN_SPEED_MOD = "phase_cloak_flux_level_for_min_speed_mod";
172        
173        public static final String MAX_PERMANENT_HULLMODS_MOD = "max_permanent_hullmods_mod";
174        public static final String MAX_LOGISTICS_HULLMODS_MOD = "max_logistics_hullmods_mod";
175        public static final String PHASE_CLOAK_SPEED_MOD = "phase_cloak_speed";
176        public static final String PHASE_CLOAK_ACCEL_MOD = "phase_cloak_accel";
177        
178        public static final String PD_IGNORES_FLARES = "pd_ignores_flares";
179        public static final String PD_BEST_TARGET_LEADING = "pd_best_target_leading";
180        
181        public static final String SHIELD_PIERCED_MULT = "shield_pierced_mult";
182        public static final String PHASE_TIME_BONUS_MULT = "phase_time_mult";
183        
184        public static final String FIGHTER_CREW_LOSS_MULT = "fighter_crew_loss_mult";
185        
186        public static final String EXPLOSION_RADIUS_MULT = "explosion_radius_mult";
187        public static final String EXPLOSION_DAMAGE_MULT = "explosion_damage_mult";
188        
189        public static final String COORDINATED_MANEUVERS_FLAT = "coord_maneuvers_flat";
190        public static final String ELECTRONIC_WARFARE_FLAT = "electronic_warfare_flat";
191        public static final String ELECTRONIC_WARFARE_PENALTY_MULT = "electronic_warfare_penalty_mult";
192        public static final String ELECTRONIC_WARFARE_PENALTY_MOD = "electronic_warfare_penalty_mod";
193        
194        public static final String SHIP_BELONGS_TO_FLEET_THAT_CAN_COUNTER_EW = "ship_belongs_to_fleet_that_can_counter_ew";
195        public static final String SHIP_OBJECTIVE_CAP_RANGE_MOD = "ship_objective_cap_range_mod";
196        public static final String SHIP_OBJECTIVE_CAP_RATE_MULT = "ship_objective_cap_rate_mult";
197        
198        public static final String ELECTRONIC_WARFARE_PENALTY_MAX_FOR_SHIP_MOD = "electronic_warfare_penalty_max_for_ship_mod";
199        public static final String COMMAND_POINT_RATE_FLAT = "command_point_rate_flat";
200        public static final String INDIVIDUAL_SHIP_RECOVERY_MOD = "individual_ship_recovery_mod";
201        
202        public static final String INSTA_REPAIR_FRACTION = "insta_repair_fraction";
203        
204        public static final String CR_MALFUNCION_RANGE = "cr_malfunction_range_mult";
205        
206        public static final String REPLACEMENT_RATE_DECREASE_MULT = "replacement_rate_decrease_mult";
207        public static final String REPLACEMENT_RATE_INCREASE_MULT = "replacement_rate_increase_mult";
208        
209        public static final String DMOD_EFFECT_MULT = "dmod_effect_mult";
210        public static final String DMOD_AVOID_PROB_MOD = "dmod_avoid_prob_mod";
211        
212        /**
213         * Base value is 1.
214         */
215        public static final String DMOD_ACQUIRE_PROB_MOD = "dmod_acquire_prob_mod";
216        public static final String DMOD_REDUCE_MAINTENANCE = "dmod_reduce_maintenance";
217        
218        
219        // OP cost reductions - used from core, but specified as dynamic stats to avoid adding all the
220        // always-there stats to MutableShipStats.
221        public static final String SMALL_BALLISTIC_MOD = "small_ballistic_mod";
222        public static final String MEDIUM_BALLISTIC_MOD = "medium_ballistic_mod";
223        public static final String LARGE_BALLISTIC_MOD = "large_ballistic_mod";
224        
225        public static final String ALL_FIGHTER_COST_MOD = "all_fighter_cost_mod";
226        public static final String FIGHTER_COST_MOD = "fighter_cost_mod";
227        public static final String BOMBER_COST_MOD = "bomber_cost_mod";
228        public static final String INTERCEPTOR_COST_MOD = "interceptor_cost_mod";
229        public static final String SUPPORT_COST_MOD = "support_cost_mod";
230        
231        public static final String SMALL_ENERGY_MOD = "small_energy_mod";
232        public static final String MEDIUM_ENERGY_MOD = "medium_energy_mod";
233        public static final String LARGE_ENERGY_MOD = "large_energy_mod";
234        
235        public static final String SMALL_MISSILE_MOD = "small_missile_mod";
236        public static final String MEDIUM_MISSILE_MOD = "medium_missile_mod";
237        public static final String LARGE_MISSILE_MOD = "large_missile_mod";
238        
239        public static final String SMALL_PD_MOD = "small_pd_mod";
240        public static final String MEDIUM_PD_MOD = "medium_pd_mod";
241        public static final String LARGE_PD_MOD = "large_pd_mod";
242        
243        public static final String SMALL_BEAM_MOD = "small_beam_mod";
244        public static final String MEDIUM_BEAM_MOD = "medium_beam_mod";
245        public static final String LARGE_BEAM_MOD = "large_beam_mod";
246                
247        public static final String FORCE_ALLOW_CONVERTED_HANGAR = "force_allow_converted_hangar";
248        public static final String CONVERTED_HANGAR_MOD = "converted_hangar_mod";
249        public static final String CONVERTED_HANGAR_NO_CREW_INCREASE = "converted_hangar_no_crew_increase";
250        public static final String CONVERTED_HANGAR_NO_REARM_INCREASE = "converted_hangar_no_rearm_increase";
251        public static final String CONVERTED_HANGAR_NO_DP_INCREASE = "converted_hangar_no_dp_increase";
252        public static final String CONVERTED_HANGAR_NO_REFIT_PENALTY = "converted_hangar_no_refit_penalty";
253        //public static final String CONVERTED_HANGAR_NO_PERFORMANCE_PENALTY = "converted_hangar_no_performance_penalty";
254        //public static final String CONVERTED_HANGAR_NO_COST_INCREASE = "converted_hangar_no_cost_increase";
255        
256        
257        /**
258         * Base chance is 0.5. 
259         */
260        public static final String MODULE_DETACH_CHANCE_MULT = "module_detach_chance_mult";
261        
262        public static final String DO_NOT_FIRE_THROUGH = "do_not_fire_through";
263        
264        
265//      public static final String SALVAGE_COST_REDUCTION = "survey_cost_reduction_";
266//      public static String getSalvageCostReductionId(String commodityId) {
267//              return SALVAGE_COST_REDUCTION + commodityId;
268//      }
269        
270        // markets
271        public static final String TRADE_IMPACT_MULT_PREFIX = "trade_impact_mult_";
272        public static String getPlayerTradeRepImpactMultId(String commodityId) {
273                return TRADE_IMPACT_MULT_PREFIX + commodityId;
274        }
275        public static String getPlayerBuyRepImpactMultId(String commodityId) {
276                return TRADE_IMPACT_MULT_PREFIX + commodityId + "_buy";
277        }
278        public static String getPlayerSellRepImpactMultId(String commodityId) {
279                return TRADE_IMPACT_MULT_PREFIX + commodityId + "_sell";
280        }
281
282        // player's dynamic stats
283        public static final String COMMODITY_EXPORT_CREDITS_MULT = "commodity_export_credits_mult";
284        public static String getCommodityExportCreditsMultId(String commodityId) {
285                return COMMODITY_EXPORT_CREDITS_MULT + commodityId;
286        }
287        
288
289        
290}