mirror of
https://github.com/ZDoom/Raze.git
synced 2024-11-24 21:11:26 +00:00
3a00480efd
As soon as default init for CON gets in this won't work right anymore - these must come last, not first. This commit contains all the trivial cases with no inheritance concerns.
130 lines
2.4 KiB
Text
130 lines
2.4 KiB
Text
|
|
class RedneckGamblingMachine : DukeActor
|
|
{
|
|
default
|
|
{
|
|
spriteset "GAMBLINGMACHINE2", "GAMBLINGMACHINE3", "GAMBLINGMACHINE4", "GAMBLINGMACHINE5", "GAMBLINGMACHINE6", "GAMBLINGMACHINE7", "GAMBLINGMACHINE8", "GAMBLINGMACHINEBROKE";
|
|
spritesetindex 3;
|
|
RedneckGamblingMachine.winsound "COW3";
|
|
|
|
}
|
|
|
|
meta Sound winsound;
|
|
property winsound: winsound;
|
|
|
|
override void Initialize()
|
|
{
|
|
self.lotag = 1;
|
|
self.clipdist = 0;
|
|
self.extra = 0;
|
|
self.ChangeStat(STAT_ACTOR);
|
|
}
|
|
|
|
override void Tick()
|
|
{
|
|
int spriteindex;
|
|
if (self.extra && self.spritesetindex < 7)
|
|
{
|
|
let pl = Duke.GetViewPlayer();
|
|
|
|
if (self.spritesetindex != 0)
|
|
spriteindex = 0;
|
|
self.extra--;
|
|
if (self.extra == 0)
|
|
{
|
|
int rvar = random(0, 127);
|
|
if (rvar < 96)
|
|
{
|
|
spriteindex = 3;
|
|
}
|
|
else if (rvar < 112)
|
|
{
|
|
if (pl.SlotWin & 1)
|
|
{
|
|
spriteindex = 3;
|
|
}
|
|
else
|
|
{
|
|
spriteindex = 2;
|
|
self.spawn("DukeBatteryAmmo");
|
|
pl.SlotWin |= 1;
|
|
self.PlayActorSound(winsound);
|
|
}
|
|
}
|
|
else if (rvar < 120)
|
|
{
|
|
if (pl.SlotWin & 2)
|
|
{
|
|
spriteindex = 3;
|
|
}
|
|
else
|
|
{
|
|
spriteindex = 6;
|
|
self.spawn("RedneckDynamite");
|
|
pl.SlotWin |= 2;
|
|
self.PlayActorSound(winsound);
|
|
}
|
|
}
|
|
else if (rvar < 126)
|
|
{
|
|
if (pl.SlotWin & 4)
|
|
{
|
|
spriteindex = 3;
|
|
}
|
|
else
|
|
{
|
|
spriteindex = 5;
|
|
self.spawn("DukeSixpak");
|
|
pl.SlotWin |= 4;
|
|
self.PlayActorSound(winsound);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (pl.SlotWin & 8)
|
|
{
|
|
spriteindex = 3;
|
|
}
|
|
else
|
|
{
|
|
spriteindex = 4;
|
|
spawn("DukeAtomicHealth");
|
|
pl.SlotWin |= 8;
|
|
self.PlayActorSound(winsound);
|
|
}
|
|
}
|
|
}
|
|
self.setSpriteSetImage(spriteindex);
|
|
}
|
|
}
|
|
|
|
override void OnHit(DukeActor proj)
|
|
{
|
|
if (self.spritesetindex < 7)
|
|
{
|
|
self.SetSpriteSetImage(7);
|
|
self.PlayActorSound("GLASS_HEAVYBREAK");
|
|
}
|
|
}
|
|
|
|
override bool OnUse(DukePlayer p)
|
|
{
|
|
if (self.spritesetindex > 1 && self.spritesetindex < 7)
|
|
{
|
|
self.extra = 60;
|
|
self.PlayActorSound("SLOTS");
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
}
|
|
|
|
class RedneckGamblingMachine2 : RedneckGamblingMachine
|
|
{
|
|
default
|
|
{
|
|
spriteset "GAMBLINGMACHINE2_2", "GAMBLINGMACHINE2_3", "GAMBLINGMACHINE2_4", "GAMBLINGMACHINE2_5", "GAMBLINGMACHINE2_6", "GAMBLINGMACHINE2_7", "GAMBLINGMACHINE2_8", "GAMBLINGMACHINE2_BROKE";
|
|
RedneckGamblingMachine.winsound "VX_TPIN2";
|
|
}
|
|
}
|