- 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:
Randy Heit 2012-07-15 03:10:00 +00:00
parent 6f93b88245
commit a26cd841ae
4 changed files with 10 additions and 0 deletions

View file

@ -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
};
//

View file

@ -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)

View file

@ -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[] =

View file

@ -68,6 +68,7 @@ ACTOR ChickenPlayer : PlayerPawn native
Speed 1
Gravity 0.125
+NOSKIN
+CANSUPERMORPH
PainSound "chicken/pain"
DeathSound "chicken/death"
Player.JumpZ 1