EDF player reference

From Eternity Wiki
(Redirected from Playerclass)
Jump to navigationJump to search

Player class[edit]

playerclass name
{
    defaultskin name
    thingtype name
    altattackstate name
    initialhealth number  // default: 100
    maxhealth number
    superhealth number
    viewheight floating_point_number

    speedwalk number      // default: 25
    speedrun number       // default: 50
    speedstrafe number    // default: 24
    speedstraferun number // default: 40
    speedturn number      // default: 640
    speedturnfast number  // default: 1280
    speedturnslow number  // default: 320
    speedlookslow number  // default: 450
    speedlookfast number  // default: 512
    speedjump floating_point_number   // default: 8.0

    default boolean       // default: false

    clearrebornitems

    rebornitem name, amount
    ...

    +AlwaysJump

    weaponslot 1 { clear }
    weaponslot 2 { weapons: Chainsaw, Fist }
    ...
}

By default, under the base folder, in the root player.edf, there are two classes defined: DoomMarine (only if game is Doom) and Corvus (only if game is Heretic). Any of these classes may be redefined in mods. So if you want to change the player speed and initial health, you can do so in mods by redefining game's default class.

You can also define a new player class and make it the default by setting default true.

Explanation of fields[edit]

  • defaultskin
Required. The default skin (sprite and sounds) associated with the player class. It works as a reskin on the thingtype specification. See the skin definition.
  • thingtype
Required. The avatar thingtype associated with the player class. It's usually the "player" thing of the game, with states supporting movement, attacks, pain and death.
  • altattackstate
Default: thingtype's missilestate. This is the state to go into when the weapon is in the flashing state, which is usually separate from thingtype's missilestate. By default it will use that state. Doom works based on this principle of a separate firing state to that of the missile state.
  • initialhealth
Default: 100. This is the health the player starts in this class. It doesn't need to be the same as the max health.
  • maxhealth
Default: 100. This is the maximum health to which this player can be healed by items with the @maxhealth placeholder and by actions such as HealThing and the powered Heretic gauntlets.
  • superhealth
Default: maxhealth. This is the bonus maximum health to which this player can be healed by items with the @superhealth placeholder and by HealThing when set to go past the normal maximum health. By default it's the same as maxhealth but it's common to want a higher value for it.
  • viewheight
Default: 41.0. This is the "camera" height relative to ground when playing as this class.
  • speedwalk
Default: 25. This is the walking forward/backward speed, when using the simple keyboard actions.
  • speedrun
Default: 50. This is the running forward/backward speed, when using the keyboard actions with the "run" modifier pressed. It also works as a mouse movement limiter.
  • speedstrafe
Default: 24. This is the walking sideways speed, when using the keyboard actions with the "strafe" modifier pressed.
  • speedstraferun
Default: 40. This is the running sideways speed, when using the keyboard actions with the "strafe" and "run" modifiers pressed.
  • speedturn
Default: 640. This is the normal turning speed with the keyboard.
  • speedturnfast
Default: 1280. This is the running turning speed with the keyboard.
  • speedturnslow
Default: 320. This is the turning speed during the first few tics of pressing the keyboard.
  • speedlookslow
Default: 450. This is the looking speed with the keyboard when not running.
  • speedlook
Default: 512. This is the looking speed with the keyboard when looking.
  • speedjump
Default: 8.0. This is the jumping speed. If you want the class to always be able to jump regardless of compatibility settings, make sure to also set +AlwaysJump.
  • default
Default: false. If true, causes this class to be the default you start in the new game.
  • clearrebornitems
Default: omitted. If present, this marker causes the class to remove any startup items from previous definitions. This is only useful in playerdelta sections.
  • rebornitem
This is a list of 0 or more items to start with in a fresh game. Each item is an artifact followed optionally by a comma and a list of how many such items to give (if applicable).
  • +AlwaysJump
Default: omitted. If present, this flag allows the player to jump all the time. Use this for any class where jumping is expected. Currently the Doom marine and Heretic hero don't have it, even though they have jumpspeed. For them, you need to enable jumping in the compatibility settings. Future games like Hexen and Strife will have their base classes with +AlwaysJump. When using playerdelta, you can remove this flag by putting -AlwaysJump.
  • weaponslot
This is a list of 1 or more weapon slots associated with each selection key. A weapon may appear on more than one slot. A slot can have multiple weapons, with the most superior first in the list. When using playerdelta, instead of weapons: list you can put clear to remove that slot.

Player class delta structure[edit]

You can use the playerdelta section to change an already defined player class. The syntax is as follows:

playerdelta
{
    name playerclass_name
    any_fields_from_playerclass
}

any_fields_from_playerclass means that you can list any of the settings from the base class here, with modified values, using the same syntax as in playerclass. See playerclass for explanations of the fields.

Player skin[edit]

skin name
{
    sprite name      // default: PLAY
    faces prefix     // default: STF
    sounds
    {
        pain name    // default: plpain
        diehi name   // default: pdiehi
        oof name     // default: oof
        gib name     // default: slop
        punch name   // default: punch
        radio name   // default: radio
        die name     // default: pldeth
        fall name    // default: plfall
        feet name    // default: plfeet
        fallhit name // default: fallht
        plwdth name  // default: plwdth
        noway name   // default: noway
    }
}

Skins are options for the player to appear differently. Despite the "skin" name, it means changing both the graphics and sounds, just without changing the player class (behaviour).

Any skin you define will appear in the menu in the "Player Setup" section as an option.

The default skins are "marine" for Doom and "corvus" for Heretic. You can redefine your own "marine" or "corvus" skin in your mod's EDF and it will replace the default player skin. Do this if you want to change the sprite and sound of the protagonist.

The fields are:

  • sprite
Sprite to replace the default player's with.
  • faces
DOOM status bar graphics lump prefix replacement.
  • sounds
Optional replacement sounds for common player sounds. Use EDF sound names.

See also[edit]

  • S_SKIN: cross-port non-EDF alternative format