Mapper, ARHUD, radar sweeps update. Add dropper items
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 ::
|
||||
|
||||
@@ -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. "
|
||||
|
||||
@@ -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
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user