Talk:Morph Ovum

From DoomWiki.org

Super Chicken?[edit]

According to the official strategy guide, page 47, hitting a player who's already a chicken a second time with a morph ovum will make them into a faster and more powerful chicken. I don't have a quick and easy way to test this, but I have the feeling that, like some of the other claims in the guide, this is probably bogus since I haven't heard it anywhere else. Can anyone confirm or deny it? —The preceding unsigned comment was added by 72.79.222.65 (talkcontribs) 23:22, 8 July 2012.

It seems true! Look in P_INTER.C:
//---------------------------------------------------------------------------
//
// FUNC P_ChickenMorphPlayer
//
// Returns true if the player gets turned into a chicken.
//
//---------------------------------------------------------------------------

boolean P_ChickenMorphPlayer(player_t *player)
{
	mobj_t *pmo;
	mobj_t *fog;
	mobj_t *chicken;
	fixed_t x;
	fixed_t y;
	fixed_t z;
	angle_t angle;
	int oldFlags2;

	if(player->chickenTics)
	{
		if((player->chickenTics < CHICKENTICS-TICSPERSEC)
			&& !player->powers[pw_weaponlevel2])
		{ // Make a super chicken
			P_GivePower(player, pw_weaponlevel2);
		}
		return(false);
	}
	if(player->powers[pw_invulnerability])
	{ // Immune when invulnerable
		return(false);
	}
	pmo = player->mo;
	x = pmo->x;
	y = pmo->y;
	z = pmo->z;
	angle = pmo->angle;
	oldFlags2 = pmo->flags2;
	P_SetMobjState(pmo, S_FREETARGMOBJ);
	fog = P_SpawnMobj(x, y, z+TELEFOGHEIGHT, MT_TFOG);
	S_StartSound(fog, sfx_telept);
	chicken = P_SpawnMobj(x, y, z, MT_CHICPLAYER);
	chicken->special1 = player->readyweapon;
	chicken->angle = angle;
	chicken->player = player;
	player->health = chicken->health = MAXCHICKENHEALTH;
	player->mo = chicken;
	player->armorpoints = player->armortype = 0;
	player->powers[pw_invisibility] = 0;
	player->powers[pw_weaponlevel2] = 0;
	if(oldFlags2&MF2_FLY)
	{
		chicken->flags2 |= MF2_FLY;
	}
	player->chickenTics = CHICKENTICS;
	P_ActivateBeak(player);
	return(true);
}

When a player is morphed into a chicken, if they were already a chicken (as determined by having a non-null value of chickenTics which is used as a countdown to end of transformation), then they are effectively given a Tome of Power. And indeed, the beak weapon has a powered-up mode. --Gez 12:17, 9 July 2012 (UTC)