mirror of
https://github.com/ZDoom/gzdoom-gles.git
synced 2024-11-13 07:57:51 +00:00
- scriptified PowerBuddha and PowerFrightener.
This commit is contained in:
parent
15f30886cd
commit
b132782c49
4 changed files with 66 additions and 120 deletions
|
@ -1890,16 +1890,16 @@ static int PatchMisc (int dummy)
|
||||||
"Minotaur",
|
"Minotaur",
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
static const PClass * const *types[] =
|
static const char *const types[] =
|
||||||
{
|
{
|
||||||
&RUNTIME_CLASS_CASTLESS(APowerInvulnerable),
|
"PowerInvulnerable",
|
||||||
&RUNTIME_CLASS_CASTLESS(APowerStrength),
|
"PowerStrength",
|
||||||
&RUNTIME_CLASS_CASTLESS(APowerInvisibility),
|
"PowerInvisibility",
|
||||||
&RUNTIME_CLASS_CASTLESS(APowerIronFeet),
|
"PowerIronFeet",
|
||||||
&RUNTIME_CLASS_CASTLESS(APowerLightAmp),
|
"PowerLightAmp",
|
||||||
&RUNTIME_CLASS_CASTLESS(APowerWeaponLevel2),
|
"PowerWeaponLevel2",
|
||||||
&RUNTIME_CLASS_CASTLESS(APowerSpeed),
|
"PowerSpeed",
|
||||||
&RUNTIME_CLASS_CASTLESS(APowerMinotaur)
|
"PowerMinotaur"
|
||||||
};
|
};
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
@ -1925,7 +1925,7 @@ static int PatchMisc (int dummy)
|
||||||
}
|
}
|
||||||
else if (a > 0)
|
else if (a > 0)
|
||||||
{
|
{
|
||||||
static_cast<APowerup *>(GetDefaultByType (*types[i]))->BlendColor = PalEntry(
|
static_cast<APowerup *>(GetDefaultByName (types[i]))->BlendColor = PalEntry(
|
||||||
BYTE(clamp(a,0.f,1.f)*255.f),
|
BYTE(clamp(a,0.f,1.f)*255.f),
|
||||||
clamp(r,0,255),
|
clamp(r,0,255),
|
||||||
clamp(g,0,255),
|
clamp(g,0,255),
|
||||||
|
@ -1933,7 +1933,7 @@ static int PatchMisc (int dummy)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
static_cast<APowerup *>(GetDefaultByType (*types[i]))->BlendColor = 0;
|
static_cast<APowerup *>(GetDefaultByName (types[i]))->BlendColor = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1290,10 +1290,6 @@ void APowerSpeed::DoEffect ()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Minotaur (aka Dark Servant) powerup ---------------------------------------
|
|
||||||
|
|
||||||
IMPLEMENT_CLASS(APowerMinotaur, false, false)
|
|
||||||
|
|
||||||
// Targeter powerup ---------------------------------------------------------
|
// Targeter powerup ---------------------------------------------------------
|
||||||
|
|
||||||
IMPLEMENT_CLASS(APowerTargeter, false, false)
|
IMPLEMENT_CLASS(APowerTargeter, false, false)
|
||||||
|
@ -1409,78 +1405,6 @@ void APowerTargeter::PositionAccuracy ()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Frightener Powerup --------------------------------
|
|
||||||
|
|
||||||
IMPLEMENT_CLASS(APowerFrightener, false, false)
|
|
||||||
|
|
||||||
//===========================================================================
|
|
||||||
//
|
|
||||||
// APowerFrightener :: InitEffect
|
|
||||||
//
|
|
||||||
//===========================================================================
|
|
||||||
|
|
||||||
void APowerFrightener::InitEffect ()
|
|
||||||
{
|
|
||||||
Super::InitEffect();
|
|
||||||
|
|
||||||
if (Owner== NULL || Owner->player == NULL)
|
|
||||||
return;
|
|
||||||
|
|
||||||
Owner->player->cheats |= CF_FRIGHTENING;
|
|
||||||
}
|
|
||||||
|
|
||||||
//===========================================================================
|
|
||||||
//
|
|
||||||
// APowerFrightener :: EndEffect
|
|
||||||
//
|
|
||||||
//===========================================================================
|
|
||||||
|
|
||||||
void APowerFrightener::EndEffect ()
|
|
||||||
{
|
|
||||||
Super::EndEffect();
|
|
||||||
|
|
||||||
if (Owner== NULL || Owner->player == NULL)
|
|
||||||
return;
|
|
||||||
|
|
||||||
Owner->player->cheats &= ~CF_FRIGHTENING;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Buddha Powerup --------------------------------
|
|
||||||
|
|
||||||
IMPLEMENT_CLASS(APowerBuddha, false, false)
|
|
||||||
|
|
||||||
//===========================================================================
|
|
||||||
//
|
|
||||||
// APowerBuddha :: InitEffect
|
|
||||||
//
|
|
||||||
//===========================================================================
|
|
||||||
|
|
||||||
void APowerBuddha::InitEffect ()
|
|
||||||
{
|
|
||||||
Super::InitEffect();
|
|
||||||
|
|
||||||
if (Owner== NULL || Owner->player == NULL)
|
|
||||||
return;
|
|
||||||
|
|
||||||
Owner->player->cheats |= CF_BUDDHA;
|
|
||||||
}
|
|
||||||
|
|
||||||
//===========================================================================
|
|
||||||
//
|
|
||||||
// APowerBuddha :: EndEffect
|
|
||||||
//
|
|
||||||
//===========================================================================
|
|
||||||
|
|
||||||
void APowerBuddha::EndEffect ()
|
|
||||||
{
|
|
||||||
Super::EndEffect();
|
|
||||||
|
|
||||||
if (Owner== NULL || Owner->player == NULL)
|
|
||||||
return;
|
|
||||||
|
|
||||||
Owner->player->cheats &= ~CF_BUDDHA;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Morph powerup ------------------------------------------------------
|
// Morph powerup ------------------------------------------------------
|
||||||
|
|
||||||
IMPLEMENT_CLASS(APowerMorph, false, true)
|
IMPLEMENT_CLASS(APowerMorph, false, true)
|
||||||
|
|
|
@ -160,11 +160,6 @@ public:
|
||||||
|
|
||||||
#define PSF_NOTRAIL 1
|
#define PSF_NOTRAIL 1
|
||||||
|
|
||||||
class APowerMinotaur : public APowerup
|
|
||||||
{
|
|
||||||
DECLARE_CLASS (APowerMinotaur, APowerup)
|
|
||||||
};
|
|
||||||
|
|
||||||
class APowerTargeter : public APowerup
|
class APowerTargeter : public APowerup
|
||||||
{
|
{
|
||||||
DECLARE_CLASS (APowerTargeter, APowerup)
|
DECLARE_CLASS (APowerTargeter, APowerup)
|
||||||
|
@ -178,31 +173,6 @@ protected:
|
||||||
virtual bool HandlePickup(AInventory *item) override;
|
virtual bool HandlePickup(AInventory *item) override;
|
||||||
};
|
};
|
||||||
|
|
||||||
class APowerFrightener : public APowerup
|
|
||||||
{
|
|
||||||
DECLARE_CLASS (APowerFrightener, APowerup)
|
|
||||||
protected:
|
|
||||||
virtual void InitEffect () override;
|
|
||||||
virtual void EndEffect () override;
|
|
||||||
};
|
|
||||||
|
|
||||||
class APowerBuddha : public APowerup
|
|
||||||
{
|
|
||||||
DECLARE_CLASS (APowerBuddha, APowerup)
|
|
||||||
protected:
|
|
||||||
virtual void InitEffect () override;
|
|
||||||
virtual void EndEffect () override;
|
|
||||||
};
|
|
||||||
|
|
||||||
class APowerTimeFreezer : public APowerup
|
|
||||||
{
|
|
||||||
DECLARE_CLASS( APowerTimeFreezer, APowerup )
|
|
||||||
protected:
|
|
||||||
virtual void InitEffect() override;
|
|
||||||
virtual void DoEffect() override;
|
|
||||||
virtual void EndEffect() override;
|
|
||||||
};
|
|
||||||
|
|
||||||
class APowerMorph : public APowerup
|
class APowerMorph : public APowerup
|
||||||
{
|
{
|
||||||
DECLARE_CLASS( APowerMorph, APowerup )
|
DECLARE_CLASS( APowerMorph, APowerup )
|
||||||
|
|
|
@ -169,7 +169,7 @@ class PlayerSpeedTrail : Actor
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class PowerMinotaur : Powerup native
|
class PowerMinotaur : Powerup
|
||||||
{
|
{
|
||||||
Default
|
Default
|
||||||
{
|
{
|
||||||
|
@ -197,20 +197,72 @@ class PowerTargeter : Powerup native
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class PowerFrightener : Powerup native
|
//===========================================================================
|
||||||
|
//
|
||||||
|
// Frightener
|
||||||
|
//
|
||||||
|
//===========================================================================
|
||||||
|
|
||||||
|
class PowerFrightener : Powerup
|
||||||
{
|
{
|
||||||
Default
|
Default
|
||||||
{
|
{
|
||||||
Powerup.Duration -60;
|
Powerup.Duration -60;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override void InitEffect ()
|
||||||
|
{
|
||||||
|
Super.InitEffect();
|
||||||
|
|
||||||
|
if (Owner== null || Owner.player == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
Owner.player.cheats |= CF_FRIGHTENING;
|
||||||
|
}
|
||||||
|
|
||||||
|
override void EndEffect ()
|
||||||
|
{
|
||||||
|
Super.EndEffect();
|
||||||
|
|
||||||
|
if (Owner== null || Owner.player == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
Owner.player.cheats &= ~CF_FRIGHTENING;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class PowerBuddha : Powerup native
|
//===========================================================================
|
||||||
|
//
|
||||||
|
// Buddha
|
||||||
|
//
|
||||||
|
//===========================================================================
|
||||||
|
|
||||||
|
class PowerBuddha : Powerup
|
||||||
{
|
{
|
||||||
Default
|
Default
|
||||||
{
|
{
|
||||||
Powerup.Duration -60;
|
Powerup.Duration -60;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override void InitEffect ()
|
||||||
|
{
|
||||||
|
Super.InitEffect();
|
||||||
|
|
||||||
|
if (Owner== null || Owner.player == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
Owner.player.cheats |= CF_BUDDHA;
|
||||||
|
}
|
||||||
|
|
||||||
|
override void EndEffect ()
|
||||||
|
{
|
||||||
|
Super.EndEffect();
|
||||||
|
|
||||||
|
if (Owner== null || Owner.player == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
Owner.player.cheats &= ~CF_BUDDHA;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
|
Loading…
Reference in a new issue