A_JumpShield is an action that gives the target player a Whirlwind Shield (white) and spawns the shield around them, playing the actor's
SeeSound. Any other shield the player might wear is removed to be replaced by the Whirlwind Shield.
Code – A_JumpShield
// Function: A_JumpShield
// Description: Awards the player a jump shield.
// var1 = unused
// var2 = unused
void A_JumpShield(mobj_t *actor)
if (LUA_CallAction("A_JumpShield", actor))
if (!actor->target || !actor->target->player)
CONS_Debug(DBG_GAMELOGIC, "Powerup has no target.\n");
player = actor->target->player;
if ((player->powers[pw_shield] & SH_NOSTACK) != SH_JUMP)
player->powers[pw_shield] = SH_JUMP|(player->powers[pw_shield] & SH_STACK);