diff --git a/code/def_files/data/tables/objecttypes.tbl b/code/def_files/data/tables/objecttypes.tbl index f7307102f83..ef73d9355b0 100644 --- a/code/def_files/data/tables/objecttypes.tbl +++ b/code/def_files/data/tables/objecttypes.tbl @@ -8,9 +8,9 @@ $Fog: +Start dist: 10.0 +Compl dist: 500.0 $AI: - +Actively Pursues: ( "navbuoy" "sentry gun" "escape pod" "cargo" "support" "stealth" "fighter" "bomber" "fighter/bomber" "transport" "freighter" "awacs" "gas miner" "cruiser" "corvette" "capital" "super cap" "drydock" "knossos device" ) + +Actively Pursues: ( "navbuoy" "sentry gun" "escape pod" "cargo" "support" "fighter" "bomber" "transport" "freighter" "awacs" "gas miner" "cruiser" "corvette" "capital" "super cap" "drydock" "knossos device" ) +Turrets attack this: YES - +Ignored on cripple by: ( "navbuoy" "sentry gun" "escape pod" "cargo" "support" "stealth" "fighter" "bomber" "fighter/bomber" "transport" "freighter" "awacs" "gas miner" "cruiser" "corvette" "capital" "super cap" "drydock" "knossos device" ) + +Ignored on cripple by: ( "navbuoy" "sentry gun" "escape pod" "cargo" "support" "fighter" "bomber" "transport" "freighter" "awacs" "gas miner" "cruiser" "corvette" "capital" "super cap" "drydock" "knossos device" ) $Skip Death Roll Percent Chance: 0.0 $Name: Sentry Gun @@ -28,10 +28,10 @@ $Fog: $AI: +Accept Player Orders: NO +Auto attacks: YES - +Actively Pursues: ( "navbuoy" "sentry gun" "escape pod" "cargo" "support" "stealth" "fighter" "bomber" "fighter/bomber" "transport" "freighter" "awacs" "gas miner" "cruiser" "corvette" "capital" "super cap" "drydock" "knossos device" ) + +Actively Pursues: ( "navbuoy" "sentry gun" "escape pod" "cargo" "support" "fighter" "bomber" "transport" "freighter" "awacs" "gas miner" "cruiser" "corvette" "capital" "super cap" "drydock" "knossos device" ) +Guards attack this: YES +Turrets attack this: YES - +Ignored on cripple by: ( "navbuoy" "sentry gun" "escape pod" "cargo" "support" "stealth" "fighter" "bomber" "fighter/bomber" "transport" "freighter" "awacs" "gas miner" "cruiser" "corvette" "capital" "super cap" "drydock" "knossos device" ) + +Ignored on cripple by: ( "navbuoy" "sentry gun" "escape pod" "cargo" "support" "fighter" "bomber" "transport" "freighter" "awacs" "gas miner" "cruiser" "corvette" "capital" "super cap" "drydock" "knossos device" ) $Skip Death Roll Percent Chance: 0.0 $Name: Escape Pod @@ -48,9 +48,9 @@ $Fog: +Compl dist: 600.0 $AI: +Valid goals: ( "fly to ship" "attack ship" "attack wing" "dock" "waypoints" "waypoints once" "depart" "undock" "stay still" "play dead" "play dead (persistent)" "stay near ship" ) - +Actively Pursues: ( "navbuoy" "sentry gun" "escape pod" "cargo" "support" "stealth" "fighter" "bomber" "fighter/bomber" "transport" "freighter" "awacs" "gas miner" "cruiser" "corvette" "capital" "super cap" "drydock" "knossos device" ) + +Actively Pursues: ( "navbuoy" "sentry gun" "escape pod" "cargo" "support" "fighter" "bomber" "transport" "freighter" "awacs" "gas miner" "cruiser" "corvette" "capital" "super cap" "drydock" "knossos device" ) +Turrets attack this: YES - +Ignored on cripple by: ( "navbuoy" "sentry gun" "escape pod" "cargo" "support" "stealth" "fighter" "bomber" "fighter/bomber" "transport" "freighter" "awacs" "gas miner" "cruiser" "corvette" "capital" "super cap" "drydock" "knossos device" ) + +Ignored on cripple by: ( "navbuoy" "sentry gun" "escape pod" "cargo" "support" "fighter" "bomber" "transport" "freighter" "awacs" "gas miner" "cruiser" "corvette" "capital" "super cap" "drydock" "knossos device" ) $Skip Death Roll Percent Chance: 0.0 $Name: Cargo @@ -87,37 +87,11 @@ $AI: +Accept Player Orders: YES +Player orders: ( "rearm me" "abort rearm" "depart" ) +Auto attacks: YES - +Actively Pursues: ( "navbuoy" "sentry gun" "escape pod" "cargo" "support" "stealth" "fighter" "bomber" "fighter/bomber" "transport" "freighter" "awacs" "gas miner" "cruiser" "corvette" "capital" "super cap" "drydock" "knossos device" ) + +Actively Pursues: ( "navbuoy" "sentry gun" "escape pod" "cargo" "support" "fighter" "bomber" "transport" "freighter" "awacs" "gas miner" "cruiser" "corvette" "capital" "super cap" "drydock" "knossos device" ) +Guards attack this: YES +Turrets attack this: YES +Active docks: ( "support" ) - +Ignored on cripple by: ( "navbuoy" "sentry gun" "escape pod" "cargo" "support" "stealth" "fighter" "bomber" "fighter/bomber" "transport" "freighter" "awacs" "gas miner" "cruiser" "corvette" "capital" "super cap" "drydock" "knossos device" ) -$Skip Death Roll Percent Chance: 0.0 - -;;WMC - Stealth ships always have another type, so this isn't used -$Name: Stealth -$Counts for Alone: YES -$Praise Destruction: YES -$On Hotkey List: YES -$Target as Threat: YES -$Show Attack Direction: YES -$Max Debris Speed: 200 -$FF Multiplier: 1.0 -$EMP Multiplier: 4.0 -$Protected on cripple: YES -$Fog: - +Start dist: 10.0 - +Compl dist: 500.0 -$AI: - +Valid goals: ( "fly to ship" "attack ship" "waypoints" "waypoints once" "depart" "attack subsys" "attack wing" "guard ship" "disable ship" "disable ship (tactical)" "disarm ship" "disarm ship (tactical)" "attack any" "attack ship class" "ignore ship" "ignore ship (new)" "guard wing" "evade ship" "stay still" "play dead" "play dead (persistent)" "stay near ship" "keep safe dist" ) - +Accept Player Orders: YES - +Player Orders: ( "attack ship" "disable ship" "disable ship (tactical)" "disarm ship" "disarm ship (tactical)" "guard ship" "ignore ship" "ignore ship (new)" "form on wing" "cover me" "attack any" "attack ship class" "depart" "disable subsys" ) - +Auto attacks: YES - +Actively Pursues: ( "navbuoy" "sentry gun" "escape pod" "cargo" "support" "stealth" "fighter" "bomber" "fighter/bomber" "transport" "freighter" "awacs" "gas miner" "cruiser" "corvette" "capital" "super cap" "drydock" "knossos device" ) - +Guards attack this: YES - +Turrets attack this: YES - +Passive docks: ( "support" ) - +Ignored on cripple by: ( "navbuoy" "sentry gun" "escape pod" "cargo" "support" "stealth" "fighter" "bomber" "fighter/bomber" "transport" "freighter" "awacs" "gas miner" "cruiser" "corvette" "capital" "super cap" "drydock" "knossos device" ) + +Ignored on cripple by: ( "navbuoy" "sentry gun" "escape pod" "cargo" "support" "fighter" "bomber" "transport" "freighter" "awacs" "gas miner" "cruiser" "corvette" "capital" "super cap" "drydock" "knossos device" ) $Skip Death Roll Percent Chance: 0.0 $Name: Fighter @@ -140,12 +114,12 @@ $AI: +Accept Player Orders: YES +Player Orders: ( "attack ship" "disable ship" "disable ship (tactical)" "disarm ship" "disarm ship (tactical)" "guard ship" "ignore ship" "ignore ship (new)" "form on wing" "cover me" "attack any" "attack ship class" "depart" "disable subsys" ) +Auto attacks: YES - +Actively Pursues: ( "navbuoy" "sentry gun" "escape pod" "cargo" "support" "stealth" "fighter" "bomber" "fighter/bomber" "transport" "freighter" "awacs" "gas miner" "cruiser" "corvette" "capital" "super cap" "drydock" "knossos device" ) + +Actively Pursues: ( "navbuoy" "sentry gun" "escape pod" "cargo" "support" "fighter" "bomber" "transport" "freighter" "awacs" "gas miner" "cruiser" "corvette" "capital" "super cap" "drydock" "knossos device" ) +Guards attack this: YES +Turrets attack this: YES +Can Form Wing: YES +Passive docks: ( "support" ) - +Ignored on cripple by: ( "navbuoy" "sentry gun" "escape pod" "cargo" "support" "stealth" "fighter" "bomber" "fighter/bomber" "transport" "freighter" "awacs" "gas miner" "cruiser" "corvette" "capital" "super cap" "drydock" "knossos device" ) + +Ignored on cripple by: ( "navbuoy" "sentry gun" "escape pod" "cargo" "support" "fighter" "bomber" "transport" "freighter" "awacs" "gas miner" "cruiser" "corvette" "capital" "super cap" "drydock" "knossos device" ) $Skip Death Roll Percent Chance: 0.0 $Name: Bomber @@ -168,40 +142,12 @@ $AI: +Accept Player Orders: YES +Player Orders: ( "attack ship" "disable ship" "disable ship (tactical)" "disarm ship" "disarm ship (tactical)" "guard ship" "ignore ship" "ignore ship (new)" "form on wing" "cover me" "attack any" "attack ship class" "depart" "disable subsys" ) +Auto attacks: YES - +Actively Pursues: ( "navbuoy" "sentry gun" "escape pod" "cargo" "support" "stealth" "fighter" "bomber" "fighter/bomber" "transport" "freighter" "awacs" "gas miner" "cruiser" "corvette" "capital" "super cap" "drydock" "knossos device" ) - +Guards attack this: YES - +Turrets attack this: YES - +Can Form Wing: YES - +Passive docks: ( "support" ) - +Ignored on cripple by: ( "navbuoy" "sentry gun" "escape pod" "cargo" "support" "stealth" "fighter" "bomber" "fighter/bomber" "transport" "freighter" "awacs" "gas miner" "cruiser" "corvette" "capital" "super cap" "drydock" "knossos device" ) -$Skip Death Roll Percent Chance: 0.0 - -;;WMC - This fighter/bomber type doesn't seem to be used anywhere, because no ship is set as both fighter and bomber -$Name: Fighter/bomber -$Counts for Alone: YES -$Praise Destruction: YES -$On Hotkey List: YES -$Target as Threat: YES -$Show Attack Direction: YES -$Warp Pushable: YES -$Max Debris Speed: 200 -$FF Multiplier: 1.0 -$EMP Multiplier: 4.0 -$Protected on cripple: YES -$Fog: - +Start dist: 10.0 - +Compl dist: 500.0 -$AI: - +Valid goals: ( "fly to ship" "attack ship" "waypoints" "waypoints once" "depart" "attack subsys" "attack wing" "guard ship" "disable ship" "disable ship (tactical)" "disarm ship" "disarm ship (tactical)" "attack any" "attack ship class" "ignore ship" "ignore ship (new)" "guard wing" "evade ship" "stay still" "play dead" "play dead (persistent)" "stay near ship" "keep safe dist" "form on wing" ) - +Accept Player Orders: YES - +Player Orders: ( "attack ship" "disable ship" "disable ship (tactical)" "disarm ship" "disarm ship (tactical)" "guard ship" "ignore ship" "ignore ship (new)" "form on wing" "cover me" "attack any" "attack ship class" "depart" "disable subsys" ) - +Auto attacks: YES - +Actively Pursues: ( "navbuoy" "sentry gun" "escape pod" "cargo" "support" "stealth" "fighter" "bomber" "fighter/bomber" "transport" "freighter" "awacs" "gas miner" "cruiser" "corvette" "capital" "super cap" "drydock" "knossos device" ) + +Actively Pursues: ( "navbuoy" "sentry gun" "escape pod" "cargo" "support" "fighter" "bomber" "transport" "freighter" "awacs" "gas miner" "cruiser" "corvette" "capital" "super cap" "drydock" "knossos device" ) +Guards attack this: YES +Turrets attack this: YES +Can Form Wing: YES +Passive docks: ( "support" ) - +Ignored on cripple by: ( "navbuoy" "sentry gun" "escape pod" "cargo" "support" "stealth" "fighter" "bomber" "fighter/bomber" "transport" "freighter" "awacs" "gas miner" "cruiser" "corvette" "capital" "super cap" "drydock" "knossos device" ) + +Ignored on cripple by: ( "navbuoy" "sentry gun" "escape pod" "cargo" "support" "fighter" "bomber" "transport" "freighter" "awacs" "gas miner" "cruiser" "corvette" "capital" "super cap" "drydock" "knossos device" ) $Skip Death Roll Percent Chance: 0.0 $Name: Transport @@ -230,7 +176,7 @@ $AI: +Turrets attack this: YES +Can Form Wing: YES +Passive docks: ( "support" ) - +Ignored on cripple by: ( "navbuoy" "sentry gun" "escape pod" "cargo" "support" "stealth" "fighter" "bomber" "fighter/bomber" "transport" "freighter" "awacs" "gas miner" "cruiser" "corvette" "capital" "super cap" "drydock" "knossos device" ) + +Ignored on cripple by: ( "navbuoy" "sentry gun" "escape pod" "cargo" "support" "fighter" "bomber" "transport" "freighter" "awacs" "gas miner" "cruiser" "corvette" "capital" "super cap" "drydock" "knossos device" ) +Targeted by 'Huge' weapons and Ignored by 'small only' weapons: YES $Skip Death Roll Percent Chance: 0.0 @@ -262,7 +208,7 @@ $AI: +Can Form Wing: YES +Active docks: ( "cargo" ) +Passive docks: ( "support" ) - +Ignored on cripple by: ( "navbuoy" "sentry gun" "escape pod" "cargo" "support" "stealth" "fighter" "bomber" "fighter/bomber" "transport" "freighter" "awacs" "gas miner" "cruiser" "corvette" "capital" "super cap" "drydock" "knossos device" ) + +Ignored on cripple by: ( "navbuoy" "sentry gun" "escape pod" "cargo" "support" "fighter" "bomber" "transport" "freighter" "awacs" "gas miner" "cruiser" "corvette" "capital" "super cap" "drydock" "knossos device" ) +Targeted by 'Huge' weapons and Ignored by 'small only' weapons: YES $Skip Death Roll Percent Chance: 0.0 @@ -292,7 +238,7 @@ $AI: +Turrets attack this: YES +Can Form Wing: YES +Passive docks: ( "support" ) - +Ignored on cripple by: ( "navbuoy" "sentry gun" "escape pod" "cargo" "support" "stealth" "fighter" "bomber" "fighter/bomber" "transport" "freighter" "awacs" "gas miner" "cruiser" "corvette" "capital" "super cap" "drydock" "knossos device" ) + +Ignored on cripple by: ( "navbuoy" "sentry gun" "escape pod" "cargo" "support" "fighter" "bomber" "transport" "freighter" "awacs" "gas miner" "cruiser" "corvette" "capital" "super cap" "drydock" "knossos device" ) +Targeted by 'Huge' weapons and Ignored by 'small only' weapons: YES $Skip Death Roll Percent Chance: 0.0 @@ -322,7 +268,7 @@ $AI: +Turrets attack this: YES +Can Form Wing: YES +Passive docks: ( "support" ) - +Ignored on cripple by: ( "navbuoy" "sentry gun" "escape pod" "cargo" "support" "stealth" "fighter" "bomber" "fighter/bomber" "transport" "freighter" "awacs" "gas miner" "cruiser" "corvette" "capital" "super cap" "drydock" "knossos device" ) + +Ignored on cripple by: ( "navbuoy" "sentry gun" "escape pod" "cargo" "support" "fighter" "bomber" "transport" "freighter" "awacs" "gas miner" "cruiser" "corvette" "capital" "super cap" "drydock" "knossos device" ) +Targeted by 'Huge' weapons and Ignored by 'small only' weapons: YES $Skip Death Roll Percent Chance: 0.0 @@ -352,7 +298,7 @@ $AI: +Turrets attack this: YES +Can Form Wing: YES +Passive docks: ( "support" ) - +Ignored on cripple by: ( "navbuoy" "sentry gun" "escape pod" "cargo" "support" "stealth" "fighter" "bomber" "fighter/bomber" "transport" "freighter" "awacs" "gas miner" "cruiser" "corvette" "capital" "super cap" "drydock" "knossos device" ) + +Ignored on cripple by: ( "navbuoy" "sentry gun" "escape pod" "cargo" "support" "fighter" "bomber" "transport" "freighter" "awacs" "gas miner" "cruiser" "corvette" "capital" "super cap" "drydock" "knossos device" ) +Targeted by 'Huge' weapons and Ignored by 'small only' weapons: YES $Skip Death Roll Percent Chance: 0.0 @@ -382,7 +328,7 @@ $AI: +Turrets attack this: YES +Can Form Wing: YES +Passive docks: ( "support" ) - +Ignored on cripple by: ( "navbuoy" "sentry gun" "escape pod" "cargo" "support" "stealth" "fighter" "bomber" "fighter/bomber" "transport" "freighter" "awacs" "gas miner" "cruiser" "corvette" "capital" "super cap" "drydock" "knossos device" ) + +Ignored on cripple by: ( "navbuoy" "sentry gun" "escape pod" "cargo" "support" "fighter" "bomber" "transport" "freighter" "awacs" "gas miner" "cruiser" "corvette" "capital" "super cap" "drydock" "knossos device" ) +Targeted by 'Huge' weapons and Ignored by 'small only' weapons: YES $Skip Death Roll Percent Chance: 0.0 @@ -412,7 +358,7 @@ $AI: +Turrets attack this: YES +Can Form Wing: YES +Passive docks: ( "support" ) - +Ignored on cripple by: ( "navbuoy" "sentry gun" "escape pod" "cargo" "support" "stealth" "fighter" "bomber" "fighter/bomber" "transport" "freighter" "awacs" "gas miner" "cruiser" "corvette" "capital" "super cap" "drydock" "knossos device" ) + +Ignored on cripple by: ( "navbuoy" "sentry gun" "escape pod" "cargo" "support" "fighter" "bomber" "transport" "freighter" "awacs" "gas miner" "cruiser" "corvette" "capital" "super cap" "drydock" "knossos device" ) +Targeted by 'Huge' weapons and Ignored by 'small only' weapons: YES $Skip Death Roll Percent Chance: 0.0 @@ -440,7 +386,7 @@ $AI: +Turrets attack this: YES +Can Form Wing: YES +Passive docks: ( "support" ) - +Ignored on cripple by: ( "navbuoy" "sentry gun" "escape pod" "cargo" "support" "stealth" "fighter" "bomber" "fighter/bomber" "transport" "freighter" "awacs" "gas miner" "cruiser" "corvette" "capital" "super cap" "drydock" "knossos device" ) + +Ignored on cripple by: ( "navbuoy" "sentry gun" "escape pod" "cargo" "support" "fighter" "bomber" "transport" "freighter" "awacs" "gas miner" "cruiser" "corvette" "capital" "super cap" "drydock" "knossos device" ) +Targeted by 'Huge' weapons and Ignored by 'small only' weapons: YES $Skip Death Roll Percent Chance: 0.0 @@ -466,7 +412,7 @@ $AI: +Guards attack this: YES +Turrets attack this: YES +Passive docks: ( "support" ) - +Ignored on cripple by: ( "navbuoy" "sentry gun" "escape pod" "cargo" "support" "stealth" "fighter" "bomber" "fighter/bomber" "transport" "freighter" "awacs" "gas miner" "cruiser" "corvette" "capital" "super cap" "drydock" "knossos device" ) + +Ignored on cripple by: ( "navbuoy" "sentry gun" "escape pod" "cargo" "support" "fighter" "bomber" "transport" "freighter" "awacs" "gas miner" "cruiser" "corvette" "capital" "super cap" "drydock" "knossos device" ) +Targeted by 'Huge' weapons and Ignored by 'small only' weapons: YES $Skip Death Roll Percent Chance: 0.0 @@ -490,7 +436,7 @@ $AI: +Guards attack this: YES +Turrets attack this: YES +Passive docks: ( "support" ) - +Ignored on cripple by: ( "navbuoy" "sentry gun" "escape pod" "cargo" "support" "stealth" "fighter" "bomber" "fighter/bomber" "transport" "freighter" "awacs" "gas miner" "cruiser" "corvette" "capital" "super cap" "drydock" "knossos device" ) + +Ignored on cripple by: ( "navbuoy" "sentry gun" "escape pod" "cargo" "support" "fighter" "bomber" "transport" "freighter" "awacs" "gas miner" "cruiser" "corvette" "capital" "super cap" "drydock" "knossos device" ) +Targeted by 'Huge' weapons and Ignored by 'small only' weapons: YES $Skip Death Roll Percent Chance: 0.0 diff --git a/code/ship/ship.cpp b/code/ship/ship.cpp index 1bda9545226..2e0697423f6 100644 --- a/code/ship/ship.cpp +++ b/code/ship/ship.cpp @@ -6208,6 +6208,8 @@ static void ship_parse_post_cleanup() */ void ship_init() { + int idx; + if ( !Ships_inited ) { //Initialize Ignore_List for targeting @@ -6222,11 +6224,18 @@ void ship_init() //Then other ones parse_modular_table(NOX("*-obt.tbm"), parse_shiptype_tbl); + // Remove the "stealth" ship type if it exists, since it was never supposed to be an actual ship type, and it conflicts with ship class flags (Github #6366) + idx = ship_type_name_lookup("stealth"); + if (idx >= 0) + { + Warning(LOCATION, "A ship type \"stealth\" was found in objecttypes.tbl or *-obt.tbm. This ship type will be removed since it will conflict with the \"stealth\" ship class flag. Please update your mod files."); + Ship_types.erase(Ship_types.begin() + idx); + } + // DO ALL THE STUFF WE NEED TO DO AFTER LOADING Ship_types ship_type_info *stp; uint i,j; - int idx; for(i = 0; i < Ship_types.size(); i++) { stp = &Ship_types[i];