Start to add basic gibbing

This commit is contained in:
2022-06-03 18:00:07 +01:00
parent b50e53f400
commit dd985c6a49
7 changed files with 60 additions and 11 deletions
+4 -2
View File
@@ -5,7 +5,7 @@ module Dodge.Creature.State
import Dodge.Data
import Dodge.Hammer
import Dodge.Reloading
import Dodge.Prop.Gib
import Dodge.Base
import Dodge.Creature.State.WalkCycle
import Dodge.Creature.Impulse.Movement
@@ -75,13 +75,15 @@ checkDeath cr w
& dropByState cr
where
removecr
| _crID cr == 0 = creatures . ix (_crID cr) . crUpdate .~ const id
| _crID cr == 0 = (creatures . ix (_crID cr) . crUpdate .~ const id)
. addGibsAt (_crPos cr)
| otherwise = creatures . at (_crID cr) .~ Nothing
addCorpse = IM.insertNewKey
$ uncurryV translate (_crOldPos cr)
$ rotate (_crDir cr)
(_crCorpse cr)
internalUpdate :: Creature -> World -> World
internalUpdate cr = creatures . ix (_crID cr) %~
( (crHammerPosition %~ moveHammerUp)