diff --git a/src/Dodge/Creature/Update.hs b/src/Dodge/Creature/Update.hs index cfe8e6b01..28834090f 100644 --- a/src/Dodge/Creature/Update.hs +++ b/src/Dodge/Creature/Update.hs @@ -149,12 +149,14 @@ splitSlimeCrit p v cr = do a2 = pi*r*r - a1 r1 = sqrt (a1/pi) r2 = sqrt (a2/pi) - mvdir = normalize (vNormal v) + mvdir + | isLHS p (p+v) cxy = normalize (vNormal v) + | otherwise = - normalize (vNormal v) return (cr' & crPos . _xy .~ mp + (r1 + 0.51) *^ mvdir & crType . slimeRad .~ r1 & crType . slimeCompression .~ rotateV (argV mvdir) (V2 r1 0) & crDir .~ argV mvdir - ,cr' & crPos . _xy .~ mp - (r2 + 0.51) *^ normalize mvdir + ,cr' & crPos . _xy .~ mp - (r2 + 0.51) *^ mvdir & crType . slimeRad .~ r2 & crType . slimeCompression .~ rotateV (argV (-mvdir)) (V2 r2 0) & crDir .~ argV (-mvdir) diff --git a/src/Dodge/Update.hs b/src/Dodge/Update.hs index bdd42c0b2..e85188a3f 100644 --- a/src/Dodge/Update.hs +++ b/src/Dodge/Update.hs @@ -1045,6 +1045,7 @@ slimeFood :: Creature -> Bool slimeFood cr = case cr ^. crType of Avatar{} -> True ChaseCrit{} -> True + CrabCrit {} -> True _ -> False feedSlime :: Creature -> Creature -> World -> World