Editing EDF weapon reference
From Eternity Wiki
Jump to navigationJump to search
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
TODO: Initial spiel. | |||
{{See|User:Altazimuth/Weapon info flags}} | |||
{{See|Weapon info flags}} | |||
{{Backto|EDF}} | {{Backto|EDF}} | ||
==Eternity Alfheim syntax== | ==Eternity Alfheim syntax== | ||
EDF weaponinfo | For versions of Eternity from Alfheim up, EDF weaponinfo support the following syntax. Make sure to add: | ||
setdialect("ALFHEIM") | setdialect("ALFHEIM") | ||
before using this syntax: | before using this syntax: | ||
Line 29: | Line 25: | ||
ammotype <artifact mnemonic> | ammotype <artifact mnemonic> | ||
upstate <frame> | upstate <frame> | ||
Line 37: | Line 32: | ||
flashstate <frame> | flashstate <frame> | ||
holdstate <frame> | holdstate <frame> | ||
ammouse <number> | ammouse <number> | ||
nextincycle <weapon info mnemonic> | |||
previncycle <weapon info mnemonic> | |||
cflags <flag list> | |||
addflags <flag list> | addflags <flag list> | ||
remflags <flag list> | remflags <flag list> | ||
Line 58: | Line 44: | ||
mod <MOD name OR number> | mod <MOD name OR number> | ||
recoil < | recoil <number> | ||
hapticrecoil <number> | hapticrecoil <number> | ||
haptictime <number> | haptictime <number> | ||
Line 64: | Line 50: | ||
upsound <sound> | upsound <sound> | ||
readysound <sound> | readysound <sound> | ||
tracker <string, TO BE REMOVED> | |||
firstdecoratestate <frame> | firstdecoratestate <frame> | ||
Line 76: | Line 64: | ||
:Default = (nothing) | :Default = (nothing) | ||
:Sets the weapon info from which this will copy properties. All of the properties except '''dehackednum''' will be copied from the base actor type. | :Sets the weapon info from which this will copy properties. All of the properties except '''dehackednum''' will be copied from the base actor type. | ||
====States==== | ====States==== | ||
*'''firstdecoratestate''' | *'''firstdecoratestate''' | ||
:Sets the first frame in a sequential list of dummy frames that use the internal Decorate-style defined '''states''' of this actor for [[EDF delta structures|framedelta]] compatibility. It's not required unless the intention is to make the Decorate states of this | :Sets the first frame in a sequential list of dummy frames that use the internal Decorate-style defined '''states''' of this actor for [[EDF delta structures|framedelta]] compatibility. It's not required unless the intention is to make the Decorate states of this thing accessible from other thing types. Default games' (Doom, Heretic) thing types use externalized frames for all thing types, for compatibility. | ||
*'''states''' | *'''states''' | ||
{{see|DECORATE state syntax}} | {{see|DECORATE state syntax}} | ||
:Default = nothing | :Default = nothing | ||
:Defines frames using [http://zdoom.org/wiki/DECORATE DECORATE]-style state definitions. This means it won't be necessary to define separate [[frame]] blocks for each individual frame. See the DECORATE reference at the ZDoom wiki for documentation on its syntax. Using the '''states''' field instead of any of the ones below results in more concise text, but also the newly created frames won't be accessible from outside (other | :Defines frames using [http://zdoom.org/wiki/DECORATE DECORATE]-style state definitions. This means it won't be necessary to define separate [[frame]] blocks for each individual frame. See the DECORATE reference at the ZDoom wiki for documentation on its syntax. Using the '''states''' field instead of any of the ones below results in more concise text, but also the newly created frames won't be accessible from outside (other thingtypes, Dehacked patches or delta structures), unless you use the '''firstdecoratestate''' field as well. Like normally, [[List of codepointers|codepointers]] may or may not be preceded by '''A_'''. The DECORATE code has to be implemented via a heredoc: a text string that spans on multiple lines. Unlike a regular string which uses quotation marks, the heredoc is marked by @" and "@ respectively. Example on an shotgun-like (the '=' sign is optional): | ||
states = | states = | ||
@" | @" | ||
Line 122: | Line 100: | ||
*'''upstate''' | *'''upstate''' | ||
:Default = S_NULL | :Default = S_NULL | ||
:Sets the frame which a weapon starts in when it is raised. If the object is supposed to have any dynamic purpose or be visible, do not leave the '''upstate''' at S_NULL | :Sets the frame which a weapon starts in when it is raised.If the object is supposed to have any dynamic purpose or be visible, do not leave the '''upstate''' at S_NULL. | ||
*'''downstate''' | *'''downstate''' | ||
:Default = S_NULL | :Default = S_NULL | ||
:Sets the frame which a weapon starts in when it is being lowered. If the object is supposed to have any dynamic purpose or be visible, do not leave the '''downstate''' at S_NULL | :Sets the frame which a weapon starts in when it is being lowered. If the object is supposed to have any dynamic purpose or be visible, do not leave the '''downstate''' at S_NULL. | ||
*'''readystate''' | *'''readystate''' | ||
:Default = S_NULL | :Default = S_NULL | ||
:Sets the frame which a | :Sets the frame which a thing starts in when it is ready to be fired. If the object is supposed to have any dynamic purpose or be visible, do not leave the '''readystate''' at S_NULL. | ||
*'''attackstate''' | *'''attackstate''' | ||
:Default = S_NULL | :Default = S_NULL | ||
:Sets the frame which a weapon goes to if the user tries to perform a primary attack. Though not necessary, it is suggested for weapons to have an attackstate for primary firing purposes | :Sets the frame which a weapon goes to if the user tries to perform a primary attack. Though not necessary, it is suggested for weapons to have an attackstate for primary firing purposes. | ||
*'''flashstate''' | *'''flashstate''' | ||
:Default = S_NULL | :Default = S_NULL | ||
:Sets the frame which a weapon jumps to if a [[List of codepointers|codepointer]] causes a weapon to flash | :Sets the frame which a weapon jumps to if a [[List of codepointers|codepointer]] causes a weapon to flash. | ||
*'''holdstate''' | *'''holdstate''' | ||
:Default = S_NULL | :Default = S_NULL | ||
:Sets the frame jumped to by [[ReFire|A_ReFire]] if the player is still holding the primary attack button. | :Sets the frame jumped to by [[ReFire|A_ReFire]] if the player is still holding the primary attack button. | ||
*'''attackstate2''', '''flashstate2''', '''holdstate2''' | *'''attackstate2''', '''flashstate2''', '''holdstate2''' | ||
:Default = S_NULL | :Default = S_NULL | ||
: The equivalent of '''attackstate''', '''flashstate''', and '''holdstate''', but for alternate fire | : The equivalent of '''attackstate''', '''flashstate''', and '''holdstate''', but for alternate fire. | ||