Starsector API
Loading...
Searching...
No Matches
TakeRepCheck.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.FactionAPI;
8import com.fs.starfarer.api.campaign.InteractionDialogAPI;
9import com.fs.starfarer.api.campaign.RepLevel;
10import com.fs.starfarer.api.campaign.rules.MemoryAPI;
11import com.fs.starfarer.api.impl.campaign.ids.Factions;
12import com.fs.starfarer.api.util.Misc.Token;
13import com.fs.starfarer.api.util.Misc.VarAndMemory;
14
15
19public class TakeRepCheck extends BaseCommandPlugin {
20// public static enum RepCheckResult {
21// R0(0.0f),
22// R1(0.1f),
23// R2(0.2f),
24// R3(0.4f),
25// R4(0.6f),
26// R5(0.95f);
27//
28// private final float threshold;
29// private RepCheckResult(float threshold) {
30// this.threshold = threshold;
31// }
32// public float getThreshold() {
33// return threshold;
34// }
35// }
36
37 public boolean execute(String ruleId, InteractionDialogAPI dialog, List<Token> params, Map<String, MemoryAPI> memoryMap) {
38
39 String factionId = params.get(0).getString(memoryMap);
40 VarAndMemory result = params.get(1).getVarNameAndMemory(memoryMap);
41
42 FactionAPI faction = Global.getSector().getFaction(factionId);
43 FactionAPI player = Global.getSector().getFaction(Factions.PLAYER);
44 RepLevel level = player.getRelationshipLevel(faction);
45 if (level.isAtBest(RepLevel.SUSPICIOUS)) {
46 //result.memory.set(result.name, RepCheckResult.R0.name(), 0);
47 result.memory.set(result.name, 0f, 0);
48 }
49
50 float rel = player.getRelationship(factionId);
51
52 float r = (float) Math.random();
53 r *= r;
54 float roll = rel * 0.2f + rel * 0.8f * (float) Math.random() + (1f - rel) * r;
55
56 result.memory.set(result.name, roll, 0);
57 //result.memory.set(result.name, 1f, 0);
58// RepCheckResult max = RepCheckResult.R0;
59// float minDiff = Float.MAX_VALUE;
60// for (RepCheckResult r : EnumSet.allOf(RepCheckResult.class)) {
61// float diff = 2f -
62// }
63 return true;
64 }
65
66
67}
68
69
70
71
static SectorAPI getSector()
Definition Global.java:59
boolean execute(String ruleId, InteractionDialogAPI dialog, List< Token > params, Map< String, MemoryAPI > memoryMap)