mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-10 23:01:50 +00:00
- Fixed: Getting remorphed into a chicken should give you a Tome of Power so that you become a
super chicken. Rawr! The PlayerPawn flag CANSUPERMORPH now enables this. SVN r3763 (trunk)
This commit is contained in:
parent
6f93b88245
commit
a26cd841ae
4 changed files with 10 additions and 0 deletions
|
@ -159,6 +159,7 @@ class APlayerChunk : public APlayerPawn
|
|||
enum
|
||||
{
|
||||
PPF_NOTHRUSTWHENINVUL = 1, // Attacks do not thrust the player if they are invulnerable.
|
||||
PPF_CANSUPERMORPH = 2, // Being remorphed into this class can give you a Tome of Power
|
||||
};
|
||||
|
||||
//
|
||||
|
|
|
@ -47,6 +47,13 @@ bool P_MorphPlayer (player_t *activator, player_t *p, const PClass *spawntype, i
|
|||
}
|
||||
if (p->morphTics)
|
||||
{ // Player is already a beast
|
||||
if ((p->mo->GetClass() == spawntype)
|
||||
&& (p->mo->PlayerFlags & PPF_CANSUPERMORPH)
|
||||
&& (p->morphTics < (((duration) ? duration : MORPHTICS) - TICRATE))
|
||||
&& (p->mo->FindInventory (RUNTIME_CLASS(APowerWeaponLevel2), true) == NULL))
|
||||
{ // Make a super chicken
|
||||
p->mo->GiveInventoryType (RUNTIME_CLASS(APowerWeaponLevel2));
|
||||
}
|
||||
return false;
|
||||
}
|
||||
if (p->health <= 0)
|
||||
|
|
|
@ -333,6 +333,7 @@ static FFlagDef PlayerPawnFlags[] =
|
|||
{
|
||||
// PlayerPawn flags
|
||||
DEFINE_FLAG(PPF, NOTHRUSTWHENINVUL, APlayerPawn, PlayerFlags),
|
||||
DEFINE_FLAG(PPF, CANSUPERMORPH, APlayerPawn, PlayerFlags),
|
||||
};
|
||||
|
||||
static const struct FFlagList { const PClass *Type; FFlagDef *Defs; int NumDefs; } FlagLists[] =
|
||||
|
|
|
@ -68,6 +68,7 @@ ACTOR ChickenPlayer : PlayerPawn native
|
|||
Speed 1
|
||||
Gravity 0.125
|
||||
+NOSKIN
|
||||
+CANSUPERMORPH
|
||||
PainSound "chicken/pain"
|
||||
DeathSound "chicken/death"
|
||||
Player.JumpZ 1
|
||||
|
|
Loading…
Reference in a new issue