Refactor, try to limit dependencies
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
module Dodge.Default.Item.Effect
|
||||
where
|
||||
import Dodge.Data.Item.Effect
|
||||
|
||||
defaultItEffect :: ItEffect
|
||||
defaultItEffect =
|
||||
ItEffect
|
||||
{ _ieInv = NoInvEffect
|
||||
, _ieOnInsert = NoInvEffect
|
||||
, _ieOnDrop = NoInvEffect
|
||||
, _ieOnHeld = NoInvEffect
|
||||
, _ieOnStash = NoInvEffect
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
module Dodge.Default.Item.Use (
|
||||
module Dodge.Default.Item.Use,
|
||||
module Dodge.Default.Item.Use.AimParams,
|
||||
module Dodge.Default.Item.Use.Consumption,
|
||||
module Dodge.Default.Item.Use.Equipment,
|
||||
) where
|
||||
|
||||
import Dodge.Data.Item.Use
|
||||
import Dodge.Default.Item.Use.AimParams
|
||||
import Dodge.Default.Item.Use.Consumption
|
||||
import Dodge.Default.Item.Use.Equipment
|
||||
|
||||
defaultLeftUse :: ItemUse
|
||||
defaultLeftUse =
|
||||
LeftUse
|
||||
{ _leftUse = LDoNothing
|
||||
, _leftDelay = FixedRate{_rateMax = 8, _rateTime = 0}
|
||||
, _leftHammer = HammerUp
|
||||
, _equipEffect = defaultEquip
|
||||
, _leftConsumption = defaultLeftLoadable
|
||||
}
|
||||
|
||||
defaultEquipUse :: ItemUse
|
||||
defaultEquipUse = EquipUse{_equipEffect = defaultEquip}
|
||||
|
||||
defaultHeldUse :: ItemUse
|
||||
defaultHeldUse =
|
||||
HeldUse
|
||||
{ _heldUse = HeldDoNothing
|
||||
, _heldDelay = FixedRate{_rateMax = 8, _rateTime = 0}
|
||||
, _heldMods = HeldModNothing
|
||||
, _heldHammer = HammerUp
|
||||
, _heldAim = defaultAimParams
|
||||
, _heldScroll = HeldScrollDoNothing
|
||||
, _heldConsumption = defaultLoadable
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
module Dodge.Default.Item.Use.AimParams where
|
||||
|
||||
import Dodge.Data.Item.Use
|
||||
|
||||
defaultAimParams :: AimParams
|
||||
defaultAimParams =
|
||||
AimParams
|
||||
{ _aimWeight = 0
|
||||
, _aimRange = 0
|
||||
, _aimZoom = ItZoom 20 0.2 1
|
||||
, _aimStance = OneHand
|
||||
, _aimHandlePos = 10
|
||||
, _aimMuzPos = 20
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
module Dodge.Default.Item.Use.Consumption where
|
||||
import Dodge.Item.Weapon.Bullet
|
||||
import Dodge.Reloading.Action
|
||||
import Dodge.Data.Item.Use.Consumption
|
||||
import Control.Lens
|
||||
|
||||
defaultLoadable :: HeldConsumption
|
||||
defaultLoadable =
|
||||
LoadableAmmo
|
||||
{ _laAmmoType = GenericAmmo
|
||||
, _laMax = 15
|
||||
, _laLoaded = 0
|
||||
, _laPrimed = True
|
||||
, _laCycle = [loadEject 10, loadInsert 10, loadPrime 10]
|
||||
, _laProgress = Nothing
|
||||
}
|
||||
|
||||
defaultBulletLoadable :: HeldConsumption
|
||||
defaultBulletLoadable = defaultLoadable & laAmmoType .~ basicBullet
|
||||
|
||||
defaultLeftLoadable :: LeftConsumption
|
||||
defaultLeftLoadable = AutoRecharging 10 10 100 100
|
||||
@@ -0,0 +1,15 @@
|
||||
module Dodge.Default.Item.Use.Equipment where
|
||||
|
||||
import Dodge.Data.Item.HeldUse
|
||||
import Dodge.Data.Item.Use.Equipment
|
||||
|
||||
defaultEquip :: EquipEffect
|
||||
defaultEquip =
|
||||
EquipEffect
|
||||
{ _eeSite = GoesOnSpecial
|
||||
, _eeUse = EDoNothing
|
||||
, _eeOnEquip = EDoNothing
|
||||
, _eeOnRemove = EDoNothing
|
||||
, _eeParams = NoEquipParams
|
||||
, _eeViewDist = Nothing
|
||||
}
|
||||
Reference in New Issue
Block a user