/*******************************************************************\
	Doom Builder Script highlighting definitions for ACS
\*******************************************************************/

// Compiler settings
compiler = "zandronum_acc";
parameters = "-I \"%PT\" -I \"%PS\" %FI %FO";
resultlump = "BEHAVIOR";

// Editor settings
description = "Zandronum ACS script";
codepage = 0;
extensions = "acs";
casesensitive = false;
insertcase = 0;				// 0=Normal, 1=Lowercase, 2=Uppercase
lexer = 35;					// CPP-style, case-insensitive
functionopen = "(";
functionclose = ")";
codeblockopen = "{";
codeblockclose = "}";
arrayopen = "[";
arrayclose = "]";
argumentdelimiter = ",";
terminator = ";";
keywordhelp = "http://www.zdoom.org/wiki/index.php?title=%K";
snippetsdir = "acs";
scripttype = 1; //0 = unknown script, 1 = acc, 2 = modeldef, 3 = decorate

keywords
{
	#Define = "#Define identifier expression";
	#EncryptStrings = "#EncryptStrings";
	#Import = "#Import";
	#Include = "#Include";
	#Library = "#Library";
	#LibDefine = "#LibDefine identifier expression";
	#NoCompact = "#NoCompact";
	#NoWadAuthor = "#NoWadAuthor";
	#WadAuthor = "#WadAuthor";
	ACS_Execute = "ACS_Execute(script, map, arg1, arg2, arg3)";
	ACS_ExecuteAlways = "ACS_ExecuteAlways(script, map, arg1, arg2, arg3)";
	ACS_ExecuteWait = "ACS_ExecuteWait(script, map, arg1, arg2, arg3)";
	ACS_ExecuteWithResult = "ACS_ExecuteWithResult(script, s_arg1, s_arg2, s_arg3)";
	ACS_LockedExecute = "ACS_LockedExecute(script, map, arg1, arg2, lock)";
	ACS_LockedExecuteDoor = "ACS_LockedExecuteDoor(script, map, arg1, arg2, lock)";
	ACS_Suspend = "ACS_Suspend(script, map)";
	ACS_Terminate = "ACS_Terminate(script, map)";
	ActivatorSound = "ActivatorSound(name, volume)";
	ActivatorTID = "ActivatorTID()";
	AmbientSound = "AmbientSound(name, volume)";
	Autosave = "Autosave()";
	BlueTeamCount = "BlueTeamCount()";
	BlueTeamScore = "BlueTeamScore()";
	Bool = "Bool expression";
	Break = "Break";
	Return = "Return";
	CancelFade = "CancelFade()";
	Case = "Case expression:";
	Ceiling_CrushAndRaise = "Ceiling_CrushAndRaise(tag, speed, crush)";
	Ceiling_CrushAndRaiseA = "Ceiling_CrushAndRaiseA(tag, dspeed, uspeed, crush)";
	Ceiling_CrushAndRaiseSilentA = "Ceiling_CrushAndRaiseSilentA(tag, dspeed, uspeed, crush)";
	Ceiling_CrushRaiseAndStay = "Ceiling_CrushRaiseAndStay(tag, speed, crush)";
	Ceiling_CrushRaiseAndStayA = "Ceiling_CrushRaiseAndStayA(tag, dspeed, uspeed, crush)";
	Ceiling_CrushRaiseAndStaySilA = "Ceiling_CrushRaiseAndStaySilA(tag, dspeed, uspeed, crush)";
	Ceiling_CrushStop = "Ceiling_CrushStop(tag)";
	Ceiling_LowerAndCrush = "Ceiling_LowerAndCrush(tag, speed, crush)";
	Ceiling_LowerByValue = "Ceiling_LowerByValue(tag, speed, height)";
	Ceiling_LowerByValueTimes8 = "Ceiling_LowerByValueTimes8(tag, speed, height)";
	Ceiling_LowerInstant = "Ceiling_LowerInstant(tag, arg1, height)";
	Ceiling_LowerToFloor = "Ceiling_LowerToFloor(tag, speed)";
	Ceiling_LowerToHighestFloor = "Ceiling_LowerToHighestFloor(tag, speed)";
	Ceiling_LowerToLowest = "Ceiling_LowerToLowest(tag, speed)";
	Ceiling_MoveToValue = "Ceiling_MoveToValue(tag, speed, height, neg)";
	Ceiling_MoveToValueTimes8 = "Ceiling_MoveToValueTimes8(tag, speed, height, neg)";
	Ceiling_RaiseByValue = "Ceiling_RaiseByValue(tag, speed, height)";
	Ceiling_RaiseByValueTimes8 = "Ceiling_RaiseByValueTimes8(tag, speed, height)";
	Ceiling_RaiseInstant = "Ceiling_RaiseInstant(tag, arg1, height)";
	Ceiling_RaiseToNearest = "Ceiling_RaiseToNearest(tag, speed)";
	Ceiling_Waggle = "Ceiling_Waggle(tag, amp, freq, offset, time)";
	ChangeCamera = "ChangeCamera(tid, who, revert)";
	ChangeCeiling = "ChangeCeiling(tag, flat)";
	ChangeFloor = "ChangeFloor(tag, flat)";
	ChangeLevel = "ChangeLevel(mapname, position, flags, skill)";
	ChangeSkill = "ChangeSkill(skill)";
	CheckActorCeilingTexture = "CheckActorCeilingTexture(tid, texture)";
	CheckActorClass = "CheckActorClass(tid, class)";
	CheckActorFloorTexture = "CheckActorFloorTexture(tid, texture)";
	CheckActorInventory = "CheckActorInventory(tid, type)";
	CheckActorProperty = "CheckActorProperty(tid, property, value)";
	CheckInventory = "CheckInventory(type)";
	CheckPlayerCamera = "CheckPlayerCamera(player)";
	CheckWeapon = "CheckWeapon(weapon)";
	ClassifyActor = "ClassifyActor(tid)";
	ClearActorInventory = "ClearActorInventory(tid)";
	ClearForceField = "ClearForceField()";
	ClearInventory = "ClearInventory()";
	ClearLineSpecial = "ClearLineSpecial()";
	ConsoleCommand = "ConsoleCommand(command)";
	Const = "Const";
	Continue = "Continue";
	cos = "cos(angle)";
	CreateTranslation = "CreateTranslation(transnumber, translation, translation, translation, ...)";
	DamageThing = "DamageThing(amount)";
	Death = "Script expression Death";
	Default = "Default:";
	Delay = "Delay(tics)";
	Disconnect = "Script expression Disconnect";
	Do = "Do";
	Door_Animated = "Door_Animated(tag, speed, delay)";
	Door_Close = "Door_Close(tag, speed)";
	Door_CloseWaitOpen = "Door_CloseWaitOpen(tag, speed, delay)";
	Door_LockedRaise = "Door_LockedRaise(tag, speed, delay, lock)";
	Door_Open = "Door_Open(tag, speed)";
	Door_Raise = "Door_Raise(tag, speed, delay)";
	Elevator_LowerToNearest = "Elevator_LowerToNearest(tag, speed)";
	Elevator_MoveToFloor = "Elevator_MoveToFloor(tag, speed)";
	Elevator_RaiseToNearest = "Elevator_RaiseToNearest(tag, speed)";
	Else = "Else";
	Enter = "Script expression Enter";
	Exit_Normal = "Exit_Normal(pos)";
	Exit_Secret = "Exit_Secret(pos)";
	FadeRange = "FadeRange(red1, green1, blue1, red2, green2, blue2, amount, seconds)";
	FadeTo = "FadeTo(red, green, blue, amount, seconds)";
	FixedDiv = "FixedDiv(fa, fb)";
	FixedMul = "FixedMul(fa, fb)";
	Floor_CrushStop = "Floor_CrushStop(tag)";
	Floor_Donut = "Floor_Donut(ptag, pspeed, sspeed)";
	Floor_LowerByValue = "Floor_LowerByValue(tag, speed, height)";
	Floor_LowerByValueTimes8 = "Floor_LowerByValueTimes8(tag, speed, height)";
	Floor_LowerInstant = "Floor_LowerInstant(tag, arg1, height)";
	Floor_LowerToHighest = "Floor_LowerToHighest(tag, speed, adjust)";
	Floor_LowerToLowest = "Floor_LowerToLowest(tag, speed)";
	Floor_LowerToLowestTxTy = "Floor_LowerToLowestTxTy(tag, speed)";
	Floor_LowerToNearest = "Floor_LowerToNearest(tag, speed)";
	Floor_MoveToValue = "Floor_MoveToValue(tag, speed, height, neg)";
	Floor_MoveToValueTimes8 = "Floor_MoveToValueTimes8(tag, speed, height, neg)";
	Floor_RaiseAndCrush = "Floor_RaiseAndCrush(tag, speed, crush)";
	Floor_RaiseByTexture = "Floor_RaiseByTexture(tag, speed)";
	Floor_RaiseByValue = "Floor_RaiseByValue(tag, speed, height)";
	Floor_RaiseByValueTimes8 = "Floor_RaiseByValueTimes8(tag, speed, height)";
	Floor_RaiseByValueTxTy = "Floor_RaiseByValueTxTy(tag, speed, height)";
	Floor_RaiseInstant = "Floor_RaiseInstant(tag, arg1, height)";
	Floor_RaiseToHighest = "Floor_RaiseToHighest(tag, speed)";
	Floor_RaiseToLowestCeiling = "Floor_RaiseToLowestCeiling(tag, speed)";
	Floor_RaiseToNearest = "Floor_RaiseToNearest(tag, speed)";
	Floor_TransferNumeric = "Floor_TransferNumeric(tag)";
	Floor_TransferTrigger = "Floor_TransferTrigger(tag)";
	Floor_Waggle = "Floor_Waggle(tag, amp, freq, offset, time)";
	FloorAndCeiling_LowerByValue = "FloorAndCeiling_LowerByValue(tag, speed, height)";
	FloorAndCeiling_LowerRaise = "FloorAndCeiling_LowerRaise(tag, fspeed, cspeed)";
	FloorAndCeiling_RaiseByValue = "FloorAndCeiling_RaiseByValue(tag, speed, height)";
	For = "For(initialization, condition, iteration)";
	ForceField = "ForceField()";
	Function = "Function Void expression (Void)";
	GameSkill = "GameSkill()";
	GameType = "GameType()";
	Generic_Ceiling = "Generic_Ceiling(tag, speed, height, target, flag)";
	Generic_Crusher = "Generic_Crusher(tag, dspeed, uspeed, silent, crush)";
	Generic_Door = "Generic_Door(tag, speed, kind, delay, lock)";
	Generic_Floor = "Generic_Floor(tag, speed, height, target, flags)";
	Generic_Lift = "Generic_Lift(tag, speed, delay, type, height)";
	Generic_Stairs = "Generic_Stairs(tag, speed, height, flags, reset)";
	GetLevelInfo = "GetLevelInfo(infotype)";
	GetActorAngle = "GetActorAngle(tid)";
	GetActorCeilingZ = "GetActorCeilingZ(tid)";
	GetActorFloorZ = "GetActorFloorZ(tid)";
	GetActorLightLevel = "GetActorLightLevel(tid)";
	GetActorPitch = "GetActorPitch(tid)";
	GetActorProperty = "GetActorProperty(tid, property)";
	GetActorVelX = "GetActorVelX(tid)";
	GetActorVelY = "GetActorVelY(tid)";
	GetActorVelZ = "GetActorVelZ(tid)";
	GetActorViewHeight = "GetActorViewHeight(tid)";
	GetActorX = "GetActorX(tid)";
	GetActorY = "GetActorY(tid)";
	GetActorZ = "GetActorZ(tid)";
	GetAirSupply = "GetAirSupply(playernumber)";
	GetAmmoCapacity = "GetAmmoCapacity(classname)";
	GetArmorType = "GetArmorType(armortype, playernumber)";
	GetChar = "GetChar(string, index)";
	GetCVar = "GetCVar(name)";
	GetInvasionState = "GetInvasionState()";
	GetInvasionWave = "GetInvasionWave()";
	GetPlayerInfo = "GetPlayerInfo(playernumber, infotype)";
	GetLevelInfo = "GetLevelInfo(infotype)";
	GetLineRowOffset = "GetLineRowOffset()";
	GetLineUDMFInt = "GetLineUDMFInt(lineid, fieldname)";
	GetLineUDMFFixed = "GetLineUDMFFixed(lineid, fieldname)";
	GetPlayerInput = "GetPlayerInput(player, input)";
	GetPolyobjX = "GetPolyobjX(po)";
	GetPolyobjY = "GetPolyobjY(po)";
	GetScreenHeight = "GetScreenHeight()";
	GetScreenWidth = "GetScreenWidth()";
	GetSectorCeilingZ = "GetSectorCeilingZ(tag, x, y)";
	GetSectorFloorZ = "GetSectorFloorZ(tag, x, y)";
	GetSectorLightLevel = "GetSectorLightLevel(tag)";
	GetSectorUDMFInt = "GetSectorUDMFInt(tag, fieldname)";
	GetSectorUDMFFixed = "GetSectorUDMFFixed(tag, fieldname)";
	GetSideUDMFInt = "GetSideUDMFInt(lineid, side, fieldname)";
	GetSideUDMFFixed = "GetSideUDMFFixed(lineid, side, fieldname)";
	GetThingUDMFInt = "GetThingUDMFInt(tid, fieldname)";
	GetThingUDMFFixed = "GetThingUDMFFixed(tid, fieldname)";
	GetUserArray = "GetUserArray(tid, name, pos)";
	GetUserVariable = "GetUserVariable(tid, name)";
	GiveActorInventory = "GiveActorInventory(tid, type, amount)";
	GiveInventory = "GiveInventory(type, amount)";
	GlassBreak = "GlassBreak(dontspawnjunk)";
	Global = "Global Int expression:identifier";
	Goto = "Goto";
	HealThing = "HealThing(amount)";
	HudMessage = "HudMessage(text; type, id, color, x, y, holdtime)";
	HudMessageBold = "HudMessageBold(text; type, id, color, x, y, holdtime)";
	If = "If(expression)";
	Int = "Int expression";
	IsMultiplayer = "IsMultiplayer()";
	IsOneFlagCTF = "IsOneFlagCTF()";
	Light_ChangeToValue = "Light_ChangeToValue(tag, value)";
	Light_Fade = "Light_Fade(tag, value, tics)";
	Light_Flicker = "Light_Flicker(tag, upper, lower)";
	Light_ForceLightning = "Light_ForceLightning()";
	Light_Glow = "Light_Glow(tag, upper, lower, tics)";
	Light_LowerByValue = "Light_LowerByValue(tag, value)";
	Light_MaxNeighbor = "Light_MaxNeighbor(tag)";
	Light_MinNeighbor = "Light_MinNeighbor(tag)";
	Light_RaiseByValue = "Light_RaiseByValue(tag, value)";
	Light_Stop = "Light_Stop(tag)";
	Light_Strobe = "Light_Strobe(tag, upper, lower, u-tics, l-tics)";
	Light_StrobeDoom = "Light_StrobeDoom(tag, u-tics, l-tics)";
	Lightning = "Script expression Lightning";
	Line_AlignCeiling = "Line_AlignCeiling(lineid, side)";
	Line_AlignFloor = "Line_AlignFloor(lineid, side)";
	Line_SetBlocking = "Line_SetBlocking(lineid, setflags, clearflags)";
	Line_SetTextureScale = "Line_SetTextureScale(lineid, x, y, side, flags)";
	Line_SetTextureOffset = "Line_SetTextureOffset(lineid, x, y, side, flags)";
	LineSide = "LineSide()";
	LocalAmbientSound = "LocalAmbientSound(name, volume)";
	LocalSetMusic = "LocalSetMusic(song, pattern, transition)";
	Log = "Log(type:expression)";
	MorphActor = "MorphActor(tid, playerclass, monsterclass, duration, style, morphflash, unmorphflash)";
	Net = "Script expression Net";
	NoiseAlert = "NoiseAlert(target_tid, emiter_tid)";
	Open = "Script expression Open";
	Pillar_Build = "Pillar_Build(tag, speed, height)";
	Pillar_BuildAndCrush = "Pillar_BuildAndCrush(tag, speed, height, crush)";
	Pillar_Open = "Pillar_Open(tag, speed, fdist, cdist)";
	Plane_Align = "Plane_Align(floor, ceiling)";
	Plat_DownByValue = "Plat_DownByValue(tag, speed, delay, height)";
	Plat_DownWaitUpStay = "Plat_DownWaitUpStay(tag, speed, delay)";
	Plat_DownWaitUpStayLip = "Plat_DownWaitUpStayLip(tag, speed, delay, lip)";
	Plat_PerpetualRaise = "Plat_PerpetualRaise(tag, speed, delay)";
	Plat_PerpetualRaiseLip = "Plat_PerpetualRaiseLip(tag, speed, delay, lip)";
	Plat_RaiseAndStayTx0 = "Plat_RaiseAndStayTx0(tag, speed)";
	Plat_Stop = "Plat_Stop(tag)";
	Plat_ToggleCeiling = "Plat_ToggleCeiling(tag)";
	Plat_UpByValue = "Plat_UpByValue(tag, speed, delay, height)";
	Plat_UpByValueStayTx = "Plat_UpByValueStayTx(tag, speed, height)";
	Plat_UpNearestWaitDownStay = "Plat_UpNearestWaitDownStay(tag, speed, delay)";
	Plat_UpWaitDownStay = "Plat_UpWaitDownStay(tag, speed, delay)";
	Player_GiveItem = "Player_GiveItem(item, message)";
	Player_RemoveItem = "Player_RemoveItem(item, message)";
	Player_SetTeam = "Player_SetTeam(team)";
	PlayerArmorPoints = "PlayerArmorPoints()";
	PlayerBlueSkull = "PlayerBlueSkull()";
	PlayerClass = "PlayerClass(player_number)";
	PlayerCount = "PlayerCount()";
	PlayerFrags = "PlayerFrags()";
	PlayerHealth = "PlayerHealth()";
	PlayerInGame = "PlayerInGame(player_number)";
	PlayerIsBot = "PlayerIsBot(player_number)";
	PlayerNumber = "PlayerNumber()";
	PlayerOnTeam = "PlayerOnTeam()";
	PlayerRedSkull = "PlayerRedSkull()";
	PlayerTeam = "PlayerTeam()";
	PlayerYellowSkull = "PlayerYellowSkull()";
	PlayMovie = "PlayMovie(moviename)";
	Polyobj_DoorSlide = "Polyobj_DoorSlide(po, speed, angle, dist, delay)";
	Polyobj_DoorSwing = "Polyobj_DoorSwing(po, speed, angle, delay)";
	Polyobj_Move = "Polyobj_Move(po, speed, angle, dist)";
	Polyobj_MoveTimes8 = "Polyobj_MoveTimes8(po, speed, angle, dist)";
	Polyobj_OR_Move = "Polyobj_OR_Move(po, speed, angle, distance)";
	Polyobj_OR_MoveTimes8 = "Polyobj_OR_MoveTimes8(po, speed, angle, distance)";
	Polyobj_OR_RotateLeft = "Polyobj_OR_RotateLeft(po, speed)";
	Polyobj_OR_RotateRight = "Polyobj_OR_RotateRight(po, speed, angle)";
	Polyobj_RotateLeft = "Polyobj_RotateLeft(po, speed, angle)";
	Polyobj_RotateRight = "Polyobj_RotateRight(po, speed, angle)";
	PolyWait = "PolyWait(po)";
	Print = "Print(type:expression)";
	PrintBold = "PrintBold(type:expression)";
	PointPush_SetForce = "PointPush_SetForce(tag, tid, amount, useline)";
	Radius_Quake = "Radius_Quake(intensity, duration, damrad, tremrad, tid)";
	Random = "Random(low, high)";
	ReplaceTextures = "ReplaceTextures(oldtexture, newtexture, flags)";
	RedTeamCount = "RedTeamCount()";
	RedTeamScore = "RedTeamScore()";
	Respawn = "Script expression Respawn";
	Restart = "Restart";
	Script = "Script expression (Void)";
	ScriptWait = "ScriptWait(scriptid)";
	Scroll_Ceiling = "Scroll_Ceiling(tag, scrollbits, 0, xmove, ymove)";
	Scroll_Floor = "Scroll_Floor(tag, scrollbits, method xmove, ymove)";
	Scroll_Texture_Both = "Scroll_Texture_Both(lineid, left, right, down, up)";
	Scroll_Texture_Model = "Scroll_Texture_Model(lineid, scrollbits)";
	Scroll_Texture_Offsets = "Scroll_Texture_Offsets";
	Scroll_Wall = "Scroll_Wall(lineid, x, y, side, flags)";
	Sector_ChangeSound = "Sector_ChangeSound(tag, newsequence)";
	Sector_SetCeilingPanning = "Sector_SetCeilingPanning(tag, u-int, u-frac, v-int, v-frac)";
	Sector_SetCeilingScale = "Sector_SetCeilingScale(tag, u-int, u-frac, v-int, v-frac)";
	Sector_SetColor = "Sector_SetColor(tag, r, g, b)";
	Sector_SetDamage = "Sector_SetDamage(tag, amount, mod)";
	Sector_SetFade = "Sector_SetFade(tag, r, g, b)";
	Sector_SetFloorPanning = "Sector_SetFloorPanning(tag, u-int, u-frac, v-int, v-frac)";
	Sector_SetFloorScale = "Sector_SetFloorScale(tag, u-int, u-frac, v-int, v-frac)";
	Sector_SetFriction = "Sector_SetFriction(tag, amount)";
	Sector_SetGravity = "Sector_SetGravity(tag, ipart, fpart)";
	Sector_SetLink = "Sector_SetLink(controltag, tag, surface, movetype)";
	Sector_SetPlaneReflection = "Sector_SetPlaneReflection(tag, floor, ceiling)";
	Sector_SetRotation = "Sector_SetRotation(tag, floor-angle, ceiling-angle)";
	SectorDamage = "SectorDamage(tag, amount, type, protection-item, flags)";
	SectorSound = "SectorSound(name, volume)";
	SendToCommunicator = "SendToCommunicator(voc_id, front_only, indentify, nolog)";
	SetActorAngle = "SetActorAngle(tid, angle)";
	SetAirControl = "SetAirControl(amount)";
	SetActorPitch = "SetActorPitch(tid, angle)";
	SetActorPosition = "SetActorPosition(tid, x, y, z, fog)";
	SetActorProperty = "SetActorProperty(tid, property, value)";
	SetActorState = "SetActorState(tid, state, exact)";
	SetActorVelocity = "SetActorVelocity(tid, velx, vely, velz, add, setbob)";
	SetAirSupply = "SetAirSupply(playernumber, tics)";
	SetCameraToTexture = "SetCameraToTexture(tag, texture, fov)";
	SetCeilingTrigger = "SetCeilingTrigger(tag, height, special, arg1, arg2, arg3, arg4, arg5)";
	SetFloorTrigger = "SetFloorTrigger(tag, height, special, arg1, arg2, arg3, arg4, arg5)";
	SetFont = "SetFont(fontname)";
	SetGravity = "SetGravity(amount)";
	SetHudSize = "SetHudSize(width, height, statusbar)";
	SetLineBlocking = "SetLineBlocking(line, blocking)";
	SetLineMonsterBlocking = "SetLineMonsterBlocking(line, blocking)";
	SetLineSpecial = "SetLineSpecial(line, special, arg1, arg2, arg3, arg4, arg5)";
	SetLineTexture = "SetLineTexture(line, side, position, texture)";
	SetMarineSprite = "SetMarineSprite(tid, actorclass)";
	SetMarineWeapon = "SetMarineWeapon(tid, weapon)";
	SetMugShotState = "SetMugShotState(state)";
	SetMusic = "SetMusic(song, pattern, transition)";
	SetPlayerProperty = "SetPlayerProperty(who, set, which)";
	SetResultValue = "SetResultValue(value)";
	SetSkyScrollSpeed = "SetSkyScrollSpeed(skynumber, speed)";
	SetThingSpecial = "SetThingSpecial(tid, special, arg1, arg2, arg3, arg4, arg5)";
	SetWeapon = "SetWeapon(weaponname)";
	sin = "sin(angle)";
	SinglePlayer = "SinglePlayer()";
	SoundSequence = "SoundSequence(name)";
	SoundSequenceOnActor = "SoundSequenceOnActor(tid, sndseq)";
	SoundSequenceOnSector = "SoundSequenceOnSector(tag, sndseq, location)";
	SoundSequenceOnPolyObj = "SoundSequenceOnPolyObj(tag, sndseq)";
	Spawn = "Spawn(type, x, y, z, thingid, angle)";
	SpawnProjectile = "SpawnProjectile(tid, type, angle, speed, vspeed, gravity, newtid)";
	SpawnSpot = "SpawnSpot(type, spotid, thingid, angle)";
	SpawnSpotFacing = "SpawnSpotFacing(type, spotid, thingid)";
	Special = "Special";
	Stairs_BuildDown = "Stairs_BuildDown(tag, speed, height, delay, reset)";
	Stairs_BuildDownSync = "Stairs_BuildDownSync(tag, speed, height, reset)";
	Stairs_BuildUp = "Stairs_BuildUp(tag, speed, height, delay, reset)";
	Stairs_BuildUpDoom = "Stairs_BuildUpDoom(tag, speed, height, delay, reset)";
	Stairs_BuildUpSync = "Stairs_BuildUpSync(tag, speed, height, reset)";
	StartConversation = "StartConversation(tid, facing)";
	Str = "Str expression";
	strlen = "strlen(string)";
	Suspend = "Suspend";
	Switch = "Switch(expression)";
	TagWait = "TagWait(tag)";
	TakeActorInventory = "TakeActorInventory(tid, type, amount)";
	TakeInventory = "TakeInventory(type, amount)";
	Team_GivePoints = "Team_GivePoints(team, amount, announce)";
	Team_Score = "Team_Score(amount, nogrin)";
	Teleport = "Teleport(tid, tag, nosourcefog)";
	Teleport_EndGame = "Teleport_EndGame()";
	Teleport_Line = "Teleport_Line(thisid, destid, flip)";
	Teleport_NewMap = "Teleport_NewMap(map, pos)";
	Teleport_NoFog = "Teleport_NoFog(tid)";
	Teleport_NoStop = "Teleport_NoStop(tid, sector, nofog)";
	Teleport_ZombieChanger = "Teleport_ZombieChanger(tid, tag)";
	TeleportGroup = "TeleportGroup(groupid, sourceid, destinationid, movesource, fog)";
	TeleportInSector = "TeleportInSector(tag, sourceid, destinationid, fog, groupid)";
	TeleportOther = "TeleportOther(tid, destinationid, fog)";
	Terminate = "Terminate";
	Thing_Activate = "Thing_Activate(tid)";
	Thing_ChangeTID = "Thing_ChangeTID(oldtid, newtid)";
	Thing_Damage = "Thing_Damage(tid, amount, mod)";
	Thing_Damage2 = "Thing_Damage2(tid, amount, type)";
	Thing_Deactivate = "Thing_Deactivate(tid)";
	Thing_Destroy = "Thing_Destroy(tid, extreme)";
	Thing_Hate = "Thing_Hate(hater, hatee, type)";
	Thing_Move = "Thing_Move(tid, destid, nofog)";
	Thing_Projectile = "Thing_Projectile(tid, type, angle, speed, vspeed)";
	Thing_Projectile2 = "Thing_Projectile2(tid, type, angle, speed, vspeed, gravity, newtid)";
	Thing_ProjectileAimed = "Thing_ProjectileAimed(tid, type, speed, target, newtid)";
	Thing_ProjectileGravity = "Thing_ProjectileGravity(tid, type, angle, speed, vspeed)";
	Thing_ProjectileIntercept = "Thing_ProjectileIntercept(tid, type, speed, target, newtid)";
	Thing_Raise = "Thing_Raise(tid)";
	Thing_Remove = "Thing_Remove(tid)";
	Thing_SetFrame = "Thing_SetFrame(tid, frame)";
	Thing_SetGoal = "Thing_SetGoal(tid, goal, delay, ignore)";
	Thing_SetSpecial = "Thing_SetSpecial(tid, special, arg1, arg2, arg3)";
	Thing_SetTranslation = "Thing_SetTranslation(tid, translation)";
	Thing_Spawn = "Thing_Spawn(tid, type, angle, newtid)";
	Thing_SpawnFacing = "Thing_SpawnFacing(tid, type, nofog, newtid)";
	Thing_SpawnNoFog = "Thing_SpawnNoFog(tid, type, angle, newtid)";
	Thing_Stop = "Thing_Stop(tid)";
	ThingCount = "ThingCount(type, id)";
	ThingCountName = "ThingCountName(type, tid)";
	ThingCountNameSector = "ThingCountNameSector(class, tid, tag)";
	ThingCountSector = "ThingCountSector(type, tid, tag)";
	ThingSound = "ThingSound(thingid, name, volume)";
	ThrustThing = "ThrustThing(angle, force, limit, tid)";
	ThrustThingZ = "ThrustThingZ(tid, speed, upordown, addorset)";
	Timer = "Timer()";
	Transfer_Heights = "Transfer_Heights(tag, flags)";
	Transfer_WallLight = "Transfer_WallLight(lineid, flags)";
	Transfer_CeilingLight = "Transfer_CeilingLight(tag)";
	Transfer_FloorLight = "Transfer_FloorLight(tag)";
	TranslucentLine = "TranslucentLine(lineid, amount, additive)";
	Unloading = "Script expression Unloading";
	UnmorphActor = "UnmorphActor(tid, force)";
	Until = "Until(expression)";
	UsePuzzleItem = "UsePuzzleItem(item, script)";
	UseActorInventory = "UseActorInventory(tid, item)";
	VectorAngle = "VectorAngle(x, y)";
	Void = "Void";
	While = "While(expression)";
	World = "World Int expression:identifier";
}

constants
{
	TRUE;
	FALSE;
	ON;
	OFF;
	YES;
	NO;
	CARRY;
	SCROLL;
	SCROLL_AND_CARRY;
	ACTOR_NONE;
	ACTOR_WORLD;
	ACTOR_PLAYER;
	ACTOR_BOT;
	ACTOR_VOODOODOLL;
	ACTOR_MONSTER;
	ACTOR_ALIVE;
	ACTOR_DEAD;
	ACTOR_MISSILE;
	ACTOR_GENERIC;
	APROP_ActiveSound;
	APROP_Alpha;
	APROP_Ambush;
	APROP_AttackSoun;
	APROP_ChaseGoal;
	APROP_Damage;
	APROP_DeathSound;
	APROP_Dropped;
	APROP_Friendly;
	APROP_Frightened;
	APROP_Gravity;
	APROP_Health;
	APROP_Invulnerable;
	APROP_JumpZ;
	APROP_Notarget;
	APROP_PainSound;
	APROP_RenderStyle;
	APROP_SeeSound;
	APROP_SpawnHealth;
	APROP_Speed;
	BLOCK_CREATURES;
	BLOCK_EVERYTHING;
	BLOCK_NOTHING;
	BLOCK_PLAYERS;
	BLOCKF_MONSTERS;
	BLOCKF_PLAYERS;
	BLOCKF_FLOATERS;
	BLOCKF_PROJECTILES;
	BLOCKF_EVERYTHING;
	BLOCKF_RAILING;
	BLOCKF_USE;
	BT_ALTATTACK;
	BT_ATTACK;
	BT_BACK;
	BT_CROUCH;
	BT_FORWARD;
	BT_JUMP;
	BT_LEFT;
	BT_LOOKDOWN;
	BT_LOOKUP;
	BT_MOVEDOWN;
	BT_MOVELEFT;
	BT_MOVERIGHT;
	BT_MOVEUP;
	BT_RELOAD;
	BT_RIGHT;
	BT_SHOWSCORES;
	BT_SPEED;
	BT_STRAFE;
	BT_TURN180;
	BT_USE;
	BT_USER1;
	BT_USER2;
	BT_USER3;
	BT_USER4;
	BT_ZOOM;
	CLASS_CLERIC;
	CLASS_FIGHTER;
	CLASS_MAGE;
	CR_BLACK; 
	CR_BLUE;
	CR_BRICK;
	CR_BROWN;
	CR_CREAM;
	CR_DARKBROWN;
	CR_DARKGRAY;  
	CR_DARKGREEN;
	CR_DARKRED;
	CR_GOLD;
	CR_GRAY;
	CR_GREEN;
	CR_GREY;
	CR_LIGHTBLUE;
	CR_OLIVE;
	CR_ORANGE;
	CR_PURPLE;
	CR_RED;
	CR_TAN;
	CR_UNTRANSLATED;
	CR_WHITE;
	CR_YELLOW;
	DAMAGE_IN_AIR;
	DAMAGE_NONPLAYERS;
	DAMAGE_PLAYERS;
	DAMAGE_SUBCLASSES_PROTECT;
	GAME_NET_COOPERATIVE;
	GAME_NET_DEATHMATCH;
	GAME_NET_TEAMGAME;
	GAME_SINGLE_PLAYER;
	HUDMSG_COLORSTRING;
	HUDMSG_FADEINOUT;
	HUDMSG_FADEOUT;
	HUDMSG_LOG;
	HUDMSG_PLAIN;
	HUDMSG_TYPEON;
	IS_COUNTDOWN;
	IS_FIRSTCOUNTDOWN;
	IS_INPROGRESS;
	IS_WAITINGFORPLAYERS;
	IS_WAVECOMPLETE;
	INPUT_BUTTONS;
	INPUT_FORWARDMOVE;
	INPUT_OLDBUTTONS;
	INPUT_PITCH;
	INPUT_ROW;
	INPUT_SIDEMOVE;
	INPUT_UPMOVE;
	INPUT_YAW;
	LEVELINFO_CLUSTERNUM;
	LEVELINFO_FOUND_ITEMS;
	LEVELINFO_FOUND_SECRETS;
	LEVELINFO_KILLED_MONSTERS;
	LEVELINFO_LEVELNUM;
	LEVELINFO_PAR_TIME;
	LEVELINFO_SUCK_TIME;
	LEVELINFO_TOTAL_ITEMS;
	LEVELINFO_TOTAL_MONSTERS;
	LEVELINFO_TOTAL_SECRETS;
	LINE_BACK;
	LINE_FRONT;
	MARINEWEAPON_BerserkFis;
	MARINEWEAPON_BFG;
	MARINEWEAPON_Chaingun;
	MARINEWEAPON_Chainsaw;
	MARINEWEAPON_Dummy;
	MARINEWEAPON_Fist;
	MARINEWEAPON_Pistol;
	MARINEWEAPON_PlasmaRifl;
	MARINEWEAPON_Railgun;
	MARINEWEAPON_RocketLaunche;
	MARINEWEAPON_Shotgun;
	MARINEWEAPON_SuperShotgu;
	MOD_BARREL;
	MOD_BFG_BOOM;
	MOD_BFG_SPLASH;
	MOD_CHAINGUN;
	MOD_CHAINSAW;
	MOD_CRUSH;
	MOD_EXIT;
	MOD_FALLING;
	MOD_FIST;
	MOD_HIT;
	MOD_LAVA;
	MOD_PISTOL;
	MOD_PLASMARIFLE;
	MOD_R_SPLASH;
	MOD_ROCKET;
	MOD_SHOTGUN;
	MOD_SLIME;
	MOD_SPLASH;
	MOD_SSHOTGUN;
	MOD_SUICIDE;
	MOD_TELEFRAG;
	MOD_UNKNOWN;
	MOD_WATER;
	MODINPUT_BUTTONS;
	MODINPUT_FORWARDMOVE;
	MODINPUT_OLDBUTTONS;
	MODINPUT_PITCH;
	MODINPUT_ROW;
	MODINPUT_SIDEMOVE;
	MODINPUT_UPMOVE;
	MODINPUT_YAW;
	MOVIE_Failed;
	MOVIE_Played;
	MOVIE_Played_Aborted;
	MOVIE_Played_NoVideo;
	NO_TEAM;
	NOT_BOTTOM;
	NOT_CEILING;
	NOT_FLOOR;
	NOT_MIDDLE;
	NOT_TOP;
	PLAYERINFO_AIMDIST;
	PLAYERINFO_COLOR;
	PLAYERINFO_GENDER;
	PLAYERINFO_MOVEBOB;
	PLAYERINFO_NEVERSWITCH;
	PLAYERINFO_PLAYERCLASS;
	PLAYERINFO_STILLBOB;
	PLAYERINFO_TEAM;
	PROP_FLY;
	PROP_FROZEN;
	PROP_INSTANTWEAPONSWITCH;
	PROP_NOTARGET;
	PROP_TOTALLYFROZEN;
	SIDE_BACK;
	SIDE_FRONT;
	SKILL_EASY;
	SKILL_HARD;
	SKILL_NORMAL;
	SKILL_VERY_EASY;
	SKILL_VERY_HARD;
	STYLE_Add;
	STYLE_Fuzzy;
	STYLE_None;
	STYLE_Normal;
	STYLE_OptFuzzy;
	STYLE_SoulTrans;
	STYLE_Translucent;
	T_ABADDON;
	T_ABADDONSHOT;
	T_AMMOBOX;
	T_AMULETOFWARDING;
	T_ANTIGRAVBELT;
	T_ARACHNOTRON;
	T_ARACHNOTRONPLASMA;
	T_ARCHSTATUE;
	T_ARMORBONUS;
	T_ARROW;
	T_AXEKEY;
	T_BACKPACK;
	T_BARON;
	T_BARONBALL;
	T_BARONSTATUE;
	T_BARREL;
	T_BATTERY;
	T_BEAST;
	T_BEASTBALL;
	T_BELPHEGOR;
	T_BERSERK;
	T_BFG;
	T_BFG10000;
	T_BFG10KSHOT;
	T_BFGSHOT;
	T_BISHOP;
	T_BLADE;
	T_BLASTER;
	T_BLOOD;
	T_BLOODDEMON;
	T_BLOODPOOL;
	T_BLOODPOOL1;
	T_BLOODPOOL2;
	T_BLUEARMOR;
	T_BLUEFLAG;
	T_BLUEKEY;
	T_BLUEKEYCARD;
	T_BLUESKULLKEY;
	T_BLUETELEGLITTER;
	T_BOBBINGSKULLINFLAMES;
	T_BOUNCYMACEBALL;
	T_BRAINS;
	T_BRIDGE;
	T_CACODEMON;
	T_CACODEMONSHOT;
	T_CACOLANTERN;
	T_CACOLANTERNSHOT;
	T_CELL;
	T_CENTAUR;
	T_CENTAUR_MASH;
	T_CENTAURLEADER;
	T_CHAINGUN;
	T_CHAINGUY;
	T_CHAINSAW;
	T_CHICKEN;
	T_CLERICHOLY1;
	T_CLERICHOLY2;
	T_CLERICHOLY3;
	T_CLERICSTAFF;
	T_CLINK;
	T_CLIP;
	T_COMPUTERMAP;
	T_CROSSBOW;
	T_CROSSBOWMAINBLAST;
	T_CROSSBOWMINIBLAST;
	T_CROSSBOWPOWERBLAST;
	T_CYBERDEMON;
	T_CYBERDEMONSTATUE;
	T_DARKIMP;
	T_DARKIMPFIREBALL;
	T_DART;
	T_DEADCYBERDEMON;
	T_DEATHBALL;
	T_DEMON;
	T_DEMON_MASH;
	T_DEMON1;
	T_DEMON2_MASH;
	T_DEMONSTATUE;
	T_DIRT1;
	T_DIRT2;
	T_DIRT3;
	T_DIRT4;
	T_DIRT5;
	T_DIRT6;
	T_DOOMSPHERE;
	T_DRAGONSKINBRACERS;
	T_DRAIN;
	T_DSPARILALONE;
	T_DSPARILBLUESHOT;
	T_DSPARILONSERPENT;
	T_DSPARILTELEPORTDEST;
	T_DSPARILWIZARDSPAWNER;
	T_EMERALDKEY;
	T_ETTIN;
	T_ETTIN_MASH;
	T_FALCONSHIELD;
	T_FEATHER;
	T_FIGHTERAXE;
	T_FIGHTERHAMMER;
	T_FIGHTERSWORD1;
	T_FIGHTERSWORD2;
	T_FIGHTERSWORD3;
	T_FIREBALL1;
	T_FIREGARGOYLE;
	T_FIREKEY;
	T_FLAME_LARGE;
	T_FLAME_SMALL;
	T_FLAMINGBARREL;
	T_FLESH_DRIP1;
	T_FLESH_DRIP2;
	T_GAUNTLETS;
	T_GOTHICPILLAR;
	T_GREENARMOR;
	T_GREENKEY;
	T_GRENADE;
	T_GRENADELAUNCHER;
	T_GREYPILLARHEART;
	T_GREYSTALAGMITE;
	T_GUTS;
	T_HASTE;
	T_HEALTHBONUS;
	T_HEAVYMACEBALL;
	T_HECTEBUS;
	T_HEFTYBLASTERAMMO;
	T_HEFTYCROSSBOWAMMO;
	T_HEFTYMACEAMMO;
	T_HEFTYPHOENIXRODAMMO;
	T_HEFTYSKULLRODAMMO;
	T_HEFTYWANDAMMO;
	T_HELLKNIGHT;
	T_HELLPILLAR;
	T_HIGHJUMP;
	T_HISSY;
	T_HORNKEY;
	T_ICEGOLEM;
	T_ICESHARD;
	T_IMP;
	T_IMPALINGSPIKE;
	T_IMPALINGSPIKECGUN;
	T_IMPALINGSPIKEZOMB;
	T_IMPFIREBALL;
	T_IMPHEAD;
	T_IMPLEADER;
	T_IMPSTATUE;
	T_INFRAGOGGLES;
	T_INFRATRACKER;
	T_INVISIBILITY;
	T_INVULNERABILITY;
	T_IRONFEET;
	T_IRONLICH;
	T_IRONLICHBLUESHOT;
	T_ITEMALLMAP;
	T_ITEMBAGOFHOLDING;
	T_ITEMBOOSTMANA;
	T_ITEMBOOTS;
	T_ITEMEGG;
	T_ITEMFLECHETTE;
	T_ITEMFLIGHT;
	T_ITEMHEALTHFLASH;
	T_ITEMHEALTHFLASK;
	T_ITEMHEALTHFULL;
	T_ITEMHEALTHPOTION;
	T_ITEMINVISIBILITY;
	T_ITEMINVULNERABILITY;
	T_ITEMREPULSION;
	T_ITEMSUMMON;
	T_ITEMTELEPORT;
	T_ITEMTIMEBOMB;
	T_ITEMTOME;
	T_ITEMTORCH;
	T_ITEMTPORTOTHER;
	T_KNIGHT;
	T_KNIGHTAXE;
	T_KNIGHTBLOODAXE;
	T_KNIGHTGHOST;
	T_LABORTORYPILLAR;
	T_LIGHTAMP;
	T_LOSTSOUL;
	T_MACE;
	T_MACEKEY;
	T_MAGESHARDS;
	T_MAGESTAFF1;
	T_MAGESTAFF2;
	T_MAGESTAFF3;
	T_MANA1;
	T_MANA2;
	T_MANA3;
	T_MANCUBUS;
	T_MANCUBUSSHOT;
	T_MASARMORBONUS;
	T_MASSMOUTHSTATUE;
	T_MAXHEALTHBONUS;
	T_MEDKIT;
	T_MEGASPHERE;
	T_MESHARMOR;
	T_METALKEY;
	T_MILITARYPILLAR;
	T_MINIGUN;
	T_MORPHBLAST;
	T_MUMMY;
	T_MUMMYGHOST;
	T_MUMMYHEAD;
	T_MUMMYLEADER;
	T_MUMMYLEADERGHOST;
	T_NOGRAVITYMACEBALL;
	T_NONE;
	T_PAINELEMENTAL;
	T_PERMLARGEFLAME;
	T_PERMSMALLFLAME;
	T_PHOENIXROD;
	T_PHOENIXSHOT;
	T_PISTOL;
	T_PLASMABOLT;
	T_PLASMAGUN;
	T_PLATINUMHELM;
	T_POD;
	T_PODGENERATOR;
	T_POISONDART;
	T_POWERWANDBIGGERBLAST;
	T_POWERWANDMINIBLAST;
	T_PROSPERITY;
	T_PUFF;
	T_PUZZBOOK1;
	T_PUZZBOOK2;
	T_PUZZGEMBIG;
	T_PUZZGEMBLUE1;
	T_PUZZGEMBLUE2;
	T_PUZZGEMGREEN1;
	T_PUZZGEMGREEN2;
	T_PUZZGEMRED;
	T_PUZZSKULL;
	T_RAGE;
	T_RAILGUN;
	T_RANDOMPOWERUP;
	T_REDARMOR;
	T_REDFLAG;
	T_REDKEYCARD;
	T_REDSKULLKEY;
	T_REDTELEGLITTER;
	T_REFLECTION;
	T_REGENERATION;
	T_RESISTANCE;
	T_REVENANT;
	T_REVENANTHAND;
	T_RIPPER;
	T_RIPPERBALL;
	T_ROCK1;
	T_ROCK2;
	T_ROCK3;
	T_ROCKET;
	T_ROCKETAMMO;
	T_ROCKETBOX;
	T_ROCKETLAUNCHER;
	T_RUSTYKEY;
	T_SAUSAGEHEAD;
	T_SAUSAGESPITTER;
	T_SCRIPTEDMARINE;
	T_SERPENTFIREBALL;
	T_SERPENTKEY;
	T_SHELLBOX;
	T_SHELLS;
	T_SHIELD1;
	T_SHIELD2;
	T_SHORTGREYPILLAR;
	T_SHOTGUN;
	T_SHOTGUY;
	T_SILVERKEY;
	T_SKULLROD;
	T_SKULLRODBLAST;
	T_SMALLMETALKEY;
	T_SNAKE;
	T_SNAKEPROJECTILE;
	T_SNAKEPROJECTILEBIG;
	T_SOULSPHERE;
	T_SOUND_WATERFALL;
	T_SOUND_WIND;
	T_SPARK_DRIP;
	T_SPECTRE;
	T_SPIDERMASTERMIND;
	T_SPREAD;
	T_SSGGUY;
	T_STAINEDGLASS0;
	T_STAINEDGLASS1;
	T_STAINEDGLASS2;
	T_STAINEDGLASS3;
	T_STAINEDGLASS4;
	T_STAINEDGLASS5;
	T_STAINEDGLASS6;
	T_STAINEDGLASS7;
	T_STAINEDGLASS8;
	T_STAINEDGLASS9;
	T_STARBASEPILLAR;
	T_STEALTHARACHNOTRON;
	T_STEALTHBARON;
	T_STEALTHCACODEMON;
	T_STEALTHCHAINGUY;
	T_STEALTHIMP;
	T_STEALTHKNIGHT;
	T_STEALTHMANCUBUS;
	T_STEALTHREVENANT;
	T_STEALTHSERGEANT;
	T_STEALTHSHOTGUY;
	T_STEALTHVILE;
	T_STEALTHZOMBIE;
	T_STIMPACK;
	T_STRENGTH;
	T_SUPERSHOTGUN;
	T_TALLGOTHICPILLAR;
	T_TALLGREYPILLAR;
	T_TEMPLARGEFLAME;
	T_TEMPSMALLFLAME;
	T_THRUSTSPIKEDOWN;
	T_THRUSTSPIKEUP;
	T_TIMEFREEZER;
	T_TINYVOLCANOBALL;
	T_TRACER;
	T_TRANSLUCENCY;
	T_TURBOSPHERE;
	T_VILE;
	T_VOLCANO;
	T_VOLCANOBALL;
	T_WATERDRIP;
	T_WATERLURKER;
	T_WATERLURKERLEADER;
	T_WHIRLWIND;
	T_WHITEFLAG;
	T_WIMPYBLASTERAMMO;
	T_WIMPYCROSSBOWAMMO;
	T_WIMPYMACEAMMO;
	T_WIMPYPHOENIXRODAMMO;
	T_WIMPYSKULLRODAMMO;
	T_WIMPYWANDAMMO;
	T_WIZARD;
	T_WIZARDSHOT;
	T_WOLFSS;
	T_WRAITH;
	T_WRAITHBURIED;
	T_YELLOWKEY;
	T_YELLOWKEYCARD;
	T_YELLOWSKULLKEY;
	T_ZOMBIE;
	TEAM_BLUE;
	TEAM_RED;
	TEXTURE_BOTTOM;
	TEXTURE_MIDDLE;
	TEXTURE_TOP;
}
