Tweaks concerning item types

This commit is contained in:
2024-12-18 11:39:12 +00:00
parent d0ef2628ce
commit d405747bd5
21 changed files with 98 additions and 69 deletions
+8 -1
View File
@@ -2,6 +2,7 @@ module Dodge.Creature.Update (
updateCreature,
) where
import Control.Lens
import Dodge.Creature.YourControl
import Dodge.Creature.State
import Dodge.Barreloid
@@ -11,8 +12,14 @@ import Dodge.Lampoid
updateCreature :: Creature -> World -> World
updateCreature cr = case _crType cr of
Avatar{} -> crUpdate yourControl cr
Avatar{} -> (cWorld . lWorld . creatures . ix 0 . crType . avatarPulse %~ updatePulse)
. crUpdate yourControl cr
Lampoid{} -> updateLampoid cr
Humanoid{} -> updateHumanoid cr
Barreloid{} -> updateBarreloid cr
NonDrawnCreature -> id
updatePulse :: Pulse -> Pulse
updatePulse PulseStatus {_pulseRate = pr, _pulseProgress = pp}
| pp >= pr = PulseStatus pr 0
| otherwise = PulseStatus pr (pp + 1)