Cleanup
This commit is contained in:
+27
-27
@@ -1,32 +1,32 @@
|
||||
module Dodge.Default.Item
|
||||
( defaultItem
|
||||
) where
|
||||
import Dodge.Data
|
||||
import Picture
|
||||
module Dodge.Default.Item (
|
||||
defaultItem,
|
||||
) where
|
||||
|
||||
import Dodge.Data.Item
|
||||
import Geometry.Data
|
||||
--import Shape
|
||||
import Picture
|
||||
|
||||
defaultItem :: Item
|
||||
defaultItem = Item
|
||||
{ _itCurseStatus = Uncursed
|
||||
, _itType = defaultItemType
|
||||
-- , _itEquipPict = \_ _ -> (,) emptySH blank
|
||||
, _itEffect = NoItEffect
|
||||
, _itID = Nothing
|
||||
, _itIsHeld = False
|
||||
, _itInvColor = yellow
|
||||
, _itInvSize = 1
|
||||
, _itPos = VoidItm
|
||||
, _itDimension = ItemDimension 2 0 (V3 10 (-5) 3)
|
||||
, _itConsumption = NoConsumption
|
||||
, _itUse = NoUse
|
||||
, _itAttachment = NoItAttachment
|
||||
, _itParams = NoParams
|
||||
, _itTweaks = NoTweaks
|
||||
, _itScope = NoScope
|
||||
, _itTargeting = NoTargeting
|
||||
, _itValue = ItemValue 0 MundaneItem
|
||||
}
|
||||
defaultItem =
|
||||
Item
|
||||
{ _itCurseStatus = Uncursed
|
||||
, _itType = defaultItemType
|
||||
, -- , _itEquipPict = \_ _ -> (,) emptySH blank
|
||||
_itEffect = NoItEffect
|
||||
, _itID = Nothing
|
||||
, _itIsHeld = False
|
||||
, _itInvColor = yellow
|
||||
, _itInvSize = 1
|
||||
, _itPos = VoidItm
|
||||
, _itDimension = ItemDimension 2 0 (V3 10 (-5) 3)
|
||||
, _itUse = CraftUse (ItAmount 1)
|
||||
, _itParams = NoParams
|
||||
, _itTweaks = NoTweaks
|
||||
, _itScope = NoScope
|
||||
, _itTargeting = NoTargeting
|
||||
, _itValue = ItemValue 0 MundaneItem
|
||||
, _itAttachment = NoItAttachment
|
||||
}
|
||||
|
||||
defaultItemType :: ItemType
|
||||
defaultItemType = ItemType NOTDEFINED mempty NoStack
|
||||
defaultItemType = ItemType (error "defaultItemType not initialized") mempty NoStack
|
||||
|
||||
+97
-78
@@ -1,104 +1,123 @@
|
||||
module Dodge.Default.Weapon
|
||||
where
|
||||
import Dodge.Data
|
||||
import Dodge.Reloading.Action
|
||||
import Dodge.Item.Weapon.Bullet
|
||||
import Dodge.Default.Item
|
||||
module Dodge.Default.Weapon where
|
||||
|
||||
import Control.Lens
|
||||
import qualified Data.Map.Strict as M
|
||||
import Dodge.Data.Ammo
|
||||
import Dodge.Data.Hammer
|
||||
import Dodge.Data.Item
|
||||
import Dodge.Default.AimParams
|
||||
--import Dodge.Item.Draw
|
||||
import Dodge.Default.Item
|
||||
import Dodge.Item.Weapon.Bullet
|
||||
import Dodge.Reloading.Action
|
||||
import Picture
|
||||
|
||||
import qualified Data.Map.Strict as M
|
||||
import Control.Lens
|
||||
|
||||
defaultLeftLoadable :: ItemConsumption
|
||||
defaultLeftLoadable :: LeftConsumption
|
||||
defaultLeftLoadable = AutoRecharging 10 10 100 100
|
||||
|
||||
defaultLoadable :: ItemConsumption
|
||||
defaultLoadable = LoadableAmmo
|
||||
{ _laAmmoType = GenericAmmo
|
||||
, _laMax = 15
|
||||
, _laLoaded = 0
|
||||
, _laPrimed = True
|
||||
, _laCycle = [loadEject 10, loadInsert 10, loadPrime 10]
|
||||
, _laProgress = Nothing
|
||||
}
|
||||
defaultBulletLoadable :: ItemConsumption
|
||||
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
|
||||
defaultChargeable :: ItemConsumption
|
||||
|
||||
defaultChargeable :: LeftConsumption
|
||||
defaultChargeable = ChargeableAmmo 100 100
|
||||
|
||||
defaultrUse :: ItemUse
|
||||
defaultrUse = RightUse
|
||||
{ _rUse = HeldDoNothing
|
||||
, _useDelay = FixedRate {_rateMax = 8, _rateTime = 0}
|
||||
, _useMods = HeldModNothing
|
||||
, _useHammer = HammerUp
|
||||
, _useAim = defaultAimParams
|
||||
, _heldScroll = HeldScrollDoNothing
|
||||
}
|
||||
defaultrUse =
|
||||
RightUse
|
||||
{ _rUse = HeldDoNothing
|
||||
, _useDelay = FixedRate{_rateMax = 8, _rateTime = 0}
|
||||
, _useMods = HeldModNothing
|
||||
, _useHammer = HammerUp
|
||||
, _useAim = defaultAimParams
|
||||
, _heldScroll = HeldScrollDoNothing
|
||||
, _heldConsumption = defaultLoadable
|
||||
}
|
||||
|
||||
defaultlUse :: ItemUse
|
||||
defaultlUse = LeftUse
|
||||
{ _lUse = LDoNothing
|
||||
, _useDelay = FixedRate {_rateMax = 8, _rateTime = 0}
|
||||
, _useHammer = HammerUp
|
||||
, _eqEq = defaultEquip
|
||||
}
|
||||
defaultlUse =
|
||||
LeftUse
|
||||
{ _lUse = LDoNothing
|
||||
, _useDelay = FixedRate{_rateMax = 8, _rateTime = 0}
|
||||
, _useHammer = HammerUp
|
||||
, _eqEq = defaultEquip
|
||||
, _leftConsumption = defaultLeftLoadable
|
||||
}
|
||||
|
||||
defaultEquip :: Equipment
|
||||
defaultEquip = Equipment
|
||||
{ _eqSite = GoesOnSpecial
|
||||
, _eqUse = EDoNothing
|
||||
, _eqOnEquip = EDoNothing
|
||||
, _eqOnRemove = EDoNothing
|
||||
, _eqParams = NoEquipParams
|
||||
, _eqViewDist = Nothing
|
||||
}
|
||||
defaultEquip =
|
||||
Equipment
|
||||
{ _eqSite = GoesOnSpecial
|
||||
, _eqUse = EDoNothing
|
||||
, _eqOnEquip = EDoNothing
|
||||
, _eqOnRemove = EDoNothing
|
||||
, _eqParams = NoEquipParams
|
||||
, _eqViewDist = Nothing
|
||||
}
|
||||
|
||||
luseInstantNoH :: Luse -> ItemUse
|
||||
luseInstantNoH f = defaultlUse
|
||||
& lUse .~ f
|
||||
& useDelay .~ NoDelay
|
||||
luseInstantNoH f =
|
||||
defaultlUse
|
||||
& lUse .~ f
|
||||
& useDelay .~ NoDelay
|
||||
|
||||
-- TODO change this
|
||||
defaultLeftItem :: Item
|
||||
defaultLeftItem = defaultWeapon
|
||||
& itConsumption .~ defaultLeftLoadable
|
||||
defaultLeftItem =
|
||||
defaultWeapon
|
||||
& itUse .~ defaultlUse
|
||||
|
||||
defaultWeapon :: Item
|
||||
defaultWeapon = defaultItem
|
||||
& itConsumption .~ defaultLoadable
|
||||
& itUse .~ defaultrUse
|
||||
& itInvColor .~ white
|
||||
& itType . iyModules .~ M.fromList
|
||||
[(ModTarget, EMPTYMODULE)
|
||||
,(ModTeleport, EMPTYMODULE)
|
||||
]
|
||||
defaultWeapon =
|
||||
defaultItem
|
||||
& itUse .~ defaultrUse
|
||||
& itInvColor .~ white
|
||||
& itType . iyModules
|
||||
.~ M.fromList
|
||||
[ (ModTarget, EMPTYMODULE)
|
||||
, (ModTeleport, EMPTYMODULE)
|
||||
]
|
||||
|
||||
defaultBulletWeapon :: Item
|
||||
defaultBulletWeapon = defaultWeapon
|
||||
& itConsumption .~ defaultBulletLoadable
|
||||
& itUse . rUse .~ HeldUseAmmoParams -- useAmmoParams
|
||||
& itType . iyModules . at ModBullet ?~ EMPTYMODULE
|
||||
& itType . iyModules . at ModBulletSpawn ?~ EMPTYMODULE
|
||||
& itType . iyModules . at ModBulletTrajectory ?~ EMPTYMODULE
|
||||
defaultBulletWeapon =
|
||||
defaultWeapon
|
||||
& itUse . heldConsumption .~ defaultBulletLoadable
|
||||
& itUse . rUse .~ HeldUseAmmoParams -- useAmmoParams
|
||||
& itType . iyModules . at ModBullet ?~ EMPTYMODULE
|
||||
& itType . iyModules . at ModBulletSpawn ?~ EMPTYMODULE
|
||||
& itType . iyModules . at ModBulletTrajectory ?~ EMPTYMODULE
|
||||
|
||||
defaultItemValue :: ItemValue
|
||||
defaultItemValue = ItemValue 10 MundaneItem
|
||||
|
||||
defaultCraftable :: Item
|
||||
defaultCraftable = defaultItem
|
||||
{ _itInvColor = green
|
||||
}
|
||||
defaultCraftable =
|
||||
defaultItem
|
||||
{ _itInvColor = green
|
||||
}
|
||||
|
||||
defBulletShooter :: ItemParams
|
||||
defBulletShooter = BulletShooter
|
||||
{ _muzVel = 1
|
||||
, _rifling = 0.8
|
||||
, _bore = 2
|
||||
, _gunBarrels = SingleBarrel 0
|
||||
, _recoil = 0
|
||||
, _torqueAfter = 0
|
||||
, _randomOffset = 0
|
||||
}
|
||||
|
||||
defBulletShooter =
|
||||
BulletShooter
|
||||
{ _muzVel = 1
|
||||
, _rifling = 0.8
|
||||
, _bore = 2
|
||||
, _gunBarrels = SingleBarrel 0
|
||||
, _recoil = 0
|
||||
, _torqueAfter = 0
|
||||
, _randomOffset = 0
|
||||
}
|
||||
|
||||
defaultAutoGun :: Item
|
||||
defaultAutoGun = defaultBulletWeapon
|
||||
& itUse . useAim . aimStance .~ TwoHandTwist
|
||||
defaultAutoGun =
|
||||
defaultBulletWeapon
|
||||
& itUse . useAim . aimStance .~ TwoHandTwist
|
||||
|
||||
Reference in New Issue
Block a user