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 * SetFleetAllowJump <true|false> 014 * 015 * Copyright 2015 Fractal Softworks, LLC 016 */ 017public class SetOtherFleetAllowJump 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 canJump = params.get(0).getBoolean(memoryMap); 025 026 CampaignFleetAPI fleet = (CampaignFleetAPI) dialog.getInteractionTarget(); 027 028 if (canJump) { 029 fleet.getMemoryWithoutUpdate().unset(MemFlags.MEMORY_KEY_NO_JUMP); 030 } else { 031 fleet.getMemoryWithoutUpdate().set(MemFlags.MEMORY_KEY_NO_JUMP, true); 032 } 033 034 035 return true; 036 } 037 038} 039 040 041 042 043