Files
loop/src/Dodge/Item/Ammo.hs
T

77 lines
1.5 KiB
Haskell

module Dodge.Item.Ammo (
drumMag,
tinMag,
beltMag,
shellMag,
battery,
smallBattery,
chemFuelPouch,
bulletSynthesizer,
megaShellMag,
megaTinMag,
megaBattery,
) where
import Control.Lens
import Dodge.Data.World
import Dodge.Default.Item
import Dodge.Item.Attach
--import Dodge.Item.Weapon.Bullet
megaTinMag :: Int -> Item
megaTinMag x =
tinMag
& itConsumables ?~ x
tinMag :: Item
tinMag =
defaultHeldItem & itType .~ AMMOMAG TINMAG
& itUse .~ UseNothing
& itConsumables ?~ 15
drumMag :: Item
drumMag =
tinMag & itType . ibtAmmoMag .~ DRUMMAG
& itConsumables ?~ 30
beltMag :: Item
beltMag =
tinMag & itType . ibtAmmoMag .~ BELTMAG
& itConsumables ?~ 10000
megaShellMag :: Item
megaShellMag =
shellMag
& itConsumables ?~ 1000000
shellMag :: Item
shellMag =
defaultHeldItem & itType .~ AMMOMAG SHELLMAG
& itUse .~ UseNothing
& itConsumables ?~ 1
megaBattery :: Item
megaBattery =
battery
& itConsumables ?~ 1000000
smallBattery :: Item
smallBattery = battery & itConsumables ?~ 999
battery :: Item
battery =
defaultHeldItem & itType .~ AMMOMAG BATTERY
& itUse .~ UseNothing
& itConsumables ?~ 10 ^ (9 :: Int)
chemFuelPouch :: Item
chemFuelPouch =
defaultHeldItem & itType .~ AMMOMAG CHEMFUELPOUCH
& itUse .~ UseNothing
& itConsumables
?~ 100000
bulletSynthesizer :: Item
bulletSynthesizer = makeAttach BULLETSYNTH & itUse .~ UseAttach (APInt 0)