mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-12-02 08:53:42 +00:00
1b1e2ef7d2
Not used yet, but will be when the thinker lists are moved into FLevelLocals.
51 lines
878 B
Text
51 lines
878 B
Text
|
|
// Oracle -------------------------------------------------------------------
|
|
|
|
class Oracle : Actor
|
|
{
|
|
Default
|
|
{
|
|
Health 1;
|
|
Radius 15;
|
|
Height 56;
|
|
Monster;
|
|
+NOTDMATCH
|
|
+NOBLOOD
|
|
+NEVERRESPAWN
|
|
DamageFactor "Fire", 0.5;
|
|
DamageFactor "SpectralLow", 0;
|
|
MaxDropoffHeight 32;
|
|
Tag "$TAG_ORACLE";
|
|
DropItem "Meat";
|
|
}
|
|
|
|
States
|
|
{
|
|
Spawn:
|
|
ORCL A -1;
|
|
Stop;
|
|
Death:
|
|
ORCL BCDEFGHIJK 5;
|
|
ORCL L 5 A_NoBlocking;
|
|
ORCL M 5;
|
|
ORCL N 5 A_WakeOracleSpectre;
|
|
ORCL OP 5;
|
|
ORCL Q -1;
|
|
Stop;
|
|
}
|
|
|
|
void A_WakeOracleSpectre ()
|
|
{
|
|
ThinkerIterator it = Level.CreateThinkerIterator("AlienSpectre3");
|
|
Actor spectre = Actor(it.Next());
|
|
|
|
if (spectre != NULL && spectre.health > 0 && self.target != spectre)
|
|
{
|
|
spectre.CurSector.SoundTarget = spectre.LastHeard = self.LastHeard;
|
|
spectre.target = self.target;
|
|
spectre.SetState (spectre.SeeState);
|
|
}
|
|
}
|
|
|
|
|
|
}
|