- scriptified PowerLightAmp and PowerTorch.
- allow calling qualified super methods so skipping some levels is possible.
This commit is contained in:
parent
d2d6e5d486
commit
d207b571d9
5 changed files with 141 additions and 139 deletions
|
|
@ -903,110 +903,6 @@ void APowerMask::DoEffect ()
|
|||
}
|
||||
}
|
||||
|
||||
// Light-Amp Powerup ---------------------------------------------------------
|
||||
|
||||
IMPLEMENT_CLASS(APowerLightAmp, false, false)
|
||||
|
||||
//===========================================================================
|
||||
//
|
||||
// APowerLightAmp :: DoEffect
|
||||
//
|
||||
//===========================================================================
|
||||
|
||||
void APowerLightAmp::DoEffect ()
|
||||
{
|
||||
Super::DoEffect ();
|
||||
|
||||
if (Owner->player != NULL && Owner->player->fixedcolormap < NUMCOLORMAPS)
|
||||
{
|
||||
if (!isBlinking())
|
||||
{
|
||||
Owner->player->fixedlightlevel = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
Owner->player->fixedlightlevel = -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//===========================================================================
|
||||
//
|
||||
// APowerLightAmp :: EndEffect
|
||||
//
|
||||
//===========================================================================
|
||||
|
||||
void APowerLightAmp::EndEffect ()
|
||||
{
|
||||
Super::EndEffect();
|
||||
if (Owner != NULL && Owner->player != NULL && Owner->player->fixedcolormap < NUMCOLORMAPS)
|
||||
{
|
||||
Owner->player->fixedlightlevel = -1;
|
||||
}
|
||||
}
|
||||
|
||||
// Torch Powerup -------------------------------------------------------------
|
||||
|
||||
IMPLEMENT_CLASS(APowerTorch, false, false)
|
||||
|
||||
//===========================================================================
|
||||
//
|
||||
// APowerTorch :: Serialize
|
||||
//
|
||||
//===========================================================================
|
||||
|
||||
void APowerTorch::Serialize(FSerializer &arc)
|
||||
{
|
||||
Super::Serialize (arc);
|
||||
arc("newtorch", NewTorch)
|
||||
("newtorchdelta", NewTorchDelta);
|
||||
}
|
||||
|
||||
//===========================================================================
|
||||
//
|
||||
// APowerTorch :: DoEffect
|
||||
//
|
||||
//===========================================================================
|
||||
|
||||
void APowerTorch::DoEffect ()
|
||||
{
|
||||
if (Owner == NULL || Owner->player == NULL)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (EffectTics <= BLINKTHRESHOLD || Owner->player->fixedcolormap >= NUMCOLORMAPS)
|
||||
{
|
||||
Super::DoEffect ();
|
||||
}
|
||||
else
|
||||
{
|
||||
APowerup::DoEffect ();
|
||||
|
||||
if (!(level.time & 16) && Owner->player != NULL)
|
||||
{
|
||||
if (NewTorch != 0)
|
||||
{
|
||||
if (Owner->player->fixedlightlevel + NewTorchDelta > 7
|
||||
|| Owner->player->fixedlightlevel + NewTorchDelta < 0
|
||||
|| NewTorch == Owner->player->fixedlightlevel)
|
||||
{
|
||||
NewTorch = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
Owner->player->fixedlightlevel += NewTorchDelta;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
NewTorch = (pr_torch() & 7) + 1;
|
||||
NewTorchDelta = (NewTorch == Owner->player->fixedlightlevel) ?
|
||||
0 : ((NewTorch > Owner->player->fixedlightlevel) ? 1 : -1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Speed Powerup -------------------------------------------------------------
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue