001package com.fs.starfarer.api.impl.campaign;
002
003import com.fs.starfarer.api.Global;
004
005
006public class DebugFlags {
007
008        public static boolean FORCE_REGEN_AUTOMATED_DEFENSES = false;
009        
010        public static boolean ALWAYS_ADD_POTENTIAL_CONTACT = false;
011        
012        public static boolean ALLOW_KNOWN_HULLMOD_DROPS = false;
013        
014        public static boolean WITH_HYPER_STATION = false;
015        
016        public static boolean PRINT_RULES_DEBUG_INFO = false;
017        
018        public static boolean OBJECTIVES_DEBUG = false; // Can build for free at stable locations.
019        
020        public static boolean COLONY_DEBUG = false; // Surveying and establishing colonies is free.
021        public static boolean ALLOW_VIEW_UNEXPLORED_SYSTEM_MAP = false; // can click on unexplored stars and see the system map
022        public static boolean MARKET_HOSTILITIES_DEBUG = false; // can bombard and raid regardless of defenses
023        public static boolean HIDE_COLONY_CONTROLS = false; // generally want this set to false
024        
025        
026        public static boolean HEGEMONY_INSPECTION_DEBUG = false; // inspections quickly start and arrive
027        public static boolean PUNITIVE_EXPEDITION_DEBUG = false; // punitive expeditions quickly start and arrive
028        
029        public static boolean FAST_RAIDS = false; // expeditions, raids, etc arrive quickly
030        
031        public static boolean RAID_DEBUG = false; // don't set this to true
032        
033        public static boolean PATHER_BASE_DEBUG = false;
034        public static boolean DECIV_DEBUG = false;
035        
036        public static boolean FAST_PATROL_SPAWN = false;
037        
038        public static boolean PERSON_BOUNTY_DEBUG_INFO = false;
039        
040        public static boolean BAR_DEBUG = false; // all bar events generated w/o limit and more quickly
041        
042        public static boolean ALLOW_ALL_CONTACT_MISSIONS = false; // regardless of importance or relationship or requirement structure
043        
044        public static boolean SLIPSTREAM_DEBUG = false;
045        public static boolean USE_SLIPSTREAM_VISIBILITY_IN_DEBUG_MODE = true;
046        
047        public static boolean ABYSSAL_GHOST_SHIPS_DEBUG = false;
048        
049        
050        // not really a debug flag...
051        public static boolean SEND_UPDATES_WHEN_NO_COMM = false;
052        public static boolean WEAPONS_HAVE_COST = true; // weapons/fighters on custom-produced ships have a cost
053        
054        
055        
056        
057        
058        static {
059                setStandardConfig();
060                
061//              HEGEMONY_INSPECTION_DEBUG = true;
062//              PUNITIVE_EXPEDITION_DEBUG = true;
063//              FAST_PATROL_SPAWN = true;
064//              PERSON_BOUNTY_DEBUG_INFO = true;
065                
066                if (Global.getSettings().getBoolean("playtestingMode")) {
067                        setPlaytestingConfig();
068                }
069                
070//              PATHER_BASE_DEBUG = true;
071//              RAID_DEBUG = true;
072//              FAST_PATROL_SPAWN = true;
073//              ALLOW_VIEW_UNEXPLORED_SYSTEM_MAP = true;
074//              COLONY_DEBUG = true;
075//              COLONY_DEBUG = false;
076//              PUNITIVE_EXPEDITION_DEBUG = true;
077//              HEGEMONY_INSPECTION_DEBUG = true;
078//              MARKET_HOSTILITIES_DEBUG = true;
079        }
080        
081        
082        public static void setStandardConfig() {
083                boolean dev = Global.getSettings().isDevMode();
084//              PRINT_RULES_DEBUG_INFO = dev;
085//              PRINT_RULES_DEBUG_INFO = false; // starting to take too much time to print, noticeable delays for interactions
086                PRINT_RULES_DEBUG_INFO = Global.getSettings().getBoolean("printRulesDebugInfo");
087                OBJECTIVES_DEBUG = dev;
088                
089                SLIPSTREAM_DEBUG = dev;
090                
091                ALWAYS_ADD_POTENTIAL_CONTACT = dev;
092                
093                COLONY_DEBUG = dev;
094                //COLONY_DEBUG = false;
095                ALLOW_VIEW_UNEXPLORED_SYSTEM_MAP = dev;
096                MARKET_HOSTILITIES_DEBUG = dev;
097                
098                HEGEMONY_INSPECTION_DEBUG = false;
099                PUNITIVE_EXPEDITION_DEBUG = false;
100                RAID_DEBUG = false;
101                DECIV_DEBUG = false;
102                FAST_RAIDS = false;
103                
104                BAR_DEBUG = dev;
105                
106                FAST_PATROL_SPAWN = false;
107                
108                PERSON_BOUNTY_DEBUG_INFO = dev;
109                
110                ALLOW_ALL_CONTACT_MISSIONS = dev;
111                
112        }
113        
114        public static void setPlaytestingConfig() {
115                //PRINT_RULES_DEBUG_INFO = false;
116                PRINT_RULES_DEBUG_INFO = Global.getSettings().getBoolean("printRulesDebugInfo");
117                OBJECTIVES_DEBUG = false;
118                ALWAYS_ADD_POTENTIAL_CONTACT = false;
119                SLIPSTREAM_DEBUG = false;
120                
121                COLONY_DEBUG = false;
122                ALLOW_VIEW_UNEXPLORED_SYSTEM_MAP = false;
123                MARKET_HOSTILITIES_DEBUG = false;
124                
125                HEGEMONY_INSPECTION_DEBUG = false;
126                PUNITIVE_EXPEDITION_DEBUG = false;
127                RAID_DEBUG = false;
128                DECIV_DEBUG = false;
129                FAST_RAIDS = false;
130                
131                BAR_DEBUG = false;
132                
133                FAST_PATROL_SPAWN = false;
134                
135                PERSON_BOUNTY_DEBUG_INFO = false;
136                
137                ALLOW_ALL_CONTACT_MISSIONS = false;
138        }
139        
140        
141        
142        
143}