001package com.fs.starfarer.api.campaign.ai;
002
003/**
004 * Variables set in memory that indicate certain decisions or behaviors
005 * of the AI. Used to communicate between otherwise-disconnected modules, such
006 * as ability AI and other fleet AI modules.
007 * 
008 * Mods replacing parts of the fleet AI should try to use these if possible/appropriate.
009 * 
010 * Mods replacing fleet AI entirely (i.e. all modules, and all ability AI) are free
011 * to either use these or devise their own system.
012 * 
013 * @author Alex Mosolov
014 *
015 * Copyright 2015 Fractal Softworks, LLC
016 */
017public class FleetAIFlags {
018        
019        public static final String USE_EB_FOR_TRAVEL = "$ai_useEBForTravel";
020        
021        /**
022         * SectorEntityToken, set if actively pursuing something.
023         */
024        public static final String PURSUIT_TARGET = "$ai_pursuitTarget";
025        
026        
027        /**
028         * SectorEntityToken, nearest enemy the AI is trying to avoid.
029         */
030        public static final String NEAREST_FLEEING_FROM = "$ai_fleeingFrom";
031        
032        
033        /**
034         * SectorEntityToken, nearest enemy. May or may not be trying to avoid.
035         */
036        public static final String NEAREST_ENEMY = "$ai_nearestEnemy";
037        
038        
039        /**
040         * Vector2f, Where it wants to go.
041         */
042        public static final String TRAVEL_DEST = "$ai_travelDest";
043        
044        
045        /**
046         * Vector2f, Where it's actually going (due to avoiding enemies/terrain/etc).
047         * Not set while orbiting.
048         */
049        public static final String MOVE_DEST = "$ai_moveDest";
050        
051        
052        
053        /**
054         * Boolean, whether the AI wants to keep the transponder on.
055         */
056        public static final String WANTS_TRANSPONDER_ON = "$ai_wantsTransponderOn";
057        
058        
059        
060        /**
061         * Float, days spent pursuing a target that's no longer visible.
062         */
063        public static final String DAYS_TARGET_UNSEEN = "$ai_daysTargetUnseen";
064        
065        /**
066         * Vector2f, last location where the target was seen.
067         */
068        public static final String LAST_SEEN_TARGET_LOC = "$ai_lastSeenTargetLoc";
069        
070        
071        /**
072         * Does not get reset when the target changes. Used for an outside script to indicate where the fleet
073         * should start looking for a target it's trying to intercept. 
074         */
075        public static final String PLACE_TO_LOOK_FOR_TARGET = "$ai_placeToLook";
076        
077        public static final String SEEN_TARGET_JUMPING_FROM = "$ai_seenTargetJumpingFrom";
078        
079        /**
080         * Float, direction the target was going when last seen.
081         */
082        public static final String LAST_SEEN_TARGET_HEADING = "$ai_lastSeenTargetHeading";
083        
084        
085        /**
086         * Boolean, whether the fleet has an ability-induced speed penalty.
087         */
088        public static final String HAS_SPEED_PENALTY = "$ai_hasSpeedPenalty";
089        
090        public static final String USED_INTERDICTION_PULSE = "$ai_usedIP";
091        
092        public static final String HAS_VISION_PENALTY = "$ai_hasVisionPenalty";
093        public static final String HAS_SPEED_BONUS = "$ai_hasSpeedBonus";
094        public static final String HAS_VISION_BONUS = "$ai_hasVisionBonus";
095        
096        public static final String HAS_LOWER_DETECTABILITY = "$ai_hasLowerDetectability";
097        public static final String HAS_HIGHER_DETECTABILITY = "$ai_hasHigherDetectability";
098        
099        
100}
101
102
103
104
105
106
107
108
109
110
111