Starsector API
Loading...
Searching...
No Matches
TT_CMD.java
Go to the documentation of this file.
1package com.fs.starfarer.api.impl.campaign.rulecmd;
2
3import java.util.List;
4import java.util.Map;
5
6import com.fs.starfarer.api.Global;
7import com.fs.starfarer.api.campaign.CampaignFleetAPI;
8import com.fs.starfarer.api.campaign.CargoAPI;
9import com.fs.starfarer.api.campaign.InteractionDialogAPI;
10import com.fs.starfarer.api.campaign.OptionPanelAPI;
11import com.fs.starfarer.api.campaign.TextPanelAPI;
12import com.fs.starfarer.api.campaign.rules.MemKeys;
13import com.fs.starfarer.api.campaign.rules.MemoryAPI;
14import com.fs.starfarer.api.characters.PersonAPI;
15import com.fs.starfarer.api.combat.ShipVariantAPI;
16import com.fs.starfarer.api.fleet.FleetMemberAPI;
17import com.fs.starfarer.api.fleet.FleetMemberType;
18import com.fs.starfarer.api.impl.campaign.ids.People;
19import com.fs.starfarer.api.impl.campaign.intel.contacts.ContactIntel;
20import com.fs.starfarer.api.util.Misc.Token;
21
27public class TT_CMD extends BaseCommandPlugin {
28
29 protected String ARROYO = "arroyo";
30 protected String SUN = "sun";
31 protected String GLAMOR_ROTANEV = "glamor_rotanev";
32
33 public boolean execute(String ruleId, InteractionDialogAPI dialog, List<Token> params, Map<String, MemoryAPI> memoryMap) {
34 if (dialog == null) return false;
35
36 OptionPanelAPI options = dialog.getOptionPanel();
37 TextPanelAPI text = dialog.getTextPanel();
39 CargoAPI cargo = pf.getCargo();
40
41 String action = params.get(0).getString(memoryMap);
42
43 MemoryAPI memory = memoryMap.get(MemKeys.LOCAL);
44 if (memory == null) return false; // should not be possible unless there are other big problems already
45
46// MarketAPI market = dialog.getInteractionTarget().getMarket();
47// StarSystemAPI system = null;
48// if (dialog.getInteractionTarget().getContainingLocation() instanceof StarSystemAPI) {
49// system = (StarSystemAPI) dialog.getInteractionTarget().getContainingLocation();
50// }
51
52 if ("isArroyoContact".equals(action)) {
53 return isArroyoContact();
54 } else if ("giveColossus".equals(action)) {
55 giveColossus(dialog, params, memoryMap);
56 return true;
57 } else if ("givePhaeton".equals(action)) {
58 givePhaeton(dialog, params, memoryMap);
59 return true;
60 }
61
62 return false;
63 }
64
65 protected void giveColossus(InteractionDialogAPI dialog, List<Token> params, Map<String, MemoryAPI> memoryMap) {
66 ShipVariantAPI v = Global.getSettings().getVariant("colossus_Standard").clone();
69 AddShip.addShipGainText(member, dialog.getTextPanel());
70
71 }
72
73 protected void givePhaeton(InteractionDialogAPI dialog, List<Token> params, Map<String, MemoryAPI> memoryMap) {
74 //System.out.print("givePhaeton called");
75 ShipVariantAPI v = Global.getSettings().getVariant("phaeton_Standard").clone();
78 AddShip.addShipGainText(member, dialog.getTextPanel());
79 }
80
81 protected boolean isArroyoContact() {
83 boolean isContact = ContactIntel.playerHasContact(person, true);
84 //System.out.print("isArroyoContact? result: " +isContact );
85 return isContact;
86 }
87
88}
static SettingsAPI getSettings()
Definition Global.java:57
static FactoryAPI getFactory()
Definition Global.java:41
static SectorAPI getSector()
Definition Global.java:65
static PersonAPI getPerson(String id)
Definition People.java:107
static boolean playerHasContact(PersonAPI person, boolean includePotential)
static void addShipGainText(FleetMemberAPI member, TextPanelAPI text)
Definition AddShip.java:33
void givePhaeton(InteractionDialogAPI dialog, List< Token > params, Map< String, MemoryAPI > memoryMap)
Definition TT_CMD.java:73
void giveColossus(InteractionDialogAPI dialog, List< Token > params, Map< String, MemoryAPI > memoryMap)
Definition TT_CMD.java:65
boolean execute(String ruleId, InteractionDialogAPI dialog, List< Token > params, Map< String, MemoryAPI > memoryMap)
Definition TT_CMD.java:33
FleetMemberAPI createFleetMember(FleetMemberType type, String variantOrWingId)
ShipVariantAPI getVariant(String variantId)
void addFleetMember(FleetMemberAPI member)