001package com.fs.starfarer.api.impl.campaign.graid; 002 003import java.util.Random; 004 005import com.fs.starfarer.api.campaign.CargoAPI; 006import com.fs.starfarer.api.campaign.TextPanelAPI; 007import com.fs.starfarer.api.campaign.econ.MarketAPI; 008import com.fs.starfarer.api.campaign.econ.MarketConditionAPI; 009import com.fs.starfarer.api.impl.campaign.ids.Conditions; 010import com.fs.starfarer.api.impl.campaign.rulecmd.salvage.MarketCMD.RaidDangerLevel; 011import com.fs.starfarer.api.ui.TooltipMakerAPI; 012 013public class SolarArrayGroundRaidObjectivePluginImpl extends AbstractGoalGroundRaidObjectivePluginImpl { 014 015 public static int XP_GAIN = 10000; 016 017 protected MarketConditionAPI condition = null; 018 public SolarArrayGroundRaidObjectivePluginImpl(MarketAPI market) { 019 super(market, RaidDangerLevel.EXTREME); 020 condition = market.getCondition(Conditions.SOLAR_ARRAY); 021 } 022 023 public String getName() { 024 return "Destroy the " + condition.getName(); 025 } 026 @Override 027 public String getIconName() { 028 return condition.getSpec().getIcon(); 029 } 030 031 public int performRaid(CargoAPI loot, Random random, float lootMult, TextPanelAPI text) { 032 if (marinesAssigned <= 0) return 0; 033 034 market.removeCondition(Conditions.SOLAR_ARRAY); 035 036 int xpGained = XP_GAIN; 037 return xpGained; 038 } 039 040 @Override 041 public boolean hasTooltip() { 042 return true; 043 } 044 045 @Override 046 public void createTooltip(TooltipMakerAPI t, boolean expanded) { 047 t.addPara("Functionally destroy the solar array orbiting " + market.getName() + ". While much of the superstructure " + 048 "would remain intact, repairing the damage inflicted would be far beyond " + 049 "the current state-of-the-art in the Sector.", 0f); 050 } 051 052} 053 054 055 056 057 058 059 060 061