Work on rocket/grenade launcher

This commit is contained in:
2024-12-27 21:46:46 +00:00
parent 0ef28c132e
commit 5c749bff63
19 changed files with 400 additions and 324 deletions
+3 -1
View File
@@ -72,8 +72,9 @@ showAttachItem t = case t of
ZOOMSCOPE -> "ZOOMSCOPE"
BULLETSYNTH -> "BSYNTH"
REMOTESCREEN -> "REM.SCREEN"
REMOTECONTROLLER -> "REM.CONTR0LR"
JOYSTICK -> "JOYSTICK"
REMOTEDETONATOR -> "REM.DETONATR"
SMOKEREDUCER -> "SMOKE.REDUCR"
HOMINGMODULE -> "HOMING MOD"
AUGMENTEDHUD -> "AUGMENTED HUD"
SHELLPAYLOAD x -> show x
@@ -99,6 +100,7 @@ itemNumberDisplay cr ci
| Just x <- ci ^? _1 . itConsumables . magLoadStatus . iaLoaded = [shortShow x]
| UseAttach (APInt i) <- ci ^. _1 . itUse = [show i]
| UseAttach (APLinkProjectile i) <- ci ^. _1 . itUse = [show i]
| UseAttach (APProjectiles x) <- ci ^. _1 . itUse = [show x]
| UseScope OpticScope{_opticZoom = x} <- ci ^. _1 . itUse = [shortShow x]
| otherwise = mempty
+6 -2
View File
@@ -67,7 +67,6 @@ itemToBreakLists itm itmf = case (itm ^. itType, itmf) of
let screenanddet = case atype of
LauncherAmmo -> [ (RemoteScreenSF, RemoteScreenLink)
, (RemoteDetonatorSF, RemoteDetonatorLink)
, (RemoteControllerSF, RemoteControllerLink)
]
_ -> []
return
@@ -76,9 +75,13 @@ itemToBreakLists itm itmf = case (itm ^. itType, itmf) of
, (AmmoTargetingSF atype, AmmoTargetingLink)
, (AmmoPayloadSF atype, AmmoPayloadLink)
, (AmmoEffectSF atype, AmmoEffectLink)
, (SmokeReducerSF, SmokeReducerLink)
] <> screenanddet
, []
)
(_, RemoteScreenSF) ->
( [(JoystickSF, JoystickLink)]
, [])
(_, WeaponTargetingSF) -> (getAmmoLinks itm ++ [(AugmentedHUDSF, AugmentedHUDLink)], [])
(ATTACH BULLETSYNTH, _) ->
([(AmmoMagSF ElectricalAmmo, AmmoInLink 0 ElectricalAmmo)], [])
@@ -107,8 +110,9 @@ itemToFunction itm = case itm ^. itType of
AmmoMagSF amtype
AMMOMAG{} -> maybe UncomposableIsolateSF AmmoMagSF $ itm ^? itConsumables . magType
ATTACH REMOTESCREEN -> RemoteScreenSF
ATTACH REMOTECONTROLLER -> RemoteControllerSF
ATTACH JOYSTICK -> JoystickSF
ATTACH REMOTEDETONATOR -> RemoteDetonatorSF
ATTACH SMOKEREDUCER -> SmokeReducerSF
ATTACH BULLETSYNTH -> AmmoModifierSF BulletAmmo
ATTACH ZOOMSCOPE -> WeaponScopeSF
ATTACH HOMINGMODULE -> AmmoTargetingSF LauncherAmmo
+2 -1
View File
@@ -18,8 +18,9 @@ itemInvColor ci = case ci ^. _2 of
AugmentedHUDSF -> rose
AmmoMagSF{} -> red
RemoteScreenSF -> azure
RemoteControllerSF -> azure
JoystickSF -> azure
RemoteDetonatorSF -> azure
SmokeReducerSF -> azure
UncomposableIsolateSF -> greyN 0.5
AmmoModifierSF{} -> orange
AmmoTargetingSF{} -> green
+9 -5
View File
@@ -3,13 +3,14 @@ module Dodge.Item.Scope (
zoomScope,
targetingScope,
remoteScreen,
remoteController,
joystick,
remoteDetonator,
homingModule,
-- bulletTargetingModule,
augmentedHUD,
bulletModule,
bulletPayloadModule,
smokeReducer,
) where
import Dodge.Item.Attach
@@ -61,8 +62,11 @@ remoteScreen = makeAttach REMOTESCREEN
remoteDetonator :: Item
remoteDetonator = makeAttach REMOTEDETONATOR
& itUse . uaParams .~ APLinkProjectile Nothing
& itUse . uaParams .~ APProjectiles []
remoteController :: Item
remoteController = makeAttach REMOTECONTROLLER
& itUse . uaParams .~ APLinkProjectile Nothing
joystick :: Item
joystick = makeAttach JOYSTICK
-- & itUse . uaParams .~ APLinkProjectile Nothing
smokeReducer :: Item
smokeReducer = makeAttach SMOKEREDUCER