mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-13 16:07:45 +00:00
c880b26d98
This should for now conclude actor class scriptification. The remaining ten classes with the exception of MorphedMonster are all too essential or too closely tied to engine feature so they should remain native.
241 lines
3.5 KiB
Text
241 lines
3.5 KiB
Text
|
|
// Default class for unregistered doomednums -------------------------------
|
|
|
|
class Unknown : Actor
|
|
{
|
|
Default
|
|
{
|
|
Radius 32;
|
|
Height 56;
|
|
+NOGRAVITY
|
|
+NOBLOCKMAP
|
|
+DONTSPLASH
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
UNKN A -1;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
// Route node for monster patrols -------------------------------------------
|
|
|
|
class PatrolPoint : Actor
|
|
{
|
|
Default
|
|
{
|
|
Radius 8;
|
|
Height 8;
|
|
Mass 10;
|
|
+NOGRAVITY
|
|
+NOBLOCKMAP
|
|
+DONTSPLASH
|
|
RenderStyle "None";
|
|
}
|
|
}
|
|
|
|
// A special to execute when a monster reaches a matching patrol point ------
|
|
|
|
class PatrolSpecial : Actor
|
|
{
|
|
Default
|
|
{
|
|
Radius 8;
|
|
Height 8;
|
|
Mass 10;
|
|
+NOGRAVITY
|
|
+NOBLOCKMAP
|
|
+DONTSPLASH
|
|
RenderStyle "None";
|
|
}
|
|
}
|
|
|
|
// Map spot ----------------------------------------------------------------
|
|
|
|
class MapSpot : Actor
|
|
{
|
|
Default
|
|
{
|
|
+NOBLOCKMAP
|
|
+NOSECTOR
|
|
+NOGRAVITY
|
|
+DONTSPLASH
|
|
RenderStyle "None";
|
|
CameraHeight 0;
|
|
}
|
|
}
|
|
|
|
// same with different editor number for Legacy maps -----------------------
|
|
|
|
class FS_Mapspot : Mapspot
|
|
{
|
|
}
|
|
|
|
// Map spot with gravity ---------------------------------------------------
|
|
|
|
class MapSpotGravity : MapSpot
|
|
{
|
|
Default
|
|
{
|
|
-NOBLOCKMAP
|
|
-NOSECTOR
|
|
-NOGRAVITY
|
|
}
|
|
}
|
|
|
|
// Point Pushers -----------------------------------------------------------
|
|
|
|
class PointPusher : Actor
|
|
{
|
|
Default
|
|
{
|
|
+NOBLOCKMAP
|
|
+INVISIBLE
|
|
+NOCLIP
|
|
}
|
|
}
|
|
|
|
class PointPuller : Actor
|
|
{
|
|
Default
|
|
{
|
|
+NOBLOCKMAP
|
|
+INVISIBLE
|
|
+NOCLIP
|
|
}
|
|
}
|
|
|
|
// Bloody gibs -------------------------------------------------------------
|
|
|
|
class RealGibs : Actor
|
|
{
|
|
Default
|
|
{
|
|
+DROPOFF
|
|
+CORPSE
|
|
+NOTELEPORT
|
|
+DONTGIB
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
goto GenericCrush;
|
|
}
|
|
}
|
|
|
|
// Gibs that can be placed on a map. ---------------------------------------
|
|
//
|
|
// These need to be a separate class from the above, in case someone uses
|
|
// a deh patch to change the gibs, since ZDoom actually creates a gib class
|
|
// for actors that get crushed instead of changing their state as Doom did.
|
|
|
|
class Gibs : RealGibs
|
|
{
|
|
Default
|
|
{
|
|
ClearFlags;
|
|
}
|
|
}
|
|
|
|
// Needed for loading Build maps -------------------------------------------
|
|
|
|
class CustomSprite : Actor
|
|
{
|
|
Default
|
|
{
|
|
+NOBLOCKMAP
|
|
+NOGRAVITY
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
TNT1 A -1;
|
|
Stop;
|
|
}
|
|
|
|
override void BeginPlay ()
|
|
{
|
|
String name;
|
|
Super.BeginPlay ();
|
|
|
|
format(name, "BTIL%04d", args[0] & 0xffff);
|
|
picnum = TexMan.CheckForTexture (name, TexMan.TYPE_Build);
|
|
if (!picnum.Exists())
|
|
{
|
|
Destroy();
|
|
return;
|
|
}
|
|
|
|
Scale.X = args[2] / 64.;
|
|
Scale.Y = args[3] / 64.;
|
|
|
|
int cstat = args[4];
|
|
if (cstat & 2)
|
|
{
|
|
A_SetRenderStyle((cstat & 512) ? 0.6666 : 0.3333, STYLE_Translucent);
|
|
}
|
|
if (cstat & 4) bXFlip = true;
|
|
if (cstat & 8) bYFlip = true;
|
|
if (cstat & 16) bWallSprite = true;
|
|
if (cstat & 32) bFlatSprite = true;
|
|
}
|
|
}
|
|
|
|
// SwitchableDecoration: Activate and Deactivate change state --------------
|
|
|
|
class SwitchableDecoration : Actor
|
|
{
|
|
override void Activate (Actor activator)
|
|
{
|
|
SetStateLabel("Active");
|
|
}
|
|
|
|
override void Deactivate (Actor activator)
|
|
{
|
|
SetStateLabel("Inactive");
|
|
}
|
|
|
|
}
|
|
|
|
class SwitchingDecoration : SwitchableDecoration
|
|
{
|
|
override void Deactivate (Actor activator)
|
|
{
|
|
}
|
|
}
|
|
|
|
// Sector flag setter ------------------------------------------------------
|
|
|
|
class SectorFlagSetter : Actor
|
|
{
|
|
Default
|
|
{
|
|
+NOBLOCKMAP
|
|
+NOGRAVITY
|
|
+DONTSPLASH
|
|
RenderStyle "None";
|
|
}
|
|
|
|
override void BeginPlay ()
|
|
{
|
|
Super.BeginPlay ();
|
|
CurSector.Flags |= args[0];
|
|
}
|
|
}
|
|
|
|
// Marker for sounds : Actor -------------------------------------------------------
|
|
|
|
class SpeakerIcon : Unknown
|
|
{
|
|
States
|
|
{
|
|
Spawn:
|
|
SPKR A -1 BRIGHT;
|
|
Stop;
|
|
}
|
|
Default
|
|
{
|
|
Scale 0.125;
|
|
}
|
|
}
|