Actor

Show declaration
class Actor : Thinker;

A Thinker capable of existing within 3D space.

Class Methods

Pure Functions

clearScope static double DeltaAngle(double a1, double a2)

clearScope static double AbsAngle(double a1, double a2)

clearScope static vector2 AngleToVector(double angle, double length = 1.0)

clearScope static vector2 RotateVector(vector2 vec, double angle)

clearScope static double Normalize180(double angle)

clearScope static double BobSin(double fb)

clearScope static double GetDefaultSpeed(class<Actor> type)

clearScope static bool InStateSequence(State newState, State baseState)

TO-DO — This section is not finished yet

Play Functions

static class<Actor> GetReplacement(class<Actor> cls)

static class<Actor> GetReplacee(class<Actor> cls)

static class<Actor> GetSpawnableType(int spawnNum)

static int GetSpriteIndex(name sprite)

static int ApplyDamageFactors(class<Inventory> itemType, name damageType, int damage, int defDamage)

static Actor Spawn(class<Actor> type, vector3 pos = (0.0, 0.0, 0.0), int replace = NO_REPLACE)

static bool DoGiveInventory(Actor receiver, bool orResult, class<Inventory> itemType, int amount, int setReceiver)

TO-DO — This section is not finished yet

Deprecated

deprecated("3.8") static int FindUniqueTId(int start = 0, int limit = 0)

Legacy — Do not use TO-DO — This section is not finished yet

Overview of class methods

AbsAngle, AngleToVector, ApplyDamageFactors, BobSin, DeltaAngle, DoGiveInventory, FindUniqueTId, GetDefaultSpeed, GetReplacee, GetReplacement, GetSpawnableType, GetSpriteIndex, InStateSequence, Normalize180, RotateVector, Spawn

Instance Methods

Pure Functions

clearScope bool IsFrozen() const

clearScope int GetRenderStyle() const

clearScope bool CheckKeys(int lockNum, bool remote, bool quiet = false)

clearScope string GetTag(string defStr = "") const

clearScope double GetBobOffset(double frac = 0.0) const

clearScope bool IsTeammate(Actor other) const

clearScope int PlayerNumber() const

clearScope vector3 PosRelative(Sector sec) const

clearScope int SpawnHealth() const

clearScope double Distance2D(Actor other) const

clearScope double Distance3D(Actor other) const

clearScope double Distance2DSquared(Actor other) const

clearScope double Distance3DSquared(Actor other) const

clearScope Actor GetPointer(int aaPtr)

clearScope bool CountsAsKill() const

clearScope State FindState(stateLabel st, bool exact = false) const

clearScope double AngleTo(Actor target, bool absolute = false) const

clearScope vector2 Vec2To(Actor other) const

clearScope vector3 Vec3To(Actor other) const

clearScope vector3 Vec3Offset(double x, double y, double z, bool absolute = false) const

clearScope vector2 Vec2Offset(double x, double y, bool absolute = false) const

clearScope vector3 Vec2OffsetZ(double x, double y, double atZ, bool absolute = false) const

clearScope vector3 Vec3Angle(double length, double angle, double z = 0.0, bool absolute = false) const

clearScope vector2 Vec2Angle(double length, double angle, bool absolute = false) const

clearScope bool IsFriend(Actor other) const

clearScope bool IsHostile(Actor other) const

clearScope DropItem GetDropItems() const

clearScope double DistanceBySpeed(Actor other, double speed) const

clearScope double GetCameraHeight() const

clearScope double GetGravity() const

clearScope int GetLevelSpawnTime() const

clearScope int GetAge() const

clearScope double AccuracyFactor() const

clearScope Inventory FindInventory(class<Inventory> itemType, bool subClass = false) const

clearScope int GetSpawnHealth() const

clearScope bool IsActorPlayingSound(int channel, sound snd = 0)

clearScope Inventory FirstInv()

clearScope int CountInv(class<Inventory> itemType, int ptr_Select = AAPTR_DEFAULT) const

TO-DO — This section is not finished yet

Play Functions

void A_Light(int extraLight)

void A_ClearTarget()

void A_ChangeLinkFlags(int blockMap = FLAG_NO_CHANGE, int sector = FLAG_NO_CHANGE)

void A_Die(name damageType = 'none')

void A_Face(Actor faceTo, double max_Turn = 0.0, double max_Pitch = 270.0, double ang_Offset = 0.0, double pitch_Offset = 0.0, int flags = 0, double z_Ofs = 0.0)

void A_Pain()

void A_NoBlocking(bool drop = true)

void A_Chase(stateLabel melee = '_a_chase_default', stateLabel missile = '_a_chase_default', int flags = 0)

void A_VileChase()

bool A_CheckForResurrection()

void A_BossDeath()

void A_FastChase()

void A_PlayerScream()

void A_CheckTerrain()

void A_Wander(int flags = 0)

void A_WolfAttack(int flags = 0, sound whatToPlay = "weapons/pistol", double snipe = 1.0, int maxDamage = 64, int blockSize = 128, int pointBlank = 2, int longRange = 4, double runSpeed = 160.0, class<Actor> puffType = "BulletPuff")

clearScope void A_StartSound(sound whatToPlay, int slot = CHAN_BODY, int flags = 0, double volume = 1.0, double attenuation = ATTN_NORM, double pitch = 0.0, double startTime = 0.0)

void A_SoundVolume(int slot, double volume)

void A_SoundPitch(int slot, double pitch)

void A_StopSound(int slot = CHAN_VOICE)

void A_StopAllSounds()

void A_StopSounds(int chanMin, int chanMax)

void A_SeekerMissile(int threshold, int turnMax, int flags = 0, int chance = 50, int distance = 10)

action State A_Jump(int chance, stateLabel label, ...)

Actor A_SpawnProjectile(class<Actor> missileType, double spawnHeight = 32.0, double spawnOfs_Xy = 0.0, double angle = 0.0, int flags = 0, double pitch = 0.0, int ptr = AAPTR_TARGET)

void A_CustomRailgun(int damage, int spawnOfs_Xy = 0, color color1 = 0, color color2 = 0, int flags = 0, int aim = 0, double maxDiff = 0, class<Actor> puffType = "BulletPuff", double spread_Xy = 0, double spread_Z = 0, double range = 0, int duration = 0, double sparsity = 1.0, double driftSpeed = 1.0, class<Actor> spawnClass = null, double spawnOfs_Z = 0, int spiralOffset = 270, int limit = 0, double velEffect = 3.0)

void A_SetRenderStyle(double alpha, int style)

void A_FadeIn(double reduce = 0.1, int flags = 0)

void A_FadeOut(double reduce = 0.1, int flags = 1)

void A_FadeTo(double target, double amount = 0.1, int flags = 0)

void A_SpawnParticle(color color1, int flags = 0, int lifeTime = Object.TICRATE, double size = 1.0, double angle = 0.0, double xOff = 0.0, double yOff = 0.0, double zOff = 0.0, double velX = 0.0, double velY = 0.0, double velZ = 0.0, double accelX = 0.0, double accelY = 0.0, double accelZ = 0.0, double startAlphaF = 1.0, double fadeStepF = -1.0, double sizeStep = 0.0)

void A_DropInventory(class<Inventory> itemType, int amount = -1)

void A_SetBlend(double color1, double alpha, int tics, color color2 = 0, double alpha2 = 0.0)

void A_ChangeCountFlags(int kill = FLAG_NO_CHANGE, int item = FLAG_NO_CHANGE, int secret = FLAG_NO_CHANGE)

void A_RaiseChildren(int flags = 0)

void A_RaiseSiblings(int flags = 0)

void A_Weave(int xSpeed, int ySpeed, double xDist, double yDist)

action State, bool A_Teleport(stateLabel teleportState = null, class<SpecialSpot> targetType = "BossSpot", class<Actor> fogType = "TeleportFog", int flags = 0, double minDist = 128.0, double maxDist = 0.0, int ptr = AAPTR_DEFAULT)

action State, bool A_Warp(int ptr_Destination, double xOfs = 0.0, double yOfs = 0.0, double zOfs = 0.0, double angle = 0.0, int flags = 0, stateLabel success_State = null, double heightOffset = 0.0, double radiusOffset = 0.0, double pitch = 0.0)

State A_MonsterReFire(int chance, stateLabel label)

void A_LookEx(ELookFlags flags = 0, double minSeeDist = 0.0, double maxSeeDist = 0.0, double maxHearDist = 0.0, double fov = 0.0, stateLabel label = null)

void A_Recoil(double xyVel)

int A_RadiusGive(class<Inventory> itemType, double distance, int flags, int amount = 0, class<Actor> filter = null, name species = 'None', double minDist = 0, int limit = 0)

void A_CustomMeleeAttack(int damage = 0, sound meleeSound = "", sound missSound = "", name damageType = 'none', bool bleed = true)

void A_CustomComboAttack(class<Actor> missileType, double spawnHeight, int damage, sound meleeSound = "", name damageType = 'none', bool bleed = true)

void A_Burst(class<Actor> chunkType)

void A_RadiusDamageSelf(int damage = 128, double distance = 128.0, int flags = 0, class<Actor> flashType = null)

void A_Respawn(int flags = RSF_FOG)

void A_RestoreSpecialPosition()

void A_QueueCorpse()

void A_DequeueCorpse()

void A_SetAngle(double angle = 0.0, int flags = 0, int ptr = AAPTR_DEFAULT)

void A_SetPitch(double pitch, int flags = 0, int ptr = AAPTR_DEFAULT)

void A_SetRoll(double roll, int flags = 0, int ptr = AAPTR_DEFAULT)

void A_SetViewAngle(double angle = 0.0, int flags = 0, int ptr = AAPTR_DEFAULT)

void A_SetViewPitch(double pitch, int flags = 0, int ptr = AAPTR_DEFAULT)

void A_SetViewRoll(double roll, int flags = 0, int ptr = AAPTR_DEFAULT)

void A_QuakeEx(int intensityX, int intensityY, int intensityZ, int duration, int damageRadius, int tremorRadius, sound sfx = "world/quake", int flags = 0, double mulWaveX = 1.0, double mulWaveY = 1.0, double mulWaveZ = 1.0, int fallOff = 0, int highPoint = 0, double rollIntensity = 0.0, double rollWave = 0.0)

action void A_SetTics(int ticks)

void A_DamageChildren(int amount, name damageType = 'none', int flags = 0, class<Actor> filter = null, name species = 'None', int src = AAPTR_DEFAULT, int inflict = AAPTR_DEFAULT)

void A_DamageSiblings(int amount, name damageType = 'none', int flags = 0, class<Actor> filter = null, name species = 'None', int src = AAPTR_DEFAULT, int inflict = AAPTR_DEFAULT)

void A_KillChildren(name damageType = 'none', int flags = 0, class<Actor> filter = null, name species = 'None', int src = AAPTR_DEFAULT, int inflict = AAPTR_DEFAULT)

void A_KillSiblings(name damageType = 'none', int flags = 0, class<Actor> filter = null, name species = 'None', int src = AAPTR_DEFAULT, int inflict = AAPTR_DEFAULT)

void A_RemoveChildren(bool removeAll = false, int flags = 0, class<Actor> filter = null, name species = 'None')

void A_RemoveSiblings(bool removeAll = false, int flags = 0, class<Actor> filter = null, name species = 'None')

void A_Remove(int removee, int flags = 0, class<Actor> filter = null, name species = 'None')

bool A_FaceMovementDirection(double offset = 0, double angleLimit = 0.0, double pitchLimit = 0.0, int flags = 0, int ptr = AAPTR_DEFAULT)

int A_ClearOverlays(int sStart = 0, int sStop = 0, bool safety = true)

bool A_SetSize(double newRadius = -1.0, double newHeight = -1.0, bool testPos = false)

void A_SprayDecal(string decalName, double dist = 172.0, vector3 offset = (0.0, 0.0, 0.0), vector3 direction = (0.0, 0.0, 0.0))

void A_SetMugShotState(string mugShot)

action bool A_Overlay(int layer, stateLabel start = null, bool noOverride = false)

action void A_OverlayScale(int layer, double wx = 1.0, double wy = 0.0, int flags = 0)

action void A_OverlayRotate(int layer, double degrees = 0, int flags = 0)

action void A_OverlayPivot(int layer, double wx = 0.5, double wy = 0.5, int flags = 0)

action void A_OverlayPivotAlign(int layer, int horizontalAlign, int verticalAlign)

action void A_OverlayVertexOffset(int layer, int index, double x, double y, int flags = 0)

action void A_OverlayOffset(int layer = PSP_WEAPON, double wx = 0.0, double wy = 32.0, int flags = 0)

action void A_OverlayFlags(int layer, int flags, bool set)

action void A_OverlayAlpha(int layer, double alpha)

action void A_OverlayRenderStyle(int layer, int style)

action void A_OverlayTranslation(int layer, name translationName)

bool A_AttachLightDef(name lightId, name lightDef)

bool A_AttachLight(name lightId, int type, color lightColor, int radius1, int radius2, int flags = 0, vector3 ofs = (0.0, 0.0, 0.0), double param = 0.0, double spotI = 10.0, double spotO = 25.0, double spotP = 0.0)

bool A_RemoveLight(name lightId)

void A_Scream()

void A_XScream()

void A_ActiveSound()

void A_CheckPlayerDone()

int A_GiveToChildren(class<Inventory> itemType, int amount = 0)

int A_GiveToSiblings(class<Inventory> itemType, int amount = 0)

bool A_TakeFromChildren(class<Inventory> itemType, int amount = 0)

bool A_TakeFromSiblings(class<Inventory> itemType, int amount = 0)

bool A_SetInventory(class<Inventory> itemType, int amount, int ptr = AAPTR_DEFAULT, bool beyondMax = false)

Actor A_DropItem(class<Actor> itemType, int dropAmount = -1, int chance = 256)

bool A_SelectWeapon(class<Weapon> whichWeapon, int flags = 0)

action State A_JumpIf(bool expression, stateLabel label)

action State ResolveState(stateLabel st)

int GetMissileDamage(int mask, int add, int ptr = AAPTR_DEFAULT)

action int OverlayId()

action double OverlayX(int layer = 0)

action double OverlayY(int layer = 0)

action double OverlayAlpha(int layer = 0)

double GetZAt(double px = 0, double py = 0, double angle = 0, int flags = 0, int pick_Pointer = AAPTR_DEFAULT)

action void SetCamera(Actor cam, bool revert = false)

bool IsPointerEqual(int ptrSelect1, int ptrSelect2)

ui void DisplayNameTag()

void RemoveFromHash()

void ChangeTId(int newTId)

void SetShade(color col)

protected void CheckPortalTransition(bool linked = true)

void SetTag(string defStr = "")

void ClearCounters()

bool GiveBody(int num, int max = 0)

bool HitFloor()

void SetFriendPlayer(PlayerInfo player)

void SoundAlert(Actor target, bool splash = false, double maxDist = 0.0)

void ClearBounce()

TerrainDef GetFloorTerrain()

bool CheckLocalView(int consolePlayer = -1)

bool CheckNoDelay()

bool UpdateWaterLevel(bool splash = true)

bool IsZeroDamage()

void ClearInterpolation()

void RailAttack(FRailParams p)

void HandleSpawnFlags()

void ExplodeMissile(Line lin = null, Actor target = null, bool onSky = false)

void RestoreDamage()

void SetDamage(int dmg)

void SetOrigin(vector3 newPos, bool moving)

void SetXyz(vector3 newPos)

double BulletSlope(out FTranslatedLineTarget pLineTarget = null, int aimFlags = 0)

void CheckFakeFloorTriggers(double oldZ, double oldZ_Has_ViewHeight = false)

bool CheckFor3DFloorHit(double z, bool trigger)

bool CheckFor3DCeilingHit(double z, bool trigger)

int CheckMonsterUseSpecials()

bool CheckMissileSpawn(double maxDist)

bool CheckPosition(vector2 pos, bool actorsOnly = false FCheckPosition tm = null)

bool TestMobjLocation()

Actor SpawnMissile(Actor dest, class<Actor> type, Actor owner = null)

Actor SpawnMissileXyz(vector3 pos, Actor dest, class<Actor> type, bool checkSpawn = true, Actor owner = null)

Actor SpawnMissileZ(double z, Actor dest, class<Actor> type)

Actor SpawnMissileAngleZSpeed(double z, class<Actor> type, double angle, double vz, double speed, Actor owner = null, bool checkSpawn = true)

Actor SpawnMissileZAimed(double z, Actor dest, class<Actor> type)

Actor SpawnSubMissile(class<Actor> type, Actor target)

Actor, Actor SpawnPlayerMissile(class<Actor> type, double angle = 1e37, double x = 0, double pLineTarget = null, bool noFreeAim = false, bool noAutoAim = false, int aimFlags = 0)

void SpawnTeleportFog(vector3 pos, bool beforeTele, bool setTarget)

Actor RoughMonsterSearch(int distance, bool onlySeekable = false, bool frontOnly = false)

int ApplyDamageFactor(name damageType, int damage)

int GetModifiedDamage(name damageType, int damage, bool passive, Actor inflictor = null, Actor source = null, int flags = 0)

bool CheckBossDeath()

Actor OldSpawnMissile(Actor dest, class<Actor> type, Actor owner = null)

Actor SpawnPuff(class<Actor> puffType, vector3 pos, double hitDir, double particleDir, int upDown, int flags = 0, Actor victim = null)

void SpawnBlood(vector3 pos, double dir, int damage)

void BloodSplatter(vector3 pos, double hitAngle, bool axe = false)

bool HitWater(Sector sec, vector3 pos, bool checkAbove = false, bool alert = true, bool force = false)

void PlaySpawnSound(Actor missile)

bool Teleport(vector3 pos, double angle, int flags)

void TraceBleed(int damage, Actor missile)

void TraceBleedAngle(int damage, double angle, double pitch)

void SetIdle(bool noFunction = false)

bool CheckMeleeRange()

bool TriggerPainChance(name mod, bool forcedPain = false)

void PoisonMobj(Actor inflictor, Actor source, int damage, int duration, int period, name type)

double AimLineAttack(double angle, double distance, out FTranslatedLineTarget pLineTarget = null, double vRange = 0.0, int flags = 0, Actor target = null, Actor friender = null)

Actor, int LineAttack(double angle, double distance, double pitch, int damage, name damageType, class<Actor> puffType, int flags = 0, out FTranslatedLineTarget victim = null, double offsetZ = 0.0, double offsetForward = 0.0, double offsetSide = 0.0)

bool LineTrace(double angle, double distance, double pitch, int flags = 0, double offsetZ = 0.0, double offsetForward = 0.0, double offsetSide = 0.0, out FLineTraceData data = null)

bool CheckSight(Actor target, int flags = 0)

bool IsVisible(Actor other, bool allAround, LookExParams params = null)

bool HitFriend()

bool MonsterMove()

SeqNode StartSoundSequenceId(int sequence, int type, int modeNum, bool noStop = false)

SeqNode StartSoundSequence(name seqName, int modeNum)

void StopSoundSequence()

void FindFloorCeiling(int flags = 0)

double, double GetFriction()

bool, Actor TestMobjZ(bool quick = false)

bool TryWalk()

bool TryMove(vector newPos, int dropOff, bool missileCheck = false, FCheckPosition tm = null)

bool CheckMove(vector2 newPos, int flags = 0, FCheckPosition tm = null)

void NewChaseDir()

void RandomChaseDir()

bool CheckMissileRange()

bool SetState(State st, bool noFunction = false)

bool SetStateLabel(stateLabel st, bool noFunction = false)

void LinkToWorld(LinkContext ctx = null)

void UnlinkFromWorld(out LinkContext ctx = null)

bool CanSeek(Actor target)

void AddZ(double zAdd, bool moving = true)

void SetZ(double z)

void VelIntercept(Actor target, double speed = -1, bool aimPitch = true, bool oldVel = false)

void VelFromAngle(double speed = 1e37, double angle = 1e37)

void AdjustFloorClip()

void CopyFriendliness(Actor other, bool changeTarget, bool resetHealth = true)

bool LookForMonsters()

bool LookForTId(bool allAround, LookExParams params = null)

bool LookForEnemies(bool allAround, LookExParams params = null)

bool LookForPlayers(bool allAround, LookExParams params = null)

bool TeleportMove(vector3 pos, bool teleFrag, bool modifyActor = true)

name GetSpecies()

void PlayActiveSound()

void Howl()

void DrawSplash(int count, double angle, int kind)

void GiveSecret(bool printMsg = true, bool playSound = true)

void DoMissileDamage(Actor target)

protected void DestroyAllInventory()

Inventory GiveInventoryType(class<Inventory> itemType)

bool UsePuzzleItem(int puzzleItemType)

bool Warp(Actor dest, double xOfs = 0.0, double yOfs = 0.0, double zOfs = 0.0, double angle = 0.0, int flags = 0, double heightOffset = 0.0, double radiusOffset = 0.0, double pitch = 0.0)

Actor SpawnMissileAngle(class<Actor> type, double angle, double vZ)

Actor SpawnMissileAngleZ(double z, class<Actor> type, double angle, double vZ)

void SpawnDirt(double radius)

bool SinkMobj(double speed)

bool RaiseMobj(double speed)

Actor AimTarget()

void RestoreRenderStyle()

void RaiseActor(Actor other, int flags = 0)

bool CanRaise()

void Revive()

int GetRadiusDamage(Actor thing, int damage, int distance, int fullDmgDistance = 0, bool oldRadiusDmg = false)

int RadiusAttack(Actor bombSource, int bombDamage, int bombDistance, name bombMod = 'none', int flags = RADF_HURTSOURCE, int fullDamageDistance = 0, name species = 'None')

void CopyBloodColor(Actor other)

bool GiveInventory(class<Inventory> type, int amount, bool giveCheat = false)

bool TakeInventory(class<Inventory> itemClass, int amount, bool fromDecorate = false, bool noTakeInfinite = false)

bool SetInventory(class<Inventory> itemClass, int amount, bool beyondMax = false)

Inventory DropInventory(Inventory item, int amt = 1)

bool GiveAmmo(class<Ammo> type, int amount)

bool DoTakeInventory(Actor receiver, bool orResult, class<Inventory> itemType, int amount, int flags, int setReceiver)

void TossItem()

bool CheckInventory(class<Inventory> itemType, int amount, int owner = AAPTR_DEFAULT)

void ObtainInventory(Actor other)

bool CheckIfCloser(Actor targ, double distance, bool noZ = false)

int ACS_NamedExecute(name script, int mapNum = 0, int arg1 = 0, int arg2 = 0, int arg3 = 0)

int ACS_NamedSuspend(name script, int mapNum = 0)

int ACS_NamedTerminate(name script, int mapNum = 0)

int ACS_NamedLockedExecute(name script, int mapNum = 0, int arg1 = 0, int arg2 = 0, int lock = 0)

int ACS_NamedLockedExecuteDoor(name script, int mapNum = 0, int arg1 = 0, int arg2 = 0, int lock = 0)

int ACS_NamedExecuteWithResult(name script, int arg1 = 0, int arg2 = 0, int arg3 = 0, int arg4 = 0)

int ACS_NamedExecuteAlways(name script, int mapNum = 0, int arg1 = 0, int arg2 = 0, int arg3 = 0)

int ACS_ScriptCall(name script, int arg1 = 0, int arg2 = 0, int arg3 = 0, int arg4 = 0)

TO-DO — This section is not finished yet

Virtuals

virtual void MarkPrecacheSounds()

virtual void BeginPlay()

virtual void Activate(Actor activator)

virtual void Deactivate(Actor activator)

virtual int DoSpecialDamage(Actor target, int damage, name damageType)

virtual int TakeSpecialDamage(Actor inflictor, Actor source, int damage, name damageType)

virtual void Die(Actor source, Actor inflictor, int dmgFlags = 0, name meansOfDeath = 'none')

virtual bool Slam(Actor victim)

virtual void Touch(Actor toucher)

virtual bool CanTouchItem(Inventory item)

virtual bool CanCollideWith(Actor other, bool passive)

virtual bool CanResurrect(Actor other, bool passive)

virtual bool SpecialBlastHandling(Actor source, double strength)

virtual int SpecialMissileHit(Actor victim)

virtual bool Used(Actor user)

virtual class<Actor> GetBloodType(int type)

virtual int GetGibHealth()

virtual double GetDeathHeight()

virtual string GetObituary(Actor victim, Actor inflictor, name mod, bool playerAttack)

virtual int OnDrain(Actor victim, int damage, name dmgType)

virtual bool OnGiveSecret(bool printMsg, bool playSound)

virtual bool PreTeleport(vector3 destPos, double destAngle, int flags)

virtual bool PostTeleport(vector3 destPos, double destAngle, int flags)

virtual bool OkayToSwitchTarget(Actor other)

virtual bool Grind(bool items)

virtual int DamageMobj(Actor inflictor, Actor source, int damage, name mod, int flags = 0, double angle = 0.0)

virtual clearScope int GetMaxHealth(bool withUpgrades = false) const

virtual bool ShouldSpawn()

virtual void AddInventory(Inventory item)

virtual void RemoveInventory(Inventory item)

virtual bool UseInventory(Inventory item)

virtual void ClearInventory()

TO-DO — This section is not finished yet

Deprecated

Legacy — Do not use All of these functions are needless as they're either for DeHackEd compatibility, Decorate compatibility, or their functionality is supplanted entirely by another function.

void A_Light0()

void A_Light1()

void A_Light2()

void A_LightInverse()

Equivalent to A_Light with an argument of 0, 1, 2, and -1 respectively.

void A_SetMass(int newMass)

Equivalent to setting Mass.

void A_SetInvulnerable()

void A_UnSetInvulnerable()

Equivalent to (un-)setting bINVULNERABLE.

void A_SetReflective()

void A_UnSetReflective()

Equivalent to (un-)setting bREFLECTIVE.

void A_SetReflectiveInvulnerable()

void A_UnSetReflectiveInvulnerable()

Equivalent to (un-)setting bINVULNERABLE and bREFLECTIVE.

void A_SetShootable()

Equivalent to setting bSHOOTABLE and un-setting bNONSHOOTABLE.

void A_UnSetShootable()

Equivalent to un-setting bSHOOTABLE and setting bNONSHOOTABLE.

void A_NoGravity()

Equivalent to setting bNOGRAVITY.

void A_Gravity()

Equivalent to un-setting bNOGRAVITY and setting Gravity to 1.0.

void A_LowGravity()

Equivalent to un-setting bNOGRAVITY and setting Gravity to 0.125.

void A_SetGravity(double newGravity)

Equivalent to setting Gravity to Clamp(newGravity, 0.0, 10.0).

void A_SetFloorClip()

Equivalent to setting bFLOORCLIP and calling AdjustFloorClip.

void A_UnSetFloorClip()

Equivalent to un-setting bFLOORCLIP and setting FloorClip to 0.0.

void A_HideThing()

void A_UnHideThing()

Equivalent to (un-)setting bINVISIBLE.

void A_SetArg(int arg, int val)

Equivalent to setting Args' arg-th element if arg is >= 0 and <= 4.

void A_Turn(double turn = 0.0)

Equivalent to adding turn to Angle.

void A_SetDamageType(name newDamageType)

Equivalent to setting DamageType.

void A_SetSolid()

void A_UnSetSolid()

Equivalent to (un-)setting bSOLID.

void A_SetFloat()

void A_UnSetFloat()

Equivalent to (un-)setting bFLOAT.

void A_SetFloatBobPhase(int bob)

Equivalent to setting FloatBobPhase if bob is >= 0 and <= 63.

void A_SetRipperLevel(int level)

Equivalent to setting RipperLevel.

void A_SetRipMin(int minimum)

Equivalent to setting RipLevelMin.

void A_SetRipMax(int maximum)

Equivalent to setting RipLevelMax.

void A_SetTeleFog(class<Actor> oldPos, class<Actor> newPos)

Equivalent to setting TeleFogSourceType and TeleFogDestType.

void A_SwapTeleFog()

Equivalent to swapping TeleFogSourceType and TeleFogDestType.

void A_ScreamAndUnblock()

Equivalent to A_Scream followed by A_NoBlocking.

void A_ActiveAndUnblock()

Equivalent to A_ActiveSound followed by A_NoBlocking.

void A_SetScale(double scaleX, double scaleY = 0, int ptr = AAPTR_DEFAULT, bool useZero = false)

Equivalent to setting Scale.

void A_SetSpeed(double speed, int ptr = AAPTR_DEFAULT)

Equivalent to setting Speed.

void A_SetFloatSpeed(double speed, int ptr = AAPTR_DEFAULT)

Equivalent to setting FloatSpeed.

void A_SetPainThreshold(int threshold, int ptr = AAPTR_DEFAULT)

Equivalent to setting PainThreshold.

bool A_SetSpriteAngle(double angle = 0, int ptr = AAPTR_DEFAULT)

Equivalent to setting SpriteAngle.

bool A_SetSpriteRotation(double angle = 0, int ptr = AAPTR_DEFAULT)

Equivalent to setting SpriteRotation.

deprecated("2.3") void A_FaceConsolePlayer(double maxTurnAngle = 0)

Does nothing. Exists only for Zandronum compatibility.

void A_SetSpecial(int spec, int arg0 = 0, int arg1 = 0, int arg2 = 0, int arg3 = 0, int arg4 = 0)

Equivalent to setting Special and Args.

void A_FaceTarget(double max_Turn = 0.0, double max_Pitch = 270.0, double ang_Offset = 0.0, double pitch_Offset = 0.0, int flags = 0, double z_Ofs = 0.0)

void A_FaceTracer(double max_Turn = 0.0, double max_Pitch = 270.0, double ang_Offset = 0.0, double pitch_Offset = 0.0, int flags = 0, double z_Ofs = 0.0)

void A_FaceMaster(double max_Turn = 0.0, double max_Pitch = 270.0, double ang_Offset = 0.0, double pitch_Offset = 0.0, int flags = 0, double z_Ofs = 0.0)

Equivalent to A_Face with Target, Tracer, or Master as the first argument.

bool A_LineEffect(int boomSpecial = 0, int tag = 0)

Calls an action special. Unnecessary as action specials are already callable natively. Exists for DeHackEd compatibility.

void A_MonsterRail()

Use A_CustomRailgun instead.

void A_Fall()

Equivalent to A_NoBlocking.

bool A_CallSpecial(int special, int arg1 = 0, int arg2 = 0, int arg3 = 0, int arg4 = 0, int arg5 = 0)

Equivalent to LevelLocals.ExecuteSpecial.

void A_Look()

Equivalent to A_LookEx.

void A_Look2()

Equivalent to A_LookEx with the LOF_NOSIGHTCHECK flag and some really weird behaviour. Exists for Strife compatibility.

deprecated("2.3") void A_BulletAttack()

Use [A_CustomBulletAttack] instead.

deprecated("4.3") clearScope void A_PlaySound(sound whatToPlay = "weapons/pistol", int slot = CHAN_BODY, double volume = 1.0, bool looping = false, double attenuation = ATTN_NORM, bool local = false, double pitch = 0.0)

deprecated("2.3") void A_PlayWeaponSound(sound whatToPlay)

deprecated("2.3") void A_PlaySoundEx(sound whatToPlay, name slot, bool looping = false, int attenuation = 0)

Use A_StartSound instead.

deprecated("2.3") void A_StopSoundEx(name slot)

Use A_StopSound instead.

void A_Print(string whatToPrint, double time = 0.0, name fontName = 'none')

void A_PrintBold(string whatToPrint, double time = 0.0, name fontName = 'none')

Use Console.MidPrint instead.

void A_Log(string whatToPrint, bool local = false)

void A_LogInt(int whatToPrint, bool local = false)

void A_LogFloat(double whatToPrint, bool local = false)

Use Console.PrintF instead.

void A_SetTranslucent(double alpha, int style = 0)

Use A_SetRenderStyle instead.

void A_SpawnDebris(class<Actor> spawnType, bool transfer_Translation = false, double mult_H = 1.0, double mult_V = 1.0)

Use a spawning function directly instead.

void A_ExtChase(bool useMelee, bool useMissile, bool playActive = true, bool nightmareFast = false)

Use A_Chase instead.

deprecated("2.3") void A_ChangeFlag(string flagName, bool value)

Set the flag directly instead.

void A_RaiseMaster(int flags = 0)

void A_RaiseSelf(int flags = 0)

Use RaiseActor instead.

void A_CountdownArg(int arg, stateLabel targState = null)

Destroys the actor if the arg-th element of Args is zero, or decrements it. Use member variables and call A_Die instead.

void A_ClearLastHeard()

Equivalent to setting LastHeard to null.

void A_ClassBossHealth()

If Special1 is 0 and the game is co-operative multi-player, sets Special1 to 1 and multiplies Health by 5. Set Health directly instead.

deprecated("2.3") void A_SetUserVar(name varName, int value)

deprecated("2.3") void A_SetUserArray(name varName, int index, int value)

deprecated("2.3") void A_SetUserVarFloat(name varName, double value)

deprecated("2.3") void A_SetUserArrayFloat(name varName, int index, double value)

Equivalent to directly setting member variables.

void A_Quake(int intensity, int duration, int damageRadius, int tremorRadius, sound sfx = "world/quake")

Use A_QuakeEx instead.

void A_DamageSelf(int amount, name damageType = 'none', int flags = 0, class<Actor> filter = null, name species = 'None', int src = AAPTR_DEFAULT, int inflict = AAPTR_DEFAULT)

void A_DamageTarget(int amount, name damageType = 'none', int flags = 0, class<Actor> filter = null, name species = 'None', int src = AAPTR_DEFAULT, int inflict = AAPTR_DEFAULT)

void A_DamageMaster(int amount, name damageType = 'none', int flags = 0, class<Actor> filter = null, name species = 'None', int src = AAPTR_DEFAULT, int inflict = AAPTR_DEFAULT)

void A_DamageTracer(int amount, name damageType = 'none', int flags = 0, class<Actor> filter = null, name species = 'None', int src = AAPTR_DEFAULT, int inflict = AAPTR_DEFAULT)

Equivalent to DamageMobj (for positive amounts) or GiveBody (for negative amounts) with flags.

void A_KillTarget(name damageType = 'none', int flags = 0, class<Actor> filter = null, name species = 'None', int src = AAPTR_DEFAULT, int inflict = AAPTR_DEFAULT)

void A_KillMaster(name damageType = 'none', int flags = 0, class<Actor> filter = null, name species = 'None', int src = AAPTR_DEFAULT, int inflict = AAPTR_DEFAULT)

void A_KillTracer(name damageType = 'none', int flags = 0, class<Actor> filter = null, name species = 'None', int src = AAPTR_DEFAULT, int inflict = AAPTR_DEFAULT)

Equivalent to ExplodeMissile or DamageMobj with flags.

void A_RemoveTarget(int flags = 0, class<Actor> filter = null, name species = 'None')

void A_RemoveMaster(int flags = 0, class<Actor> filter = null, name species = 'None')

void A_RemoveTracer(int flags = 0, class<Actor> filter = null, name species = 'None')

Use A_Remove instead.

void A_SetHealth(int health, int ptr = AAPTR_DEFAULT)

void A_ResetHealth(int ptr = AAPTR_DEFAULT)

Set Health (and potentially Player.Mo.Health) directly instead.

void A_SetSpecies(name species, int ptr = AAPTR_DEFAULT)

Equivalent to setting Species.

void A_SetChaseThreshold(int threshold, bool def = false, int ptr = AAPTR_DEFAULT)

Equivalent to setting DefThreshold or Threshold.

bool A_CopySpriteFrame(int from, int to, int flags = 0)

Equivalent to setting Sprite and Frame.

bool A_SetVisibleRotation(double angleStart = 0.0, double angleEnd = 0.0, double pitchStart = 0.0, double pitchEnd = 0.0, int flags = 0, int ptr = AAPTR_DEFAULT)

Equivalent to setting VisibleStartAngle, VisibleEndAngle, VisibleStartPitch, and VisibleEndPitch.

void A_SetTranslation(name transName)

Equivalent to setting Translation to the result of Translation.GetId.

void A_RearrangePointers(int newTarget, int newMaster = AAPTR_DEFAULT, int newTracer = AAPTR_DEFAULT, int flags = 0)

void A_TransferPointer(int ptrSource, int ptrRecipient, int sourceField, int recipientField = AAPTR_DEFAULT, int flags = 0)

Equivalent to just setting the Target, Master and Tracer members.

void A_CopyFriendliness(int ptr_Source = AAPTR_MASTER)

Use CopyFriendliness instead.

void A_WeaponOffset(double wx = 0.0, double wy = 32.0, int flags = 0)

Equivalent to A_OverlayOffset with PSP_WEAPON as its first argument.

bool A_GiveInventory(class<Inventory> itemType, int amount = 0, int giveTo = AAPTR_DEFAULT)

bool A_GiveToTarget(class<Inventory> itemType, int amount = 0, int giveTo = AAPTR_DEFAULT)

Calls DoGiveInventory with self or Target as the first argument.

bool A_TakeInventory(class<Inventory> itemType, int amount = 0, int flags = 0, int giveTo = AAPTR_DEFAULT)

bool A_TakeFromTarget(class<Inventory> itemType, int amount = 0, int flags = 0, int giveTo = AAPTR_DEFAULT)

Calls DoTakeInventory with self or Target as the first argument.

double GetCrouchFactor(int ptr = AAPTR_PLAYER1)

Returns Player.CrouchFactor.

double GetCVar(string cVar)

Equivalent to CVar.GetCVar(cVar, Player).GetFloat().

double GetCVarString(string cVar)

Equivalent to CVar.GetCVar(cVar, Player).GetString().

int GetPlayerInput(int inputNum, int ptr = AAPTR_DEFAULT)

Use Player's various input variables instead.

int CountProximity(class<Actor> className, double distance, int flags = 0, int ptr = AAPTR_DEFAULT)

Equivalent to [CheckProximity].

action State A_JumpIfHealthLower(int amount, stateLabel label, int ptr_Selector = AAPTR_DEFAULT)

Equivalent to A_JumpIf with p && p.Health < amount as the first argument.

action State A_JumpIfCloser(double distance, stateLabel label, bool noZ = false)

action State A_JumpIfTracerCloser(double distance, stateLabel label, bool noZ = false)

action State A_JumpIfMasterCloser(double distance, stateLabel label, bool noZ = false)

Equivalent to A_JumpIf with CheckIfCloser(p, distance, noZ) as the first argument.

action State A_JumpIfTargetOutsideMeleeRange(stateLabel label)

action State A_JumpIfTargetInsideMeleeRange(stateLabel label)

Equivalent to A_JumpIf with CheckMeleeRange() (negated for the first function) as the first argument.

Overview of instance methods

ACS_NamedExecute, ACS_NamedExecuteAlways, ACS_NamedExecuteWithResult, ACS_NamedLockedExecute, ACS_NamedLockedExecuteDoor, ACS_NamedSuspend, ACS_NamedTerminate, ACS_ScriptCall, A_ActiveAndUnblock, A_ActiveSound, A_AttachLight, A_AttachLightDef, A_BossDeath, A_BulletAttack, A_Burst, A_CallSpecial, A_ChangeCountFlags, A_ChangeFlag, A_ChangeLinkFlags, A_Chase, A_CheckForResurrection, A_CheckPlayerDone, A_CheckTerrain, A_ClassBossHealth, A_ClearLastHeard, A_ClearOverlays, A_ClearTarget, A_CopyFriendliness, A_CopySpriteFrame, A_CountdownArg, A_CustomComboAttack, A_CustomMeleeAttack, A_CustomRailgun, A_DamageChildren, A_DamageMaster, A_DamageSelf, A_DamageSiblings, A_DamageTarget, A_DamageTracer, A_DequeueCorpse, A_Die, A_DropInventory, A_DropItem, A_ExtChase, A_Face, A_FaceConsolePlayer, A_FaceMaster, A_FaceMovementDirection, A_FaceTarget, A_FaceTracer, A_FadeIn, A_FadeOut, A_FadeTo, A_Fall, A_FastChase, A_GiveInventory, A_GiveToChildren, A_GiveToSiblings, A_GiveToTarget, A_Gravity, A_HideThing, A_Jump, A_JumpIf, A_JumpIfCloser, A_JumpIfHealthLower, A_JumpIfMasterCloser, A_JumpIfTargetInsideMeleeRange, A_JumpIfTargetOutsideMeleeRange, A_JumpIfTracerCloser, A_KillChildren, A_KillMaster, A_KillSiblings, A_KillTarget, A_KillTracer, A_Light, A_Light0, A_Light1, A_Light2, A_LightInverse, A_LineEffect, A_Log, A_LogFloat, A_LogInt, A_Look, A_Look2, A_LookEx, A_LowGravity, A_MonsterRail, A_MonsterReFire, A_NoBlocking, A_NoGravity, A_Overlay, A_OverlayAlpha, A_OverlayFlags, A_OverlayOffset, A_OverlayPivot, A_OverlayPivotAlign, A_OverlayRenderStyle, A_OverlayRotate, A_OverlayScale, A_OverlayTranslation, A_OverlayVertexOffset, A_Pain, A_PlaySound, A_PlaySoundEx, A_PlayWeaponSound, A_PlayerScream, A_Print, A_PrintBold, A_Quake, A_QuakeEx, A_QueueCorpse, A_RadiusDamageSelf, A_RadiusGive, A_RaiseChildren, A_RaiseMaster, A_RaiseSelf, A_RaiseSiblings, A_RearrangePointers, A_Recoil, A_Remove, A_RemoveChildren, A_RemoveLight, A_RemoveMaster, A_RemoveSiblings, A_RemoveTarget, A_RemoveTracer, A_ResetHealth, A_Respawn, A_RestoreSpecialPosition, A_Scream, A_ScreamAndUnblock, A_SeekerMissile, A_SelectWeapon, A_SetAngle, A_SetArg, A_SetBlend, A_SetChaseThreshold, A_SetDamageType, A_SetFloat, A_SetFloatBobPhase, A_SetFloatSpeed, A_SetFloorClip, A_SetGravity, A_SetHealth, A_SetInventory, A_SetInvulnerable, A_SetMass, A_SetMugShotState, A_SetPainThreshold, A_SetPitch, A_SetReflective, A_SetReflectiveInvulnerable, A_SetRenderStyle, A_SetRipMax, A_SetRipMin, A_SetRipperLevel, A_SetRoll, A_SetScale, A_SetShootable, A_SetSize, A_SetSolid, A_SetSpecial, A_SetSpecies, A_SetSpeed, A_SetSpriteAngle, A_SetSpriteRotation, A_SetTeleFog, A_SetTics, A_SetTranslation, A_SetTranslucent, A_SetUserArray, A_SetUserArrayFloat, A_SetUserVar, A_SetUserVarFloat, A_SetViewAngle, A_SetViewPitch, A_SetViewRoll, A_SetVisibleRotation, A_SoundPitch, A_SoundVolume, A_SpawnDebris, A_SpawnParticle, A_SpawnProjectile, A_SprayDecal, A_StartSound, A_StopAllSounds, A_StopSound, A_StopSoundEx, A_StopSounds, A_SwapTeleFog, A_TakeFromChildren, A_TakeFromSiblings, A_TakeFromTarget, A_TakeInventory, A_Teleport, A_TransferPointer, A_Turn, A_UnHideThing, A_UnSetFloat, A_UnSetFloorClip, A_UnSetInvulnerable, A_UnSetReflective, A_UnSetReflectiveInvulnerable, A_UnSetShootable, A_UnSetSolid, A_VileChase, A_Wander, A_Warp, A_WeaponOffset, A_Weave, A_WolfAttack, A_XScream, AccuracyFactor, Activate, AddInventory, AddZ, AdjustFloorClip, AimLineAttack, AimTarget, AngleTo, ApplyDamageFactor, BeginPlay, BloodSplatter, BulletSlope, CanCollideWith, CanRaise, CanResurrect, CanSeek, CanTouchItem, ChangeTId, CheckBossDeath, CheckFakeFloorTriggers, CheckFor3DCeilingHit, CheckFor3DFloorHit, CheckIfCloser, CheckInventory, CheckKeys, CheckLocalView, CheckMeleeRange, CheckMissileRange, CheckMissileSpawn, CheckMonsterUseSpecials, CheckMove, CheckNoDelay, CheckPortalTransition, CheckPosition, CheckSight, ClearBounce, ClearCounters, ClearInterpolation, ClearInventory, CopyBloodColor, CopyFriendliness, CountInv, CountProximity, CountsAsKill, DamageMobj, Deactivate, DestroyAllInventory, Die, DisplayNameTag, Distance2D, Distance2DSquared, Distance3D, Distance3DSquared, DistanceBySpeed, DoMissileDamage, DoSpecialDamage, DoTakeInventory, DrawSplash, DropInventory, ExplodeMissile, FindFloorCeiling, FindInventory, FindState, FirstInv, GetAge, GetBloodType, GetBobOffset, GetCVar, GetCVarString, GetCameraHeight, GetCrouchFactor, GetDeathHeight, GetDropItems, GetFloorTerrain, GetFriction, GetGibHealth, GetGravity, GetLevelSpawnTime, GetMaxHealth, GetMissileDamage, GetModifiedDamage, GetObituary, GetPlayerInput, GetPointer, GetRadiusDamage, GetRenderStyle, GetSpawnHealth, GetSpecies, GetTag, GetZAt, GiveAmmo, GiveBody, GiveInventory, GiveInventoryType, GiveSecret, Grind, HandleSpawnFlags, HitFloor, HitFriend, HitWater, Howl, IsActorPlayingSound, IsFriend, IsFrozen, IsHostile, IsPointerEqual, IsTeammate, IsVisible, IsZeroDamage, LineAttack, LineTrace, LinkToWorld, LookForEnemies, LookForMonsters, LookForPlayers, LookForTId, MarkPrecacheSounds, MonsterMove, NewChaseDir, ObtainInventory, OkayToSwitchTarget, OldSpawnMissile, OnDrain, OnGiveSecret, OverlayAlpha, OverlayId, OverlayX, OverlayY, PlayActiveSound, PlaySpawnSound, PlayerNumber, PoisonMobj, PosRelative, PostTeleport, PreTeleport, RadiusAttack, RailAttack, RaiseActor, RaiseMobj, RandomChaseDir, RemoveFromHash, RemoveInventory, ResolveState, RestoreDamage, RestoreRenderStyle, Revive, RoughMonsterSearch, SetCamera, SetDamage, SetFriendPlayer, SetIdle, SetInventory, SetOrigin, SetShade, SetState, SetStateLabel, SetTag, SetXyz, SetZ, ShouldSpawn, SinkMobj, Slam, SoundAlert, SpawnBlood, SpawnDirt, SpawnHealth, SpawnMissile, SpawnMissileAngle, SpawnMissileAngleZ, SpawnMissileAngleZSpeed, SpawnMissileXyz, SpawnMissileZ, SpawnMissileZAimed, SpawnPlayerMissile, SpawnPuff, SpawnSubMissile, SpawnTeleportFog, SpecialBlastHandling, SpecialMissileHit, StartSoundSequence, StartSoundSequenceId, StopSoundSequence, TakeInventory, TakeSpecialDamage, Teleport, TeleportMove, TestMobjLocation, TestMobjZ, TossItem, Touch, TraceBleed, TraceBleedAngle, TriggerPainChance, TryMove, TryWalk, UnlinkFromWorld, UpdateWaterLevel, UseInventory, UsePuzzleItem, Used, Vec2Angle, Vec2Offset, Vec2OffsetZ, Vec2To, Vec3Angle, Vec3Offset, Vec3To, VelFromAngle, VelIntercept, Warp

Instance Members

World Attributes

Position

readOnly vector3 Pos

The current position of the actor. If you want to set this, you can use SetOrigin.

vector3 Prev

The previous position of the actor.

vector3 SpawnPoint

The initial position of this actor when it first spawned.

readOnly int WaterLevel

The position of an actor relative to water. Possible values are:

  • 0: Not in water at all
  • 1: Less than half of the actor in water
  • 2: Equal to or more than half of the actor in water
  • 3: Entirely in water

Dimensions

double Height

The height of this actor, in map units.

readOnly double Radius

The horizontal size of this actor on both axes, in map units.

meta double DeathHeight

meta double BurnHeight

TO-DO — This section is not finished yet

Movement

vector3 Vel

The velocity of the actor in each direction, in map units per tic.

double Speed

The speed, in map units, at which this actor travels horizontally each tic when moving. Potentially affected by inertia.

double FloatSpeed

The speed, in map units, at which this actor travels vertically (when bFLOAT is applied) each tic when moving. Never affected by inertia.

meta double FastSpeed

The Speed used with fast mode enabled.

Physics

int Mass

double Gravity

double Friction

double FloorClip

uint8 WeaveIndexXy

uint8 WeaveIndexZ

double BounceFactor

double WallBounceFactor

int BounceCount

double DropOffZ

double MaxDropOffHeight

double MaxStepHeight

double MaxSlopeSteepness

TO-DO — This section is not finished yet

Angles

double Angle

The yaw (horizontal) angle, in degrees, of the actor. This angle is visual as well as functional if bSPRITEANGLE is not set.

double Pitch

The pitch (vertical) angle, in degrees, of the actor. This angle is visual if the actor is a model and has the proper flag set, and functional only under specific circumstances, such as if this is a player, or if the actor has explicit handling for pitching.

double Roll

The roll (rotational) angle, in degrees, of the actor. This angle is visual if the actor is a model and has the proper flag set, or if bROLLSPRITE is set, and functional only under specific circumstances, such as if this is a player, or if the actor has explicit handling for pitching.

uint16 SpawnAngle

The initial yaw angle, in degrees, of the actor when it first spawned.

Sectors

readOnly Actor SNext

The next actor in this sector, if any. This list is deterministic, but its order is unpredictable. Be careful when using this.

Sector CurSector

The sector this actor resides within.

Sector CeilingSector

Sector FloorSector

TO-DO — This section is not finished yet

double CeilingZ

double FloorZ

The Z position of the ceiling/floor of the sector this actor is in.

textureId CeilingPic

textureId FloorPic

The texture of the ceiling/floor of the sector this actor is in.

int FloorTerrain

TO-DO — This section is not finished yet

Internal Attributes

States

int Tics

readOnly State CurState

readOnly State SpawnState

readOnly State SeeState

State MeleeState

State MissileState

TO-DO — This section is not finished yet

Visuals

spriteId Sprite

The sprite this actor is using in the world.

uint8 Frame

The frame index for the Sprite.

vector2 SpriteOffset

The offset (relative to the original offset) to apply to the world sprite of this actor.

vector2 Scale

The visual scale on each axis. Values lower than 1 will be smaller, higher than 1 bigger, and negatives will flip the sprite.

double Alpha

The opacity of the sprite. Values greater than 1 do nothing, values closer to 0 increase the translucency, and 0 makes the sprite totally invisible. The player's view sprite will have inverted color if the PlayerPawn has an alpha of 0. The functionality of this member differs between render styles.

readOnly color FillColor

The color to fill the sprite with in certain render modes.

textureId PicNum

If this is a non-null texture, overrides the sprite entirely, and draws this texture as the actor's sprite. This works exactly the same as any other sprite, but notably, supports animated textures.

double RenderRadius

TO-DO — This section is not finished yet

double SpriteAngle

The absolute angle for the sprite of this actor. Only does anything when bSPRITEANGLE is true.

double SpriteRotation

An angle to offset the visual rotation of the sprite of this actor. Works without bSPRITEANGLE, as this is relative.

uint Translation

float VisibleStartAngle

float VisibleStartPitch

float VisibleEndAngle

float VisibleEndPitch

uint8 FloatBobPhase

double FloatBobStrength

double StealthAlpha

int RenderHidden

int RenderRequired

readOnly color BloodColor

readOnly int BloodTranslation

meta name BloodType

meta name BloodType2

meta name BloodType3

TO-DO — This section is not finished yet

voidPtr DecalGenerator

Internal — Do not use The generator for decals used by this actor. This is currently an un-exposed API and must not be touched.

uint8 FountainColor

TO-DO — This section is not finished yet

Players

PlayerInfo Player

The player information for this actor, if it is a player actor.

double CameraHeight

double CameraFov

double ViewAngle

double ViewPitch

double ViewRoll

TO-DO — This section is not finished yet

Inventory

Inventory Inv

TO-DO — This section is not finished yet

Sounds

sound AttackSound

sound DeathSound

sound SeeSound

sound PainSound

sound ActiveSound

sound UseSound

sound BounceSound

sound WallBounceSound

sound CrushPainSound

meta sound HowlSound

meta sound MeleeSound

TO-DO — This section is not finished yet

Interactions

Attacking

int ReactionTime

int Threshold

int DefThreshold

double MeleeRange

double MeleeThreshold

uint8 MinMissileChance

double MaxTargetRange

meta double MissileHeight

meta name MissileName

TO-DO — This section is not finished yet

Damaging

int Damage

The amount of damage a projectile might do. Doesn't always apply.

int RipperLevel

int RipLevelMin

int RipLevelMax

name DamageType

name DamageTypeReceived

int ProjectileKickBack

double ProjectilePassHeight

int PoisonDamage

name PoisonDamageType

int PoisonDuration

int PoisonPeriod

int PoisonDamageReceived

name PoisonDamageTypeReceived

int PoisonDurationReceived

int PoisonPeriodReceived

Actor Poisoner

name PainType

name DeathType

double DamageFactor

double DamageMultiply

double RadiusDamageFactor

double SelfDamageFactor

meta bool DontHurtShooter

meta int ExplosionRadius

meta int ExplosionDamage

meta int MeleeDamage

TO-DO — This section is not finished yet

Life and Death

int Health

The health of this actor. Anything less than 1 represents something dead.

int StartHealth

The initial health of this actor when it first spawned.

int16 PainChance

int PainThreshold

meta string Obituary

meta string HitObituary

meta int GibHealth

TO-DO — This section is not finished yet

Actor Pointers

Actor Target

Actor Master

Actor Tracer

Actor LastHeard

Actor LastEnemy

Actor LastLookActor

TO-DO — This section is not finished yet

Identification

int TId

int TIdToHate

name Species

int DesignatedTeam

readOnly int SpawnTime

TO-DO — This section is not finished yet

Specials

int Special

int[5] Args

int Special1

int Special2

double SpecialF1

double SpecialF2

int WeaponSpecial

int ActivationType

TO-DO — This section is not finished yet

Teleportation

class<Actor> TeleFogSourceType

class<Actor> TeleFogDestType

Deprecated

deprecated("2.3") readOnly double X

deprecated("2.3") readOnly double Y

deprecated("2.3") readOnly double Z

deprecated("2.3") readOnly double VelX

deprecated("2.3") readOnly double VelY

deprecated("2.3") readOnly double VelZ

deprecated("2.3") readOnly double MomX

deprecated("2.3") readOnly double MomY

deprecated("2.3") readOnly double MomZ

deprecated("2.3") double ScaleX

deprecated("2.3") double ScaleY

Legacy — Do not use These members are better represented by Pos, Vel, and Scale respectively, and should not be used in new code.

To-do

uint ThruBits

uint8 MoveDir

int8 VisDir

int16 MoveCount

int16 StrafeCount

int FastChaseStrafeCount

uint16 SkillRespawnCount

int Score

int Accuracy

int Stamina

Actor Alternative

Actor Goal

int8 LastLookPlayerNumber

uint SpawnFlags

double PushFactor

int LastPush

int LastBump

Actor BlockingMobj

Line BlockingLine

Sector Blocking3DFloor

Sector BlockingCeiling

Sector BlockingFloor

uint8 SmokeCounter

uint8 FriendPlayer

int WoundHealth

readOnly int FriendlySeeBlocks

TO-DO — This section is not finished yet

Overview of instance members

Accuracy, ActivationType, ActiveSound, Alpha, Alternative, Angle, Args, AttackSound, Blocking3DFloor, BlockingCeiling, BlockingFloor, BlockingLine, BlockingMobj, BloodColor, BloodTranslation, BloodType, BloodType2, BloodType3, BounceCount, BounceFactor, BounceSound, BurnHeight, CameraFov, CameraHeight, CeilingPic, CeilingSector, CeilingZ, CrushPainSound, CurSector, CurState, Damage, DamageFactor, DamageMultiply, DamageType, DamageTypeReceived, DeathHeight, DeathSound, DeathType, DecalGenerator, DefThreshold, DesignatedTeam, DontHurtShooter, DropOffZ, ExplosionDamage, ExplosionRadius, FastChaseStrafeCount, FastSpeed, FillColor, FloatBobPhase, FloatBobStrength, FloatSpeed, FloorClip, FloorPic, FloorSector, FloorTerrain, FloorZ, FountainColor, Frame, Friction, FriendPlayer, FriendlySeeBlocks, GibHealth, Goal, Gravity, Health, Height, HitObituary, HowlSound, Inv, LastBump, LastEnemy, LastHeard, LastLookActor, LastLookPlayerNumber, LastPush, Mass, Master, MaxDropOffHeight, MaxSlopeSteepness, MaxStepHeight, MaxTargetRange, MeleeDamage, MeleeRange, MeleeSound, MeleeState, MeleeThreshold, MinMissileChance, MissileHeight, MissileName, MissileState, MomX, MomY, MomZ, MoveCount, MoveDir, Obituary, PainChance, PainSound, PainThreshold, PainType, PicNum, Pitch, Player, PoisonDamage, PoisonDamageReceived, PoisonDamageType, PoisonDamageTypeReceived, PoisonDuration, PoisonDurationReceived, PoisonPeriod, PoisonPeriodReceived, Poisoner, Pos, Prev, ProjectileKickBack, ProjectilePassHeight, PushFactor, Radius, RadiusDamageFactor, ReactionTime, RenderHidden, RenderRadius, RenderRequired, RipLevelMax, RipLevelMin, RipperLevel, Roll, SNext, Scale, ScaleX, ScaleY, Score, SeeSound, SeeState, SelfDamageFactor, SkillRespawnCount, SmokeCounter, SpawnAngle, SpawnFlags, SpawnPoint, SpawnState, SpawnTime, Special, Special1, Special2, SpecialF1, SpecialF2, Species, Speed, Sprite, SpriteAngle, SpriteOffset, SpriteRotation, Stamina, StartHealth, StealthAlpha, StrafeCount, TId, TIdToHate, Target, TeleFogDestType, TeleFogSourceType, Threshold, ThruBits, Tics, Tracer, Translation, UseSound, Vel, VelX, VelY, VelZ, ViewAngle, ViewPitch, ViewRoll, VisDir, VisibleEndAngle, VisibleEndPitch, VisibleStartAngle, VisibleStartPitch, WallBounceFactor, WallBounceSound, WaterLevel, WeaponSpecial, WeaveIndexXy, WeaveIndexZ, WoundHealth, X, Y, Z

Constants

const int DEFAULT_HEALTH

The default Health value if not set.

const double ONFLOORZ

The minimum Z value possible.

const double ONCEILINGZ

The maximum Z value possible.

const double STEEPSLOPE

A ratio representing an unwalkable slope.

const double FLOATRANDZ

A special Z value that tells the engine to start the Z value at a random value for floating objects.

const int TELEFRAG_DAMAGE

The amount of damage a tele-frag does.

const double MINVEL

The minimum notable velocity, after which velocity values will be clamped to 0.

const int LARGE_MASS

Internal — Do not use A constant only used in Lightning's override of SpecialMissileHit. Ignore this existing.

const double ORIG_FRICTION

The standard friction value.

const double ORIG_FRICTION_FACTOR

The standard friction value as a ratio.

const int DEFMORPHTICS

The amount of time it takes to un-morph.

Overview of constants

DEFAULT_HEALTH, DEFMORPHTICS, FLOATRANDZ, LARGE_MASS, MINVEL, ONCEILINGZ, ONFLOORZ, ORIG_FRICTION, ORIG_FRICTION_FACTOR, STEEPSLOPE, TELEFRAG_DAMAGE

Properties

property Accuracy: Accuracy

property Activation: ActivationType

property ActiveSound: ActiveSound

property Alpha: Alpha

property AttackSound: AttackSound

property BounceCount: BounceCount

property BounceFactor: BounceFactor

property BounceSound: BounceSound

property BurnHeight: BurnHeight

property CameraFov: CameraFov

property CameraHeight: CameraHeight

property CrushPainSound: CrushPainSound

property DamageMultiply: DamageMultiply

property DeathHeight: DeathHeight

property DeathSound: DeathSound

property DefThreshold: DefThreshold

property DesignatedTeam: DesignatedTeam

property DontHurtShooter: DontHurtShooter

property ExplosionDamage: ExplosionDamage

property ExplosionRadius: ExplosionRadius

property FastSpeed: FastSpeed

property FloatBobPhase: FloatBobPhase

property FloatBobStrength: FloatBobStrength

property FloatSpeed: FloatSpeed

property Friction: Friction

property FriendlySeeBlocks: FriendlySeeBlocks

property GibHealth: GibHealth

property Gravity: Gravity

property Health: Health

property Height: Height

property HitObituary: HitObituary

property HowlSound: HowlSound

property Mass: Mass

property MaxDropOffHeight: MaxDropOffHeight

property MaxSlopeSteepness: MaxSlopeSteepness

property MaxStepHeight: MaxStepHeight

property MaxTargetRange: MaxTargetRange

property MeleeDamage: MeleeDamage

property MeleeRange: MeleeRange

property MeleeSound: MeleeSound

property MeleeThreshold: MeleeThreshold

property MinMissileChance: MinMissileChance

property MissileHeight: MissileHeight

property MissileType: MissileName

property Obituary: Obituary

property PainSound: PainSound

property PainThreshold: PainThreshold

property PoisonDamageType: PoisonDamageType

property ProjectileKickBack: ProjectileKickBack

property ProjectilePassHeight: ProjectilePassHeight

property PushFactor: PushFactor

property RadiusDamageFactor: RadiusDamageFactor

property Radius: Radius

property ReactionTime: ReactionTime

property RenderHidden: RenderHidden

property RenderRadius: RenderRadius

property RenderRequired: RenderRequired

property RipLevelMax: RipLevelMax

property RipLevelMin: RipLevelMin

property RipperLevel: RipperLevel

property SeeSound: SeeSound

property SelfDamageFactor: SelfDamageFactor

property Species: Species

property Speed: Speed

property SpriteAngle: SpriteAngle

property SpriteRotation: SpriteRotation

property Stamina: Stamina

property StealthAlpha: StealthAlpha

property StencilColor: FillColor

property TeleFogDestType: TeleFogDestType

property TeleFogSourceType: TeleFogSourceType

property Threshold: Threshold

property ThruBits: ThruBits

property VSpeed: VelZ

property VisibleAngles: VisibleStartAngle, VisibleEndAngle

property VisiblePitch: VisibleStartPitch, VisibleEndPitch

property WallBounceFactor: WallBounceFactor

property WallBounceSound: WallBounceSound

property WeaveIndexXy: WeaveIndexXy

property WeaveIndexZ: WeaveIndexZ

property WoundHealth: WoundHealth

property XScale: ScaleX

property YScale: ScaleY

property PainChance

Defines a pain chance, either:

  • PainChance Number;

    The global pain chance.

  • PainChance "DamageType", Number;

    A particular damage type's pain chance.

property Damage

The Damage value. This may be either:

  • Damage Number;

    A static damage number.

  • Damage (Expression);

    An expression to apply each time damage is done.

property Scale

Sets both XScale and YScale to the value provided.

property Args

Sets each of the Args values and sets bARGSDEFINED.

property BloodColor

Sets both BloodColor and BloodTranslation.

property BloodType

Sets each of the blood types. Besides the first BloodType, the other two are optional. If BloodType2 is omitted, it's set to BloodType, and if BloodType3 is omitted, it's set to BloodType2.

property DamageType

property PainType

property DeathType

Sets DamageType, PainType, and DeathType respectively. If "Normal" is passed, in which case it's changed to "None".

property DamageFactor

Defines a damage factor, either:

  • DamageFactor Number;

    The global damage factor.

  • DamageFactor "DamageType", Number;

    A particular damage type's damage factor. If the damage type is "Normal", it's changed to "None".

property Decal

Sets the DecalGenerator for this actor, based on its name in the decal definitions table.

property PoisonDamage

Sets the poison damage parameters. Either:

property VisibleToTeam

Sets VisibleToTeam to the number passed plus one.

Internal Static Info

These properties set up information not normally visible to scripts.

property DropItem

Adds a dropped item (see GetDropItems) to the actor, either:

  • DropItem "ItemType";

    A dropped item with 255 (100%) probability, and an amount of -1.

  • DropItem "ItemType", Number;

    Sets the probability manually, but keeps the amount at -1.

  • DropItem "ItemType", Number, Number;

    Explicitly sets both the probability and amount.

property DefaultStateUsage

Internal — Do not use The EStateUseFlags of the actor. Not to be used by user code.

property Tag

The tag name of the actor. This can potentially be a translatable string.

property Translation

The translation to apply to this actor, either:

  • Translation Number;

    One of the hard-coded translations, between 0 and 6, inclusive.

  • Translation "TranslationString";, Translation "TranslationString", "TranslationString";, etc.

    One or more translation strings to apply.

property RenderStyle

Sets the legacy render style. Possible values are:

  • "Add"
  • "AddShaded"
  • "AddStencil"
  • "ColorAdd"
  • "ColorBlend"
  • "Fuzzy"
  • "Multiply"
  • "None"
  • "Normal"
  • "OptFuzzy"
  • "Shaded"
  • "Shadow"
  • "SoulTrans"
  • "Stencil"
  • "Subtract"
  • "Translucent"

Legacy — Do not use The string may also be prefixed with Style_ for compatibility with old DECORATE.

property BounceType

Sets the bouncing behaviour of the actor. Possible values are:

  • "Classic"
  • "Doom"
  • "DoomCompat"
  • "Grenade"
  • "Heretic"
  • "HereticCompat"
  • "Hexen"
  • "HexenCompat"
  • "None"

property VisibleToPlayerClass

Adds one or more player classes to the list of classes this is visible to.

property DistanceCheck

Sets up a distance checking function that will make this actor not render if the player's view is far enough away from it. You must pass the name of an integer CVar to this property.

property Game

A filter for which game this can appear in. Possible values are:

  • "Any"
  • "Chex"
  • "Doom"
  • "Heretic"
  • "Hexen"
  • "Raven"
  • "Strife"

property SpawnId

Sets the Spawn ID used by several systems to the number passed to this property.

property ConversationId

Sets the Conversation ID used by the conversation system to the number passed to this property. Two extra numbers may be specified that will do absolutely nothing.

Pseudo-properties

These properties don't take parameters and mutate the defaults.

property Skip_Super

If this property is present on an actor, it will reset all default values with the ones from this class. This only works on sub-classes with no additional members.

property ClearFlags

If this property is present on an actor, it will clear all native flags from the actor, except for bARGSDEFINED. This does not clear flags created by user code.

property Monster

If this property is present on an actor, it sets the following flags:

property Projectile

If this property is present on an actor, it sets the following flags:

If the game is Heretic or Hexen, then bBLOODSPLATTER is also set.

property DefaultAlpha

If this property is present on an actor, it will set the default Alpha to HR_SHADOW or HX_SHADOW, depending on if the game is Heretic or not.

Defaults

default
{
	Alpha 1;
	BloodType "Blood", "BloodSplatter", "AxeBlood";
	BounceCount -1;
	BounceFactor 0.7;
	BurnHeight -1;
	CameraFov 90;
	CameraHeight int.Min;
	DamageFactor 1;
	DamageMultiply 1;
	DeathHeight -1;
	DeathType "Normal";
	DefThreshold 100;
	DefaultStateUsage SUF_ACTOR | SUF_OVERLAY;
	DesignatedTeam 255;
	ExplosionDamage 128;
	ExplosionRadius -1;
	FastSpeed -1;
	FloatBobPhase -1;
	FloatBobStrength 1;
	FloatSpeed 4;
	Friction 1;
	FriendlySeeBlocks 10;
	GibHealth int.Min;
	Gravity 1;
	Health DEFAULT_HEALTH;
	Height 16;
	HitObituary "";
	Mass 100;
	MaxDropOffHeight 24;
	MaxSlopeSteepness STEEPSLOPE;
	MaxStepHeight 24;
	MeleeDamage 0;
	MeleeRange 44;
	MeleeSound "";
	MinMissileChance 200;
	MissileHeight 32;
	Obituary "";
	PainType "Normal";
	PushFactor 0.25;
	Radius 20;
	RadiusDamageFactor 1;
	ReactionTime 8;
	RenderHidden 0;
	RenderRadius 0;
	RenderRequired 0;
	RenderStyle 'Normal';
	RipLevelMax 0;
	RipLevelMin 0;
	RipperLevel 0;
	Scale 1;
	SelfDamageFactor 1;
	SpriteAngle 0;
	SpriteRotation 0;
	StealthAlpha 0;
	StencilColor "Black";
	TleeFogDestType "TeleportFog";
	TleeFogSourceType "TeleportFog";
	VisibleAngles 0, 0;
	VisiblePitch 0, 0;
	WallBounceFactor 0.75;
	WeaveIndexXy 0;
	WeaveIndexZ 16;
	WoundHealth 6;
}
Overview of properties

Accuracy, Activation, ActiveSound, Alpha, Args, AttackSound, BloodColor, BloodType, BounceCount, BounceFactor, BounceSound, BounceType, BurnHeight, CameraFov, CameraHeight, ClearFlags, ConversationId, CrushPainSound, Damage, DamageFactor, DamageMultiply, DamageType, DeathHeight, DeathSound, DeathType, Decal, DefThreshold, DefaultAlpha, DefaultStateUsage, DesignatedTeam, DistanceCheck, DontHurtShooter, DropItem, ExplosionDamage, ExplosionRadius, FastSpeed, FloatBobPhase, FloatBobStrength, FloatSpeed, Friction, FriendlySeeBlocks, Game, GibHealth, Gravity, Health, Height, HitObituary, HowlSound, Mass, MaxDropOffHeight, MaxSlopeSteepness, MaxStepHeight, MaxTargetRange, MeleeDamage, MeleeRange, MeleeSound, MeleeThreshold, MinMissileChance, MissileHeight, MissileType, Monster, Obituary, PainChance, PainSound, PainThreshold, PainType, PoisonDamage, PoisonDamageType, Projectile, ProjectileKickBack, ProjectilePassHeight, PushFactor, Radius, RadiusDamageFactor, ReactionTime, RenderHidden, RenderRadius, RenderRequired, RenderStyle, RipLevelMax, RipLevelMin, RipperLevel, Scale, SeeSound, SelfDamageFactor, Skip_Super, SpawnId, Species, Speed, SpriteAngle, SpriteRotation, Stamina, StealthAlpha, StencilColor, Tag, TeleFogDestType, TeleFogSourceType, Threshold, ThruBits, Translation, VSpeed, VisibleAngles, VisiblePitch, VisibleToPlayerClass, VisibleToTeam, WallBounceFactor, WallBounceSound, WeaveIndexXy, WeaveIndexZ, WoundHealth, XScale, YScale

Flags

Actor is the only class with native flag definitions, and they are handled in one of three ways, which will be defined through pseudo-code:

  • native flag definitions are exposed as variables and in default blocks.
  • native internal flag definitions are exposed as variables, but not in default blocks.
  • native deprecated flag definitions are exposed in default blocks, but not as variables.

flagDef ARGSDEFINED: native internal

flagDef ARMED: native internal

flagDef AVOIDINGDROPOFF: native internal

flagDef BOSSCUBE: native internal

flagDef BOSSSPAWNED: native internal

flagDef CHASEGOAL: native internal

flagDef CRASHED: native internal

flagDef FALLING: native internal

flagDef FLYCHEAT: native internal

flagDef FLY: native internal

flagDef HANDLENODELAY: native internal

flagDef HUNTPLAYERS: native internal

flagDef INCHASE: native internal

flagDef INCONVERSATION: native internal

flagDef INTRYMOVE: native internal

flagDef KILLED: native internal

flagDef LINEDONE: native internal

flagDef NOHATEPLAYERS: native internal

flagDef NOSIGHTCHECK: native internal

flagDef ONMOBJ: native internal

flagDef RESPAWNINVUL: native internal

flagDef SCROLLMOVE: native internal

flagDef SHATTERING: native internal

flagDef UNMORPHED: native internal

flagDef VFRICTION: native internal

flagDef WARNBOT: native internal

flagDef ABSMASKANGLE: native

flagDef ABSMASKPITCH: native

flagDef ABSVIEWANGLES: native

flagDef ACTIVATEIMPACT: native

flagDef ACTIVATEMCROSS: native

flagDef ACTIVATEPCROSS: native

flagDef ACTLIKEBRIDGE: native

flagDef ADDITIVEPOISONDAMAGE: native

flagDef ADDITIVEPOISONDURATION: native

flagDef AIMREFLECT: native

flagDef ALLOWBOUNCEONACTORS: native

flagDef ALLOWPAIN: native

flagDef ALLOWPARTICLES: native

flagDef ALLOWTHRUBITS: native

flagDef ALLOWTHRUFLAGS: native

flagDef ALWAYSFAST: native

flagDef ALWAYSPUFF: native

flagDef ALWAYSRESPAWN: native

flagDef ALWAYSTELEFRAG: native

flagDef AMBUSH: native

flagDef AVOIDMELEE: native

flagDef BLASTED: native

flagDef BLOCKASPLAYER: native

flagDef BLOCKEDBYSOLIDACTORS: native

flagDef BLOODLESSIMPACT: native

flagDef BLOODSPLATTER: native

flagDef BOSSDEATH: native

flagDef BOSS: native

flagDef BOUNCEAUTOOFFFLOORONLY: native

flagDef BOUNCEAUTOOFF: native

flagDef BOUNCELIKEHERETIC: native

flagDef BOUNCEONACTORS: native

flagDef BOUNCEONCEILINGS: native

flagDef BOUNCEONFLOORS: native

flagDef BOUNCEONUNRIPPABLES: native

flagDef BOUNCEONWALLS: native

flagDef BRIGHT: native

flagDef BUDDHA: native

flagDef BUMPSPECIAL: native

flagDef CANBLAST: native

flagDef CANBOUNCEWATER: native

flagDef CANJUMP: native

flagDef CANNOTPUSH: native

flagDef CANPASS: native

flagDef CANPUSHWALLS: native

flagDef CANTLEAVEFLOORPIC: native

flagDef CANTSEEK: native

flagDef CANUSEWALLS: native

flagDef CAUSEPAIN: native

flagDef CEILINGHUGGER: native

flagDef CORPSE: native

flagDef COUNTITEM: native

flagDef COUNTKILL: native

flagDef COUNTSECRET: native

flagDef DEFLECT: native

flagDef DEHEXPLOSION: native

flagDef DOHARMSPECIES: native

flagDef DONTBLAST: native

flagDef DONTBOUNCEONSHOOTABLES: native

flagDef DONTBOUNCEONSKY: native

flagDef DONTCORPSE: native

flagDef DONTDRAIN: native

flagDef DONTFACETALKER: native

flagDef DONTFALL: native

flagDef DONTFLIP: native

flagDef DONTGIB: native

flagDef DONTHARMCLASS: native

flagDef DONTHARMSPECIES: native

flagDef DONTINTERPOLATE: native

flagDef DONTMORPH: native

flagDef DONTOVERLAP: native

flagDef DONTREFLECT: native

flagDef DONTRIP: native

flagDef DONTSEEKINVISIBLE: native

flagDef DONTSPLASH: native

flagDef DONTSQUASH: native

flagDef DONTTHRUST: native

flagDef DONTTRANSLATE: native

flagDef DORMANT: native

flagDef DROPOFF: native

flagDef DROPPED: native

flagDef EXPLOCOUNT: native

flagDef EXPLODEONWATER: native

flagDef EXTREMEDEATH: native

flagDef FALLDAMAGE: native

flagDef FIXMAPTHINGPOS: native

flagDef FLATSPRITE: native

flagDef FLOATBOB: native

flagDef FLOAT: native

flagDef FLOORCLIP: native

flagDef FLOORHUGGER: native

flagDef FOILBUDDHA: native

flagDef FOILINVUL: native

flagDef FORCEDECAL: native

flagDef FORCEINFIGHTING: native

flagDef FORCEPAIN: native

flagDef FORCERADIUSDMG: native

flagDef FORCEXYBILLBOARD: native

flagDef FORCEYBILLBOARD: native

flagDef FORCEZERORADIUSDMG: native

flagDef FRIENDLY: native

flagDef FRIGHTENED: native

flagDef FRIGHTENING: native

flagDef FULLVOLACTIVE: native

flagDef FULLVOLDEATH: native

flagDef GETOWNER: native

flagDef GHOST: native

flagDef GRENADETRAIL: native

flagDef HARMFRIENDS: native

flagDef HITMASTER: native

flagDef HITOWNER: native

flagDef HITTARGET: native

flagDef HITTRACER: native

flagDef ICECORPSE: native

flagDef ICESHATTER: native

flagDef INCOMBAT: native

flagDef INFLOAT: native

flagDef INTERPOLATEANGLES: native

flagDef INVISIBLE: native

flagDef INVULNERABLE: native

flagDef ISMONSTER: native

flagDef JUMPDOWN: native

flagDef JUSTATTACKED: native

flagDef JUSTHIT: native

flagDef LAXTELEFRAGDMG: native

flagDef LOOKALLAROUND: native

flagDef MASKROTATION: native

flagDef MBFBOUNCER: native

flagDef MIRRORREFLECT: native

flagDef MISSILEEVENMORE: native

flagDef MISSILEMORE: native

flagDef MISSILE: native

flagDef MOVEWITHSECTOR: native

flagDef MTHRUSPECIES: native

flagDef NEVERFAST: native

flagDef NEVERRESPAWN: native

flagDef NEVERTARGET: native

flagDef NOBLOCKMAP: native

flagDef NOBLOCKMONST: native

flagDef NOBLOODDECALS: native

flagDef NOBLOOD: native

flagDef NOBOSSRIP: native

flagDef NOBOUNCESOUND: native

flagDef NOCLIP: native

flagDef NODAMAGETHRUST: native

flagDef NODAMAGE: native

flagDef NODECAL: native

flagDef NODROPOFF: native

flagDef NOEXPLODEFLOOR: native

flagDef NOEXTREMEDEATH: native

flagDef NOFEAR: native

flagDef NOFORWARDFALL: native

flagDef NOFRICTIONBOUNCE: native

flagDef NOFRICTION: native

flagDef NOGRAVITY: native

flagDef NOICEDEATH: native

flagDef NOINFIGHTING: native

flagDef NOINFIGHTSPECIES: native

flagDef NOINTERACTION: native

flagDef NOKILLSCRIPTS: native

flagDef NOLIFTDROP: native

flagDef NOMENU: native

flagDef NONSHOOTABLE: native

flagDef NOPAIN: native

flagDef NORADIUSDMG: native

flagDef NOSECTOR: native

flagDef NOSHIELDREFLECT: native

flagDef NOSKIN: native

flagDef NOSPLASHALERT: native

flagDef NOTARGETSWITCH: native

flagDef NOTARGET: native

flagDef NOTAUTOAIMED: native

flagDef NOTDMATCH: native

flagDef NOTELEFRAG: native

flagDef NOTELEOTHER: native

flagDef NOTELEPORT: native

flagDef NOTELESTOMP: native

flagDef NOTIMEFREEZE: native

flagDef NOTONAUTOMAP: native

flagDef NOTRIGGER: native

flagDef NOVERTICALMELEERANGE: native

flagDef NOWALLBOUNCESND: native

flagDef OLDRADIUSDMG: native

flagDef PAINLESS: native

flagDef PICKUP: native

flagDef PIERCEARMOR: native

flagDef POISONALWAYS: native

flagDef PUFFGETSOWNER: native

flagDef PUFFONACTORS: native

flagDef PUSHABLE: native

flagDef QUICKTORETALIATE: native

flagDef RANDOMIZE: native

flagDef REFLECTIVE: native

flagDef RELATIVETOFLOOR: native

flagDef RETARGETAFTERSLAM: native

flagDef RIPPER: native

flagDef ROCKETTRAIL: native

flagDef ROLLCENTER: native

flagDef ROLLSPRITE: native

flagDef SCREENSEEKER: native

flagDef SEEINVISIBLE: native

flagDef SEEKERMISSILE: native

flagDef SEESDAGGERS: native

flagDef SHADOW: native

flagDef SHIELDREFLECT: native

flagDef SHOOTABLE: native

flagDef SKULLFLY: native

flagDef SKYEXPLODE: native

flagDef SLIDESONWALLS: native

flagDef SMASHABLE: native

flagDef SOLID: native

flagDef SPAWNCEILING: native

flagDef SPAWNFLOAT: native

flagDef SPAWNSOUNDSOURCE: native

flagDef SPECIALFIREDAMAGE: native

flagDef SPECIALFLOORCLIP: native

flagDef SPECIAL: native

flagDef SPECTRAL: native

flagDef SPRITEANGLE: native

flagDef SPRITEFLIP: native

flagDef STANDSTILL: native

flagDef STAYMORPHED: native

flagDef STEALTH: native

flagDef STEPMISSILE: native

flagDef STOPRAILS: native

flagDef STRIFEDAMAGE: native

flagDef SUMMONEDMONSTER: native

flagDef SYNCHRONIZED: native

flagDef TELEPORT: native

flagDef TELESTOMP: native

flagDef THRUACTORS: native

flagDef THRUGHOST: native

flagDef THRUREFLECT: native

flagDef THRUSPECIES: native

flagDef TOUCHY: native

flagDef USEBOUNCESTATE: native

flagDef USEKILLSCRIPTS: native

flagDef USESPECIAL: native

flagDef VISIBILITYPULSE: native

flagDef VULNERABLE: native

flagDef WALLSPRITE: native

flagDef WEAPONSPAWN: native

flagDef WINDTHRUST: native

flagDef XFLIP: native

flagDef YFLIP: native

flagDef ZDOOMTRANS: native

flagDef ALLOWCLIENTSPAWN: native deprecated

flagDef BASEARMOR: native deprecated

flagDef BASEHEALTH: native deprecated

flagDef BLUETEAM: native deprecated

flagDef CLIENTSIDEONLY: native deprecated

flagDef DONTHURTSPECIES: native deprecated

flagDef DONTIDENTIFYTARGET: native deprecated

flagDef DOOMBOUNCE: native deprecated

flagDef EXPLODEONDEATH: native deprecated

flagDef FASTER: native deprecated

flagDef FASTMELEE: native deprecated

flagDef FIREDAMAGE: native deprecated

flagDef FIRERESIST: native deprecated

flagDef HERETICBOUNCE: native deprecated

flagDef HEXENBOUNCE: native deprecated

flagDef ICEDAMAGE: native deprecated

flagDef LONGMELEERANGE: native deprecated

flagDef LOWGRAVITY: native deprecated

flagDef NODE: native deprecated

flagDef NONETID: native deprecated

flagDef QUARTERGRAVITY: native deprecated

flagDef REDTEAM: native deprecated

flagDef SCOREPILLAR: native deprecated

flagDef SERVERSIDEONLY: native deprecated

flagDef SHORTMISSILERANGE: native deprecated

flagDef SUPERARMOR: native deprecated

flagDef SUPERHEALTH: native deprecated

flagDef USESPECIAL: native deprecated

flagDef USESTBOUNCESOUND: native deprecated

TO-DO — This section is not finished yet

Overview of flags

ABSMASKANGLE, ABSMASKPITCH, ABSVIEWANGLES, ACTIVATEIMPACT, ACTIVATEMCROSS, ACTIVATEPCROSS, ACTLIKEBRIDGE, ADDITIVEPOISONDAMAGE, ADDITIVEPOISONDURATION, AIMREFLECT, ALLOWBOUNCEONACTORS, ALLOWCLIENTSPAWN, ALLOWPAIN, ALLOWPARTICLES, ALLOWTHRUBITS, ALLOWTHRUFLAGS, ALWAYSFAST, ALWAYSPUFF, ALWAYSRESPAWN, ALWAYSTELEFRAG, AMBUSH, ARGSDEFINED, ARMED, AVOIDINGDROPOFF, AVOIDMELEE, BASEARMOR, BASEHEALTH, BLASTED, BLOCKASPLAYER, BLOCKEDBYSOLIDACTORS, BLOODLESSIMPACT, BLOODSPLATTER, BLUETEAM, BOSS, BOSSCUBE, BOSSDEATH, BOSSSPAWNED, BOUNCEAUTOOFF, BOUNCEAUTOOFFFLOORONLY, BOUNCELIKEHERETIC, BOUNCEONACTORS, BOUNCEONCEILINGS, BOUNCEONFLOORS, BOUNCEONUNRIPPABLES, BOUNCEONWALLS, BRIGHT, BUDDHA, BUMPSPECIAL, CANBLAST, CANBOUNCEWATER, CANJUMP, CANNOTPUSH, CANPASS, CANPUSHWALLS, CANTLEAVEFLOORPIC, CANTSEEK, CANUSEWALLS, CAUSEPAIN, CEILINGHUGGER, CHASEGOAL, CLIENTSIDEONLY, CORPSE, COUNTITEM, COUNTKILL, COUNTSECRET, CRASHED, DEFLECT, DEHEXPLOSION, DOHARMSPECIES, DONTBLAST, DONTBOUNCEONSHOOTABLES, DONTBOUNCEONSKY, DONTCORPSE, DONTDRAIN, DONTFACETALKER, DONTFALL, DONTFLIP, DONTGIB, DONTHARMCLASS, DONTHARMSPECIES, DONTHURTSPECIES, DONTIDENTIFYTARGET, DONTINTERPOLATE, DONTMORPH, DONTOVERLAP, DONTREFLECT, DONTRIP, DONTSEEKINVISIBLE, DONTSPLASH, DONTSQUASH, DONTTHRUST, DONTTRANSLATE, DOOMBOUNCE, DORMANT, DROPOFF, DROPPED, EXPLOCOUNT, EXPLODEONDEATH, EXPLODEONWATER, EXTREMEDEATH, FALLDAMAGE, FALLING, FASTER, FASTMELEE, FIREDAMAGE, FIRERESIST, FIXMAPTHINGPOS, FLATSPRITE, FLOAT, FLOATBOB, FLOORCLIP, FLOORHUGGER, FLY, FLYCHEAT, FOILBUDDHA, FOILINVUL, FORCEDECAL, FORCEINFIGHTING, FORCEPAIN, FORCERADIUSDMG, FORCEXYBILLBOARD, FORCEYBILLBOARD, FORCEZERORADIUSDMG, FRIENDLY, FRIGHTENED, FRIGHTENING, FULLVOLACTIVE, FULLVOLDEATH, GETOWNER, GHOST, GRENADETRAIL, HANDLENODELAY, HARMFRIENDS, HERETICBOUNCE, HEXENBOUNCE, HITMASTER, HITOWNER, HITTARGET, HITTRACER, HUNTPLAYERS, ICECORPSE, ICEDAMAGE, ICESHATTER, INCHASE, INCOMBAT, INCONVERSATION, INFLOAT, INTERPOLATEANGLES, INTRYMOVE, INVISIBLE, INVULNERABLE, ISMONSTER, JUMPDOWN, JUSTATTACKED, JUSTHIT, KILLED, LAXTELEFRAGDMG, LINEDONE, LONGMELEERANGE, LOOKALLAROUND, LOWGRAVITY, MASKROTATION, MBFBOUNCER, MIRRORREFLECT, MISSILE, MISSILEEVENMORE, MISSILEMORE, MOVEWITHSECTOR, MTHRUSPECIES, NEVERFAST, NEVERRESPAWN, NEVERTARGET, NOBLOCKMAP, NOBLOCKMONST, NOBLOOD, NOBLOODDECALS, NOBOSSRIP, NOBOUNCESOUND, NOCLIP, NODAMAGE, NODAMAGETHRUST, NODE, NODECAL, NODROPOFF, NOEXPLODEFLOOR, NOEXTREMEDEATH, NOFEAR, NOFORWARDFALL, NOFRICTION, NOFRICTIONBOUNCE, NOGRAVITY, NOHATEPLAYERS, NOICEDEATH, NOINFIGHTING, NOINFIGHTSPECIES, NOINTERACTION, NOKILLSCRIPTS, NOLIFTDROP, NOMENU, NONETID, NONSHOOTABLE, NOPAIN, NORADIUSDMG, NOSECTOR, NOSHIELDREFLECT, NOSIGHTCHECK, NOSKIN, NOSPLASHALERT, NOTARGET, NOTARGETSWITCH, NOTAUTOAIMED, NOTDMATCH, NOTELEFRAG, NOTELEOTHER, NOTELEPORT, NOTELESTOMP, NOTIMEFREEZE, NOTONAUTOMAP, NOTRIGGER, NOVERTICALMELEERANGE, NOWALLBOUNCESND, OLDRADIUSDMG, ONMOBJ, PAINLESS, PICKUP, PIERCEARMOR, POISONALWAYS, PUFFGETSOWNER, PUFFONACTORS, PUSHABLE, QUARTERGRAVITY, QUICKTORETALIATE, RANDOMIZE, REDTEAM, REFLECTIVE, RELATIVETOFLOOR, RESPAWNINVUL, RETARGETAFTERSLAM, RIPPER, ROCKETTRAIL, ROLLCENTER, ROLLSPRITE, SCOREPILLAR, SCREENSEEKER, SCROLLMOVE, SEEINVISIBLE, SEEKERMISSILE, SEESDAGGERS, SERVERSIDEONLY, SHADOW, SHATTERING, SHIELDREFLECT, SHOOTABLE, SHORTMISSILERANGE, SKULLFLY, SKYEXPLODE, SLIDESONWALLS, SMASHABLE, SOLID, SPAWNCEILING, SPAWNFLOAT, SPAWNSOUNDSOURCE, SPECIAL, SPECIALFIREDAMAGE, SPECIALFLOORCLIP, SPECTRAL, SPRITEANGLE, SPRITEFLIP, STANDSTILL, STAYMORPHED, STEALTH, STEPMISSILE, STOPRAILS, STRIFEDAMAGE, SUMMONEDMONSTER, SUPERARMOR, SUPERHEALTH, SYNCHRONIZED, TELEPORT, TELESTOMP, THRUACTORS, THRUGHOST, THRUREFLECT, THRUSPECIES, TOUCHY, UNMORPHED, USEBOUNCESTATE, USEKILLSCRIPTS, USESPECIAL, USESPECIAL, USESTBOUNCESOUND, VFRICTION, VISIBILITYPULSE, VULNERABLE, WALLSPRITE, WARNBOT, WEAPONSPAWN, WINDTHRUST, XFLIP, YFLIP, ZDOOMTRANS

States

These states are available on every actor.

states(Actor, Overlay, Weapon, Item)
{
Spawn:
	TNT1 A -1;
	stop;

The default spawn state. Simply exists as an invisible object forever.

Null:
	TNT1 A 1;
	stop;

A state that will destroy this actor after one tick.

GenericFreezeDeath:
	#### # 5 A_GenericFreezeDeath;
	---- A 1 A_FreezeDeathChunks;
	wait;

A generic freeze death used by Hexen.

GenericCrush:
	POL5 A -1;
	stop;

A generic state for when a body is crushed.

} // states(Actor, Overlay, Weapon, Item)
Overview of states

GenericCrush, GenericFreezeDeath, Null, Spawn