Iff defs.tbl

From FreeSpace Wiki
Revision as of 02:50, 29 July 2007 by Goober5000 (talk | contribs) (add additional ship flags)
Jump to: navigation, search
This feature requires FreeSpace Open

Revision information..

3.6.x branch: 1.9.2.3
3.7 branch: 1.13


The IFF (Identification Friend or Foe) table stores data on FS2's IFF entries. This tables default version (shown as example) is included to the code so iff_defs.tbl is not required unless entries are to be added or changed.

General Format

  • IFF_defs table consist of the traitor iff definition and from the actual iff definitions
  • Table begins with #IFFs
  • First the traitor must be defined with $Traitor IFF:
    • This entry is used to define which IFF is used to represent the traitors IFF
    • Value: IFF Name
  • Different IFFs entries begin with $IFF Name:
  • Table ends with #End


$IFF Name:

$Colour: or $Color:

FS2 Open, 3.6.x:
  • Defines the color of the IFF as seen in by default (e.g. in briefing icons).
  • Syntax: ( Color ), three integers, values from 0 to 255; red, green and blue respectively
    • Example: ( 0, 255, 0 )


$Attacks:

FS2 Open, 3.6.x:
  • Defines the IFFs that are attacked by default
  • Syntax: ( String ), name of the IFF
    • Example: ( "Friendly" "Neutral" "Traitor" )


+Sees IFF Name As:

FS2 Open, 3.6.x:
  • IFF can be set to be seen as in different color than what that IFFS default color is.
  • Same IFF may have multiple +Sees IFF Name As: entries
  • IFF Name defines the name of the IFF to have a different color.
    • Example: +Sees Hostile As:
  • Syntax: ( Color ), three integers, values from 0 to 255; red, green and blue respectively
    • Example: ( 255, 0, 0 )


$Flags:

FS2 Open, 3.6.x:
  • IFFs can have special flags assigned to them.
  • Syntax: ( "String" ), name of the flag
    • Example: ( "support allowed" )
    • List of flags:
      • "support allowed"
      • "exempt from all teams at war"


$Default Ship Flags:

FS2 Open, 3.6.x:
  • Ships belonging to a particular IFF can have a default set of flags when created in FRED.
  • Syntax: ( "String" "String" ), names of the flags
    • Example: ( "cargo-known" )
    • List of possible ship flags:
      • "cargo-known"
      • "ignore-count"
      • "protect-ship"
      • "reinforcement"
      • "no-shields"
      • "escort"
      • "player-start"
      • "no-arrival-music"
      • "no-arrival-warp"
      • "no-departure-warp"
      • "locked"
      • "invulnerable"
      • "hidden-from-sensors"
      • "scannable"
      • "kamikaze"
      • "no-dynamic"
      • "red-alert-carry"
      • "beam-protect-ship"
      • "guardian"
      • "special-warp"
      • "vaporize"
      • "stealth"
      • "friendly-stealth-invisible"
      • "don't-collide-invisible"


$Default Ship Flags2:

FS2 Open, 3.6.x:
  • Ships belonging to a particular IFF can have a default set of flags when created in FRED.
  • Syntax: ( "String" "String" ), names of the flags
    • Example: ( "cargo-known" )
    • List of possible ship flags:
      • "primitive-sensors"
      • "no-subspace-drive"
      • "nav-carry-status"
      • "no-bank"
      • "affected-by-gravity"
      • "toggle-subsystem-scanning"
      • "targetable-as-bomb"
      • "no-builtin-messages"
      • "primaries-locked"
      • "secondaries-locked"
      • "no-death-scream"
      • "always-death-scream"
      • "nav-needslink"


Sample Entry

#IFFs
   
;; Every iff_defs.tbl must contain a Traitor entry.  Traitors attack	
;; one another (required by the dogfighting code) but it is up to you	
;; to decide who attacks the traitor or whom else the traitor attacks.	
$Traitor IFF: Traitor
   
;------------------------												
; Friendly																
;------------------------												
$IFF Name: Friendly														
$Color: ( 0, 255, 0 )													
$Attacks: ( "Hostile" "Neutral" "Traitor" )						
$Flags: ( "support allowed" )											
$Default Ship Flags: ( "cargo-known" )								
   	
;------------------------												
; Hostile																
;------------------------												
$IFF Name: Hostile													
$Color: ( 255, 0, 0 )													
$Attacks: ( "Friendly" "Neutral" "Traitor" )						
+Sees Friendly As: ( 255, 0, 0 )										
+Sees Hostile As: ( 0, 255, 0 )

;------------------------												
; Neutral																
;------------------------												
$IFF Name: Neutral														
$Color: ( 255, 0, 0 )													
$Attacks: ( "Friendly" "Traitor" )									
+Sees Friendly As: ( 255, 0, 0 )										
+Sees Hostile As: ( 0, 255, 0 )											
+Sees Neutral As: ( 0, 255, 0 )											
  	
;------------------------												
; Unknown																
;------------------------												
$IFF Name: Unknown														
$Color: ( 255, 0, 255 )													
$Attacks: ( "Hostile" )												
+Sees Neutral As: ( 0, 255, 0 )											
+Sees Traitor As: ( 0, 255, 0 )											
$Flags: ( "exempt from all teams at war" )							

;------------------------												
; Traitor																
;------------------------												
$IFF Name: Traitor														
$Color: ( 255, 0, 0 )													
$Attacks: ( "Friendly" "Hostile" "Neutral" "Traitor" )			
+Sees Friendly As: ( 255, 0, 0 )										
 	
#End