Continue reload removal

This commit is contained in:
2024-09-08 10:33:16 +01:00
parent e03c8dd830
commit 1006bb5529
17 changed files with 220 additions and 490 deletions
+4 -5
View File
@@ -17,7 +17,6 @@ import Dodge.Hotkey
import Dodge.Inventory
import Dodge.Item.Location
import Dodge.Luse
import Dodge.Reloading
import qualified IntMapHelp as IM
useItemRightClick :: Creature -> World -> World
@@ -115,10 +114,10 @@ useItemLeftClick cr w = fromMaybe w $ do
--AmmoMagUse{} -> return $ hammerTest (cWorld . lWorld . creatures . ix (_crID cr) %~ crReloadToggle)
_ -> Nothing
where
hammerTest f = case _crHammerPosition cr of
HammerUp -> f w & setuhamdown
_ -> w & setuhamdown
setuhamdown = cWorld . lWorld . creatures . ix (_crID cr) . crHammerPosition .~ HammerDown
--hammerTest f = case _crHammerPosition cr of
-- HammerUp -> f w & setuhamdown
-- _ -> w & setuhamdown
--setuhamdown = cWorld . lWorld . creatures . ix (_crID cr) . crHammerPosition .~ HammerDown
useItemHotkey :: Int -> Int -> World -> World
useItemHotkey crid invid w = fromMaybe w $ do
+1 -18
View File
@@ -4,7 +4,6 @@ module Dodge.Creature.ReaderUpdate (
targetYouWhenCognizant,
overrideMeleeCloseTarget,
watchUpdateStrat,
reloadOverride,
overrideInternal,
searchIfDamaged,
goToTarget,
@@ -24,7 +23,7 @@ import LensHelp
import Data.Bifunctor
import Data.Maybe
import Dodge.Base
import Dodge.Creature.Volition
--import Dodge.Creature.Volition
import Dodge.Data.CreatureEffect
import Dodge.Data.World
import Dodge.Zoning.Creature
@@ -170,22 +169,6 @@ doStrategyActions cr = case cr ^? crActionPlan . apStrategy of
& crActionPlan . apStrategy .~ strat
_ -> cr
reloadOverride :: Creature -> Creature
reloadOverride cr = fromMaybe cr $ do
guard $ cr ^. crStance . posture == Aiming
itRef <- cr ^? crManipulation . manObject . inInventory . ispItem
guard $ cr ^? crInv . ix (itRef + 1) . itUse . amagLoadStatus . iaLoaded == Just 0
return $ cr & crActionPlan . apStrategy .~ StrategyActions Reload reloadActions
where
reloadActions =
[ holsterWeapon
, 1
`WaitThen` DoActionWhileInterrupt
NoAction
(WdCrBlfromCrBl CrIsReloading)
(DoImpulses [ChangeStrategy WatchAndWait])
]
overrideInternal :: (Creature -> Bool) -> (Creature -> Creature) -> Creature -> Creature
overrideInternal test update cr
| test cr = update cr
+1 -3
View File
@@ -19,8 +19,7 @@ import Geometry.Data
sentinelAI :: World -> Creature -> Creature
sentinelAI w =
reloadOverride
. sentinelExtraWatchUpdate
sentinelExtraWatchUpdate
[
( crHasTargetLOS
, \_ cr ->
@@ -66,7 +65,6 @@ sentinelFireType f =
, perceptionUpdate [0]
, -- , Left $ perceptionUp 0
const doStrategyActions
, const reloadOverride
, targetYouWhenCognizant
, const $
overrideInternal
-1
View File
@@ -23,7 +23,6 @@ import Dodge.Hammer
import Dodge.ItEffect
import Dodge.LightSource.Torch
import Dodge.Prop.Gib
import Dodge.Reloading
import Dodge.SoundLogic
import Dodge.Targeting
import Geometry
+1 -1
View File
@@ -5,7 +5,7 @@ module Dodge.Creature.Statistics (
import Data.IntMap.Merge.Strict
import Data.Maybe
import Dodge.Creature.Test
--import Dodge.Creature.Test
import Dodge.Data.Creature
import qualified IntMapHelp as IM
import LensHelp