001package com.fs.starfarer.api.impl.campaign.graid; 002 003import java.awt.Color; 004import java.util.Random; 005 006import com.fs.starfarer.api.campaign.CargoAPI; 007import com.fs.starfarer.api.campaign.CargoStackAPI; 008import com.fs.starfarer.api.campaign.TextPanelAPI; 009import com.fs.starfarer.api.campaign.econ.Industry; 010import com.fs.starfarer.api.campaign.econ.MarketAPI; 011import com.fs.starfarer.api.impl.campaign.rulecmd.salvage.MarketCMD.RaidDangerLevel; 012import com.fs.starfarer.api.ui.IconGroupAPI; 013import com.fs.starfarer.api.ui.TooltipMakerAPI; 014 015public interface GroundRaidObjectivePlugin { 016 017 /** 018 * Credit value * this = XP gained from raids for valuables. 019 */ 020 public static float XP_GAIN_VALUE_MULT = 0.2f; 021 022 // higher tiers show closer to the top of the list 023 public static float QUANTITY_SORT_TIER_0 = 0; 024 public static float QUANTITY_SORT_TIER_1 = 1000000; 025 public static float QUANTITY_SORT_TIER_2 = 10000000; 026 public static float QUANTITY_SORT_TIER_3 = 100000000; 027 public static float QUANTITY_SORT_TIER_4 = 110000000; 028 public static float QUANTITY_SORT_TIER_5 = 120000000; 029 030 031// CommoditySpecAPI getCommoditySpec(); 032// SpecialItemSpecAPI getItemSpec(); 033 034 boolean withContinueBeforeResult(); 035 036 void addIcons(IconGroupAPI iconGroup); 037 038 int getMarinesAssigned(); 039 void setMarinesAssigned(int marines); 040 int getMarinesRequired(); 041 void setMarinesRequired(int marines); 042 043 float getQuantitySortValue(); 044 String getQuantityString(int marines); 045 Color getQuantityColor(int marines); 046 047 float getValueSortValue(); 048 String getValueString(int marines); 049 Color getValueColor(int marines); 050 051 int getProjectedCreditsValue(); 052 int getCargoSpaceNeeded(); 053 int getFuelSpaceNeeded(); 054 055 int getDeficitCaused(); 056 RaidDangerLevel getDangerLevel(); 057 058 String getSourceString(); 059 060 String getId(); 061 void setId(String id); 062 063 MarketAPI getMarket(); 064 void setMarket(MarketAPI market); 065 066 String getName(); 067 String getIconName(); 068 CargoStackAPI getStackForIcon(); 069 String getNameOverride(); 070 void setNameOverride(String nameOverride); 071 072 Industry getSource(); 073 void setSource(Industry source); 074 String getCommodityIdForDeficitIcons(); 075 076 String getAssignedForcesColumnText(); 077 void setAssignedForcesColumnText(String assignedForcesColumnText); 078 079 Color getAssignedForcesColumnColor(); 080 void setAssignedForcesColumnColor(Color assignedForcesColumnColor); 081 082 boolean hasTooltip(); 083 void createTooltip(TooltipMakerAPI tooltip, boolean expanded); 084 float getTooltipWidth(); 085 boolean isTooltipExpandable(); 086 087 /** 088 * @param loot 089 * @param random 090 * @param lootMult 091 * @return XP gained 092 */ 093 int performRaid(CargoAPI loot, Random random, float lootMult, TextPanelAPI text); 094 095 int getDisruptionDaysSort(int marines); 096 String getDisruptionDaysString(int marines); 097 Color getDisruptionDaysColor(int marines); 098} 099 100 101