001package com.fs.starfarer.api.impl.campaign.rulecmd; 002 003import java.util.List; 004import java.util.Map; 005 006import com.fs.starfarer.api.Global; 007import com.fs.starfarer.api.campaign.CampaignFleetAPI; 008import com.fs.starfarer.api.campaign.FleetAssignment; 009import com.fs.starfarer.api.campaign.InteractionDialogAPI; 010import com.fs.starfarer.api.campaign.SectorEntityToken; 011import com.fs.starfarer.api.campaign.rules.MemoryAPI; 012import com.fs.starfarer.api.util.Misc.Token; 013 014/** 015 * MakeOtherFleetDoThing <entity id> <duration> <text> <withClear> 016 * 017 * Copyright 2015 Fractal Softworks, LLC 018 */ 019public class MakeOtherFleetDoThing extends BaseCommandPlugin { 020 021 public boolean execute(String ruleId, InteractionDialogAPI dialog, List<Token> params, Map<String, MemoryAPI> memoryMap) { 022 023 if (dialog == null) return false; 024 if (!(dialog.getInteractionTarget() instanceof CampaignFleetAPI)) return false; 025 026 String id = params.get(0).getString(memoryMap); 027 String text = params.get(2).getString(memoryMap); 028 float dur = params.get(1).getFloat(memoryMap); 029 030 boolean clear = false; 031 if (params.size() > 3) { 032 clear = params.get(3).getBoolean(memoryMap); 033 } 034 035 SectorEntityToken entity = Global.getSector().getEntityById(id); 036 if (entity == null) return false; 037 038 CampaignFleetAPI fleet = (CampaignFleetAPI) dialog.getInteractionTarget(); 039 040 if (clear) { 041 fleet.clearAssignments(); 042 } 043 044 fleet.addAssignment(FleetAssignment.GO_TO_LOCATION, entity, 1000f); 045 fleet.addAssignment(FleetAssignment.ORBIT_PASSIVE, entity, dur, text); 046 047 return true; 048 } 049 050} 051 052 053 054 055