Starsector API
Loading...
Searching...
No Matches
MiscCMD.java
Go to the documentation of this file.
1package com.fs.starfarer.api.impl.campaign.rulecmd.salvage;
2
3import java.util.List;
4import java.util.Map;
5import java.util.Random;
6
7import org.lwjgl.util.vector.Vector2f;
8
9import com.fs.starfarer.api.Global;
10import com.fs.starfarer.api.campaign.CampaignFleetAPI;
11import com.fs.starfarer.api.campaign.InteractionDialogAPI;
12import com.fs.starfarer.api.campaign.OptionPanelAPI;
13import com.fs.starfarer.api.campaign.SectorEntityToken;
14import com.fs.starfarer.api.campaign.StarSystemAPI;
15import com.fs.starfarer.api.campaign.TextPanelAPI;
16import com.fs.starfarer.api.campaign.rules.MemoryAPI;
17import com.fs.starfarer.api.impl.PlayerFleetPersonnelTracker;
18import com.fs.starfarer.api.impl.campaign.ids.FleetTypes;
19import com.fs.starfarer.api.impl.campaign.intel.misc.CryosleeperIntel;
20import com.fs.starfarer.api.impl.campaign.intel.misc.HypershuntIntel;
21import com.fs.starfarer.api.impl.campaign.intel.misc.WormholeIntel;
22import com.fs.starfarer.api.impl.campaign.rulecmd.BaseCommandPlugin;
23import com.fs.starfarer.api.impl.campaign.world.NamelessRock;
24import com.fs.starfarer.api.impl.combat.threat.DisposableThreatFleetManager;
25import com.fs.starfarer.api.impl.combat.threat.DisposableThreatFleetManager.ThreatFleetCreationParams;
26import com.fs.starfarer.api.impl.combat.threat.ThreatFleetBehaviorScript;
27import com.fs.starfarer.api.util.Misc;
28import com.fs.starfarer.api.util.Misc.Token;
29
33public class MiscCMD extends BaseCommandPlugin {
34
37 protected TextPanelAPI text;
39 protected MemoryAPI memory;
41 protected Map<String, MemoryAPI> memoryMap;
42
43
44 public MiscCMD() {
45 }
46
50
51 protected void init(SectorEntityToken entity) {
53 this.entity = entity;
55
56
57 }
58
59 public boolean execute(String ruleId, InteractionDialogAPI dialog, List<Token> params, Map<String, MemoryAPI> memoryMap) {
60 this.dialog = dialog;
61 this.memoryMap = memoryMap;
62
63 String command = params.get(0).getString(memoryMap);
64 if (command == null) return false;
65
67 init(entity);
68
70
73
74 if (command.equals("addCryosleeperIntel")) {
77 }
78 } else if (command.equals("addHypershuntIntel")) {
81 }
82 } else if (command.equals("addWormholeIntel")) {
84 } else if (command.equals("addMarineXP")) {
85 float amount = params.get(1).getFloat(memoryMap);
88 } else if (command.equals("mk1_spawnThreatFleet")) {
90
91 ThreatFleetCreationParams p = new ThreatFleetCreationParams();
92 p.numHives = 1;
93 p.numOverseers = 1;
94 p.numDestroyers = 2;
95 p.numFrigates = 4;
96 p.fleetType = FleetTypes.PATROL_SMALL;
97
99 ThreatFleetBehaviorScript behavior = new ThreatFleetBehaviorScript(fleet, system);
100 behavior.setSeenByPlayer();
101 fleet.addScript(behavior);
102
103 system.addEntity(fleet);
104 float radius = 1000f + 500f * (float) Math.random();
105 Vector2f loc = Misc.getPointAtRadius(playerFleet.getLocation(), radius);
106 fleet.setLocation(loc.x, loc.y);
107 }
108
109 return true;
110 }
111
112 public static void addWormholeIntelIfNeeded(SectorEntityToken entity, TextPanelAPI textPanel, boolean deployed) {
114 new WormholeIntel(entity, textPanel, deployed);
115 }
116 }
117
118}
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
static SectorAPI getSector()
Definition Global.java:65
static CryosleeperIntel getCryosleeperIntel(SectorEntityToken entity)
static HypershuntIntel getHypershuntIntel(SectorEntityToken entity)
static WormholeIntel getWormholeIntel(SectorEntityToken entity)
static MemoryAPI getEntityMemory(Map< String, MemoryAPI > memoryMap)
static void addWormholeIntelIfNeeded(SectorEntityToken entity, TextPanelAPI textPanel, boolean deployed)
Definition MiscCMD.java:112
boolean execute(String ruleId, InteractionDialogAPI dialog, List< Token > params, Map< String, MemoryAPI > memoryMap)
Definition MiscCMD.java:59
static CampaignFleetAPI createThreatFleet(int numFabricators, int minOtherCapitals, int maxOtherCapitals, FabricatorEscortStrength escorts, Random random)
static Vector2f getPointAtRadius(Vector2f from, float r)
Definition Misc.java:697
void addEntity(SectorEntityToken entity)
StarSystemAPI getStarSystem(String name)
void addScript(EveryFrameScript script)