001package com.fs.starfarer.api.impl.campaign.missions.academy;
002
003import com.fs.starfarer.api.impl.campaign.CoreReputationPlugin.RepRewards;
004import com.fs.starfarer.api.impl.campaign.missions.hub.HubMissionWithSearch;
005
006public abstract class GABaseMission extends HubMissionWithSearch {
007
008        /**
009         * Whether most GA missions have a time limit. Some will regardless of this setting.
010         */
011        public static boolean WITH_TIME_LIMIT = false;
012        
013        protected String department = null;
014        
015        public void pickAnyDepartment() {
016                pickDepartment(GADepartments.SOCIAL,
017                                           GADepartments.INDUSTRIAL, 
018                                           GADepartments.MILITARY,
019                                           GADepartments.SCIENCE,
020                                           GADepartments.WEIRD);
021        }
022        public void pickDepartment(String ... tags) {
023                department = GADepartments.pick(genRandom, tags);
024        }
025        
026        public void pickDepartmentAllTags(String ... tags) {
027                department = GADepartments.pickWithAllTags(genRandom, tags);
028        }
029        
030        public void setDefaultGARepRewards() {
031                // start off with with 10 rep with Sebeystyen
032                // transverse jump mission unlocks at 50 rep
033                // this'll determine how many missions on average it takes
034                setRepRewardPerson(RepRewards.VERY_HIGH);
035                setRepRewardFaction(RepRewards.MEDIUM);
036        }
037
038}