Commit before perhaps rethinking item structure

This commit is contained in:
2024-12-29 10:40:21 +00:00
parent ef7aee82e5
commit 2037891cc9
11 changed files with 33 additions and 13 deletions
+1
View File
@@ -65,6 +65,7 @@ itemBaseName = \case
TARGETING tt -> show tt
BULLETMOD (BulletModPayload btt) -> show btt
BULLETMOD (BulletModEffect btt) -> show btt
STICKYMOD -> "STICKYMOD"
showAttachItem :: AttachType -> String
showAttachItem t = case t of
+1
View File
@@ -40,6 +40,7 @@ itemSPic it = case it ^. itType of
AMMOMAG amt -> ammoMagSPic it amt
TARGETING{} -> defSPic
BULLETMOD{} -> defSPic
STICKYMOD -> defSPic
craftItemSPic :: CraftType -> Shape
craftItemSPic = \case
+8 -2
View File
@@ -17,6 +17,7 @@ import Dodge.DoubleTree
import Dodge.Item.Orientation
import LensHelp
import ListHelp
import qualified Data.Set as S
tryAttachItems ::
LabelDoubleTree ItemLink ComposedItem ->
@@ -108,7 +109,7 @@ itemToFunction itm = case itm ^. itType of
| Just amtype <- itm ^? itConsumables . magType
, Just _ <- itm ^? itLocation . ilEquipSite . _Just ->
AmmoMagSF amtype
AMMOMAG{} -> maybe UncomposableIsolateSF AmmoMagSF $ itm ^? itConsumables . magType
AMMOMAG{} -> maybe NoSF AmmoMagSF $ itm ^? itConsumables . magType
ATTACH REMOTESCREEN -> RemoteScreenSF
ATTACH JOYSTICK -> JoystickSF
ATTACH REMOTEDETONATOR -> RemoteDetonatorSF
@@ -124,7 +125,12 @@ itemToFunction itm = case itm ^. itType of
EQUIP WRIST_ECG -> TriggerSF
EQUIP{} -> EquipmentPlatformSF
ATTACH SHELLPAYLOAD{} -> AmmoPayloadSF LauncherAmmo
_ -> UncomposableIsolateSF
_ -> NoSF
structureToPotentialFunction
:: LabelDoubleTree ComposedItem ItemLink
-> S.Set ItemStructuralFunction
structureToPotentialFunction _ = mempty
baseCI :: Item -> ComposedItem
baseCI itm = (itm, itemToFunction itm, itemBaseConnections itm)
+1 -1
View File
@@ -21,7 +21,7 @@ itemInvColor ci = case ci ^. _2 of
JoystickSF -> azure
RemoteDetonatorSF -> azure
SmokeReducerSF -> azure
UncomposableIsolateSF -> greyN 0.5
NoSF -> greyN 0.5
AmmoModifierSF{} -> orange
AmmoTargetingSF{} -> green
AmmoPayloadSF{} -> violet
+8
View File
@@ -1,4 +1,5 @@
module Dodge.Item.Scope (
stickyMod,
shellModule,
zoomScope,
targetingScope,
@@ -36,6 +37,13 @@ targetingScope tt = defaultHeldItem
homingModule :: Item
homingModule = makeAttach HOMINGMODULE
stickyMod :: Item
stickyMod =
defaultHeldItem
& itType .~ STICKYMOD
& itUse .~ UseNothing
bulletModule :: BulletMod -> Item
bulletModule bm =
defaultHeldItem