2012-07-12 22:34:12 +00:00
/*******************************************************************\
2014-09-29 09:52:36 +00:00
GZDoom Builder Script highlighting definitions for DECORATE
2012-07-12 22:34:12 +00:00
\*******************************************************************/
// Editor settings
description = "ZDoom DECORATE";
codepage = 0;
2015-01-19 19:53:58 +00:00
extensions = "txt,dec";
2012-07-12 22:34:12 +00:00
casesensitive = false;
2014-09-29 09:52:36 +00:00
insertcase = 0; // 0=Normal, 1=Lowercase, 2=Uppercase
2012-07-16 09:45:21 +00:00
lexer = 35;
functionopen = "(";
functionclose = ")";
argumentdelimiter = ",";
2012-07-12 22:34:12 +00:00
terminator = ";";
keywordhelp = "http://www.zdoom.org/wiki/index.php?title=%K";
2014-07-11 10:13:26 +00:00
scripttype = 3; //0 = unknown script, 1 = acc, 2 = modeldef, 3 = decorate
2012-07-12 22:34:12 +00:00
keywords
{
2014-09-29 09:52:36 +00:00
#Include = "#Include";
2012-07-12 22:34:12 +00:00
//Monster AI
2014-11-05 14:31:00 +00:00
A_AlertMonsters = "A_AlertMonsters[(float maxrange = 0[, int flags = 0])]";
A_Burst = "A_Burst(string type)";
2014-09-29 09:52:36 +00:00
A_CentaurDefend = "A_CentaurDefend";
2014-11-25 11:52:01 +00:00
A_Chase = "A_Chase[(string meleestate = \"Melee\"[, string rangedstate = \"Missile\"[, int flags = 0]])]";
2014-09-29 09:52:36 +00:00
A_ClearLastHeard = "A_ClearLastHeard";
A_ClearSoundTarget = "A_ClearSoundTarget";
A_ClearTarget = "A_ClearTarget";
2015-01-10 11:45:25 +00:00
A_DamageChildren = "A_DamageChildren(int amount[, string damagetype = \"None\"[, int flags = 0[, string filter = \"None\"[, string species = \"None\"]]]])\namount: amount of damage to inflict. Use a negative value to heal.\ndamagetype: the type of damage to inflict.\nflags: DMSS flags.\nfilter: the actor class to damage.\nspecies: the actor species to damage.";
A_DamageMaster = "A_DamageMaster(int amount[, string damagetype = \"None\"[, int flags = 0[, string filter = \"None\"[, string species = \"None\"]]]])\namount: amount of damage to inflict. Use a negative value to heal.\ndamagetype: the type of damage to inflict.\nflags: DMSS flags.\nfilter: the actor class to damage.\nspecies: the actor species to damage.";
A_DamageSelf = "A_DamageSelf(int amount[, string damagetype = \"None\"[, int flags = 0[, string filter = \"None\"[, string species = \"None\"]]]])\namount: amount of damage to inflict. Use a negative value to heal.\ndamagetype: the type of damage to inflict.\nflags: DMSS flags.\nfilter: the actor class to damage.\nspecies: the actor species to damage.";
A_DamageSiblings = "A_DamageSiblings(int amount[, string damagetype = \"None\"[, int flags = 0[, string filter = \"None\"[, string species = \"None\"]]]])\namount: amount of damage to inflict. Use a negative value to heal.\ndamagetype: the type of damage to inflict.\nflags: DMSS flags.\nfilter: the actor class to damage.\nspecies: the actor species to damage.";
A_DamageTarget = "A_DamageTarget(int amount[, string damagetype = \"None\"[, int flags = 0[, string filter = \"None\"[, string species = \"None\"]]]])\namount: amount of damage to inflict. Use a negative value to heal.\ndamagetype: the type of damage to inflict.\nflags: DMSS flags.\nfilter: the actor class to damage.\nspecies: the actor species to damage.";
A_DamageTracer = "A_DamageTracer(int amount[, string damagetype = \"None\"[, int flags = 0[, string filter = \"None\"[, string species = \"None\"]]]])\namount: amount of damage to inflict. Use a negative value to heal.\ndamagetype: the type of damage to inflict.\nflags: DMSS flags.\nfilter: the actor class to damage.\nspecies: the actor species to damage.";
2014-09-29 09:52:36 +00:00
A_Die = "A_Die[(string damagetype)]";
2014-11-05 14:31:00 +00:00
A_FaceTarget = "A_FaceTarget[(float angle = 0[, float pitch = 0])]";
A_FaceMaster = "A_FaceMaster[(float angle = 0[, float pitch = 0])]";
A_FastChase = "A_FastChase";
2015-01-11 19:42:57 +00:00
A_KillChildren = "A_KillChildren[(string damagetype = \"None\"[, int flags = 0[, string filter = \"None\[, string species = \"None\]]])]\ndamagetype: if the actor dies, the actor will enter a death state based on damagetype if present (or pain state if using NODAMAGE).\nflags: KILS flags.\nfilter: the actor class to damage.\nspecies: the actor species to damage.";
A_KillMaster = "A_KillMaster[(string damagetype = \"None\"[, int flags = 0[, string filter = \"None\"[, string species = \"None\"]]])]\ndamagetype: if the actor dies, the actor will enter a death state based on damagetype if present (or pain state if using NODAMAGE).\nflags: KILS flags.\nfilter: the actor class to damage.\nspecies: the actor species to damage.";
A_KillSiblings = "A_KillSiblings[(string damagetype = \"None\"[, int flags = 0[, string filter = \"None\"[, string species = \"None\"]]])]\ndamagetype: if the actor dies, the actor will enter a death state based on damagetype if present (or pain state if using NODAMAGE).\nflags: KILS flags.\nfilter: the actor class to damage.\nspecies: the actor species to damage.";
A_KillTarget = "A_KillTarget[(string damagetype = \"None\"[, int flags = 0[, string filter = \"None\"[, string species = \"None\"]]])]\ndamagetype: if the actor dies, the actor will enter a death state based on damagetype if present (or pain state if using NODAMAGE).\nflags: KILS flags.\nfilter: the actor class to damage.\nspecies: the actor species to damage.";
A_KillTracer = "A_KillTracer[(string damagetype = \"None\"[, int flags = 0[, string filter = \"None\"[, string species = \"None\"]]])]\ndamagetype: if the actor dies, the actor will enter a death state based on damagetype if present (or pain state if using NODAMAGE).\nflags: KILS flags.\nfilter: the actor class to damage.\nspecies: the actor species to damage.";
2014-11-05 14:31:00 +00:00
A_Look = "A_Look";
2014-09-29 09:52:36 +00:00
A_Look2 = "A_Look2";
A_LookEx = "A_LookEx(int flags, fixed minseedist, fixed maxseedist, fixed maxheardist, fixed fov, state seestate)";
2015-01-11 19:42:57 +00:00
A_RaiseChildren = "A_RaiseChildren[(bool copyaffiliation = false)]";
A_RaiseMaster = "A_RaiseMaster[(bool copyaffiliation = false)]";
A_RaiseSiblings = "A_RaiseSiblings[(bool copyaffiliation = false)]";
A_RemoveChildren = "A_RemoveChildren[(bool all = false[, int flags = 0[, string filter = \"None\"[, string species = \"None\"]]])]\nflags: RMVF flags.\nfilter: the actor class to damage.\nspecies: the actor species to damage.";
A_RemoveMaster = "A_RemoveMaster[(int flags = 0[, string filter = \"None\"[, string species = \"None\"]])]\nflags: RMVF flags.\nfilter: the actor class to damage.\nspecies: the actor species to damage.";
A_RemoveSiblings = "A_RemoveSiblings[(bool all = false[, int flags = 0[, string filter = \"None\"[, string species = \"None\"]]])]\nflags: RMVF flags.\nfilter: the actor class to damage.\nspecies: the actor species to damage.";
A_RemoveTarget = "A_RemoveTarget[(int flags = 0[, string filter = \"None\"[, string species = \"None\"]])]\nflags: RMVF flags.\nfilter: the actor class to damage.\nspecies: the actor species to damage.";
A_RemoveTracer = "A_RemoveTracer[(int flags = 0[, string filter = \"None\"[, string species = \"None\"]])]\nflags: RMVF flags.\nfilter: the actor class to damage.\nspecies: the actor species to damage.";
A_Remove = "A_Remove(int pointer[, int flags = 0[, string filter = \"None\"[, string species = \"None\"]]])\nflags: RMVF flags.\nfilter: the actor class to damage.\nspecies: the actor species to damage.";
2014-09-29 09:52:36 +00:00
A_SentinelBob = "A_SentinelBob";
2014-12-22 21:36:49 +00:00
A_SetTeleFog = "A_SetTeleFog(string telefogsourceclass, string telefogdestclass)";
2014-12-23 12:32:08 +00:00
A_Srcr2Decide = "A_Srcr2Decide";
2014-12-22 21:36:49 +00:00
A_SwapTeleFog = "A_SwapTeleFog";
2014-11-05 14:31:00 +00:00
A_TurretLook = "A_TurretLook";
2014-11-25 11:52:01 +00:00
A_Teleport = "A_Teleport[(string teleportstate = \"Teleport\"[, string targettype = \"BossSpot\"[, string fogtype = \"TeleportFog\"[, int flags = 0[, float mindist = 0[, float maxdist = 0]]]]])]";
2014-09-29 09:52:36 +00:00
A_VileChase = "A_VileChase";
A_Wander = "A_Wander";
2012-07-16 09:45:21 +00:00
//Generic monster attacks
2014-12-30 20:14:53 +00:00
A_CustomMissile = "A_CustomMissile(string missiletype[, float spawnheight = 0[, int spawnofs_horiz = 0[, int angle = 0[, int aimflags = 0[, int pitch = 0[, int target]]]]]])";
A_CustomBulletAttack = "A_CustomBulletAttack(float horz_spread, float vert_spread, int numbullets, int damageperbullet[, string pufftype[, float range[, int flags[, int target]]]])";
2014-11-05 14:31:00 +00:00
A_CustomRailgun = "A_CustomRailgun(int damage[, int offset[, color ringcolor[, color corecolor[, int flags[, bool aim[, float maxdiff[, string pufftype[, float spread_xy[, float spread_z[, fixed range[, int duration[, float sparsity[, float driftspeed[, string spawnclass]]]]]]]]]]]]]])";
A_CustomMeleeAttack = "A_CustomMeleeAttack(int damage[, string meleesound[, string misssound[, string damagetype[, bool bleed]]]])";
2014-11-25 11:52:01 +00:00
A_CustomComboAttack = "A_CustomComboAttack(string missiletype, float spawnheight, int damage, string meleesound[, string damagetype = \"Melee\"[, bool bleed = true]])";
2014-09-29 09:52:36 +00:00
A_MonsterRefire = "A_MonsterRefire(int chancecontinue, string abortstate) ";
A_BasicAttack = "A_BasicAttack(int meleedamage, string meleesound, string missiletype, float missileheight)";
A_BulletAttack = "A_BulletAttack";
A_MonsterRail = "A_MonsterRail";
2014-11-25 11:52:01 +00:00
A_Explode = "A_Explode[(int explosiondamage = 128[, int explosionradius = 128[, int flags = XF_HURTSOURCE[, bool alert = false[, int fulldamageradius = 0[, int nails = 0[, int naildamage = 10[, string pufftype = \"BulletPuff\"]]]]]]])]";
2014-09-29 09:52:36 +00:00
A_RadiusThrust = "A_RadiusThrust(int force, int distance[, int flags[, int fullthrustdistance]])";
A_Detonate = "A_Detonate";
2014-10-28 14:35:59 +00:00
A_ThrowGrenade = "A_ThrowGrenade(string spawntype[, float spawnheight[, float throwspeed_horz[, float throwspeed_vert[, bool useammo]]]])";
2015-01-10 11:45:25 +00:00
A_WolfAttack = "A_WolfAttack[(int flags = 0[, string soundname = \"weapons/pistol\"[, float snipe = 1.0[, int damage = 64[, int blocksize = 128[, int pointblank = 0[, int longrange = 0[, float runspeed = 160.0[, string pufftype = \"BulletPuff\"]]]]]]]])]";
2012-07-16 09:45:21 +00:00
//Freeze death functions
2014-09-29 09:52:36 +00:00
A_FreezeDeath = "A_FreezeDeath";
A_GenericFreezeDeath = "A_GenericFreezeDeath";
A_FreezeDeathChunks = "A_FreezeDeathChunks";
A_IceGuyDie = "A_IceGuyDie";
2012-07-16 09:45:21 +00:00
//Sound functions
2014-11-05 14:31:00 +00:00
A_PlaySound = "A_PlaySound(string soundname[, int slot[, float volume = 1.0[, bool looping = false[, float attenuation]]]])";
2014-09-29 09:52:36 +00:00
A_PlayWeaponSound = "A_PlayWeaponSound(string soundname)";
A_ActiveSound = "A_ActiveSound";
A_LoopActiveSound = "A_LoopActiveSound";
A_FLoopActiveSound = "A_FLoopActiveSound";
2014-11-05 14:31:00 +00:00
A_StopSound = "A_StopSound[(int slot = CHAN_VOICE)]";
2014-09-29 09:52:36 +00:00
A_Pain = "A_Pain";
A_Scream = "A_Scream";
A_XScream = "A_XScream";
A_PlayerScream = "A_PlayerScream";
A_VileStart = "A_VileStart";
A_BrainPain = "A_BrainPain";
A_BrainAwake = "A_BrainAwake";
A_BFGSound = "A_BFGSound";
2012-07-16 09:45:21 +00:00
//Print actions
2014-11-25 11:52:01 +00:00
A_Print = "A_Print(string text[, float time = 0.0[, string fontname = \"SmallFont\"]])";
A_PrintBold = "A_PrintBold(string text[, float time = 0.0[, string fontname = \"SmallFont\"]])";
2014-09-29 09:52:36 +00:00
A_Log = "A_Log(string text)";
A_LogInt = "A_LogInt(int number)";
2012-07-16 09:45:21 +00:00
//Special actions
2014-09-29 09:52:36 +00:00
A_BossDeath = "A_BossDeath";
2014-11-05 14:31:00 +00:00
A_KeenDie = "A_KeenDie[(int tag = 666)]";
2014-09-29 09:52:36 +00:00
A_BrainDie = "A_BrainDie";
A_GetHurt = "A_GetHurt";
A_KlaxonBlare = "A_KlaxonBlare";
A_CheckTerrain = "A_CheckTerrain";
2014-11-05 14:31:00 +00:00
A_SetBlend = "A_SetBlend(string blendcolor, float alpha, int duration[, string fadecolor])";
2014-09-29 09:52:36 +00:00
A_CheckPlayerDone = "A_CheckPlayerDone";
A_PlayerSkinCheck = "A_PlayerSkinCheck(string state)";
2014-11-25 11:52:01 +00:00
A_SkullPop = "A_SkullPop[(string type = \"BloodySkull\")]";
A_Quake = "A_Quake (int intensity, int duration, int damageradius, int tremorradius[, string sound = \"world/quake\"])";
2012-07-16 09:45:21 +00:00
//Spawn functions
2014-09-29 09:52:36 +00:00
A_TossGib = "A_TossGib";
2014-11-05 14:31:00 +00:00
A_SpawnDebris = "A_SpawnDebris(string type[, bool translation = false[, float horizontal_vel = 1.0[, float vertical_vel = 1.0]]])";
2014-09-29 09:52:36 +00:00
A_SpawnItem = "A_SpawnItem(string type, int distance, float zpos, bool useammo, bool translation)";
A_SpawnItemEx = "A_SpawnItemEx(string type[, float xoffset[, float yoffset[, float zoffset[, float xvelocity[, float yvelocity[, float zvelocity[, float angle[, int flags[, int skipchance[, int tid]]]]]]]]]])";
2012-07-16 09:45:21 +00:00
//State jumps
2014-09-29 09:52:36 +00:00
A_CheckCeiling = "A_CheckCeiling(int offset OR string state)";
A_CheckFloor = "A_CheckFloor(int offset OR string state)";
A_CheckFlag = "A_CheckFlag(string flagname, state label[, int check_pointer = AAPTR_DEFAULT])";
2014-11-05 14:31:00 +00:00
A_CheckLOF = "A_CheckLOF(state jump[, int flags = 0[, float range = 0[, float minrange = 0[, float angle = 0[, float pitch = 0[, float offsetheight = 0[, float offsetwidth = 0[, int ptr_target = AAPTR_DEFAULT]]]]]]]])";
A_CheckRange = "A_CheckRange(float distance, int offset OR string state)";
2014-09-29 09:52:36 +00:00
A_CheckSight = "A_CheckSight(int offset OR string state)";
A_CheckSightOrRange = "A_CheckSightOrRange(float distance, int offset OR string state)";
A_Jump = "A_Jump(int chance, int offset OR string state, ...)";
A_JumpIf = "A_JumpIf(expression, int offset OR string state)";
A_JumpIfArmorType = "A_JumpIfArmorType(string armortype, string state[, int minimum])";
A_JumpIfCloser = "A_JumpIfCloser(int distance, int offset OR string state)";
2014-11-05 14:31:00 +00:00
A_JumpIfHealthLower = "A_JumpIfHealthLower(int health, int offset OR string state[, int pointer = AAPTR_DEFAULT])";
A_JumpIfInventory = "A_JumpIfInventory (string inventorytype, int amount, int offset OR string state[, int owner = AAPTR_DEFAULT])";
A_JumpIfInTargetInventory = "A_JumpIfInTargetInventory(string item, int count, int offset OR string state[, int forward])";
2014-10-28 09:31:37 +00:00
A_JumpIfInTargetLOS = "A_JumpIfInTargetLOS(int offset OR string state[, float fov = 0[, int flags = 0[, float dist_max = 0[, float dist_close = 0]]]])\nflags: JLOSF flags.";
2014-09-29 09:52:36 +00:00
A_JumpIfMasterCloser = "A_JumpIfMasterCloser(int distance, int offset OR string state)";
A_JumpIfNoAmmo = "A_JumpIfNoAmmo(int offset OR string state)";
2014-10-28 09:31:37 +00:00
A_JumpIfTargetInLOS = "A_JumpIfTargetInLOS(int offset OR string state[, float fov = 0[, int flags = 0[, float dist_max = 0[, float dist_close = 0]]]])\nflags: JLOSF flags.";
2014-09-29 09:52:36 +00:00
A_JumpIfTargetInsideMeleeRange = "A_JumpIfTargetInsideMeleeRange(int offset OR string state)\nJumps the number of frames (offset) forward, or to the specified state\nwhen the target of the calling actor is within melee range of the caller.";
A_JumpIfTargetOutsideMeleeRange = "A_JumpIfTargetOutsideMeleeRange(int offset OR string state)\nJumps the number of frames (offset) forward, or to the specified state\nwhen the target of the calling actor is beyond melee range of the caller.";
A_JumpIfTracerCloser = "A_JumpIfTracerCloser (int distance, int offset OR string state)";
2012-07-16 09:45:21 +00:00
//Status changes
2014-12-05 14:33:31 +00:00
A_ActiveAndUnblock = "A_ActiveAndUnblock";
A_CallSpecial = "A_CallSpecial(int special[, int arg1[, int arg2[, int arg3[, int arg4[, int arg5]]]]])";
2014-09-29 09:52:36 +00:00
A_ChangeFlag = "A_ChangeFlag(string flagname, bool value)";
2015-01-23 12:02:35 +00:00
A_ChangeVelocity = "A_ChangeVelocity[(float x = 0[, float y = 0[, float z = 0[, int flags = 0[, int pointer = AAPTR_DEFAULT]]]])]\nflags: CVF flags.";
2014-09-29 09:52:36 +00:00
A_ClearShadow = "A_ClearShadow";
2014-11-05 14:31:00 +00:00
A_CopyFriendliness = "A_CopyFriendliness[(int copyfrom = AAPTR_MASTER)]";
2014-09-29 09:52:36 +00:00
A_DeQueueCorpse = "A_DeQueueCorpse";
2014-12-05 14:33:31 +00:00
A_FadeIn = "A_FadeIn[(float increase_amount = 0.1[, int flags = 0])]\nflags: FTF flags.";
A_FadeOut = "A_FadeOut[(float reduce_amount = 0.1[, int flags = FTF_REMOVE])]\nflags: FTF flags.";
A_FadeTo = "A_FadeTo(float target[, float amount = 0.1[, int flags = 0]])\nflags: FTF flags.";
2014-09-29 09:52:36 +00:00
A_Fall = "A_Fall";
A_Gravity = "A_Gravity";
A_HideThing = "A_HideThing";
A_LowGravity = "A_LowGravity";
A_NoBlocking = "A_NoBlocking";
A_NoGravity = "A_NoGravity";
A_QueueCorpse = "A_QueueCorpse";
2014-11-05 14:31:00 +00:00
A_RearrangePointers = "A_RearrangePointers(int target, int master, int tracer, int flags)\nflags: AAPTR flags.";
A_Respawn = "A_Respawn[(int flags = RSF_FOG)]\nflags: RSF flags";
2014-09-29 09:52:36 +00:00
A_ScaleVelocity = "A_ScaleVelocity(float scale)";
A_ScreamAndUnblock = "A_ScreamAndUnblock";
2014-11-25 11:52:01 +00:00
A_SetAngle = "A_SetAngle(float angle[, int flags])\nangle: the actor\"s new angle, in degrees.\nflags: SPF flags.";
2014-09-29 09:52:36 +00:00
A_SetArg = "A_SetArg(int position, int value)";
A_SetDamageType = "A_SetDamageType(string damagetype)";
A_SetFloat = "A_SetFloat";
2015-01-10 11:45:25 +00:00
A_FloatBobPhase = "A_FloatBobPhase(int bob)\nChanges the calling actor's FloatBobPhase to bob, which takes a number from 0 to 63.\nIf the number is invalid or not in range, the function does nothing.";
2014-09-29 09:52:36 +00:00
A_SetFloorClip = "A_SetFloorClip";
2015-01-23 12:02:35 +00:00
A_SetHealth = "A_SetHealth(int health[, int pointer = AAPTR_DEFAULT])\nhealth: The health value to set for the actor. Valid values are 1 and above.\npointer: The actor to set its health. Default is AAPTR_DEFAULT, which corresponds to the calling actor.";
2014-09-29 09:52:36 +00:00
A_SetInvulnerable = "A_SetInvulnerable";
A_SetMass = "A_SetMass(int mass)";
2014-11-25 11:52:01 +00:00
A_SetPitch = "A_SetPitch(float pitch[, int flags])\npitch: The actor\"s new pitch, in degrees.\nflags: SPF flags.";
2014-09-29 09:52:36 +00:00
A_SetReflective = "A_SetReflective";
A_SetReflectiveInvulnerable = "A_SetReflectiveInvulnerable";
2014-11-05 14:31:00 +00:00
A_SetScale = "A_SetScale(float scaleX[, float scaleY = scaleX])";
2014-09-29 09:52:36 +00:00
A_SetShadow = "A_SetShadow";
A_SetShootable = "A_SetShootable";
A_SetSolid = "A_SetSolid";
A_SetSpecial = "A_SetSpecial(int special, int arg0, int arg1, int arg2, int arg3, int arg4)";
A_SetSpeed = "A_SetSpeed(float speed)";
A_SetTics = "A_SetTics(int tics)";
2015-01-15 20:48:57 +00:00
A_SetTranslucent = "A_SetTranslucent(float alpha[, int mode = 0])";
2014-09-29 09:52:36 +00:00
A_SetUserVar = "A_SetUserVar(string name, int value)";
2014-11-05 14:31:00 +00:00
A_TransferPointer = "A_TransferPointer(int source, int recipient, int sourcefield, int recipientfield[, int flags])\nflags: PTROP flags.";
2014-09-29 09:52:36 +00:00
A_UnHideThing = "A_UnHideThing";
A_UnsetFloat = "A_UnsetFloat";
A_UnSetFloorClip = "A_UnSetFloorClip";
A_UnSetInvulnerable = "A_UnSetInvulnerable";
A_UnSetReflective = "A_UnSetReflective";
A_UnSetReflectiveInvulnerable = "A_UnSetReflectiveInvulnerable";
A_UnSetShootable = "A_UnSetShootable";
A_UnsetSolid = "A_UnsetSolid";
2012-07-16 09:45:21 +00:00
//Missile movement
2014-11-05 14:31:00 +00:00
A_SeekerMissile = "A_SeekerMissile(angle threshold, angle maxturnangle[, int flags = 0[, int chance = 50[, int distance = 10]]])\nflags: SMF flags.";
2014-09-29 09:52:36 +00:00
A_Tracer = "A_Tracer";
A_Tracer2 = "A_Tracer2";
2014-11-05 14:31:00 +00:00
A_FaceTracer = "A_FaceTracer[(float angle = 0[, float pitch = 0])]";
A_Fire = "A_Fire[(float height = 0)]";
2014-09-29 09:52:36 +00:00
A_Weave = "A_Weave(int horzspeed, int vertspeed, float horzdist, float vertdist)";
2014-11-05 14:31:00 +00:00
A_Warp = "A_Warp(int ptr_destination, float x-offset, float y-offset, float z-offset, float angle, int flags, string success_state)\nflags: WARPF flags.";
2014-09-29 09:52:36 +00:00
A_Countdown = "A_Countdown";
2014-11-05 14:31:00 +00:00
A_CountdownArg = "A_CountdownArg(int arg[, string targetstate])";
2014-09-29 09:52:36 +00:00
A_Stop = "A_Stop";
2012-07-16 09:45:21 +00:00
//Inventory functions
2014-11-05 14:31:00 +00:00
A_GiveInventory = "A_GiveInventory(string type[, int count = 0[, int giveto = AAPTR_DEFAULT]])\ntype: the item to give. This should be a valid inventory item.\ncount: the number of samples of this item to give. Default is 0, which is interpreted as 1.\ngiveto: the actor to give the item to";
A_GiveToChildren = "A_GiveToChildren(string type[, int count])\ntype: the item to give. This should be a valid inventory item.\ncount: the number of samples of this item to give. Default is 0, which is interpreted as 1.";
A_GiveToSiblings = "A_GiveToSiblings(string type[, int count])\ntype: the item to give. This should be a valid inventory item.\ncount: the number of samples of this item to give. Default is 0, which is interpreted as 1.";
A_GiveToTarget = "A_GiveToTarget(string type, int count[, int giveto])";
A_TakeInventory = "A_TakeInventory(string type, int count[, int flags[, int takefrom = AAPTR_DEFAULT]])";
A_TakeFromChildren = "A_TakeFromChildren(string type[, int count])\ntype: the item to take. This should be a valid inventory item.\ncount: the number of samples of this item to take.\nIf this is 0, the item is cleared from the inventory unless it has the\nINVENTORY.KEEPDEPLETED flag set, and in which case, its amount is merely reduced to 0.\nDefault is 0.";
A_TakeFromSiblings = "A_TakeFromSiblings(string type[, int count])\ntype: the item to take. This should be a valid inventory item.\ncount: the number of samples of this item to take.\nIf this is 0, the item is cleared from the inventory unless it has the\nINVENTORY.KEEPDEPLETED flag set, and in which case, its amount is merely reduced to 0.\nDefault is 0.";
A_TakeFromTarget = "A_TakeFromTarget(string type, int count[, int flags[, int takefrom]])";
2014-09-29 09:52:36 +00:00
A_DropInventory = "A_DropInventory(string type)";
2014-11-05 14:31:00 +00:00
A_DropItem = "A_DropItem(string item[, int dropamount = -1[, int chance = 256]])\nThe calling actor drops the specified item.\nThis works in a similar way to the DropItem actor property.";
2014-09-29 09:52:36 +00:00
A_SelectWeapon = "A_SelectWeapon(string type)";
2014-11-05 14:31:00 +00:00
A_RadiusGive = "A_RadiusGive(string item, fixed distance, int flags[, int amount = 0])\nflags: RGF flags.";
2012-07-16 09:45:21 +00:00
//Weapon functions
2014-11-05 14:31:00 +00:00
A_WeaponReady = "A_WeaponReady[(int flags = 0)]\nflags: WRF flags.";
2014-09-29 09:52:36 +00:00
A_Lower = "A_Lower";
A_Raise = "A_Raise";
2014-11-25 11:52:01 +00:00
A_ReFire = "A_ReFire[(string state = \"Hold\")]";
2014-09-29 09:52:36 +00:00
A_ClearReFire = "A_ClearReFire";
2014-11-25 11:52:01 +00:00
A_GunFlash = "A_GunFlash[(string state = \"Flash\"[, int flags = 0])]\nflags: GFF flags.";
2014-09-29 09:52:36 +00:00
A_CheckReload = "A_CheckReload";
2014-11-05 14:31:00 +00:00
A_CheckForReload = "A_CheckForReload(int counter, string state[, bool dontincrement = false])";
2014-09-29 09:52:36 +00:00
A_ResetReloadCounter = "A_ResetReloadCounter";
A_Light = "A_Light(int intensity)";
A_Light0 = "A_Light0";
A_Light1 = "A_Light1";
A_Light2 = "A_Light2";
A_LightInverse = "A_LightInverse";
A_Recoil = "A_Recoil(float force)";
2014-11-05 14:31:00 +00:00
A_ZoomFactor = "A_ZoomFactor[(float zoom = 1.0[, int flags = 0])]\nflags: ZOOM flags.";
2014-09-29 09:52:36 +00:00
A_SetCrosshair = "A_SetCrosshair(int number)";
2012-07-16 09:45:21 +00:00
//Weapon attack functions
2014-09-29 09:52:36 +00:00
A_Punch = "A_Punch";
2015-01-03 18:43:37 +00:00
A_Saw = "A_Saw[(string fullsound = \"weapons/sawfull\"[, string hitsound = \"weapons/sawhit\"[, int damage = 0[, string pufftype = \"BulletPuff\"[, int flags = 0[, float range = 65.0[, float spread_xy = 2.8125[, float spread_z = 0[, float lifesteal = 0[, int lifestealmax = 0[, string armorbonustype = \"ArmorBonus\"]]]]]]]]]])]";
A_CustomPunch = "A_CustomPunch(int damage[, bool norandom = false[, int flags = 0[, string pufftype = \"BulletPuff\"[, float range = 64.0[, float lifesteal = 0[, int lifestealmax = 0[, string armorbonustype = \"ArmorBonus\"]]]]]]])";
2014-11-25 11:52:01 +00:00
A_FireBullets = "A_FireBullets(int spread_horz, int spread_vert, int numbullets, int damage[, string pufftype = \"\"[, int flags = FBF_USEAMMO[, float range = 0]]])";
2014-11-05 14:31:00 +00:00
A_FireCustomMissile = "A_FireCustomMissile(string missiletype[, int angle = 0[, bool useammo = false[, int spawnofs_horz = 0[, int spawnheight = 0[, bool aim = false OR int flags = 0[, angle pitch = 0]]]]]])";
A_RailAttack = "A_RailAttack(int damage[, int spawnofs_horz[, bool useammo[, color ringcolor[, color corecolor[, int flags[, int maxdiff[, string pufftype[, float spread_xy = 0[, float spread_z = 0[, fixed range = 8192[, int duration = 35[, float sparsity = 1.0[, float driftspeed = 1.0[, string spawnclass[, float spawnofs_z = 0]]]]]]]]]]]]]]])";
2014-09-29 09:52:36 +00:00
A_FireAssaultGun = "A_FireAssaultGun";
A_FireBFG = "A_FireBFG";
A_FireOldBFG = "A_FireOldBFG";
A_FireShotgun = "A_FireShotgun";
A_FireShotgun2 = "A_FireShotgun2";
A_FireCGun = "A_FireCGun";
A_FireMissile = "A_FireMissile";
A_FirePlasma = "A_FirePlasma";
2012-07-16 09:45:21 +00:00
//Script functions
2014-11-05 14:31:00 +00:00
ACS_ExecuteWithResult = "int ACS_ExecuteWithResult(int script, int arg1, int arg2, int arg3, int arg4)";
ACS_NamedExecute = "bool ACS_NamedExecute(string script, int map, int arg1, int arg2, int arg3)";
2014-09-29 09:52:36 +00:00
ACS_NamedSuspend = "bool ACS_NamedSuspend(string script, int map)";
ACS_NamedTerminate = "bool ACS_NamedTerminate(string script, int map)";
2014-11-05 14:31:00 +00:00
ACS_NamedLockedExecute = "bool ACS_NamedLockedExecute(string script, int map, int arg1, int arg2, int lock)";
ACS_NamedLockedExecuteDoor = "bool ACS_NamedLockedExecuteDoor(string script, int map, int arg1, int arg2, int lock)";
ACS_NamedExecuteWithResult = "int ACS_NamedExecuteWithResult(string script, int arg1, int arg2, int arg3, int arg4)";
ACS_NamedExecuteAlways = "bool ACS_NamedExecuteAlways(string script, int map, int arg1, int arg2, int arg3)";
2015-01-19 19:53:58 +00:00
CallACS = "int CallACS(string script, int arg1, int arg2, int arg3, int arg4)";
2012-07-16 09:45:21 +00:00
//Original Doom/Strife monster attacks
2014-09-29 09:52:36 +00:00
A_PosAttack = "A_PosAttack";
A_SPosAttack = "A_SPosAttack";
A_CPosAttack = "A_CPosAttack";
A_CPosRefire = "A_CPosRefire";
A_SpidRefire = "A_SpidRefire";
A_TroopAttack = "A_TroopAttack";
A_SargAttack = "A_SargAttack";
A_HeadAttack = "A_HeadAttack";
A_BruisAttack = "A_BruisAttack";
2014-11-05 14:31:00 +00:00
A_SkullAttack = "A_SkullAttack[(int speed = 20)]";
2014-09-29 09:52:36 +00:00
A_BspiAttack = "A_BspiAttack";
A_CyberAttack = "A_CyberAttack";
2014-11-25 11:52:01 +00:00
A_PainAttack = "A_PainAttack[(string spawntype = \"LostSoul\"[, float angle = 0[, int flags = 0[, int limit = 21]]])]";
A_DualPainAttack = "A_DualPainAttack[(string spawntype = \"LostSoul\")]";
A_PainDie = "A_PainDie[(string spawntype = \"LostSoul\")]";
2014-09-29 09:52:36 +00:00
A_SkelFist = "A_SkelFist";
A_SkelMissile = "A_SkelMissile";
2014-11-25 11:52:01 +00:00
A_FatAttack1 = "A_FatAttack1[(string spawntype = \"FatShot\")]";
A_FatAttack2 = "A_FatAttack2[(string spawntype = \"FatShot\")]";
A_FatAttack3 = "A_FatAttack3[(string spawntype = \"FatShot\")]";
A_VileTarget = "A_VileTarget[(string type = \"ArchvileFire\")]";
A_VileAttack = "A_VileAttack[(string sound = \"vile/stop\"[, int initialdamage = 20[, int blastdamage = 70[, int blastradius = 70[, float thrustfactor = 1.0[, string damagetype = \"Fire\"[, int flags = 0]]]]]])]";
A_BrainSpit = "A_BrainSpit[(string spawntype = \"SpawnShot\")]";
A_SpawnFly = "A_SpawnFly[(string fogactor = \"SpawnFire\")]";
2014-09-29 09:52:36 +00:00
A_SpawnSound = "A_SpawnSound";
A_BrainScream = "A_BrainScream";
A_BrainExplode = "A_BrainExplode";
2014-11-25 11:52:01 +00:00
A_Mushroom = "A_Mushroom[(string spawntype = \"FatShot\"[, int amount[, int flags = MSF_STANDARD[, float vrange = 4.0[, float hrange = 0.5]]]])]";
A_M_Saw = "A_M_Saw[(string fullsound = \"weapons/sawfull\"[, string hitsound = \"weapons/sawhit\"[, int damage = 0[, string pufftype = \"BulletPuff\"]]])]";
2014-09-29 09:52:36 +00:00
A_SentinelRefire = "A_SentinelRefire";
A_BetaSkullAttack = "A_BetaSkullAttack";
2012-07-16 09:45:21 +00:00
//Miscellaneous functions for Doom
2014-09-29 09:52:36 +00:00
A_Hoof = "A_Hoof";
A_Metal = "A_Metal";
A_BabyMetal = "A_BabyMetal";
A_FatRaise = "A_FatRaise";
A_SkelWhoosh = "A_SkelWhoosh";
A_StartFire = "A_StartFire";
A_FireCrackle = "A_FireCrackle";
2014-11-25 11:52:01 +00:00
A_BFGSpray = "A_BFGSpray[(string flashtype = \"BFGExtra\"[, int numrays = 40[, int damage = 15[, float angle = 90[, float distance = 1024[, float vrange = 32[, int explicit_damage = 0]]]]]])]";
A_BarrelDestroy = "A_BarrelDestroy";
//Miscellaneous functions not listed in the "Action functions" wiki article
A_Bang4Cloud = "A_Bang4Cloud";
A_Blast = "A_Blast[(int flags = 0[, int strength = 255[, int radius = 255[, float speed = 20[, string blasteffect = \"BlastEffect\"[, sound blastsound = \"BlastRadius\"]]]]])]";
A_DropWeaponPieces = "A_DropWeaponPieces(string actorclass1, string actorclass2, string actorclass3)";
A_Feathers = "A_Feathers";
2015-01-03 18:43:37 +00:00
A_GauntletAttack = "A_GauntletAttack(int power)";
2014-11-25 11:52:01 +00:00
A_GiveQuestItem = "A_GiveQuestItem(int itemnum)";
A_PigPain = "A_PigPain";
A_RemoveForcefield = "A_RemoveForcefield";
A_RocketInFlight = "A_RocketInFlight";
A_SetGravity = "A_SetGravity(float gravity)\nSets the amount of gravity for the calling actor.";
A_SetUserArray = "A_SetUserArray(string name, int index, int value)";
A_ShootGun = "A_ShootGun";
A_SPosAttackUseAtkSound = "A_SPosAttackUseAtkSound";
2014-11-05 14:31:00 +00:00
//Mathematical functions
2014-12-16 09:01:52 +00:00
abs = "abs(x)\nReturns the absolute value of x.";
sin = "sin(x)\nTrigonometry function, x must be in degrees.";
cos = "cos(x)\nTrigonometry function, x must be in degrees.";
sqrt = "sqrt(x)\nReturns the square root of x.";
random = "random[identifier](min, max)\nReturns a random integer value between min and max.";
random2 = "random2[identifier](mask)\nReturns a random integer value between -mask and +mask.";
frandom = "frandom[identifier](min, max)\nReturns a random floating point value between min and max.";
2015-01-03 18:43:37 +00:00
randompick = "randompick[identifier](int, ...)\nPicks a number from the numbers placed in it.\nThis can take an unlimited amount of parameters.";
2014-09-26 07:48:47 +00:00
//State keywords
2015-01-19 19:53:58 +00:00
//Bright = "Bright";
2014-12-16 09:01:52 +00:00
CanRaise = "CanRaise";
Fast = "Fast";
2014-09-29 09:52:36 +00:00
Light = "Light(string lightname)";
2014-12-16 09:01:52 +00:00
NoDelay = "NoDelay";
2014-09-29 09:52:36 +00:00
Offset = "Offset(int x, int y)";
2014-12-16 09:01:52 +00:00
Slow = "Slow";
2014-09-26 07:48:47 +00:00
//Special functions
2014-10-28 09:31:37 +00:00
CheckClass = "bool CheckClass(string classname[, int ptr_select = AAPTR_DEFAULT[, bool match_superclass = false]])";
IsPointerEqual = "bool IsPointerEqual(int ptr_select1, int ptr_select2)";
2012-07-12 22:34:12 +00:00
}
constants
{
2014-09-29 09:52:36 +00:00
Actor;
2012-07-16 09:45:21 +00:00
//states:
2015-01-19 19:53:58 +00:00
States;
2014-09-29 09:52:36 +00:00
Spawn:;
Idle:;
See:;
Melee:;
Missile:;
Pain:;
Death:;
XDeath:;
Burn:;
Ice:;
Disintegrate:;
Raise:;
Heal:;
Crash:;
2015-01-19 19:53:58 +00:00
Crash.Extreme:;
2014-09-29 09:52:36 +00:00
Crush:;
Wound:;
Greetings:;
Yes:;
No:;
Active:;
Inactive:;
Bounce:;
Bounce.Floor:;
Bounce.Ceiling:;
Bounce.Wall:;
Bounce.Actor:;
Bounce.Actor.Creature:;
2012-07-16 09:45:21 +00:00
//flow control
2014-09-29 09:52:36 +00:00
loop;
stop;
wait;
fail;
goto;
2015-01-19 19:53:58 +00:00
////////////////////
//ACTOR PROPERTIES
////////////////////
//Map editing control
Game;
SpawnID;
ConversationID;
Tag;
//Behavior
Health;
GibHealth;
WoundHealth;
ReactionTime;
PainChance;
PainThreshold;
DamageFactor;
Damage;
PoisonDamage;
PoisonDamageType;
RadiusDamageFactor;
DesignatedTeam;
Speed;
VSpeed;
FastSpeed;
FloatSpeed;
Species;
Accuracy;
Stamina;
Activation;
TeleFogSourceType;
TeleFogDestType;
//Collision and 'Physics'
Radius;
Height;
DeathHeight;
BurnHeight;
ProjectilePassHeight;
CameraHeight;
Gravity;
Mass;
MaxStepHeight;
MaxDropOffHeight;
BounceType;
BounceFactor;
WallBounceFactor;
BounceCount;
ProjectileKickBack;
PushFactor;
WeaveIndexXY;
WeaveIndexZ;
//Sound
ActiveSound;
AttackSound;
BounceSound;
CrushPainSound;
DeathSound;
HowlSound;
PainSound;
SeeSound;
WallBounceSound;
//Rendering
RenderStyle;
Alpha;
DefaultAlpha;
XScale;
YScale;
Scale;
Translation;
BloodColor;
BloodType;
Decal;
StencilColor;
FloatBobPhase;
//Obituaries
HitObituary;
Obituary;
//Attacks
MinMissileChance;
DamageType;
DeathType;
MeleeThreshold;
MeleeRange;
MaxTargetRange;
PainType;
//Special
Args[0];
Args[1];
Args[2];
Args[3];
Args[4];
ClearFlags;
DropItem;
Skip_Super;
VisibleToTeam;
VisibleToPlayerClass;
//Inventory
Inventory.Amount;
Inventory.DefMaxAmount;
Inventory.MaxAmount;
Inventory.InterHubAmount;
Inventory.Icon;
Inventory.PickupMessage;
Inventory.PickupSound;
Inventory.PickupFlash;
Inventory.UseSound;
Inventory.RespawnTics;
Inventory.GiveQuest;
Inventory.ForbiddenTo;
Inventory.RestrictedTo;
//FakeInventory
FakeInventory.Respawns;
//BasicArmorPickup
Armor.SaveAmount;
Armor.SavePercent;
Armor.MaxFullAbsorb;
Armor.MaxAbsorb;
//BasicArmorBonus
Armor.SavePercent;
Armor.MaxSaveAmount;
Armor.SaveAmount;
Armor.MaxBonus;
Armor.MaxBonusMax;
//Weapons
Weapon.AmmoGive;
Weapon.AmmoGive1;
Weapon.AmmoGive2;
Weapon.AmmoType;
Weapon.AmmoType1;
Weapon.AmmoType2;
Weapon.AmmoUse;
Weapon.AmmoUse1;
Weapon.AmmoUse2;
Weapon.MinSelectionAmmo1;
Weapon.MinSelectionAmmo2;
Weapon.BobRangeX;
Weapon.BobRangeY;
Weapon.BobSpeed;
Weapon.BobStyle;
Weapon.KickBack;
Weapon.ReadySound;
Weapon.SelectionOrder;
Weapon.SisterWeapon;
Weapon.SlotNumber;
Weapon.SlotPriority;
Weapon.UpSound;
Weapon.YAdjust;
//Ammo
Ammo.BackpackAmount;
Ammo.BackpackMaxAmount;
Ammo.DropAmount;
//Weapon Pieces
WeaponPiece.Number;
WeaponPiece.Weapon;
//Health
Health.LowMessage;
//Puzzle Items
PuzzleItem.Number;
PuzzleItem.FailMessage;
//Player
Player.AirCapacity;
Player.AttackZOffset;
Player.ColorRange;
Player.ColorSet;
Player.ColorSetFile;
Player.ClearColorSet;
Player.CrouchSprite;
Player.DamageScreenColor;
Player.DisplayName;
Player.Face;
Player.FallingScreamSpeed;
Player.FlechetteType;
Player.ForwardMove;
Player.GruntSpeed;
Player.HealRadiusType;
Player.HexenArmor;
Player.InvulnerabilityMode;
Player.JumpZ;
Player.MaxHealth;
Player.RunHealth;
Player.Portrait;
Player.ScoreIcon;
Player.SideMove;
Player.SoundClass;
Player.SpawnClass;
Player.StartItem;
Player.UseRange;
Player.WeaponSlot;
Player.ViewHeight;
Player.MorphWeapon;
Player.MugShotMaxHealth;
//Powerup
Powerup.Color;
Powerup.Colormap;
Powerup.Duration;
Powerup.Mode;
Powerup.Strength;
//Powerup Giver
Powerup.Type;
//Health Pickup
HealthPickup.AutoUse;
//Morph Projectile
MorphProjectile.PlayerClass;
MorphProjectile.MonsterClass;
MorphProjectile.Duration;
MorphProjectile.MorphStyle;
MorphProjectile.MorphFlash;
MorphProjectile.UnMorphFlash;
2014-11-05 14:31:00 +00:00
//Actor position and movement
x;
y;
z;
2015-01-19 19:53:58 +00:00
Angle;
CeilingZ;
FloorZ;
Pitch;
VelX;
VelY;
VelZ;
2014-11-05 14:31:00 +00:00
//Actor properties
2015-01-19 19:53:58 +00:00
ScaleX;
ScaleY;
Score;
Special;
Stamina;
////////
//FLAGS
////////
2012-07-16 09:45:21 +00:00
//pointers
2014-09-29 09:52:36 +00:00
AAPTR_DEFAULT;
AAPTR_NULL;
AAPTR_TARGET;
AAPTR_MASTER;
AAPTR_TRACER;
AAPTR_PLAYER;
AAPTR_PLAYER_GETTARGET;
2014-10-28 09:31:37 +00:00
AAPTR_PLAYER_GETCONVERSATION;
SXF_TRANSFERTRANSLATION;
2014-09-29 09:52:36 +00:00
SXF_ABSOLUTEPOSITION;
2014-10-28 09:31:37 +00:00
SXF_ABSOLUTEANGLE;
2014-09-29 09:52:36 +00:00
SXF_ABSOLUTEVELOCITY;
SXF_SETMASTER;
2014-10-28 09:31:37 +00:00
SXF_NOCHECKPOSITION;
2014-09-29 09:52:36 +00:00
SXF_TELEFRAG;
SXF_TRANSFERAMBUSHFLAG;
SXF_TRANSFERPITCH;
SXF_TRANSFERPOINTERS;
2014-10-28 09:31:37 +00:00
SXF_USEBLOODCOLOR;
SXF_CLEARCALLERTID;
SXF_MULTIPLYSPEED;
2014-09-29 09:52:36 +00:00
SXF_TRANSFERSCALE;
SXF_TRANSFERSPECIAL;
2014-10-28 09:31:37 +00:00
SXF_CLEARCALLERSPECIAL;
2014-09-29 09:52:36 +00:00
SXF_TRANSFERSTENCILCOL;
2014-10-28 09:31:37 +00:00
SXF_TRANSFERALPHA;
SXF_TRANSFERRENDERSTYLE;
SXF_SETTARGET;
SXF_SETTRACER;
SXF_NOPOINTERS;
SXF_ORIGINATOR;
2012-07-16 09:45:21 +00:00
//weapon flags
2014-09-29 09:52:36 +00:00
WRF_NOBOB;
WRF_NOFIRE;
WRF_NOSWITCH;
WRF_NOPRIMARY;
2014-11-05 14:31:00 +00:00
WRF_DISABLESWITCH;
2014-09-29 09:52:36 +00:00
WRF_NOSECONDARY;
WRF_ALLOWRELOAD;
WRF_ALLOWZOOM;
ZOOM_INSTANT;
ZOOM_NOSCALETURNING;
CPF_USEAMMO;
CPF_DAGGER;
CPF_PULLIN;
2014-11-05 14:31:00 +00:00
CPF_NORANDOMPUFFZ;
2015-01-03 18:43:37 +00:00
CPF_NOTURN;
CPF_STEALARMOR;
2014-09-29 09:52:36 +00:00
FBF_USEAMMO;
2014-11-05 14:31:00 +00:00
FBF_NOFLASH;
2014-09-29 09:52:36 +00:00
FBF_NORANDOM;
FBF_EXPLICITANGLE;
FBF_NOPITCH;
2014-11-05 14:31:00 +00:00
FBF_NORANDOMPUFFZ;
2012-07-16 09:45:21 +00:00
//monster flags
2014-09-29 09:52:36 +00:00
PAF_NOSKULLATTACK;
PAF_AIMFACING;
PAF_NOTARGET;
2014-08-08 12:35:59 +00:00
//Sound channels flags
2014-09-29 09:52:36 +00:00
CHAN_AUTO;
CHAN_WEAPON;
CHAN_VOICE;
CHAN_ITEM;
CHAN_BODY;
CHAN_5;
CHAN_6;
CHAN_7;
CHAN_LISTENERZ;
CHAN_MAYBE_LOCAL;
CHAN_UI;
CHAN_NOPAUSE;
CHAN_LOOP;
2012-07-16 09:45:21 +00:00
//misc flags
2014-11-05 14:31:00 +00:00
MSF_STANDARD;
MSF_CLASSIC;
MSF_DONTHURT;
2012-07-12 22:34:12 +00:00
//combo flags
2014-09-29 09:52:36 +00:00
Monster;
Projectile;
2012-07-12 22:34:12 +00:00
//physics
2014-09-29 09:52:36 +00:00
SOLID;
SHOOTABLE;
FLOAT;
NOGRAVITY;
WINDTHRUST;
PUSHABLE;
DONTFALL;
CANPASS;
ACTLIKEBRIDGE;
NOBLOCKMAP;
MOVEWITHSECTOR;
RELATIVETOFLOOR;
NOLIFTDROP;
SLIDESONWALLS;
NODROPOFF;
NOTRIGGER;
BLOCKEDBYSOLIDACTORS;
2012-07-12 22:34:12 +00:00
//Behavior
2014-09-29 09:52:36 +00:00
ALWAYSRESPAWN;
AMBUSH;
AVOIDMELEE;
BOSS;
DONTCORPSE;
DORMANT;
FRIENDLY;
JUMPDOWN;
LOOKALLAROUND;
MISSILEEVENMORE;
MISSILEMORE;
NEVERRESPAWN;
NOSPLASHALERT;
NOTARGETSWITCH;
NOVERTICALMELEERANGE;
QUICKTORETALIATE;
STANDSTILL;
2012-07-12 22:34:12 +00:00
//(In)Abilities
2014-09-29 09:52:36 +00:00
CANNOTPUSH;
NOTELEPORT;
ACTIVATEIMPACT;
CANPUSHWALLS;
CANUSEWALLS;
ACTIVATEPCROSS;
CANTLEAVEFLOORPIC;
TELESTOMP;
NOTELESTOMP;
STAYMORPHED;
CANBLAST;
NOBLOCKMONST;
THRUGHOST;
THRUACTORS;
THRUSPECIES;
MTHRUSPECIES;
SPECTRAL;
FRIGHTENED;
NOTARGET;
NEVERTARGET;
NOINFIGHTING;
NOTIMEFREEZE;
NOFEAR;
CANTSEEK;
SEEINVISIBLE;
2014-11-05 14:31:00 +00:00
DONTTHRUST;
ALLOWPAIN;
2012-07-12 22:34:12 +00:00
//Defenses
2014-09-29 09:52:36 +00:00
INVULNERABLE;
2014-10-28 09:31:37 +00:00
BUDDHA;
2014-09-29 09:52:36 +00:00
REFLECTIVE;
SHIELDREFLECT;
DEFLECT;
NORADIUSDMG;
DONTBLAST;
GHOST;
DONTMORPH;
DONTSQUASH;
NOTELEOTHER;
2014-10-28 09:31:37 +00:00
HARMFRIENDS;
2014-09-29 09:52:36 +00:00
DOHARMSPECIES;
DONTHARMCLASS;
DONTHARMSPECIES;
NODAMAGE;
DONTRIP;
NOTELEFRAG;
ALWAYSTELEFRAG;
DONTDRAIN;
2012-07-12 22:34:12 +00:00
//Appearance & Sound
2014-09-29 09:52:36 +00:00
BRIGHT;
INVISIBLE;
SHADOW;
NOBLOOD;
NOBLOODDECALS;
STEALTH;
FLOORCLIP;
SPAWNFLOAT;
SPAWNCEILING;
FLOATBOB;
NOICEDEATH;
DONTGIB;
DONTSPLASH;
DONTOVERLAP;
RANDOMIZE;
FIXMAPTHINGPOS;
FULLVOLACTIVE;
FULLVOLDEATH;
NOWALLBOUNCESND;
VISIBILITYPULSE;
ROCKETTRAIL;
GRENADETRAIL;
NOBOUNCESOUND;
NOSKIN;
DONTTRANSLATE;
NOPAIN;
FORCEYBILLBOARD;
FORCEXYBILLBOARD;
2012-07-12 22:34:12 +00:00
//Projectile
2014-09-29 09:52:36 +00:00
MISSILE;
RIPPER;
NOBOSSRIP;
NODAMAGETHRUST;
DONTREFLECT;
FLOORHUGGER;
CEILINGHUGGER;
BLOODLESSIMPACT;
BLOODSPLATTER;
FOILINVUL;
2014-10-28 09:31:37 +00:00
FOILBUDDHA;
2014-09-29 09:52:36 +00:00
SEEKERMISSILE;
SCREENSEEKER;
SKYEXPLODE;
NOEXPLODEFLOOR;
STRIFEDAMAGE;
EXTREMEDEATH;
NOEXTREMEDEATH;
DEHEXPLOSION;
PIERCEARMOR;
FORCERADIUSDMG;
SPAWNSOUNDSOURCE;
PAINLESS;
FORCEPAIN;
2014-11-25 11:52:01 +00:00
CAUSEPAIN;
2014-09-29 09:52:36 +00:00
DONTSEEKINVISIBLE;
STEPMISSILE;
ADDITIVEPOISONDAMAGE;
ADDITIVEPOISONDURATION;
NOFORWARDFALL;
2015-01-19 19:53:58 +00:00
HITTARGET;
HITMASTER;
HITTRACER;
2012-07-12 22:34:12 +00:00
//Bouncing
2014-09-29 09:52:36 +00:00
BOUNCEONWALLS;
BOUNCEONFLOORS;
BOUNCEONCEILINGS;
ALLOWBOUNCEONACTORS;
BOUNCEAUTOOFF;
BOUNCEAUTOOFFFLOORONLY;
BOUNCELIKEHERETIC;
BOUNCEONACTORS;
NOWALLBOUNCESND;
EXPLODEONWATER;
CANBOUNCEWATER;
MBFBOUNCER;
USEBOUNCESTATE;
2012-07-12 22:34:12 +00:00
//Miscellaneous
2014-09-29 09:52:36 +00:00
DROPPED;
ISMONSTER;
CORPSE;
COUNTITEM;
COUNTKILL;
COUNTSECRET;
NOTDMATCH;
NONSHOOTABLE;
DROPOFF;
PUFFONACTORS;
ALLOWPARTICLES;
ALWAYSPUFF;
PUFFGETSOWNER;
SYNCHRONIZED;
ALWAYSFAST;
NEVERFAST;
OLDRADIUSDMG;
USESPECIAL;
BUMPSPECIAL;
BOSSDEATH;
NOINTERACTION;
NOTAUTOAIMED;
NOTONAUTOMAP;
WEAPONSPAWN;
2014-11-25 11:52:01 +00:00
NOMENU;
2014-09-29 09:52:36 +00:00
PICKUP;
TOUCHY;
VULNERABLE;
2012-07-12 22:34:12 +00:00
//Limited Use
2014-09-29 09:52:36 +00:00
SEESDAGGERS;
INCOMBAT;
NOCLIP;
NOSECTOR;
ICECORPSE;
JUSTHIT;
JUSTATTACKED;
TELEPORT;
BLASTED;
EXPLOCOUNT;
SKULLFLY;
2014-08-08 11:49:05 +00:00
//Inventory
2014-09-29 09:52:36 +00:00
INVENTORY.QUIET;
INVENTORY.AUTOACTIVATE;
INVENTORY.UNDROPPABLE;
INVENTORY.INVBAR;
INVENTORY.HUBPOWER;
INVENTORY.PERSISTENTPOWER;
INVENTORY.ALWAYSPICKUP;
INVENTORY.FANCYPICKUPSOUND;
INVENTORY.NOATTENPICKUPSOUND;
INVENTORY.BIGPOWERUP;
INVENTORY.NEVERRESPAWN;
INVENTORY.KEEPDEPLETED;
INVENTORY.IGNORESKILL;
INVENTORY.ADDITIVETIME;
INVENTORY.UNTOSSABLE;
INVENTORY.RESTRICTABSOLUTELY;
INVENTORY.NOSCREENFLASH;
INVENTORY.TOSSED;
2014-10-28 09:31:37 +00:00
INVENTORY.ALWAYSRESPAWN;
2015-01-19 19:53:58 +00:00
//Weapons
2014-09-29 09:52:36 +00:00
WEAPON.NOAUTOFIRE;
WEAPON.READYSNDHALF;
WEAPON.DONTBOB;
WEAPON.AXEBLOOD;
WEAPON.NOALERT;
WEAPON.AMMO_OPTIONAL;
WEAPON.ALT_AMMO_OPTIONAL;
WEAPON.AMMO_CHECKBOTH;
WEAPON.PRIMARY_USES_BOTH;
WEAPON.ALT_USES_BOTH;
WEAPON.WIMPY_WEAPON;
WEAPON.POWERED_UP;
WEAPON.STAFF2_KICKBACK;
WEAPON.EXPLOSIVE;
WEAPON.MELEEWEAPON;
WEAPON.BFG;
WEAPON.CHEATNOTWEAPON;
WEAPON.NO_AUTO_SWITCH;
WEAPON.NOAUTOAIM;
2014-08-08 11:49:05 +00:00
//Player
2014-09-29 09:52:36 +00:00
PLAYERPAWN.NOTHRUSTWHENINVUL;
PLAYERPAWN.CANSUPERMORPH;
PLAYERPAWN.CROUCHABLEMORPH;
2014-11-05 14:31:00 +00:00
//Action-specific flags
AMF_EMITFROMTARGET;
2014-09-29 09:52:36 +00:00
AMF_TARGETEMITTER;
AMF_TARGETNONPLAYER;
2014-11-25 11:52:01 +00:00
BF_USEAMMO;
BF_DONTWARN;
BF_AFFECTBOSSES;
BF_NOIMPACTDAMAGE;
2014-11-05 14:31:00 +00:00
CBAF_AIMFACING;
CBAF_EXPLICITANGLE;
CBAF_NOPITCH;
CBAF_NORANDOM;
CBAF_NORANDOMPUFFZ;
CHF_DONTMOVE;
2014-09-29 09:52:36 +00:00
CHF_FASTCHASE;
CHF_NIGHTMAREFAST;
2014-11-05 14:31:00 +00:00
CHF_NOPLAYACTIVE;
2014-09-29 09:52:36 +00:00
CHF_RESURRECT;
CLOFF_AIM_VERT_NOOFFSET;
CLOFF_ALLOWNULL;
CLOFF_BEYONDTARGET;
CLOFF_CHECKPARTIAL;
CLOFF_FROMBASE;
CLOFF_IGNOREGHOST;
CLOFF_JUMPENEMY;
CLOFF_JUMPFRIEND;
CLOFF_JUMPNONHOSTILE;
CLOFF_JUMPOBJECT;
CLOFF_JUMP_ON_MISS;
CLOFF_MUL_HEIGHT;
CLOFF_MUL_WIDTH;
CLOFF_MUSTBEGHOST;
CLOFF_MUSTBESHOOTABLE;
CLOFF_MUSTBESOLID;
CLOFF_NOAIM;
CLOFF_NOAIM_HORZ;
CLOFF_NOAIM_VERT;
2014-12-30 20:14:53 +00:00
CLOFF_SETTARGET;
CLOFF_SETMASTER;
CLOFF_SETTRACER;
2014-09-29 09:52:36 +00:00
CLOFF_SKIPENEMY;
CLOFF_SKIPFRIEND;
CLOFF_SKIPNONHOSTILE;
CLOFF_SKIPOBJECT;
CLOFF_SKIPOBSTACLES;
CLOFF_SKIPTARGET;
2014-11-05 14:31:00 +00:00
CMF_ABSOLUTEANGLE;
CMF_ABSOLUTEPITCH;
CMF_AIMDIRECTION;
CMF_AIMOFFSET;
CMF_CHECKTARGETDEAD;
CMF_OFFSETPITCH;
CMF_SAVEPITCH;
CMF_TRACKOWNER;
CVF_RELATIVE;
CVF_REPLACE;
2014-09-29 09:52:36 +00:00
DMSS_AFFECTARMOR;
2014-10-28 09:31:37 +00:00
DMSS_FOILBUDDHA;
2014-09-29 09:52:36 +00:00
DMSS_FOILINVUL;
DMSS_KILL;
Textures Browser form: empty texture sets are no longer shown when mixed textures & flats is disabled in the current game configuration.
Textures Browser form: PK3/Directory TEXTURES images are now shown in a separate folder in the resources tree.
Fixed, Textures Browser form: fixed a logic error when trying to select initial flat when mix textures & flats was disabled in the current game configuration (this resulted in the blank textures list after opening the form).
Fixed, Textures Browser form: resources tree showed textures count even when browsing flats.
Fixed, Textures Browser form: PK3/Directory textures took precedence even when browsing flats (this means when there were a flat and a texture with the same name, a texture was displayed when browsing flats).
Fixed, Classic modes: actor's scale set in DECORATE was ignored when rendering models.
Fixed, MODELDEF parser: in some cases, several model definitions were skipped when trying to skip the current one.
Fixed, resource management: flat and sprite TEXTURES definitions were loaded only from TEXTURES files named "TEXTURES".
Fixed/added, PK3/folder resource management: patch locations for sprites defined in TEXTURES are now checked the same way as in ZDoom (previously only the "sprites" folder was checked).
Fixed/added, PK3/folder resource management: patch locations for textures defined in TEXTURES are now checked the same way as in ZDoom (previously only the "textures" folder was checked).
Fixed, PK3/folder resource management: flats defined in TEXTURES were not added to the global Flats image list.
Fixed, PK3/folder resource management: in some cases, the image search algorithm could find flats, textures, patches or sprites in incorrect folders (for example, it could find a flat in "flats_backup" folder).
2014-10-07 00:23:02 +00:00
DMSS_NOFACTOR;
2015-01-10 11:45:25 +00:00
DMSS_NOPROTECT;
DMSS_EXFILTER;
DMSS_EXSPECIES;
DMSS_EITHER;
2014-09-29 09:52:36 +00:00
FPF_AIMATANGLE;
FPF_TRANSFERTRANSLATION;
2014-12-05 14:33:31 +00:00
FTF_CLAMP;
FTF_REMOVE;
2014-11-05 14:31:00 +00:00
GFF_NOEXTCHANGE;
JLOSF_ALLYNOJUMP;
JLOSF_CHECKMASTER;
JLOSF_CHECKTRACER;
2014-09-29 09:52:36 +00:00
JLOSF_CLOSENOFOV;
JLOSF_CLOSENOJUMP;
2014-11-05 14:31:00 +00:00
JLOSF_CLOSENOSIGHT;
JLOSF_COMBATANTONLY;
2014-09-29 09:52:36 +00:00
JLOSF_DEADNOJUMP;
2014-10-28 09:31:37 +00:00
JLOSF_FLIPFOV;
JLOSF_NOAUTOAIM;
2014-11-05 14:31:00 +00:00
JLOSF_NOSIGHT;
JLOSF_PROJECTILE;
JLOSF_TARGETLOS;
2014-10-28 09:31:37 +00:00
KILS_FOILBUDDHA;
2014-09-29 09:52:36 +00:00
KILS_FOILINVUL;
KILS_KILLMISSILES;
KILS_NOMONSTERS;
2015-01-11 19:42:57 +00:00
KILS_EXFILTER;
KILS_EXSPECIES;
KILS_EITHER;
2014-11-05 14:31:00 +00:00
LOF_DONTCHASEGOAL;
LOF_FULLVOLSEESOUND;
LOF_NOJUMP;
LOF_NOSEESOUND;
LOF_NOSIGHTCHECK;
LOF_NOSOUNDCHECK;
2014-09-29 09:52:36 +00:00
PTROP_NOSAFEGUARDS;
2014-11-05 14:31:00 +00:00
PTROP_UNSAFEMASTER;
PTROP_UNSAFETARGET;
RGF_CENTERZ;
RGF_CORPSES;
RGF_CUBE;
RGF_EXPLICITANGLE;
RGF_FULLBRIGHT;
RGF_GIVESELF;
RGF_MISSILES;
RGF_MONSTERS;
RGF_NOMASTER;
RGF_NOPIERCING;
RGF_NOSIGHT;
RGF_NOTARGET;
RGF_NOTRACER;
RGF_OBJECTS;
RGF_PLAYERS;
RGF_SILENT;
RGF_VOODOO;
RMVF_EVERYTHING;
RMVF_MISC;
2014-09-29 09:52:36 +00:00
RMVF_MISSILES;
RMVF_NOMONSTERS;
2015-01-11 19:42:57 +00:00
RMVF_EXFILTER;
RMVF_EXSPECIES;
RMVF_EITHER;
2014-11-05 14:31:00 +00:00
RSF_FOG;
RSF_KEEPTARGET;
RSF_TELEFRAG;
RTF_AFFECTSOURCE;
RTF_NOIMPACTDAMAGE;
RTF_NOTMISSILE;
2014-09-29 09:52:36 +00:00
SF_NOPULLIN;
SF_NORANDOM;
SF_NOTURN;
SF_NOUSEAMMO;
SF_NOUSEAMMOMISS;
SF_RANDOMLIGHTBOTH;
SF_RANDOMLIGHTHIT;
SF_RANDOMLIGHTMISS;
2015-01-03 18:43:37 +00:00
SF_STEALARMOR;
2014-11-05 14:31:00 +00:00
SMF_CURSPEED;
SMF_LOOK;
SMF_PRECISE;
SPF_FORCECLAMP;
SPF_INTERPOLATE;
TF_TELEFRAG;
2014-12-23 12:32:08 +00:00
TF_RANDOMDECIDE;
TF_FORCED;
TF_KEEPVELOCITY;
TF_KEEPANGLE;
TF_USESPOTZ;
TF_NOSRCFOG;
TF_NODESTFOG;
TF_USEACTORFOG;
TF_NOJUMP;
2014-11-05 14:31:00 +00:00
TIF_NOTAKEINFINITE;
VAF_DMGTYPEAPPLYTODIRECT;
2014-09-29 09:52:36 +00:00
WARPF_ABSOLUTEANGLE;
2014-11-05 14:31:00 +00:00
WARPF_ABSOLUTEOFFSET;
2014-09-29 09:52:36 +00:00
WARPF_ABSOLUTEPOSITION;
2014-11-05 14:31:00 +00:00
WARPF_COPYINTERPOLATION;
WARPF_INTERPOLATE;
2014-09-29 09:52:36 +00:00
WARPF_NOCHECKPOSITION;
WARPF_STOP;
WARPF_TESTONLY;
2014-11-05 14:31:00 +00:00
WARPF_TOFLOOR;
WARPF_USECALLERANGLE;
2014-09-29 09:52:36 +00:00
WARPF_WARPINTERPOLATION;
2014-11-05 14:31:00 +00:00
XF_HURTSOURCE;
XF_NOTMISSILE;
2015-01-19 19:53:58 +00:00
//////////////////////////
//Property-specific flags
//////////////////////////
//Activation flags
THINGSPEC_Default;
THINGSPEC_ThingActs;
THINGSPEC_TriggerActs;
THINGSPEC_ThingTargets;
THINGSPEC_TriggerTargets;
THINGSPEC_MonsterTrigger;
THINGSPEC_MissileTrigger;
THINGSPEC_ClearSpecial;
THINGSPEC_NoDeathSpecial;
THINGSPEC_Activate;
THINGSPEC_Deactivate;
THINGSPEC_Switch;
//MorphProjectile.MorphStyle flags
MRF_ADDSTAMINA;
MRF_FULLHEALTH;
MRF_UNDOBYTOMEOFPOWER;
MRF_UNDOBYCHAOSDEVICE;
MRF_FAILNOTELEFRAG;
MRF_FAILNOLAUGH;
MRF_WHENINVULNERABLE;
MRF_LOSEACTUALWEAPON;
MRF_NEWTIDBEHAVIOUR;
MRF_UNDOBYDEATH;
MRF_UNDOBYDEATHFORCED;
MRF_UNDOBYDEATHSAVES;
2012-07-12 22:34:12 +00:00
}