EDF weapon reference: Difference between revisions

From Eternity Wiki
Jump to navigationJump to search
(Create WIP EDF weapon reference page.)
 
m (Fixed Syntax section.)
Line 23: Line 23:
   dehackednum            <unique number>
   dehackednum            <unique number>
   inherits              <weaponinfo>
   inherits              <weaponinfo>
 
 
   ammotype              <artifact mnemonic>
   ammotype              <artifact mnemonic>
    
    
Line 31: Line 31:
   attackstate            <frame>
   attackstate            <frame>
   flashstate            <frame>
   flashstate            <frame>
 
 
   ammouse                <number>
   ammouse                <number>
 
 
   nextincycle            <weapon info mnemonic>
   nextincycle            <weapon info mnemonic>
   previncycle            <weapon info mnemonic>
   previncycle            <weapon info mnemonic>
 
 
   cflags                <flag list>
   cflags                <flag list>
   addflags              <flag list>
   addflags              <flag list>
   remflags              <flag list>
   remflags              <flag list>
 
 
   mod                    <MOD name OR number>
   mod                    <MOD name OR number>
 
 
   recoil                <number>
   recoil                <number>
   hapticrecoil          <number>
   hapticrecoil          <number>
   haptictime            <number>
   haptictime            <number>
 
 
   upsound                <sound>
   upsound                <sound>
   readysound            <sound>
   readysound            <sound>
 
 
   tracker                <string, TO BE REMOVED>
   tracker                <string, TO BE REMOVED>
 
 
   firstdecoratestate    <frame>
   firstdecoratestate    <frame>
   states                <[[DECORATE state syntax]] heredoc>
   states                <[[DECORATE state syntax]] heredoc>

Revision as of 16:21, 6 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 weaponinfodoesn'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:
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