This commit is contained in:
2024-12-20 18:14:27 +00:00
parent 92b190aba8
commit e9006addd0
7 changed files with 46 additions and 64 deletions
+12 -11
View File
@@ -14,13 +14,14 @@ import LensHelp
watchCombinations :: [([(ItAmount, ItemType)], Item)]
watchCombinations =
[ po [HELD TIMESTOPPER, HELD REWINDER] timeScroller
, po [CRAFT TIMEMODULE, CRAFT MICROCHIP, CRAFT HARDDRIVE] timeScroller
, po [CRAFT TIMEMODULE, CRAFT MICROCHIP, CRAFT RAM] timeScroller
]
where
po xs it = (map o xs, it)
o = (1,)
[]
-- [ po [HELD TIMESTOPPER, HELD REWINDER] timeScroller
-- , po [CRAFT TIMEMODULE, CRAFT MICROCHIP, CRAFT HARDDRIVE] timeScroller
-- , po [CRAFT TIMEMODULE, CRAFT MICROCHIP, CRAFT RAM] timeScroller
-- ]
-- where
-- po xs it = (map o xs, it)
-- o = (1,)
backpackCombinations :: [([(ItAmount,ItemType)],Item)]
backpackCombinations =
@@ -92,13 +93,13 @@ itemCombinations =
-- , po [HELD LASGUN, HELD LASGUN, HELD LASGUN, cr HARDWARE] lasCircle
, p [o $ cr TRANSFORMER, p 2 $ cr CAN] sparkGun
, p [o (HELD SPARKGUN), p 2 $ cr PIPE] teslaGun
, p [o $ cr TELEPORTMODULE, p 2 $ cr MICROCHIP] blinker
-- , p [o $ cr TELEPORTMODULE, p 2 $ cr MICROCHIP] blinker
, p [o $ HELD BLINKER, p 2 $ cr MICROCHIP] unsafeBlinker
, po [cr MAGNET, cr TIN] magShield
, p [p 2 $ cr PIPE, o $ cr PLATE, o $ cr MOTOR] powerLegs
, p [p 4 $ cr CAN] plateCraft
, p [p 3 $ cr TIN] plateCraft
, p [p 2 $ cr STEELDRUM] plateCraft
, p [p 4 $ cr CAN] metalPlate
, p [p 3 $ cr TIN] metalPlate
, p [p 2 $ cr STEELDRUM] metalPlate
, p [p 2 $ cr PLATE] flatShield
, po [cr MICROCHIP, cr PRISM] (makeTypeCraft LIGHTSENSOR)
, po [cr MICROCHIP, cr MICROPHONE] (makeTypeCraft SOUNDSENSOR)
+2 -8
View File
@@ -190,12 +190,10 @@ inventoryX c = case c of
]
'H' -> [shatterGun]
'I' ->
[ makeTypeCraft TELEPORTMODULE
, makeTypeCraft HARDDRIVE
[ makeTypeCraft HARDDRIVE
, makeTypeCraft RAM
] <> fold
[ makeTypeCraftNum 2 TIMEMODULE
, makeTypeCraftNum 2 MICROCHIP
[ makeTypeCraftNum 2 MICROCHIP
]
'J' ->
[ laser
@@ -266,10 +264,6 @@ testInventory =
, wristArmour
, flatShield
, sniperRifle
-- , makeTypeCraft (ENERGYBALLCRAFT IncBall)
-- , makeTypeCraft (ENERGYBALLCRAFT TeslaBall)
-- , makeTypeCraft (ENERGYBALLCRAFT ConcBall)
, teleportModule
] <> fold
[ makeTypeCraftNum 1 MOTOR
, makeTypeCraftNum 9 PIPE
-4
View File
@@ -68,10 +68,6 @@ data CraftType
| GASINJECTOR
| FLAKCRAFT
| FRAGCRAFT
| TELEPORTMODULE
| TIMEMODULE
| SIZEMODULE
| GRAVITYMODULE
deriving (Eq, Ord, Show, Read)
data AttachType
+1
View File
@@ -122,3 +122,4 @@ bulletSynthesizer :: Item
bulletSynthesizer =
makeAttach BULLETSYNTH
& itUse .~ UseAttach (APInt 0)
+14 -24
View File
@@ -1,14 +1,19 @@
module Dodge.Item.Craftable
where
module Dodge.Item.Craftable (
makeTypeCraft,
makeTypeCraftNum,
pipe,
metalPlate,
) where
import Dodge.Default.Item
import Control.Lens
import Dodge.Data.Item
import Dodge.Default.Item
makeTypeCraftNum :: Int -> CraftType -> [Item]
makeTypeCraftNum i ct = replicate i $
defaultCraftItem
& itType .~ CRAFT ct
makeTypeCraftNum i ct =
replicate i $
defaultCraftItem
& itType .~ CRAFT ct
makeTypeCraft :: CraftType -> Item
makeTypeCraft = head . makeTypeCraftNum 1
@@ -20,27 +25,12 @@ makeTypeCraft = head . makeTypeCraftNum 1
--incendiaryModule = energyBallCraft IncBall
--bulletBodyCraft :: BulletEffect -> Item
--bulletBodyCraft ebt =
--bulletBodyCraft ebt =
-- makeTypeCraft (BULBODYCRAFT ebt)
-- & itInvSize .~ 1
--bounceModule :: Item
--bounceModule = bulletBodyCraft BounceBullet
teleportModule :: Item
teleportModule = makeTypeCraft TELEPORTMODULE
timeModule :: Item
timeModule = makeTypeCraft TIMEMODULE
sizeModule :: Item
sizeModule = makeTypeCraft SIZEMODULE
gravityModule :: Item
gravityModule = makeTypeCraft GRAVITYMODULE
pipe :: Item
pipe = makeTypeCraft PIPE
plateCraft :: Item
plateCraft = makeTypeCraft PLATE
metalPlate :: Item
metalPlate = makeTypeCraft PLATE
+4 -4
View File
@@ -167,10 +167,10 @@ craftInfo fit = case fit of
FRAGMODULE -> "A device that converts projectiles into fragmentation projectiles."
FLASHMODULE -> "A device that converts projectiles into flashbang projectiles."
-- BULBODYCRAFT be -> "A device that converts bullets into " ++ displayBulletBody be ++ " projectiles."
TELEPORTMODULE -> "A device that allows for near-instant translocation across space."
TIMEMODULE -> "A device that can affect temporality."
SIZEMODULE -> "A device that can affect physical size."
GRAVITYMODULE -> "A device that can affect gravitational fields."
-- TELEPORTMODULE -> "A device that allows for near-instant translocation across space."
-- TIMEMODULE -> "A device that can affect temporality."
-- SIZEMODULE -> "A device that can affect physical size."
-- GRAVITYMODULE -> "A device that can affect gravitational fields."
-- TARGETMODULE _ -> "A targeting module."
FLAKCRAFT -> "Creates flak bullets."
FRAGCRAFT -> "Creates fragmentation bullets."
+13 -13
View File
@@ -1,9 +1,9 @@
module Dodge.Item.Weapon.Bullet (
hvBulletAmmo,
-- hvBulletAmmo,
defaultBullet,
) where
import Control.Lens
--import Control.Lens
import Dodge.Data.Item.Use.Consumption.Ammo
import Geometry.Data
@@ -27,14 +27,14 @@ basicBulDams =
[ Damage PIERCING 100 0 0 0 $ PushBackDamage 2
]
hvBulletAmmo :: Bullet
hvBulletAmmo =
defaultBullet
& buWidth .~ 6
& buVel .~ V2 80 0
& buDamages .~ heavyBulDams
heavyBulDams :: [Damage]
heavyBulDams =
[ Damage PIERCING 300 0 0 0 $ PushBackDamage 2
]
--hvBulletAmmo :: Bullet
--hvBulletAmmo =
-- defaultBullet
-- & buWidth .~ 6
-- & buVel .~ V2 80 0
-- & buDamages .~ heavyBulDams
--
--heavyBulDams :: [Damage]
--heavyBulDams =
-- [ Damage PIERCING 300 0 0 0 $ PushBackDamage 2
-- ]