FireShotgun

From Eternity Wiki
Revision as of 09:39, 15 September 2009 by Printz (talk | contribs)
Jump to: navigation, search

Fires player shotgun attack. Seven tracers are fired using "never" accuracy (a moderate horizontal spread with no vertical error), each doing standard bullet damage of 5, 10 or 15. The player object will emit the shotgn sound effect and transfer to its second attack frame, with gun flash.

No arguments are used.

Example

Frame sequence of shotgun in Doom

First three frame lines correspond to holding the gun, respectively changing it or to it, and the nine numbered ones control the actual attacking sequence. Notice a delay of three tics before FireShotgun takes effect. The last two ("FLASH") frames are drawn over the gun sprite when FireShotgun is invoked, and their codepointers control the brief lighting effect when a shot is done in Doom.

# Shotgun
frame S_SGUN       { cmp = "SHTG|*|*|*|WeaponReady|@this";       dehackednum = 18 }
frame S_SGUNDOWN   { cmp = "SHTG|*|*|*|Lower      |@this";       dehackednum = 19 }
frame S_SGUNUP     { cmp = "SHTG|*|*|*|Raise      |@this";       dehackednum = 20 }
frame S_SGUN1      { cmp = "SHTG|*|*|3|*          |@next";       dehackednum = 21 }
frame S_SGUN2      { cmp = "SHTG|*|*|7|FireShotgun|@next";       dehackednum = 22 }
frame S_SGUN3      { cmp = "SHTG|1|*|5|*          |@next";       dehackednum = 23 }
frame S_SGUN4      { cmp = "SHTG|2|*|5|*          |@next";       dehackednum = 24 }
frame S_SGUN5      { cmp = "SHTG|3|*|4|*          |@next";       dehackednum = 25 }
frame S_SGUN6      { cmp = "SHTG|2|*|5|*          |@next";       dehackednum = 26 }
frame S_SGUN7      { cmp = "SHTG|1|*|5|*          |@next";       dehackednum = 27 }
frame S_SGUN8      { cmp = "SHTG|*|*|3|*          |@next";       dehackednum = 28 }
frame S_SGUN9      { cmp = "SHTG|*|*|7|ReFire     |S_SGUN";      dehackednum = 29 }
frame S_SGUNFLASH1 { cmp = "SHTF|*|T|4|Light1     |@next";       dehackednum = 30 }
frame S_SGUNFLASH2 { cmp = "SHTF|1|T|3|Light2     |S_LIGHTDONE"; dehackednum = 31 }

See also