gzdoom/wadsrc/static/zscript/shared/bridge.txt
Christoph Oelckers 371712c53a - turned everything I could into non-action functions.
- fixed emission of the self pointer in FxVMFunctionCall. I did not realize that the self expression only sets up a register for the value, not pushing it onto the stack.
2016-10-22 17:49:08 +02:00

129 lines
1.6 KiB
Text

// Bridge ball -------------------------------------------------------------
class BridgeBall : Actor
{
default
{
+NOBLOCKMAP
+NOTELEPORT
+NOGRAVITY
}
native void A_BridgeOrbit();
States
{
Spawn:
TLGL A 2 Bright;
TLGL A 1 Bright A_BridgeOrbit;
Wait;
}
}
// The bridge itself -------------------------------------------------------
class CustomBridge : Actor native
{
default
{
+SOLID
+NOGRAVITY
+NOLIFTDROP
+ACTLIKEBRIDGE
Radius 32;
Height 2;
RenderStyle "None";
}
native void A_BridgeInit(class<Actor> balltype = "BridgeBall");
states
{
Spawn:
TLGL ABCDE 3 Bright;
Loop;
See:
TLGL A 2;
TLGL A 2 A_BridgeInit;
TLGL A -1;
Stop;
Death:
TLGL A 2;
TLGL A 300;
Stop;
}
}
// The Hexen bridge -------------------------------------------------------
class Bridge : CustomBridge
{
default
{
RenderStyle "None";
Args 32, 2, 3, 0;
}
}
// The ZDoom bridge -------------------------------------------------------
class ZBridge : CustomBridge
{
default
{
Args 36, 4, 0, 0;
}
}
// Invisible bridge --------------------------------------------------------
class InvisibleBridge : Actor native
{
default
{
RenderStyle "None";
Radius 32;
Height 4;
+SOLID
+NOGRAVITY
+NOLIFTDROP
+ACTLIKEBRIDGE
}
States
{
Spawn:
TNT1 A -1;
Stop;
}
}
// And some invisible bridges from Skull Tag -------------------------------
class InvisibleBridge32 : InvisibleBridge
{
default
{
Radius 32;
Height 8;
}
}
class InvisibleBridge16 : InvisibleBridge
{
default
{
Radius 16;
Height 8;
}
}
class InvisibleBridge8 : InvisibleBridge
{
default
{
Radius 8;
Height 8;
}
}