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