mirror of
https://github.com/ZDoom/Raze.git
synced 2024-12-12 05:32:14 +00:00
513de38723
Using ownerActor is not robust, for some actors this will have unwanted side effects.
50 lines
839 B
Text
50 lines
839 B
Text
class RedneckPiano : DukeActor
|
|
{
|
|
default
|
|
{
|
|
spriteset "PIANO", "PIANOBUST";
|
|
}
|
|
|
|
override void Initialize(DukeActor spawner)
|
|
{
|
|
self.lotag = 5;
|
|
self.clipdist = 0;
|
|
self.ChangeStat(STAT_ACTOR);
|
|
}
|
|
|
|
override void Tick()
|
|
{
|
|
if (self.lotag == 5)
|
|
if (!Duke.CheckSoundPlaying("PIANO_P2"))
|
|
self.PlayActorSound("PIANO_P2");
|
|
}
|
|
|
|
override void onHit(DukeActor hitter)
|
|
{
|
|
if (self.lotag == 5)
|
|
{
|
|
self.lotag = 0;
|
|
self.setSpriteSetImage(1);
|
|
self.PlayActorSound("PIANO_P3");
|
|
DukeSpriteIterator it;
|
|
for (let act = it.First(); act; act = it.Next())
|
|
{
|
|
if (act is 'RedneckPianoKeys') act.setSpriteSetImage(1);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
class RedneckPianoKeys : DukeActor
|
|
{
|
|
default
|
|
{
|
|
spriteset "PIANOKEYS", "PIANOKEYSBUST";
|
|
}
|
|
|
|
override bool Animate(tspritetype tspr)
|
|
{
|
|
tspr.shade = self.shade;
|
|
return true;
|
|
}
|
|
}
|