1 #ifndef AI_FLAGS_H 2 #define AI_FLAGS_H 3 4 #include "globalincs/flagset.h" 5 6 namespace AI { FLAG_LIST(AI_Flags)7 FLAG_LIST(AI_Flags) { 8 Formation_wing, // Fly in formation as part of wing. Also used when flying waypoints. 9 Awaiting_repair, // Awaiting a repair ship. 10 Being_repaired, // Currently docked with repair ship. 11 Repairing, // Repairing a ship (or going to repair a ship) 12 Seek_lock, // set if should focus on gaining aspect lock, not hitting with lasers 13 Formation_object, // Fly in formation off a specific object. 14 Temporary_ignore, // Means current ignore_objnum is only temporary, not an order from the player. 15 Use_exit_path, // Used by path code, to flag path as an exit path 16 Use_static_path, // Used by path code, use fixed path, don't try to recreate 17 Target_collision, // Collided with aip->target_objnum last frame. Avoid that ship for half a second or so. 18 Unload_secondaries, // Fire secondaries as fast as possible! 19 On_subsys_path, // Current path leads to a subsystem 20 Avoid_shockwave_ship, // Avoid an existing shockwave from a ship. 21 Avoid_shockwave_weapon, // Avoid an expected shockwave from a weapon. shockwave_object field contains object index. 22 Avoid_shockwave_started, // Already started avoiding shockwave, don't keep deciding whether to avoid. 23 Attack_slowly, // Move slowly while attacking. 24 Repair_obstructed, // Ship wants to be repaired, but path is obstructed. 25 Kamikaze, // Crash into target 26 No_dynamic, // Not allowed to get dynamic goals 27 Avoiding_small_ship, // Avoiding a player ship. 28 Avoiding_big_ship, // Avoiding a large ship. 29 Big_ship_collide_recover_1, // Collided into a big ship. Recovering by flying away. 30 Big_ship_collide_recover_2, // Collided into a big ship. Fly towards big ship sphere perimeter. 31 Stealth_pursuit, // AI is trying to fight stealth ship 32 Unload_primaries, // Fire primaries as fast as possible! 33 Trying_unsuccessfully_to_warp, // Trying to warp, but can't warp at the moment 34 Free_afterburner_use, // Use afterburners while following waypoints or flying towards objects 35 36 NUM_VALUES 37 }; 38 FLAG_LIST(Goal_Flags)39 FLAG_LIST(Goal_Flags) { 40 Docker_index_valid, // when set, index field for docker is valid 41 Dockee_index_valid, // when set, index field for dockee is valid 42 Goal_on_hold, // when set, this goal cannot currently be satisfied, although it could be in the future 43 Subsys_needs_fixup, // when set, the subsystem index (for a destroy subsystem goal) is invalid and must be gotten from the subsys name stored in docker.name field!! 44 Goal_override, // paired with AIG_TYPE_DYNAMIC to mean this goal overrides any other goal 45 Purge, // purge this goal next time we process 46 Goals_purged, // this goal has already caused other goals to get purged 47 Depart_sound_played,// Goober5000 - replacement for AL's hack ;) 48 Target_own_team, 49 50 NUM_VALUES 51 }; 52 FLAG_LIST(Maneuver_Override_Flags)53 FLAG_LIST(Maneuver_Override_Flags) { 54 Full_rot, // full sexp control over pitch/bank/heading rotation 55 Roll, // Sexp forced roll maneuver 56 Pitch, // Sexp forced pitch change 57 Heading, // Sexp forced heading change 58 Full_lat, // full control over up/side/forward movement 59 Up, // Sexp forced vertical movement 60 Sideways, // Sexp forced horizontal movement 61 Forward, // Sexp forced forward movement 62 63 Dont_bank_when_turning, // maps to CIF_DONT_BANK_WHEN_TURNING 64 Dont_clamp_max_velocity, // maps to CIF_DONT_CLAMP_MAX_VELOCITY 65 Instantaneous_acceleration, // maps to CIF_INSTANTANEOUS_ACCELERATION 66 Lateral_never_expire, // don't clear the lateral maneuver when the timestamp is up 67 Rotational_never_expire, // don't clear the rotational maneuver when the timestamp is up 68 Dont_override_old_maneuvers,// doesn't clear any previous maneuvers 69 70 NUM_VALUES 71 }; 72 FLAG_LIST(Profile_Flags)73 FLAG_LIST(Profile_Flags) { 74 Advanced_turret_fov_edge_checks, 75 Ai_aims_from_ship_center, 76 Ai_can_slow_down_attacking_big_ships, 77 Ai_guards_specific_ship_in_wing, 78 All_ships_manage_shields, 79 Allow_multi_event_scoring, 80 Allow_primary_link_at_start, 81 Allow_rapid_secondary_dumbfire, 82 Allow_turrets_target_weapons_freely, 83 Allow_vertical_dodge, 84 Aspect_invulnerability_fix, 85 Aspect_lock_countermeasure, 86 Assist_scoring_scales_with_damage, 87 Beams_damage_weapons, 88 Big_ships_can_attack_beam_turrets_on_untargeted_ships, 89 Check_comms_for_non_player_ships, 90 Disable_linked_fire_penalty, 91 Disable_player_secondary_doublefire, 92 Disable_ai_secondary_doublefire, 93 Disable_weapon_damage_scaling, 94 Dont_insert_random_turret_fire_delay, 95 Fix_ai_class_bug, 96 Fix_ai_path_order_bug, 97 Fix_heat_seeker_stealth_bug, 98 Fix_linked_primary_bug, 99 Fix_ramming_stationary_targets_bug, 100 Force_beam_turret_fov, 101 Free_afterburner_use, 102 Glide_decay_requires_thrust, 103 Hack_improve_non_homing_swarm_turret_fire_accuracy, 104 Huge_turret_weapons_ignore_bombs, 105 Include_beams_in_stat_calcs, 106 Kill_scoring_scales_with_damage, 107 Multi_allow_empty_primaries, 108 Multi_allow_empty_secondaries, 109 Navigation_subsys_governs_warp, 110 No_min_dock_speed_cap, 111 No_special_player_avoid, 112 No_warp_camera, 113 Perform_fewer_scream_checks, 114 Player_weapon_scale_fix, 115 Prevent_targeting_bombs_beyond_range, 116 Require_turret_to_have_target_in_fov, 117 Shockwaves_damage_small_ship_subsystems, 118 Smart_afterburner_management, 119 Smart_primary_weapon_selection, 120 Smart_secondary_weapon_selection, 121 Smart_shield_management, 122 Smart_subsystem_targeting_for_turrets, 123 Strict_turret_tagged_only_targeting, 124 Support_dont_add_primaries, //Prevents support ship from equipping new primary as requested in http://scp.indiegames.us/mantis/view.php?id=3198 125 Turrets_ignore_target_radius, 126 Use_actual_primary_range, 127 Use_subsystem_path_point_radii, 128 Use_additive_weapon_velocity, 129 Use_newtonian_dampening, 130 Use_only_single_fov_for_turrets, 131 No_turning_directional_bias, 132 Use_axial_turnrate_differences, 133 all_nonshielded_ships_can_manage_ets, 134 fightercraft_nonshielded_ships_can_manage_ets, 135 Better_collision_avoidance, 136 Require_exact_los, 137 Improved_missile_avoidance, 138 Friendlies_use_countermeasure_firechance, 139 Improved_subsystem_attack_pathing, 140 Fixed_ship_weapon_collision, 141 No_shield_damage_from_ship_collisions, 142 Reset_last_hit_target_time_for_player_hits, 143 144 NUM_VALUES 145 }; 146 } 147 148 #endif