Starsector API
Loading...
Searching...
No Matches
HasAttentionOfAuthorities.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.campaign.InteractionDialogAPI;
7import com.fs.starfarer.api.campaign.econ.MarketAPI;
8import com.fs.starfarer.api.campaign.rules.MemKeys;
9import com.fs.starfarer.api.campaign.rules.MemoryAPI;
10import com.fs.starfarer.api.util.Misc.Token;
11
18
19
20 public boolean execute(String ruleId, InteractionDialogAPI dialog, List<Token> params, Map<String, MemoryAPI> memoryMap) {
21
22 if (dialog.getInteractionTarget() == null) return false;
23
24 MarketAPI market = dialog.getInteractionTarget().getMarket();
25 if (market == null) return false;;
26
27 MemoryAPI entity = memoryMap.get(MemKeys.LOCAL);
28 if (memoryMap.containsKey(MemKeys.ENTITY)) {
29 entity = memoryMap.get(MemKeys.ENTITY);
30 }
31
32 if (entity.is("$tradeMode", "NONE")) {
33 return true;
34 }
35
36 // allowed to trade - either openly or snuck in - so we're good
37 return false;
38
39// MemoryAPI marketMem = market.getMemoryWithoutUpdate();
40// if (marketMem.is("$playerHostileTimeout", true)) {
41// return true;
42// }
43
44// List<Token> innerParams = new ArrayList<Token>();
45// innerParams.add(new Token(market.getFactionId(), TokenType.LITERAL));
46// boolean hostileAware = new AnyNearbyFleetsHostileAndAware().execute(ruleId, dialog, innerParams, memoryMap);
47//
48// if (hostileAware) return true;
49//
50// CampaignFleetAPI player = Global.getSector().getPlayerFleet();
51// boolean tOn = player.isTransponderOn();
52//
53// FactionAPI faction = market.getFaction();
54// boolean allowsTOffTrade = faction.getCustomBoolean(Factions.CUSTOM_ALLOWS_TRANSPONDER_OFF_TRADE);
55// boolean freePort = market.hasCondition(Conditions.FREE_PORT);
56//
57// RepLevel rep = faction.getRelationshipLevel(player.getFaction());
58//
59// if (rep.isAtBest(RepLevel.INHOSPITABLE) && tOn && !allowsTOffTrade && !freePort) {
60// return true;
61// }
62
63 }
64}
65
66
67
68
69
70
71
72
73
74
75
76
77
78
boolean execute(String ruleId, InteractionDialogAPI dialog, List< Token > params, Map< String, MemoryAPI > memoryMap)