Implement/improve null/un/binary logic gates

This commit is contained in:
2025-01-08 18:13:20 +00:00
parent d436db2847
commit ef751cbd21
9 changed files with 246 additions and 183 deletions
+3 -2
View File
@@ -75,8 +75,9 @@ itemBaseName = \case
DROPPER x -> "DROPPER-" ++ showInventoryPathing x
CLICKER x -> "CLICKER-" ++ showInventoryPathing x
COPIER x -> "COPIER-" ++ showInventoryPathing x
BGATE -> "BGATE"
UGATE -> "UGATE"
BINGATE -> "BINGATE"
UNIGATE -> "UNIGATE"
NULGATE -> "NULGATE"
showInventoryPathing :: InventoryPathing -> String
showInventoryPathing = \case
+3 -2
View File
@@ -49,8 +49,9 @@ itemSPic it = case it ^. itType of
DROPPER{} -> defSPic
CLICKER{} -> defSPic
COPIER{} -> defSPic
BGATE -> defSPic
UGATE -> defSPic
BINGATE -> defSPic
UNIGATE -> defSPic
NULGATE -> defSPic
craftItemSPic :: CraftType -> Shape
craftItemSPic = \case
+21 -12
View File
@@ -20,8 +20,9 @@ module Dodge.Item.Scope (
dropper,
clicker,
copier,
bgate,
ugate,
nulgate,
unigate,
bingate,
) where
import Dodge.Item.Attach
@@ -92,19 +93,27 @@ copier x =
& itScroll .~ ItemScrollInt 0
& itEffect . ieInv .~ ItemCopierUpdate
bgate :: Item
bgate =
nulgate :: Item
nulgate =
defaultHeldItem
& itType .~ BGATE
& itUse .~ UseInt 0
& itScroll .~ ItemScrollIntRange 15 0
& itType .~ NULGATE
& itUse .~ UseNothing
& itScroll .~ ItemScrollIntRange 2 0
ugate :: Item
ugate =
unigate :: Item
unigate =
defaultHeldItem
& itType .~ UGATE
& itUse .~ UseInt 0
& itScroll .~ ItemScrollIntRange 3 0
& itType .~ UNIGATE
& itUse .~ UseNothing
& itScroll .~ ItemScrollIntRange 4 0
bingate :: Item
bingate =
defaultHeldItem
& itType .~ BINGATE
& itUse .~ UseNothing
& itScroll .~ ItemScrollIntRange 16 0
bulletModule :: BulletMod -> Item
bulletModule bm =