Legacy:How Firing Doesn't Work - Unreal Wiki

# Legacy:How Firing Doesn't Work

### From Unreal Wiki, The Unreal Engine Documentation Site

This page illustrates a flow of control that is executed when the player hits the fire button. However, in practice this is NOT how weapon firing works! For that, see How UT2003 Weapons Work/Firing A Weapon.

The 'decoy' chain goes like this:

- PlayerController.Fire

    exec function Fire( optional float F )
    {
        if ( Level.Pauser == PlayerReplicationInfo )
        {
            SetPause(false);
            return;
        }
        Pawn.Fire(F);
    }

Here is easy: if the level is not in pause mode, call the Pawn's Fire function. If the level is paused and the person who paused it is the one who's firing, it unpauses the level but does not fire the weapon.

- Pawn.Fire

    function Fire( optional float F )
    {
        if( Weapon!=None )
            Weapon.Fire(F);
    }

Again, piece of cake: if the pawn has a weapon, call the weapon Fire function.

- Weapon.Fire

    simulated function Fire(float F)
    {
    }

There's no code here! Normally you would expect to see the Fire method implemented in subclasses of Weapon. But none of the weapon classes actually implement this! At the time of writing, we don't believe this is used anywhere. See How UT2003 Weapons Work/Firing A Weapon for a more likely story.

##### Views

- Legacy
- Discussion
- Current revision

##### Search