001package com.fs.starfarer.api.impl.campaign.rulecmd; 002 003import java.util.List; 004import java.util.Map; 005 006import com.fs.starfarer.api.campaign.CampaignFleetAPI; 007import com.fs.starfarer.api.campaign.InteractionDialogAPI; 008import com.fs.starfarer.api.campaign.ai.ModularFleetAIAPI; 009import com.fs.starfarer.api.campaign.rules.MemoryAPI; 010import com.fs.starfarer.api.util.Misc; 011import com.fs.starfarer.api.util.Misc.Token; 012 013/** 014 * MakeOtherFleetGoAway <withClear> 015 * 016 * Copyright 2015 Fractal Softworks, LLC 017 */ 018public class MakeOtherFleetGoAway extends BaseCommandPlugin { 019 020 public boolean execute(String ruleId, InteractionDialogAPI dialog, List<Token> params, Map<String, MemoryAPI> memoryMap) { 021 022 if (dialog == null) return false; 023 if (!(dialog.getInteractionTarget() instanceof CampaignFleetAPI)) return false; 024 025 boolean clear = false; 026 if (params.size() >= 1) { 027 clear = params.get(0).getBoolean(memoryMap); 028 } 029 030 CampaignFleetAPI fleet = (CampaignFleetAPI) dialog.getInteractionTarget(); 031 032 if (clear && fleet.getAI() != null) { 033 fleet.getAI().setActionTextOverride(null); 034 } 035 036 if (fleet.getAI() instanceof ModularFleetAIAPI) { 037 ModularFleetAIAPI mAI = (ModularFleetAIAPI) fleet.getAI(); 038 mAI.getTacticalModule().forceTargetReEval(); 039 } 040 041 Misc.giveStandardReturnToSourceAssignments(fleet, clear); 042 043 044 return true; 045 } 046 047} 048 049 050 051 052