qzdoom-gpl/wadsrc/static/zscript/hexen/teleportother.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

130 lines
1.8 KiB
Text

// Teleport Other Artifact --------------------------------------------------
class ArtiTeleportOther : Inventory native
{
Default
{
+COUNTITEM
+FLOATBOB
+INVENTORY.INVBAR
+INVENTORY.FANCYPICKUPSOUND
Inventory.PickupFlash "PickupFlash";
Inventory.DefMaxAmount;
Inventory.Icon "ARTITELO";
Inventory.PickupSound "misc/p_pkup";
Inventory.PickupMessage "$TXT_ARTITELEPORTOTHER";
Tag "$TAG_ARTITELEPORTOTHER";
}
States
{
Spawn:
TELO ABCD 5;
Loop;
}
}
// Teleport Other FX --------------------------------------------------------
class TelOtherFX1 : Actor native
{
Default
{
Damage 10001;
Projectile;
-ACTIVATEIMPACT
-ACTIVATEPCROSS
+BLOODLESSIMPACT
Radius 16;
Height 16;
Speed 20;
}
native void A_TeloSpawnA();
native void A_TeloSpawnB();
native void A_TeloSpawnC();
native void A_TeloSpawnD();
native void A_CheckTeleRing ();
States
{
Spawn:
TRNG E 5 Bright;
TRNG D 4 Bright;
TRNG C 3 Bright A_TeloSpawnC;
TRNG B 3 Bright A_TeloSpawnB;
TRNG A 3 Bright A_TeloSpawnA;
TRNG B 3 Bright A_TeloSpawnB;
TRNG C 3 Bright A_TeloSpawnC;
TRNG D 3 Bright A_TeloSpawnD;
Goto Spawn+2;
Death:
TRNG E 3 Bright;
Stop;
}
}
class TelOtherFX2 : TelOtherFX1
{
Default
{
Speed 16;
}
States
{
Spawn:
TRNG BCDCB 4 Bright;
TRNG A 4 Bright A_CheckTeleRing;
Loop;
}
}
class TelOtherFX3 : TelOtherFX1
{
Default
{
Speed 16;
}
States
{
Spawn:
TRNG CDCBA 4 Bright;
TRNG B 4 Bright A_CheckTeleRing;
Loop;
}
}
class TelOtherFX4 : TelOtherFX1
{
Default
{
Speed 16;
}
States
{
Spawn:
TRNG DCBAB 4 Bright;
TRNG C 4 Bright A_CheckTeleRing;
Loop;
}
}
class TelOtherFX5 : TelOtherFX1
{
Default
{
Speed 16;
}
States
{
Spawn:
TRNG CBABC 4 Bright;
TRNG D 4 Bright A_CheckTeleRing;
Loop;
}
}