Improve item use hammer, improve wide laser
This commit is contained in:
+30
-28
@@ -1,6 +1,7 @@
|
||||
module Dodge.Default.Weapon
|
||||
where
|
||||
import Dodge.Data
|
||||
import Dodge.Item.Weapon.AmmoParams
|
||||
import Dodge.Reloading.Action
|
||||
import Dodge.Item.Weapon.Bullet
|
||||
import Dodge.Default.Item
|
||||
@@ -32,41 +33,41 @@ defaultBulletLoadable = defaultLoadable & laAmmoType .~ basicBullet
|
||||
defaultChargeable :: ItemConsumption
|
||||
defaultChargeable = ChargeableAmmo 100 100
|
||||
|
||||
ruseRate :: Int
|
||||
-> (Item -> Creature -> World -> World)
|
||||
-> [(Item -> Creature -> World -> World) -> Item -> Creature -> World -> World]
|
||||
-> ItemUse
|
||||
ruseRate i f usemods = RightUse
|
||||
{ _rUse = f
|
||||
, _useDelay = FixedRate
|
||||
{ _rateMax = i
|
||||
, _rateTime = 0
|
||||
}
|
||||
, _useMods = usemods
|
||||
, _useHammer' = HammerUp
|
||||
, _useAim = defaultAimParams
|
||||
, _heldScroll = \_ _ -> id
|
||||
}
|
||||
--ruseRate :: Int
|
||||
-- -> (Item -> Creature -> World -> World)
|
||||
-- -> [(Item -> Creature -> World -> World) -> Item -> Creature -> World -> World]
|
||||
-- -> ItemUse
|
||||
--ruseRate i f usemods = RightUse
|
||||
-- { _rUse = f
|
||||
-- , _useDelay = FixedRate
|
||||
-- { _rateMax = i
|
||||
-- , _rateTime = 0
|
||||
-- }
|
||||
-- , _useMods = usemods
|
||||
-- , _useHammer = HammerUp
|
||||
-- , _useAim = defaultAimParams
|
||||
-- , _heldScroll = \_ _ -> id
|
||||
-- }
|
||||
|
||||
ruseInstant
|
||||
:: (Item -> Creature -> World -> World)
|
||||
-> [(Item -> Creature -> World -> World) -> Item -> Creature -> World -> World]
|
||||
-> ItemUse
|
||||
ruseInstant f usemods = RightUse
|
||||
{ _rUse = f
|
||||
, _useDelay = NoDelay
|
||||
, _useMods = usemods
|
||||
, _useHammer' = HammerUp
|
||||
, _useAim = defaultAimParams
|
||||
, _heldScroll = \_ _ -> id
|
||||
}
|
||||
--ruseInstant
|
||||
-- :: (Item -> Creature -> World -> World)
|
||||
-- -> [(Item -> Creature -> World -> World) -> Item -> Creature -> World -> World]
|
||||
-- -> ItemUse
|
||||
--ruseInstant f usemods = RightUse
|
||||
-- { _rUse = f
|
||||
-- , _useDelay = NoDelay
|
||||
-- , _useMods = usemods
|
||||
-- , _useHammer = HammerUp
|
||||
-- , _useAim = defaultAimParams
|
||||
-- , _heldScroll = \_ _ -> id
|
||||
-- }
|
||||
|
||||
defaultrUse :: ItemUse
|
||||
defaultrUse = RightUse
|
||||
{ _rUse = \_ _ -> id
|
||||
, _useDelay = FixedRate {_rateMax = 8, _rateTime = 0}
|
||||
, _useMods = []
|
||||
, _useHammer' = HammerUp
|
||||
, _useHammer = HammerUp
|
||||
, _useAim = defaultAimParams
|
||||
, _heldScroll = \_ _ -> id
|
||||
}
|
||||
@@ -120,6 +121,7 @@ defaultWeapon = defaultItem
|
||||
|
||||
defaultBulletWeapon :: Item
|
||||
defaultBulletWeapon = defaultWeapon & itConsumption .~ defaultBulletLoadable
|
||||
& itUse .~ ruseAmmoParams
|
||||
|
||||
defaultItemValue :: ItemValue
|
||||
defaultItemValue = ItemValue 10 MundaneItem
|
||||
|
||||
Reference in New Issue
Block a user