mirror of
https://github.com/ZDoom/qzdoom-gpl.git
synced 2024-11-23 20:32:51 +00:00
cf39af0642
This can be done with a lot less overhead by using one of the object's properties to store the activation flag, so that all the nearly redundant trigger methods can be folded into one.
144 lines
2.3 KiB
Text
144 lines
2.3 KiB
Text
|
|
class SectorAction : Actor native
|
|
{
|
|
// this class uses health to define the activation type.
|
|
enum EActivation
|
|
{
|
|
SECSPAC_Enter = 1,
|
|
SECSPAC_Exit = 2,
|
|
SECSPAC_HitFloor = 4,
|
|
SECSPAC_HitCeiling = 8,
|
|
SECSPAC_Use = 16,
|
|
SECSPAC_UseWall = 32,
|
|
SECSPAC_EyesDive = 64,
|
|
SECSPAC_EyesSurface = 128,
|
|
SECSPAC_EyesBelowC = 256,
|
|
SECSPAC_EyesAboveC = 512,
|
|
SECSPAC_HitFakeFloor= 1024,
|
|
};
|
|
|
|
default
|
|
{
|
|
+NOBLOCKMAP
|
|
+NOSECTOR
|
|
+NOGRAVITY
|
|
+DONTSPLASH
|
|
}
|
|
}
|
|
|
|
// Triggered when entering sector -------------------------------------------
|
|
|
|
class SecActEnter : SectorAction
|
|
{
|
|
Default
|
|
{
|
|
Health SECSPAC_Enter;
|
|
}
|
|
}
|
|
|
|
// Triggered when leaving sector --------------------------------------------
|
|
|
|
class SecActExit : SectorAction
|
|
{
|
|
Default
|
|
{
|
|
Health SECSPAC_Exit;
|
|
}
|
|
}
|
|
|
|
// Triggered when hitting sector's floor ------------------------------------
|
|
|
|
class SecActHitFloor : SectorAction
|
|
{
|
|
Default
|
|
{
|
|
Health SECSPAC_HitFloor;
|
|
}
|
|
}
|
|
|
|
// Triggered when hitting sector's ceiling ----------------------------------
|
|
|
|
class SecActHitCeil : SectorAction
|
|
{
|
|
Default
|
|
{
|
|
Health SECSPAC_HitCeiling;
|
|
}
|
|
}
|
|
|
|
// Triggered when using inside sector ---------------------------------------
|
|
|
|
class SecActUse : SectorAction
|
|
{
|
|
Default
|
|
{
|
|
Health SECSPAC_Use;
|
|
}
|
|
}
|
|
|
|
// Triggered when using a sector's wall -------------------------------------
|
|
|
|
class SecActUseWall : SectorAction
|
|
{
|
|
Default
|
|
{
|
|
Health SECSPAC_UseWall;
|
|
}
|
|
}
|
|
|
|
// Triggered when eyes go below fake floor ----------------------------------
|
|
|
|
class SecActEyesDive : SectorAction
|
|
{
|
|
Default
|
|
{
|
|
Health SECSPAC_EyesDive;
|
|
}
|
|
}
|
|
|
|
// Triggered when eyes go above fake floor ----------------------------------
|
|
|
|
class SecActEyesSurface : SectorAction
|
|
{
|
|
Default
|
|
{
|
|
Health SECSPAC_EyesSurface;
|
|
}
|
|
}
|
|
|
|
// Triggered when eyes go below fake ceiling ----------------------------------
|
|
|
|
class SecActEyesBelowC : SectorAction
|
|
{
|
|
Default
|
|
{
|
|
Health SECSPAC_EyesBelowC;
|
|
}
|
|
}
|
|
|
|
// Triggered when eyes go above fake ceiling ----------------------------------
|
|
|
|
class SecActEyesAboveC : SectorAction
|
|
{
|
|
Default
|
|
{
|
|
Health SECSPAC_EyesAboveC;
|
|
}
|
|
}
|
|
|
|
// Triggered when hitting fake floor ----------------------------------
|
|
|
|
class SecActHitFakeFloor : SectorAction
|
|
{
|
|
Default
|
|
{
|
|
Health SECSPAC_HitFakeFloor;
|
|
}
|
|
}
|
|
|
|
// Music changer ----------------------------------
|
|
|
|
class MusicChanger : SectorAction native
|
|
{
|
|
}
|
|
|