Skulltag features

From ZDoom Wiki
Jump to: navigation, search

Zandronum/Skulltag has many editing features that ZDoom currently does not. It has been decided to document them here to help out both communities.

The following articles contain functions that are Skulltag only, meaning that they currently are NOT compatible with ZDoom! If you wish to add a Skulltag feature article, please use the {{STFeature}} template. Also, under any circumstances, do not mix these features up with ZDoom features! (i.e. links on branching pages or categories).

Feel free to copy the information written in this articles over to the Zandronum Wiki. --Cutty

Note: Any features that are currently implemented in ZDoom will be removed from this list.


Console variables

Skulltag has additional console variables that ZDoom does not have.

sv_defaultdmflags (boolean)
Default: true
When true, certain default DM flags are automatically set. This must be set to false in order to change the affected flags.
It activates Weapon Stay, Item Respawn, No Monsters, No Crouch and Double Ammo. In non-duel deathmatch modes, it also activates Spawn Farthest.
Chat_Substitution (boolean)
This is a continuation of the Chat_Substitution CVar that ZDoom already provides.
  • $location
Replaced by the player's current location of the sector # (not tag); this requires the use of the SECTINFO lump.

Compatibility flags

Skulltag has additional compatibility options that ZDoom does not have.

compat_clientssendfullbuttoninfo
Whether the client should send to the server GetPlayerInput info on a full 32-bit WORD rather than a single 8-bit BYTE. If true, this increases network traffic by 5 to 10% on average, but is needed for some advanced scripts.
compat_disablestealthmonsters
When this option is set to true, the STEALTH flag is made ineffective: monsters with this flag are opaque all the time.
compat_disabletaunts
When true, taunts are completely disabled on the server whether the player has them enabled or not.
compat_instantrespawn
compat_limited_airmovement
When this option is true, air movement is the same as in ZDoom, air control and friction both depending on sv_aircontrol. When false, as by default, air control is much greater, but air friction remains unaffected, allowing "bunny hopping" moves.
compat_netscriptsareclientside
When true, NET scripts are considered to be CLIENTSIDE as well.
compat_nocrosshair
When true, crosshairs are disabled.
compat_noland
When true, players are prohibited from using the "land" console command.
compat_oldintermission
When enabled, the game uses vanilla intermission screens and music instead of the Skulltag ones during intermissions.
compat_oldradiusdmg
If this is enabled, the original Doom radius damage code is used, i.e. explosions have infinite vertical range. Normally, only actors with the OLDRADIUSDMG flag use this old code.
compat_oldweaponswitch
If this is enabled, players always switch weapons on pickup (as in vanilla Doom).
compat_originalsoundcurve
If true, the original Doom sound curve is used.
compat_plasmabump
When enabled, pickup detection is handled exactly like in vanilla Doom. This is named after the "plasma bump" trick from Doom 2 MAP01 in multiplayer.

ACS

Script Types

Skulltag handles "net" scripts differently. There is a "clientside" type which means the script is ran on a local machine rather than on the server. By default, scripts are executed server-side. In previous versions net changed the script to clientside, but because that automatically made it so users could execute (puke) that script there was no way to make a non-player executable clientside script.

Clientside and net scripts can be combined to create a desirable method of execution.

  • net - Can be executed by the puke command, server-side script.
  • clientside - Cannot be executed via the puke command, client-side script.
  • net clientside - Can be executed by the puke command, client-side script.

To bring back the old behavior of net being both clientside and puke executable, you can set a new server CVAR "compat_netscriptsareclientside" to 1.

Skulltag also supports CTF/Skulltag-specific script types ZDoom does not:

  • PICKUP executes when a player picks up the enemy flag/skull.
  • BLUERETURN executes when the blue flag/skull is dropped and is returned to its pedestral.
  • REDRETURN executes when the red flag/skull is returned.
  • WHITERETURN executes when the one-flag CTF specific white flag is returned.

PICKUP is executed by the player, the others are executed by the world.

Skulltag Action Specials

Skulltag built-in functions

Classes

For a full list of Skulltag's actor classes, see Classes:Skulltag.

DECORATE

Skulltag Action Functions

Skulltag Actor Flags

The following flags are Skulltag specific, meaning that ZDoom MAY recognise them, but not support them (for compatibility). All of ZDoom's Actor flags are compatible with Skulltag, except those that have been added in SVN versions more recent than the one used for Skulltag's codebase.

Behaviour

For a full list of ZDoom's behaviour flags, see Actor flags.

  • SCOREPILLAR
Used in conjunction with the BUMPSPECIAL flag to make the player score a point if he/she is holding the flag/skull item.
  • ALLOWCLIENTSPAWN
Spawns the actor on the clientside. This only works for things on the map startup, meaning it will not affect newly spawned actors. For that, see A_SpawnItemEx.
  • CLIENTSIDEONLY
This flag makes the actor invisible to the server, so it's only visible to clients in the server. The purpose of this is for the ability to add visual effects without eating up server bandwidth from spawning actors.
  • NONETID
Actors with this flag are not assigned a network id when spawned. Only use it if you know what you are doing!

Inventory

For a full list of ZDoom's inventory flags, see Inventory.

  • INVENTORY.FORCERESPAWNINSURVIVAL
Causes the item to respawn in survival, even if respawn items is off.

Weapons

For a full list of ZDoom's inventory flags, see Weapon.

  • WEAPON.ALLOW_WITH_RESPAWN_INVUL
Allows the weapon to be used while in respawn protection.
  • WEAPON.NOLMS
This weapon is not given in the Last Man Standing game mode.

Limited Use

  • BLUETEAM
  • REDTEAM
  • NODE
Do nothing, unused, probably deprecated.
  • BASEHEALTH
  • SUPERHEALTH
  • BASEARMOR
  • SUPERARMOR

Flags the actor as base/super health/armor, used by bot scripting.

  • EXPLODEONDEATH
Seems to have something to do with accuracy and precision medals. Defined on the grenade.

Skulltag Actor Properties

  • LimitedToTeam

Forces the Player class to a certain team defined in TEAMINFO, starting from 0, i.e. limitedtoteam 1 would assign this class to the second team defined in the TEAMINFO lump.

  • Inventory.PickupAnnouncerEntry

Plays the specified announcer entry when the item is picked up.

  • Rune.Color color, alpha

Same as Powerup.Color.

  • Rune.Type

Sets what the rune does, similar to Powerup.Type. (DoubleDamage, DoubleFiringSpeed, Drain, Spread, HalfDamage, Regeneration, Prosperity, Reflection, HighJump, Speed25)

  • Weapon.PreferredSkin

Forces the Player class to use a certain skin when the weapon is selected.

Lumps

Skulltag Specific Lumps

See also TEAMINFO which has many additional Skulltag-specific properties.

Skulltag MAPINFO properties

  • lobby
Runs several special-cases in order to treat the map like a lobby map. For example, timelimits are disabled, and exiting the level does not cause a suicide regardless of if exiting the stage is allowed via dmflags.

Levels

  • nobotnodes
Prevents Skulltag from making bot nodes on the specified level.

Episodes

  • botepisode
Uses alternate bot skill level menu.
  • botskillname string
Replaces "New Game".
  • botskillpicname string
same as botskillname only uses a graphic lump.