gzdoom/wadsrc/static/actors/actor.txt

374 lines
21 KiB
Text
Raw Normal View History

ACTOR Actor native //: Thinker
{
Scale 1
Health 1000
Reactiontime 8
Radius 20
Height 16
Mass 100
RenderStyle Normal
Alpha 1
MinMissileChance 200
MeleeRange 44
MaxDropoffHeight 24
MaxStepHeight 24
BounceFactor 0.7
WallBounceFactor 0.75
BounceCount -1
FloatSpeed 4
FloatBobPhase -1 // randomly initialize by default
Gravity 1
Friction 1
DamageFactor 1.0
PushFactor 0.25
WeaveIndexXY 0
WeaveIndexZ 16
DesignatedTeam 255
PainType Normal
DeathType Normal
TeleFogSourceType "TeleportFog"
TeleFogDestType "TeleportFog"
RipperLevel 0
RipLevelMin 0
RipLevelMax 0
// Variables for the expression evaluator
// NOTE: fixed_t and angle_t are only used here to ensure proper conversion
// Internally they are handled as floats.
// Variables must be native.
native fixed_t alpha;
native angle_t angle;
native int args[5];
native fixed_t ceilingz;
native fixed_t floorz;
native int health;
native int mass;
native angle_t pitch;
native int special;
native int tid;
native int TIDtoHate;
native int waterlevel;
native int damage;
native fixed_t x;
native fixed_t y;
native fixed_t z;
native fixed_t velx;
native fixed_t vely;
native fixed_t velz;
native fixed_t momx; // alias for velx
native fixed_t momy; // alias for vely
native fixed_t momz; // alias for velz
native fixed_t scaleX;
native fixed_t scaleY;
native int score;
native int accuracy;
native int stamina;
native fixed_t height;
native fixed_t radius;
native int reactiontime;
native fixed_t meleerange;
2014-09-20 22:34:57 +00:00
native fixed_t speed;
native angle_t roll;
// Meh, MBF redundant functions. Only for DeHackEd support.
action native A_Turn(float angle = 0);
action native A_LineEffect(int boomspecial = 0, int tag = 0);
// End of MBF redundant functions.
action native A_MonsterRail();
action native A_BFGSpray(class<Actor> spraytype = "BFGExtra", int numrays = 40, int damagecount = 15, float angle = 90, float distance = 16*64, float vrange = 32, int damage = 0);
action native A_Pain();
action native A_NoBlocking();
action native A_XScream();
action native A_Look();
action native A_Chase(state melee = "*", state missile = "none", int flags = 0);
action native A_FaceTarget(float max_turn = 0, float max_pitch = 270, float ang_offset = 0, float pitch_offset = 0, int flags = 0);
action native A_FaceTracer(float max_turn = 0, float max_pitch = 270, float ang_offset = 0, float pitch_offset = 0, int flags = 0);
action native A_FaceMaster(float max_turn = 0, float max_pitch = 270, float ang_offset = 0, float pitch_offset = 0, int flags = 0);
action native A_PosAttack();
action native A_Scream();
action native A_SPosAttack();
action native A_SPosAttackUseAtkSound();
action native A_VileChase();
action native A_VileStart();
action native A_VileTarget(class<Actor> fire = "ArchvileFire");
action native A_VileAttack(sound snd = "vile/stop", int initialdmg = 20, int blastdmg = 70, int blastradius = 70, float thrustfac = 1.0, name damagetype = "Fire", int flags = 0);
action native A_StartFire();
action native A_Fire(float spawnheight = 0);
action native A_FireCrackle();
action native A_Tracer();
action native A_SkelWhoosh();
action native A_SkelFist();
action native A_SkelMissile();
action native A_FatRaise();
action native A_FatAttack1(class<Actor> spawntype = "FatShot");
action native A_FatAttack2(class<Actor> spawntype = "FatShot");
action native A_FatAttack3(class<Actor> spawntype = "FatShot");
action native A_BossDeath();
action native A_CPosAttack();
action native A_CPosRefire();
action native A_TroopAttack();
action native A_SargAttack();
action native A_HeadAttack();
action native A_BruisAttack();
action native A_SkullAttack(float speed = 20);
action native A_BetaSkullAttack();
action native A_Metal();
action native A_SpidRefire();
action native A_BabyMetal();
action native A_BspiAttack();
action native A_Hoof();
action native A_CyberAttack();
action native A_PainAttack(class<Actor> spawntype = "LostSoul", float angle = 0, int flags = 0, int limit = -1);
action native A_DualPainAttack(class<Actor> spawntype = "LostSoul");
action native A_PainDie(class<Actor> spawntype = "LostSoul");
action native A_KeenDie(int doortag = 666);
action native A_BrainPain();
action native A_BrainScream();
action native A_BrainDie();
action native A_BrainAwake();
action native A_BrainSpit(class<Actor> spawntype = "none"); // needs special treatment for default
action native A_SpawnSound();
action native A_SpawnFly(class<Actor> spawntype = "none"); // needs special treatment for default
action native A_BrainExplode();
action native A_Die(name damagetype = "none");
action native A_Detonate();
action native A_Mushroom(class<Actor> spawntype = "FatShot", int numspawns = 0, int flags = 0, float vrange = 4.0, float hrange = 0.5);
action native A_CallSpecial(int special, int arg1=0, int arg2=0, int arg3=0, int arg4=0, int arg5=0);
action native A_SetFloorClip();
action native A_UnSetFloorClip();
action native A_HideThing();
action native A_UnHideThing();
action native A_SetInvulnerable();
action native A_UnSetInvulnerable();
action native A_SetReflective();
action native A_UnSetReflective();
action native A_SetReflectiveInvulnerable();
action native A_UnSetReflectiveInvulnerable();
action native A_SetShootable();
action native A_UnSetShootable();
action native A_NoGravity();
action native A_Gravity();
action native A_LowGravity();
action native A_SetGravity(float gravity);
action native A_Fall();
action native A_SetSolid();
action native A_UnsetSolid();
action native A_SetFloat();
action native A_UnsetFloat();
action native A_M_Saw(sound fullsound = "weapons/sawfull", sound hitsound = "weapons/sawhit", int damage = 2, class<Actor> pufftype = "BulletPuff");
action native A_ScreamAndUnblock();
action native A_ActiveAndUnblock();
action native A_ActiveSound();
action native A_FastChase();
action native A_FreezeDeath();
action native A_FreezeDeathChunks();
action native A_GenericFreezeDeath();
action native A_IceGuyDie();
action native A_CentaurDefend();
action native A_BishopMissileWeave();
action native A_CStaffMissileSlither();
action native A_PlayerScream();
action native A_SkullPop(class<Actor> skulltype = "BloodySkull");
action native A_CheckPlayerDone();
action native A_Wander();
action native A_Look2();
action native A_TossGib();
action native A_SentinelBob();
action native A_SentinelRefire();
action native A_Tracer2();
action native A_SetShadow();
action native A_ClearShadow();
action native A_GetHurt();
action native A_TurretLook();
action native A_KlaxonBlare();
action native A_Countdown();
action native A_AlertMonsters(float maxdist = 0, int flags = 0);
action native A_ClearSoundTarget();
action native A_FireAssaultGun();
action native A_CheckTerrain();
action native A_FaceConsolePlayer(float MaxTurnAngle = 0); // [TP]
action native A_MissileAttack();
action native A_MeleeAttack();
action native A_ComboAttack();
action native A_BulletAttack();
action native A_WolfAttack(int flags = 0, sound whattoplay = "weapons/pistol", float snipe = 1.0, int maxdamage = 64, int blocksize = 128, int pointblank = 2, int longrange = 4, float runspeed = 160.0, class<Actor> pufftype = "BulletPuff");
action native A_PlaySound(sound whattoplay = "weapons/pistol", int slot = CHAN_BODY, float volume = 1.0, bool looping = false, float attenuation = ATTN_NORM);
action native A_PlayWeaponSound(sound whattoplay);
action native A_FLoopActiveSound();
action native A_LoopActiveSound();
action native A_StopSound(int slot = CHAN_VOICE); // Bad default but that's what is originally was...
action native A_PlaySoundEx(sound whattoplay, coerce name slot, bool looping = false, int attenuation = 0);
action native A_StopSoundEx(coerce name slot);
action native A_SeekerMissile(int threshold, int turnmax, int flags = 0, int chance = 50, int distance = 10);
action native A_Jump(int chance = 256, state label, ...);
action native A_CustomMissile(class<Actor> missiletype, float spawnheight = 32, int spawnofs_xy = 0, float angle = 0, int flags = 0, float pitch = 0, int ptr = AAPTR_TARGET);
action native A_CustomBulletAttack(float spread_xy, float spread_z, int numbullets, int damageperbullet, class<Actor> pufftype = "BulletPuff", float range = 0, int flags = 0, int ptr = AAPTR_TARGET);
action native A_CustomRailgun(int damage, int spawnofs_xy = 0, color color1 = "", color color2 = "", int flags = 0, bool aim = false, float maxdiff = 0, class<Actor> pufftype = "BulletPuff", float spread_xy = 0, float spread_z = 0, float range = 0, int duration = 0, float sparsity = 1.0, float driftspeed = 1.0, class<Actor> spawnclass = "none", float spawnofs_z = 0, int spiraloffset = 270);
action native A_JumpIfHealthLower(int health, state label, int ptr_selector = AAPTR_DEFAULT);
action native A_JumpIfCloser(float distance, state label, bool noz = false);
action native A_JumpIfTracerCloser(float distance, state label, bool noz = false);
action native A_JumpIfMasterCloser(float distance, state label, bool noz = false);
action native A_JumpIfTargetOutsideMeleeRange(state label);
action native A_JumpIfTargetInsideMeleeRange(state label);
action native A_JumpIfInventory(class<Inventory> itemtype, int itemamount, state label, int owner = AAPTR_DEFAULT);
action native A_JumpIfArmorType(string Type, state label, int amount = 1);
action native A_GiveInventory(class<Inventory> itemtype, int amount = 0, int giveto = AAPTR_DEFAULT);
action native A_TakeInventory(class<Inventory> itemtype, int amount = 0, int flags = 0, int giveto = AAPTR_DEFAULT);
action native A_SpawnItem(class<Actor> itemtype = "Unknown", float distance = 0, float zheight = 0, bool useammo = true, bool transfer_translation = false);
action native A_SpawnItemEx(class<Actor> itemtype, float xofs = 0, float yofs = 0, float zofs = 0, float xvel = 0, float yvel = 0, float zvel = 0, float angle = 0, int flags = 0, int failchance = 0, int tid=0);
action native A_Print(string whattoprint, float time = 0, string fontname = "");
action native A_PrintBold(string whattoprint, float time = 0, string fontname = "");
action native A_Log(string whattoprint);
action native A_LogInt(int whattoprint);
action native A_SetTranslucent(float alpha, int style = 0);
action native A_FadeIn(float reduce = 0.1, int flags = 0);
action native A_FadeOut(float reduce = 0.1, int flags = 1); //bool remove == true
action native A_FadeTo(float target, float amount = 0.1, int flags = 0);
action native A_SetScale(float scalex, float scaley = 0, int ptr = AAPTR_DEFAULT);
action native A_SetMass(int mass);
action native A_SpawnDebris(class<Actor> spawntype, bool transfer_translation = false, float mult_h = 1, float mult_v = 1);
action native A_CheckSight(state label);
action native A_ExtChase(bool usemelee, bool usemissile, bool playactive = true, bool nightmarefast = false);
action native A_DropInventory(class<Inventory> itemtype);
action native A_SetBlend(color color1, float alpha, int tics, color color2 = "");
action native A_ChangeFlag(string flagname, bool value);
action native A_CheckFlag(string flagname, state label, int check_pointer = AAPTR_DEFAULT);
action native A_JumpIf(bool expression, state label);
action native A_RaiseMaster(bool copy = 0);
action native A_RaiseChildren(bool copy = 0);
action native A_RaiseSiblings(bool copy = 0);
action native A_CheckFloor(state label);
action native A_CheckCeiling(state label);
action native A_PlayerSkinCheck(state label);
action native A_BasicAttack(int meleedamage, sound meleesound, class<actor> missiletype, float missileheight);
action native A_Teleport(state teleportstate = "", class<SpecialSpot> targettype = "BossSpot", class<Actor> fogtype = "TeleportFog", int flags = 0, float mindist = 0, float maxdist = 0, int ptr = AAPTR_DEFAULT);
action native A_Warp(int ptr_destination, float xofs = 0, float yofs = 0, float zofs = 0, float angle = 0, int flags = 0, state success_state = "", float heightoffset = 0, float radiusoffset = 0, float pitch = 0);
action native A_ThrowGrenade(class<Actor> itemtype, float zheight = 0, float xyvel = 0, float zvel = 0, bool useammo = true);
action native A_Weave(int xspeed, int yspeed, float xdist, float ydist);
action native A_Recoil(float xyvel);
action native A_JumpIfInTargetInventory(class<Inventory> itemtype, int amount, state label, int forward_ptr = AAPTR_DEFAULT);
action native A_GiveToTarget(class<Inventory> itemtype, int amount = 0, int forward_ptr = AAPTR_DEFAULT);
action native A_TakeFromTarget(class<Inventory> itemtype, int amount = 0, int flags = 0, int forward_ptr = AAPTR_DEFAULT);
action native A_RadiusGive(class<Inventory> itemtype, int distance, int flags, int amount = 0, class<Actor> filter = "None", name species = "None", int mindist = 0);
action native A_CountdownArg(int argnum, state targstate = "");
action native A_CustomMeleeAttack(int damage = 0, sound meleesound = "", sound misssound = "", name damagetype = "none", bool bleed = true);
action native A_CustomComboAttack(class<Actor> missiletype, float spawnheight, int damage, sound meleesound = "", name damagetype = "none", bool bleed = true);
action native A_Burst(class<Actor> chunktype);
action native A_Blast(int flags = 0, int strength = 255, int radius = 255, float speed = 20, class<Actor> blasteffect = "BlastEffect", sound blastsound = "BlastRadius");
action native A_RadiusThrust(int force = 128, int distance = -1, int flags = RTF_AFFECTSOURCE, int fullthrustdistance = 0);
action native A_Explode(int damage = -1, int distance = -1, int flags = XF_HURTSOURCE, bool alert = false, int fulldamagedistance = 0, int nails = 0, int naildamage = 10, class<Actor> pufftype = "BulletPuff");
action native A_Stop();
action native A_Respawn(int flags = 1);
action native A_BarrelDestroy();
action native A_QueueCorpse();
action native A_DeQueueCorpse();
action native A_LookEx(int flags = 0, float minseedist = 0, float maxseedist = 0, float maxheardist = 0, float fov = 0, state label = "");
action native A_ClearLastHeard();
action native A_ClearTarget();
action native 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);
action native A_JumpIfTargetInLOS (state label, float fov = 0, int flags = 0, float dist_max = 0, float dist_close = 0);
action native A_JumpIfInTargetLOS (state label, float fov = 0, int flags = 0, float dist_max = 0, float dist_close = 0);
action native A_SelectWeapon(class<Weapon> whichweapon);
action native A_Punch();
action native A_Feathers();
action native A_ClassBossHealth();
action native A_ShootGun();
action native A_RocketInFlight();
action native A_Bang4Cloud();
action native A_DropFire();
action native A_GiveQuestItem(int itemno);
action native A_RemoveForcefield();
action native A_DropWeaponPieces(class<Actor> p1, class<Actor> p2, class<Actor> p3);
action native A_PigPain ();
action native A_MonsterRefire(int chance, state label);
action native A_SetAngle(float angle = 0, int flags = 0, int ptr = AAPTR_DEFAULT);
action native A_SetPitch(float pitch, int flags = 0, int ptr = AAPTR_DEFAULT);
2015-01-23 16:24:23 +00:00
action native A_SetRoll(float roll, int flags = 0, int ptr = AAPTR_DEFAULT);
action native A_ScaleVelocity(float scale, int ptr = AAPTR_DEFAULT);
action native A_ChangeVelocity(float x = 0, float y = 0, float z = 0, int flags = 0, int ptr = AAPTR_DEFAULT);
action native A_SetArg(int pos, int value);
action native A_SetUserVar(name varname, int value);
action native A_SetUserArray(name varname, int index, int value);
action native A_SetSpecial(int spec, int arg0 = 0, int arg1 = 0, int arg2 = 0, int arg3 = 0, int arg4 = 0);
action native A_Quake(int intensity, int duration, int damrad, int tremrad, sound sfx = "world/quake");
Added QF_SINE - Squashed commit of the following: commit bc45fe3263d34ef5f746f524687999c19bf7b779 Author: Randy Heit <rheit@users.noreply.github.com> Date: Sun Mar 1 18:51:05 2015 -0600 wave scale -> wave speed commit ff96388b128c724c1198757bfa52f1935a263356 Author: Randy Heit <rheit@users.noreply.github.com> Date: Sun Mar 1 18:45:32 2015 -0600 More sine quake fixes commit 2a89749a6fe6d271b9fbdc218779f680afcf4cb6 Merge: 719dfbe 5456074 Author: MajorCooke <paul.growney22@gmail.com> Date: Sat Feb 28 20:37:22 2015 -0600 Added QF_WAVE to A_QuakeEx. - Changes the random quakes into a sine wave (see Shadow Warrior/Rise of the Triad reboots, Hard Reset, etc.) - Added 3 properties to control waves per second along each individual axis. Only works with QF_WAVE. - Intensity X/Y/Z property becomes the amplitude of the wave. - Stacks with regular quakes, allowing shaking along the camera which must be called using A_QuakeEx WITHOUT the flag, or the other quaking functions. - Uses the youngest quake's time for positioning. commit 54560741581e8d15cc7060e8e068cf85e9a4b432 Author: MajorCooke <paul.growney22@gmail.com> Date: Sat Feb 28 20:21:19 2015 -0600 Recommitted recommended changes by Randi, with some modifications. Now, we should be finished! commit 6f4473013411686d88fc185bdc1cc58b1035b0f1 Author: MajorCooke <paul.growney22@gmail.com> Date: Sat Feb 28 12:52:57 2015 -0600 Finish this revert. commit 467e53f9400f588a2ada9b32e7634cb1f4ad5066 Author: MajorCooke <paul.growney22@gmail.com> Date: Sat Feb 28 12:46:02 2015 -0600 Reverted back to what was working. commit da9de56a67efda08036e481fd5fccd5392ce6810 Author: MajorCooke <paul.growney22@gmail.com> Date: Thu Feb 26 18:53:20 2015 -0600 Forgot this bit, for testing. commit c5093d9bb97caf8478cefc32abc56a036feeea58 Author: MajorCooke <paul.growney22@gmail.com> Date: Thu Feb 26 18:52:46 2015 -0600 Some more progress, but... - This did not solve anything. In fact, it did the opposite -- completely broke wave quakes. Now they only happen whenever a random quake is in progress. - Left in the commented code on purpose so Randi can test it. commit 7e526405d2127cbb279f66008c8f8e55a5d497f3 Author: MajorCooke <paul.growney22@gmail.com> Date: Wed Feb 25 17:50:42 2015 -0600 - Use newest waveform timer, not oldest. commit 1356443609dbc6c7f46e081d0846816dc0836124 Author: MajorCooke <paul.growney22@gmail.com> Date: Wed Feb 25 17:32:09 2015 -0600 - Got regular quakes to multiply onto sine quakes, but the vice versa needs fixing too. commit d95796c94c70cd0229d4a6d30f69e3a7568b9588 Author: MajorCooke <paul.growney22@gmail.com> Date: Wed Feb 25 16:46:21 2015 -0600 - Last hurdle. Now just need to figure out how to properly scale up and down. commit 4bc3458e689155ce72c09776604d9eb4fa73d8be Author: MajorCooke <paul.growney22@gmail.com> Date: Tue Feb 24 23:18:03 2015 -0600 - Fixed the quakes being unstackable. commit b51012d6d4ea065bf7f6fc9c1a0472966491f7af Author: MajorCooke <paul.growney22@gmail.com> Date: Mon Feb 23 23:48:34 2015 -0600 QF_WAVE renamed from SINE. - Lots of ground covered, but still more to go. - Still need to figure out how to make the camera properly shudder. commit 427e4893193470bbf45415ffec70a0b69b8cccfd Author: MajorCooke <paul.growney22@gmail.com> Date: Sun Feb 22 16:52:30 2015 -0600 - Begin the groundworks for QF_SINE. - Need to figure out how to rework and manipulate the sine wave to move faster, and to allow going below 0 without breaking it too much.
2015-03-02 00:53:34 +00:00
action native A_QuakeEx(int intensityX, int intensityY, int intensityZ, int duration, int damrad, int tremrad, sound sfx = "world/quake", int flags = 0, float mulWaveX = 1, float mulWaveY = 1, float mulWaveZ = 1);
2012-08-24 21:02:49 +00:00
action native A_SetTics(int tics);
action native A_SetDamageType(name damagetype);
action native A_DropItem(class<Actor> item, int dropamount = -1, int chance = 256);
action native A_SetSpeed(float speed, int ptr = AAPTR_DEFAULT);
action native A_SetFloatSpeed(float speed, int ptr = AAPTR_DEFAULT);
action native A_SetPainThreshold(int threshold, int ptr = AAPTR_DEFAULT);
action native A_DamageSelf(int amount, name damagetype = "none", int flags = 0, class<Actor> filter = "None", name species = "None");
action native A_DamageTarget(int amount, name damagetype = "none", int flags = 0, class<Actor> filter = "None", name species = "None");
action native A_DamageMaster(int amount, name damagetype = "none", int flags = 0, class<Actor> filter = "None", name species = "None");
action native A_DamageTracer(int amount, name damagetype = "none", int flags = 0, class<Actor> filter = "None", name species = "None");
action native A_DamageChildren(int amount, name damagetype = "none", int flags = 0, class<Actor> filter = "None", name species = "None");
action native A_DamageSiblings(int amount, name damagetype = "none", int flags = 0, class<Actor> filter = "None", name species = "None");
action native A_KillTarget(name damagetype = "none", int flags = 0, class<Actor> filter = "None", name species = "None");
action native A_KillMaster(name damagetype = "none", int flags = 0, class<Actor> filter = "None", name species = "None");
action native A_KillTracer(name damagetype = "none", int flags = 0, class<Actor> filter = "None", name species = "None");
action native A_KillChildren(name damagetype = "none", int flags = 0, class<Actor> filter = "None", name species = "None");
action native A_KillSiblings(name damagetype = "none", int flags = 0, class<Actor> filter = "None", name species = "None");
action native A_RemoveTarget(int flags = 0, class<Actor> filter = "None", name species = "None");
action native A_RemoveMaster(int flags = 0, class<Actor> filter = "None", name species = "None");
action native A_RemoveTracer(int flags = 0, class<Actor> filter = "None", name species = "None");
action native A_RemoveChildren(bool removeall = false, int flags = 0, class<Actor> filter = "None", name species = "None");
action native A_RemoveSiblings(bool removeall = false, int flags = 0, class<Actor> filter = "None", name species = "None");
action native A_Remove(int removee, int flags = 0, class<Actor> filter = "None", name species = "None");
action native A_GiveToChildren(class<Inventory> itemtype, int amount = 0);
action native A_GiveToSiblings(class<Inventory> itemtype, int amount = 0);
action native A_TakeFromChildren(class<Inventory> itemtype, int amount = 0);
action native A_TakeFromSiblings(class<Inventory> itemtype, int amount = 0);
action native A_SetTeleFog(class<Actor> oldpos, class<Actor> newpos);
action native A_SwapTeleFog();
action native A_SetFloatBobPhase(int bob);
action native A_SetHealth(int health, int ptr = AAPTR_DEFAULT);
action native A_ResetHealth(int ptr = AAPTR_DEFAULT);
action native A_JumpIfHigherOrLower(state high, state low, float offsethigh = 0, float offsetlow = 0, bool includeHeight = true, int ptr = AAPTR_TARGET);
action native A_SetSpecies(name species, int ptr = AAPTR_DEFAULT);
action native A_SetRipperLevel(int level);
action native A_SetRipMin(int min);
action native A_SetRipMax(int max);
action native A_CheckBlock(state block, int flags = 0, int ptr = AAPTR_DEFAULT);
action native A_CheckSightOrRange(float distance, state label, bool two_dimension = false);
action native A_CheckRange(float distance, state label, bool two_dimension = false);
action native A_RearrangePointers(int newtarget, int newmaster = AAPTR_DEFAULT, int newtracer = AAPTR_DEFAULT, int flags=0);
action native A_TransferPointer(int ptr_source, int ptr_recepient, int sourcefield, int recepientfield=AAPTR_DEFAULT, int flags=0);
action native A_CopyFriendliness(int ptr_source = AAPTR_MASTER);
action native ACS_NamedExecute(string script, int mapnum=0, int arg1=0, int arg2=0, int arg3=0);
action native ACS_NamedSuspend(string script, int mapnum=0);
action native ACS_NamedTerminate(string script, int mapnum=0);
action native ACS_NamedLockedExecute(string script, int mapnum=0, int arg1=0, int arg2=0, int lock=0);
action native ACS_NamedLockedExecuteDoor(string script, int mapnum=0, int arg1=0, int arg2=0, int lock=0);
action native ACS_NamedExecuteWithResult(string script, int arg1=0, int arg2=0, int arg3=0, int arg4=0);
action native ACS_NamedExecuteAlways(string script, int mapnum=0, int arg1=0, int arg2=0, int arg3=0);
States
{
Spawn:
TNT1 A -1
Stop
Null:
TNT1 A 1
Stop
GenericFreezeDeath:
// Generic freeze death frames. Woo!
"####" "#" 5 A_GenericFreezeDeath
"----" A 1 A_FreezeDeathChunks
Wait
GenericCrush:
POL5 A -1
Stop
}
}