diff --git a/src/Dodge/Corpse/Make.hs b/src/Dodge/Corpse/Make.hs index 9344affd4..815159769 100644 --- a/src/Dodge/Corpse/Make.hs +++ b/src/Dodge/Corpse/Make.hs @@ -11,14 +11,16 @@ import Shape import ShapePicture makeCorpse :: Creature -> SPic -makeCorpse cr = - noPic - . scaleSH (V3 crsize crsize crsize) - $ mconcat - [ colorSH (_skinHead cskin) $ deadScalp cr - , colorSH (_skinUpper cskin) $ deadUpperBody cr - , rotmdir $ colorSH (_skinLower cskin) $ deadFeet cr - ] +makeCorpse cr = case cr ^. crType of + HoverCrit{} -> noPic $ drawHoverCrit cr + _ -> + noPic + . scaleSH (V3 crsize crsize crsize) + $ mconcat + [ colorSH (_skinHead cskin) $ deadScalp cr + , colorSH (_skinUpper cskin) $ deadUpperBody cr + , rotmdir $ colorSH (_skinLower cskin) $ deadFeet cr + ] where cskin = crShape $ _crType cr -- this should be fixed crsize = 0.1 * crRad (cr ^. crType) diff --git a/src/Dodge/Creature/State/WalkCycle.hs b/src/Dodge/Creature/State/WalkCycle.hs index f5d249a3c..fcfef85a7 100644 --- a/src/Dodge/Creature/State/WalkCycle.hs +++ b/src/Dodge/Creature/State/WalkCycle.hs @@ -39,7 +39,7 @@ updateCarriage' cid cr w = \case Falling {} -> let v = 0.95 *^ (cr ^. crOldPos - oop & _z -~ 0.5) ep = cr ^. crPos + v - in if ep ^. _z < 0 && + in if ep ^. _z < 0 && cr ^. crOldPos . _z >= 0 && (not (any (pointInPoly (ep ^. _xy)) (w ^. cWorld . chasms)) || any (uncurry $ crOnSeg cr) (w ^. cWorld . cliffs)) then w & tocr . crPos .~ (ep & _z .~ 0) diff --git a/src/Dodge/Prop/Draw.hs b/src/Dodge/Prop/Draw.hs index 3db080940..411cd7268 100644 --- a/src/Dodge/Prop/Draw.hs +++ b/src/Dodge/Prop/Draw.hs @@ -19,10 +19,10 @@ debrisSPic db = translateSP (_dbPos db & _z +~ 1) . overPosSP (Q.rotate (_dbRot case db ^. dbType of Gib x col -> noPic $ drawGib x col BlockDebris m -> noPic . colorSH m $ cubeShape 4 - --MetalDebris c -> noPic . colorSH c $ upperPrismPolySU 1 $ [0, V2 5 0, V2 4 2] - MetalDebris c -> noPic . colorSH c $ upperPrismPolySU 1 [0, V2 8 0, V2 6 3] - --MetalDebris c -> noPic . colorSH c $ upperPrismPolySU 1 $ [0, V2 10 0, V2 8 4] - GlassDebris -> noPic . colorSH azure $ upperPrismPoly Small Undesired 1 [0, V2 8 0, V2 6 3] + MetalDebris c -> noPic . colorSH c $ upperBox Small Undesired 1 jagshape + GlassDebris -> noPic . colorSH azure $ upperPrismPoly Small Undesired 1 jagshape + where + jagshape = [0, V2 8 0, V2 6 3] & each -~ V2 4 1.5 propSPic :: Prop -> SPic propSPic pr = diff --git a/src/Dodge/TestString.hs b/src/Dodge/TestString.hs index 2f6b7e5fb..1d1d81821 100644 --- a/src/Dodge/TestString.hs +++ b/src/Dodge/TestString.hs @@ -39,6 +39,7 @@ tocrs = uvWorld . cWorld . lWorld . creatures testStringInit :: Universe -> [String] testStringInit u = u ^.. tocrs . each . crStance . carriage . to show + <> u ^.. tocrs . each . crPos . _z . to show -- where -- tocr = uvWorld . cWorld . lWorld . creatures . ix 0