Refactor, try to limit dependencies
This commit is contained in:
@@ -1,9 +1,10 @@
|
||||
module Dodge.Machine.Damage where
|
||||
import Dodge.Data
|
||||
|
||||
import Dodge.Data.World
|
||||
import LensHelp
|
||||
|
||||
basicMachineApplyDamage :: Machine -> World -> World
|
||||
basicMachineApplyDamage mc = cWorld . machines . ix mcid %~ ( (mcDamage .~ []) . (mcHP -~ dams) )
|
||||
basicMachineApplyDamage mc = cWorld . machines . ix mcid %~ ((mcDamage .~ []) . (mcHP -~ dams))
|
||||
where
|
||||
dams = sum $ map _dmAmount $ _mcDamage mc
|
||||
dams = sum $ map _dmAmount $ _mcDamage mc
|
||||
mcid = _mcID mc
|
||||
|
||||
@@ -1,26 +1,28 @@
|
||||
module Dodge.Machine.Destroy where
|
||||
import Dodge.WorldEffect
|
||||
import Dodge.Wall.Delete
|
||||
import Dodge.Data
|
||||
import Dodge.WorldEvent.Explosion
|
||||
import LensHelp
|
||||
|
||||
import Data.Maybe
|
||||
import Dodge.Data.World
|
||||
import Dodge.Wall.Delete
|
||||
import Dodge.WorldEffect
|
||||
import Dodge.WorldEvent.Explosion
|
||||
import qualified IntMapHelp as IM
|
||||
import LensHelp
|
||||
|
||||
destroyMachine :: Machine -> World -> World
|
||||
destroyMachine mc = (cWorld . machines %~ IM.delete (_mcID mc))
|
||||
. deleteWallIDs (_mcWallIDs mc)
|
||||
. makeExplosionAt (_mcPos mc)
|
||||
. mcKillTerm mc
|
||||
. mcKillBut mc
|
||||
destroyMachine mc =
|
||||
(cWorld . machines %~ IM.delete (_mcID mc))
|
||||
. deleteWallIDs (_mcWallIDs mc)
|
||||
. makeExplosionAt (_mcPos mc)
|
||||
. mcKillTerm mc
|
||||
. mcKillBut mc
|
||||
|
||||
mcKillTerm :: Machine -> World -> World
|
||||
mcKillTerm mc w = fromMaybe w $ do
|
||||
tmid <- mc ^? mcMounts . ix ObTerminal
|
||||
tm <- w ^? cWorld . terminals . ix tmid
|
||||
return $ w
|
||||
& doTmWdWd (_tmDeathEffect tm) tm
|
||||
tm <- w ^? cWorld . terminals . ix tmid
|
||||
return $
|
||||
w
|
||||
& doTmWdWd (_tmDeathEffect tm) tm
|
||||
|
||||
mcKillBut :: Machine -> World -> World
|
||||
mcKillBut mc w = fromMaybe w $ do
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
module Dodge.Machine.Update where
|
||||
|
||||
import Dodge.Item.Held.BatteryGuns
|
||||
import Data.List (partition)
|
||||
import Data.Maybe
|
||||
import Dodge.Base.Collide
|
||||
import Dodge.Base.You
|
||||
import Dodge.Data
|
||||
import Dodge.Data.World
|
||||
import Dodge.Default
|
||||
import Dodge.FloorItem
|
||||
import Dodge.Item.Weapon.BatteryGuns
|
||||
import Dodge.Machine.Destroy
|
||||
import Dodge.Movement.Turn
|
||||
import Dodge.SoundLogic
|
||||
@@ -61,7 +61,7 @@ updateTurret rotSpeed mc w
|
||||
defaultCreature
|
||||
& crID .~ cid
|
||||
& crInv . at 0
|
||||
?~ ( _tuWeapon (_mcType mc) & itUse . useAim . aimHandlePos -~ 10
|
||||
?~ ( _tuWeapon (_mcType mc) & itUse . heldAim . aimHandlePos -~ 10
|
||||
& itUse . heldConsumption . laLoaded .~ 1
|
||||
)
|
||||
& crPos .~ mcpos
|
||||
|
||||
Reference in New Issue
Block a user