EDF weapon reference: Difference between revisions

From Eternity Wiki
Jump to navigationJump to search
m (Fixed Syntax section.)
m (Fix a few dumb mistakes.)
Line 13: Line 13:
  }
  }
===Header properties===
===Header properties===
* ''<inherited weaponinfo>'' must be a value, even if the weaponinfodoesn't inherit from anything else. In that case, it must be '''Weapon''', which is a placeholder value belonging to no real weaponinfo.
* ''<inherited weaponinfo>'' must be a value, even if the weaponinfo doesn't inherit from anything else. In that case, it must be '''Weapon''', which is a placeholder value belonging to no real weaponinfo.
* ''<dehackednum>'' can be -1 if not used. If both are -1, they can be omitted, leaving just this:
* ''<dehackednum>'' -1 if not used. If -1, it can be omitted, leaving just this:
  weaponinfo <unique name> : <inherited weaponinfo> {<attributes>}
  weaponinfo <unique name> : <inherited weaponinfo> {<attributes>}
* If header properties are used, the pre-Alfheim syntax '''inherits''' and '''dehackednum''' attributes are not used.
* If header properties are used, the pre-Alfheim syntax '''inherits''' and '''dehackednum''' attributes are not used.

Revision as of 02:01, 11 July 2017

TODO: Initial spiel.

See User:Altazimuth/Weapon info flags
Back to EDF

Eternity Alfheim syntax

For versions of Eternity from Alfheim up, EDF weaponinfo support the following syntax. Make sure to add:

setdialect("ALFHEIM")

before using this syntax:

weaponinfo <unique name> : <inherited weaponinfo>, <dehackednum>
{
  <other attributes>
}

Header properties

  • <inherited weaponinfo> must be a value, even if the weaponinfo doesn't inherit from anything else. In that case, it must be Weapon, which is a placeholder value belonging to no real weaponinfo.
  • <dehackednum> -1 if not used. If -1, it can be omitted, leaving just this:
weaponinfo <unique name> : <inherited weaponinfo> {<attributes>}
  • If header properties are used, the pre-Alfheim syntax inherits and dehackednum attributes are not used.

Syntax

weaponinfo <unique name> [: <parent type> [, <dehackednum>]]
{
  dehackednum            <unique number>
  inherits               <weaponinfo>
  
  ammotype               <artifact mnemonic>
  
  upstate                <frame>
  downstate              <frame>
  readystate             <frame>
  attackstate            <frame>
  flashstate             <frame>
  
  ammouse                <number>
  
  nextincycle            <weapon info mnemonic>
  previncycle            <weapon info mnemonic>
  
  cflags                 <flag list>
  addflags               <flag list>
  remflags               <flag list>
  
  mod                    <MOD name OR number>
  
  recoil                 <number>
  hapticrecoil           <number>
  haptictime             <number>
  
  upsound                <sound>
  readysound             <sound>
  
  tracker                <string, TO BE REMOVED>
  
  firstdecoratestate     <frame>
  states                 <DECORATE state syntax heredoc>
}

Explanation of fields

ID / Type Info