2022-12-12 08:18:47 +00:00
|
|
|
|
|
|
|
class DukeTransporterStar : DukeActor
|
|
|
|
{
|
|
|
|
default
|
|
|
|
{
|
|
|
|
pic "TRANSPORTERSTAR";
|
2022-12-16 11:47:30 +00:00
|
|
|
+FORCERUNCON;
|
|
|
|
+NOTELEPORT;
|
2022-12-12 08:18:47 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
override void Initialize()
|
|
|
|
{
|
|
|
|
let owner = self.ownerActor;
|
|
|
|
if (owner == nullptr || owner == self)
|
|
|
|
{
|
|
|
|
scale = (0, 0);
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
if (owner.statnum == STAT_PROJECTILE)
|
|
|
|
{
|
|
|
|
self.scale = (0.125, 0.125);
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
self.scale = (0.75, 1);
|
|
|
|
if (owner.statnum == STAT_PLAYER || owner.badguy())
|
|
|
|
self.pos.Z -= 32;
|
|
|
|
}
|
|
|
|
|
|
|
|
self.cstat = CSTAT_SPRITE_YCENTER | CSTAT_SPRITE_TRANSLUCENT;
|
|
|
|
self.angle = owner.angle;
|
|
|
|
|
|
|
|
self.vel.X = 8;
|
|
|
|
self.DoMove(CLIPMASK0);
|
|
|
|
self.SetPosition(self.pos);
|
|
|
|
self.ChangeStat(STAT_MISC);
|
|
|
|
self.shade = -127;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
class DukeTransporterBeam : DukeActor
|
|
|
|
{
|
|
|
|
default
|
|
|
|
{
|
|
|
|
pic "TRANSPORTERBEAM";
|
2022-12-16 11:47:30 +00:00
|
|
|
+FORCERUNCON;
|
2022-12-20 18:27:25 +00:00
|
|
|
+NOTELEPORT;
|
2022-12-12 08:18:47 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
override void Initialize()
|
|
|
|
{
|
|
|
|
let owner = self.ownerActor;
|
|
|
|
if (owner == nullptr || owner == self)
|
|
|
|
{
|
|
|
|
scale = (0, 0);
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
self.scale = (0.484375, REPEAT_SCALE);
|
|
|
|
self.pos.Z = owner.sector.floorz - gs.playerheight;
|
|
|
|
|
|
|
|
self.cstat = CSTAT_SPRITE_YCENTER | CSTAT_SPRITE_TRANSLUCENT;
|
|
|
|
self.angle = owner.angle;
|
|
|
|
|
|
|
|
self.vel.X = 8;
|
|
|
|
self.DoMove(CLIPMASK0);
|
|
|
|
self.SetPosition(self.pos);
|
|
|
|
self.ChangeStat(STAT_MISC);
|
|
|
|
self.shade = -127;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|