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.rules.MemoryAPI; 009import com.fs.starfarer.api.impl.campaign.ids.MemFlags; 010import com.fs.starfarer.api.util.Misc.Token; 011 012/** 013 * MakeOtherFleetAvoidContact <avoid contact> 014 * 015 * Copyright 2015 Fractal Softworks, LLC 016 */ 017public class MakeOtherFleetAvoidContact extends BaseCommandPlugin { 018 019 public boolean execute(String ruleId, InteractionDialogAPI dialog, List<Token> params, Map<String, MemoryAPI> memoryMap) { 020 021 if (dialog == null) return false; 022 if (!(dialog.getInteractionTarget() instanceof CampaignFleetAPI)) return false; 023 024 boolean avoid = true; 025 if (params.size() >= 1) { 026 avoid = params.get(0).getBoolean(memoryMap); 027 } 028 029 CampaignFleetAPI fleet = (CampaignFleetAPI) dialog.getInteractionTarget(); 030 031 if (avoid) { 032 fleet.getMemoryWithoutUpdate().set(MemFlags.MEMORY_KEY_AVOID_PLAYER_SLOWLY, avoid); 033 } else { 034 fleet.getMemoryWithoutUpdate().unset(MemFlags.MEMORY_KEY_AVOID_PLAYER_SLOWLY); 035 } 036 037 038 return true; 039 } 040 041} 042 043 044 045 046