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}