- 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 enum
{ {
PPF_NOTHRUSTWHENINVUL = 1, // Attacks do not thrust the player if they are invulnerable. 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) if (p->morphTics)
{ // Player is already a beast { // 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; return false;
} }
if (p->health <= 0) if (p->health <= 0)

View File

@ -333,6 +333,7 @@ static FFlagDef PlayerPawnFlags[] =
{ {
// PlayerPawn flags // PlayerPawn flags
DEFINE_FLAG(PPF, NOTHRUSTWHENINVUL, APlayerPawn, PlayerFlags), DEFINE_FLAG(PPF, NOTHRUSTWHENINVUL, APlayerPawn, PlayerFlags),
DEFINE_FLAG(PPF, CANSUPERMORPH, APlayerPawn, PlayerFlags),
}; };
static const struct FFlagList { const PClass *Type; FFlagDef *Defs; int NumDefs; } FlagLists[] = static const struct FFlagList { const PClass *Type; FFlagDef *Defs; int NumDefs; } FlagLists[] =

View File

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