Cleanup
This commit is contained in:
+11
-11
@@ -47,16 +47,15 @@ stateUpdate :: (Creature -> World -> (World -> World, Creature))
|
||||
-> Creature -> World -> World
|
||||
stateUpdate = stateUpdateDamage doDamage
|
||||
|
||||
stateUpdateDamage :: (Creature -> (World -> World,Creature))
|
||||
stateUpdateDamage :: (Creature -> World -> World)
|
||||
-> (Creature -> World -> (World -> World, Creature))
|
||||
-- -> CRUpdate
|
||||
-> Creature -> World -> World
|
||||
stateUpdateDamage damageupdate u cr w =
|
||||
mvcrhammerup . invSideEff upcr . movementSideEff cr . deathEff . f . g $ w
|
||||
& creatures . at (_crID cr) .~ (stepReloading <$> crOrCorpse upcr')
|
||||
stateUpdateDamage damageupdate u cr w = damageupdate cr $
|
||||
mvcrhammerup . invSideEff upcr . movementSideEff cr . deathEff . f $ w
|
||||
& creatures . at (_crID cr) .~ (stepReloading <$> crOrCorpse upcr)
|
||||
where
|
||||
(f,upcr) = u (updateMovement cr) w
|
||||
(g,upcr') = damageupdate upcr
|
||||
mvcrhammerup = creatures . ix (_crID cr) . crHammerPosition %~ moveHammerUp
|
||||
crOrCorpse cr'
|
||||
| cr' ^. crHP > 0 = Just cr'
|
||||
@@ -82,13 +81,14 @@ setOldPos cr = cr
|
||||
& crOldPos .~ _crPos cr
|
||||
& crOldDir .~ _crDir cr
|
||||
|
||||
clearDamage :: Creature -> (World-> World,Creature)
|
||||
clearDamage cr = (id,cr&crState . crDamage .~ [])
|
||||
clearDamage :: Creature -> World -> World
|
||||
clearDamage cr = creatures . ix (_crID cr) . crState . crDamage .~ []
|
||||
|
||||
doDamage :: Creature -> (World -> World, Creature)
|
||||
doDamage cr = set (_2 . crState . crDamage) []
|
||||
. over (_2 . crState . crPastDamage) (advancePastDamages dams)
|
||||
$ _crApplyDamage cr dams cr
|
||||
doDamage :: Creature -> World -> World
|
||||
doDamage cr w = w
|
||||
& creatures . ix (_crID cr) . crState . crDamage .~ []
|
||||
& creatures . ix (_crID cr) . crState . crPastDamage %~ advancePastDamages dams
|
||||
& _crApplyDamage cr dams cr
|
||||
where
|
||||
dams = _crDamage $ _crState cr
|
||||
|
||||
|
||||
Reference in New Issue
Block a user