Mapper, ARHUD, radar sweeps update. Add dropper items

This commit is contained in:
2025-01-03 10:43:06 +00:00
parent e9f5a39ed7
commit 386d6f47b0
27 changed files with 802 additions and 700 deletions
+9 -1
View File
@@ -70,6 +70,14 @@ itemBaseName = \case
INTROSCAN t -> show t
MAPPER -> "MAPPER"
DETECTOR t -> show t
ARHUD -> "AR-HUD"
DROPPER x -> "DROPPER-" ++ showInventoryPathing x
showInventoryPathing :: InventoryPathing -> String
showInventoryPathing = \case
ABSOLUTE -> "ABS"
RELCURS -> "CURS"
RELITEM -> "HERE"
showAttachItem :: AttachType -> String
showAttachItem t = case t of
@@ -81,7 +89,6 @@ showAttachItem t = case t of
REMOTEDETONATOR -> "REM.DETONATR"
SMOKEREDUCER -> "SMOKE.REDUCR"
HOMINGMODULE -> "HOMING MOD"
AUGMENTEDHUD -> "AUGMENTED HUD"
SHELLPAYLOAD x -> show x
GIMBAL -> "GIMBAL"
GYROSCOPE -> "GYROSCOPE"
@@ -96,6 +103,7 @@ showEquipItem eit = case eit of
-- that is to say, it should not change based on functional positioning
itemNumberDisplay :: World -> Creature -> ComposedItem -> [String]
itemNumberDisplay w cr ci
| Just x <- ci ^? _1 . itUse . uInt = [show x]
| Just x <- ci ^? _1 . itUse . useToggle = [show x]
| ITEMSCAN <- ci ^. _1 . itType
, Just ExamineInventory <- w ^? hud . hudElement . subInventory
+2
View File
@@ -43,8 +43,10 @@ itemSPic it = case it ^. itType of
STICKYMOD -> defSPic
ITEMSCAN -> defSPic
MAPPER -> defSPic
ARHUD -> defSPic
INTROSCAN {} -> defSPic
DETECTOR dt -> noPic (colorSH (detectorColor dt) $ upperPrismPolySU 3 $ rectWH 2 2)
DROPPER{} -> defSPic
craftItemSPic :: CraftType -> Shape
craftItemSPic = \case
+8 -3
View File
@@ -72,7 +72,11 @@ itemToBreakLists itm itmf = case (itm ^. itType, itmf) of
)
(DETECTOR {}, _) ->
( getAmmoLinks itm
, [(TriggerSF, TriggerLink),(MapperSF,SFLink MapperSF)]
, [(ARHUDSF,SFLink ARHUDSF),(TriggerSF, TriggerLink),(MapperSF,SFLink MapperSF)]
)
(MAPPER, _) ->
( []
, [(ARHUDSF,SFLink ARHUDSF)]
)
(_, GadgetPlatformSF) ->
( getAmmoLinks itm
@@ -100,7 +104,7 @@ itemToBreakLists itm itmf = case (itm ^. itType, itmf) of
( [(JoystickSF, JoystickLink)]
, []
)
(_, WeaponTargetingSF) -> (getAmmoLinks itm ++ [(AugmentedHUDSF, AugmentedHUDLink)], [])
(_, WeaponTargetingSF) -> (getAmmoLinks itm ++ [(ARHUDSF, SFLink ARHUDSF)], [])
(ATTACH BULLETSYNTH, _) ->
([(AmmoMagSF ElectricalAmmo, AmmoInLink 0 ElectricalAmmo)], [])
_ -> ([], [])
@@ -154,7 +158,7 @@ itemToFunction itm = case itm ^. itType of
ATTACH BULLETSYNTH -> AmmoModifierSF BulletAmmo
ATTACH ZOOMSCOPE -> WeaponScopeSF
ATTACH HOMINGMODULE -> AmmoTargetingSF LauncherAmmo
ATTACH AUGMENTEDHUD -> AugmentedHUDSF
ARHUD -> ARHUDSF
ATTACH UNDERBARRELSLOT -> UnderBarrelSlotSF
BULLETMOD BulletModPayload{} -> AmmoPayloadSF BulletAmmo
BULLETMOD BulletModEffect{} -> AmmoEffectSF BulletAmmo
@@ -162,6 +166,7 @@ itemToFunction itm = case itm ^. itType of
EQUIP WRIST_ECG -> TriggerSF
EQUIP{} -> EquipmentPlatformSF
ATTACH SHELLPAYLOAD{} -> AmmoPayloadSF LauncherAmmo
DROPPER{} -> GadgetPlatformSF
_ -> NoSF
structureToPotentialFunction ::
+18
View File
@@ -28,8 +28,26 @@ itmBaseInfo itm = case itm ^. itType of
CRAFT fit -> craftInfo fit
DETECTOR d -> "A device that detects " ++ detectorInfo d ++ " in an expanding radius."
ATTACH t -> attachInfo t
AMMOMAG t -> ammoMagInfo t
-- TARGETING {_ibtTargeting :: TargetingType}
-- BULLETMOD {_ibtBulletMod :: BulletMod}
-- STICKYMOD
-- ITEMSCAN
-- MAPPER
-- INTROSCAN {_ibtIntroScanType :: IntroScanType}
-- DETECTOR {_ibtDetector :: Detector}
-- ARHUD
_ -> "THIS SHOULD NOT BE DISPLAYED"
ammoMagInfo :: AmmoMagType -> String
ammoMagInfo = \case
TINMAG -> "A small tin magazine for containing bullets. "
DRUMMAG -> "A mid-sized magazine for containing bullets. "
BELTMAG -> "A belt with attachable bullets. "
SHELLMAG -> "A container for a projectile. "
BATTERY -> "A store of electrical potential energy. "
CHEMFUELPOUCH -> "A small tank for containing flammable liquids. "
attachInfo :: AttachType -> String
attachInfo = \case
ZOOMSCOPE -> "An optical zoom. "
+1 -1
View File
@@ -20,7 +20,7 @@ itemInvColor ci = case ci ^. _2 of
TriggerSF -> yellow
WeaponScopeSF -> chartreuse
WeaponTargetingSF -> green
AugmentedHUDSF -> rose
ARHUDSF -> rose
AmmoMagSF{} -> red
RemoteScreenSF -> azure
JoystickSF -> azure
+12 -4
View File
@@ -10,14 +10,14 @@ module Dodge.Item.Scope (
joystick,
remoteDetonator,
homingModule,
-- bulletTargetingModule,
augmentedHUD,
arHUD,
bulletModule,
bulletPayloadModule,
smokeReducer,
itemScan,
introScan,
mapper,
dropper,
) where
import Dodge.Item.Attach
@@ -68,6 +68,12 @@ mapper =
& itType .~ MAPPER
& itUse .~ UseMapper mempty mempty
dropper :: InventoryPathing -> Item
dropper x =
defaultHeldItem
& itType .~ DROPPER x
& itUse .~ UseInt 0
bulletModule :: BulletMod -> Item
bulletModule bm =
defaultHeldItem
@@ -85,8 +91,10 @@ shellModule p = defaultHeldItem
bulletPayloadModule :: BulletPayload -> Item
bulletPayloadModule = bulletModule . BulletModPayload
augmentedHUD :: Item
augmentedHUD = makeAttach AUGMENTEDHUD
arHUD :: Item
arHUD = defaultHeldItem
& itType .~ ARHUD
& itUse .~ UseNothing
remoteScreen :: Item
remoteScreen = makeAttach REMOTESCREEN