001package com.fs.starfarer.api.impl.campaign.rulecmd; 002 003import java.util.List; 004import java.util.Map; 005 006import com.fs.starfarer.api.EveryFrameScript; 007import com.fs.starfarer.api.Global; 008import com.fs.starfarer.api.campaign.InteractionDialogAPI; 009import com.fs.starfarer.api.campaign.rules.MemoryAPI; 010import com.fs.starfarer.api.util.Misc.Token; 011 012public class MakePlayerImmediatelyAttackable extends BaseCommandPlugin { 013 014 public boolean execute(String ruleId, InteractionDialogAPI dialog, List<Token> params, Map<String, MemoryAPI> memoryMap) { 015 EveryFrameScript script = new EveryFrameScript() { 016 private boolean done = false; 017 public boolean runWhilePaused() { 018 return false; 019 } 020 public boolean isDone() { 021 return done; 022 } 023 public void advance(float amount) { 024 if (!Global.getSector().getCampaignUI().isShowingDialog()) { 025 Global.getSector().getPlayerFleet().setNoEngaging(0); 026 done = true; 027 } 028 } 029 }; 030 Global.getSector().addScript(script); 031 032 return true; 033 } 034 035}