9 #ifndef _AI_PROFILES_H_
10 #define _AI_PROFILES_H_
21 #define AIPF_SMART_SHIELD_MANAGEMENT (1 << 0)
22 #define AIPF_BIG_SHIPS_CAN_ATTACK_BEAM_TURRETS_ON_UNTARGETED_SHIPS (1 << 1)
23 #define AIPF_SMART_PRIMARY_WEAPON_SELECTION (1 << 2)
24 #define AIPF_SMART_SECONDARY_WEAPON_SELECTION (1 << 3)
25 #define AIPF_ALLOW_RAPID_SECONDARY_DUMBFIRE (1 << 4)
26 #define AIPF_HUGE_TURRET_WEAPONS_IGNORE_BOMBS (1 << 5)
27 #define AIPF_DONT_INSERT_RANDOM_TURRET_FIRE_DELAY (1 << 6)
28 #define AIPF_HACK_IMPROVE_NON_HOMING_SWARM_TURRET_FIRE_ACCURACY (1 << 7)
29 #define AIPF_SHOCKWAVES_DAMAGE_SMALL_SHIP_SUBSYSTEMS (1 << 8)
30 #define AIPF_NAVIGATION_SUBSYS_GOVERNS_WARP (1 << 9)
31 #define AIPF_NO_MIN_DOCK_SPEED_CAP (1 << 10)
32 #define AIPF_DISABLE_LINKED_FIRE_PENALTY (1 << 11)
33 #define AIPF_DISABLE_WEAPON_DAMAGE_SCALING (1 << 12)
34 #define AIPF_USE_ADDITIVE_WEAPON_VELOCITY (1 << 13)
35 #define AIPF_USE_NEWTONIAN_DAMPENING (1 << 14)
36 #define AIPF_INCLUDE_BEAMS_IN_STAT_CALCS (1 << 15)
37 #define AIPF_KILL_SCORING_SCALES_WITH_DAMAGE (1 << 16)
38 #define AIPF_ASSIST_SCORING_SCALES_WITH_DAMAGE (1 << 17)
39 #define AIPF_ALLOW_MULTI_EVENT_SCORING (1 << 18)
40 #define AIPF_SMART_AFTERBURNER_MANAGEMENT (1 << 19)
41 #define AIPF_FIX_LINKED_PRIMARY_BUG (1 << 20)
42 #define AIPF_PREVENT_TARGETING_BOMBS_BEYOND_RANGE (1 << 21)
43 #define AIPF_SMART_SUBSYSTEM_TARGETING_FOR_TURRETS (1 << 22)
44 #define AIPF_FIX_HEAT_SEEKER_STEALTH_BUG (1 << 23)
45 #define AIPF_MULTI_ALLOW_EMPTY_PRIMARIES (1 << 24)
46 #define AIPF_MULTI_ALLOW_EMPTY_SECONDARIES (1 << 25)
47 #define AIPF_ALLOW_TURRETS_TARGET_WEAPONS_FREELY (1 << 26)
48 #define AIPF_USE_ONLY_SINGLE_FOV_FOR_TURRETS (1 << 27)
49 #define AIPF_ALLOW_VERTICAL_DODGE (1 << 28) //Allows AI ships to evade weapons vertically as well as horizontally
50 #define AIPF_FORCE_BEAM_TURRET_FOV (1 << 29)
51 #define AIPF_FIX_AI_CLASS_BUG (1 << 30)
54 #define AIPF2_TURRETS_IGNORE_TARGET_RADIUS (1 << 0)
55 #define AIPF2_NO_SPECIAL_PLAYER_AVOID (1 << 1)
56 #define AIPF2_PERFORM_FEWER_SCREAM_CHECKS (1 << 2)
57 #define AIPF2_ALL_SHIPS_MANAGE_SHIELDS (1 << 3)
58 #define AIPF2_ADVANCED_TURRET_FOV_EDGE_CHECKS (1 << 4)
59 #define AIPF2_REQUIRE_TURRET_TO_HAVE_TARGET_IN_FOV (1 << 5)
60 #define AIPF2_AI_AIMS_FROM_SHIP_CENTER (1 << 6)
61 #define AIPF2_ALLOW_PRIMARY_LINK_AT_START (1 << 7)
62 #define AIPF2_BEAMS_DAMAGE_WEAPONS (1 << 8)
63 #define AIPF2_PLAYER_WEAPON_SCALE_FIX (1 << 9)
64 #define AIPF2_NO_WARP_CAMERA (1 << 10)
65 #define AIPF2_ASPECT_LOCK_COUNTERMEASURE (1 << 11)
66 #define AIPF2_AI_GUARDS_SPECIFIC_SHIP_IN_WING (1 << 12)
67 #define AIPF2_FIX_AI_PATH_ORDER_BUG (1 << 13)
68 #define AIPF2_STRICT_TURRET_TAGGED_ONLY_TARGETING (1 << 14)
69 #define AIPF2_ASPECT_INVULNERABILITY_FIX (1 << 15)
70 #define AIPF2_GLIDE_DECAY_REQUIRES_THRUST (1 << 16)
73 #define AI_PATH_MODE_NORMAL 0
74 #define AI_PATH_MODE_ALT1 1
76 #define MAX_AI_PROFILES 5
int chance_to_use_missiles_on_plr[NUM_SKILL_LEVELS]
float beam_friendly_damage_cap[NUM_SKILL_LEVELS]
float glide_strafe_percent[NUM_SKILL_LEVELS]
float ship_fire_delay_scale_friendly[NUM_SKILL_LEVELS]
float stalemate_time_thresh[NUM_SKILL_LEVELS]
ai_profile_t Ai_profiles[MAX_AI_PROFILES]
float turn_time_scale[NUM_SKILL_LEVELS]
float player_autoaim_fov[NUM_SKILL_LEVELS]
float link_energy_levels_always[NUM_SKILL_LEVELS]
float bay_arrive_speed_mult
float bay_depart_speed_mult
float link_ammo_levels_maybe[NUM_SKILL_LEVELS]
float assist_award_percentage_scale[NUM_SKILL_LEVELS]
float ship_fire_secondary_delay_scale_friendly[NUM_SKILL_LEVELS]
struct ai_profile_t ai_profile_t
float subsys_damage_scale[NUM_SKILL_LEVELS]
int repair_penalty[NUM_SKILL_LEVELS]
float delay_bomb_arm_timer[NUM_SKILL_LEVELS]
float primary_ammo_burst_mult[NUM_SKILL_LEVELS]
float cmeasure_life_scale[NUM_SKILL_LEVELS]
int ai_profile_lookup(char *name)
int max_allowed_player_homers[NUM_SKILL_LEVELS]
float player_damage_scale[NUM_SKILL_LEVELS]
int max_attackers[NUM_SKILL_LEVELS]
char profile_name[NAME_LENGTH]
float weapon_energy_scale[NUM_SKILL_LEVELS]
float afterburner_recharge_scale[NUM_SKILL_LEVELS]
int max_incoming_asteroids[NUM_SKILL_LEVELS]
float detail_distance_mult[MAX_DETAIL_LEVEL+1]
float max_aim_update_delay[NUM_SKILL_LEVELS]
GLuint const GLchar * name
float turret_max_aim_update_delay[NUM_SKILL_LEVELS]
float circle_strafe_percent[NUM_SKILL_LEVELS]
float in_range_time[NUM_SKILL_LEVELS]
float ship_fire_secondary_delay_scale_hostile[NUM_SKILL_LEVELS]
float link_ammo_levels_always[NUM_SKILL_LEVELS]
float glide_attack_percent[NUM_SKILL_LEVELS]
fix predict_position_delay[NUM_SKILL_LEVELS]
float cmeasure_fire_chance[NUM_SKILL_LEVELS]
float shield_energy_scale[NUM_SKILL_LEVELS]
float ship_fire_delay_scale_hostile[NUM_SKILL_LEVELS]
float kill_percentage_scale[NUM_SKILL_LEVELS]
float shield_manage_delay[NUM_SKILL_LEVELS]
float random_sidethrust_percent[NUM_SKILL_LEVELS]
int max_turret_ownage_target[NUM_SKILL_LEVELS]
int max_turret_ownage_player[NUM_SKILL_LEVELS]
float assist_percentage_scale[NUM_SKILL_LEVELS]
float stalemate_dist_thresh[NUM_SKILL_LEVELS]
float link_energy_levels_maybe[NUM_SKILL_LEVELS]