Starsector API
Loading...
Searching...
No Matches
AdjustRep.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.InteractionDialogAPI;
8import com.fs.starfarer.api.campaign.RepLevel;
9import com.fs.starfarer.api.campaign.ReputationActionResponsePlugin.ReputationAdjustmentResult;
10import com.fs.starfarer.api.campaign.rules.MemoryAPI;
11import com.fs.starfarer.api.impl.campaign.CoreReputationPlugin.CustomRepImpact;
12import com.fs.starfarer.api.impl.campaign.CoreReputationPlugin.RepActionEnvelope;
13import com.fs.starfarer.api.impl.campaign.CoreReputationPlugin.RepActions;
14import com.fs.starfarer.api.util.Misc.Token;
15
19public class AdjustRep extends BaseCommandPlugin {
20
21 public boolean execute(String ruleId, InteractionDialogAPI dialog, List<Token> params, Map<String, MemoryAPI> memoryMap) {
22 String factionId = params.get(0).getString(memoryMap);
23 try {
24 RepActions action = RepActions.valueOf(params.get(1).getString(memoryMap));
25 RepActionEnvelope envelope = new RepActionEnvelope(action, null, dialog.getTextPanel());
26 ReputationAdjustmentResult result = Global.getSector().adjustPlayerReputation(envelope, factionId);
27 return result.delta != 0;
28 } catch (Throwable t) {
29 CustomRepImpact impact = new CustomRepImpact();
30 if (params.size() >= 3) {
31 impact.limit = RepLevel.valueOf(params.get(1).getString(memoryMap));
32 impact.delta = params.get(2).getFloat(memoryMap) * 0.01f;
33 } else {
34 impact.delta = params.get(1).getFloat(memoryMap) * 0.01f;
35 }
36 ReputationAdjustmentResult result = Global.getSector().adjustPlayerReputation(
37 new RepActionEnvelope(RepActions.CUSTOM, impact,
38 null, dialog.getTextPanel(), true),
39 factionId);
40
41// RepActions action = RepActions.valueOf(params.get(1).getString(memoryMap));
42// RepActionEnvelope envelope = new RepActionEnvelope(action, null, dialog.getTextPanel());
43// ReputationAdjustmentResult result = Global.getSector().adjustPlayerReputation(envelope, factionId);
44 return result.delta != 0;
45 }
46 }
47}
static SectorAPI getSector()
Definition Global.java:59
boolean execute(String ruleId, InteractionDialogAPI dialog, List< Token > params, Map< String, MemoryAPI > memoryMap)