Cleanup
This commit is contained in:
@@ -57,8 +57,6 @@ updateCarriage' cid cr w = \case
|
||||
mcr <- w ^? cWorld . lWorld . creatures . ix mid
|
||||
mp <- mcr ^? crPos
|
||||
d <- mcr ^? crType . slimeCompression
|
||||
r <- mcr ^? crType . slimeSlime . to slimeToRad
|
||||
--return $ w & tocr . crPos .~ mp + (p & _xy %~ compressionScale ((1/r) *^ d))
|
||||
return $ w & tocr . crPos .~ mp + (p & _x *~ d & _y %~ (/d))
|
||||
where
|
||||
tocr = cWorld . lWorld . creatures . ix cid
|
||||
|
||||
@@ -198,7 +198,7 @@ updateCalmBee cr cid w
|
||||
& cWorld . lWorld . creatures . ix tid . crType . slimeSlime -~ sspeed
|
||||
| Just (tcr,ti) <- gettarg
|
||||
, distance (cr ^. crPos . _xy) (tcr ^. crPos . _xy) < 0.8*crRad (tcr ^. crType)
|
||||
, Just r <- tcr ^? crType . slimeSlime . to slimeToRad
|
||||
-- , Just r <- tcr ^? crType . slimeSlime . to slimeToRad
|
||||
, Just d <- tcr ^? crType . slimeCompression
|
||||
= w
|
||||
-- & tocr . crStance . carriage .~ Mounted ti (cr ^. crPos - tcr ^. crPos & _xy %~ compressionScale (vNormal ((1/r) *^d)))
|
||||
|
||||
+2
-15
@@ -1091,23 +1091,17 @@ feedSlime s c w = fromMaybe w $ do
|
||||
& cWorld . lWorld . creatures . ix (s ^. crID) %~ f
|
||||
& slimeEatSound (s ^. crID) (s ^. crPos . _xy)
|
||||
where
|
||||
f cr = cr -- & crType . slimeRad .~ r
|
||||
-- & crType . slimeSlime .~ round (r^(2::Int) * 100)
|
||||
f cr = cr
|
||||
& crType . slimeSlime +~ round (r2^(2::Int) * 100)
|
||||
& crType . slimeSlimeChange +~ round (r2^(2::Int) * 100)
|
||||
-- & crType . slimeRadWobble +~ r - r1 -- not sure if this is correct
|
||||
-- & crType . slimeCompression %~ ((r/r1) *^)
|
||||
--r1 = s ^?! crType . slimeRad
|
||||
r1 = s ^?! crType . slimeSlime . to slimeToRad
|
||||
r2 = c ^. crType . to crRad
|
||||
r = sqrt (r1*r1 + r2*r2)
|
||||
|
||||
fuseSlimes :: Creature -> Creature -> World -> World
|
||||
fuseSlimes c1 c2 = (cWorld . lWorld . creatures . ix mini .~ c)
|
||||
. (cWorld . lWorld . creatures . at maxi .~ Nothing)
|
||||
. slimeEatSound i1 (c ^. crPos . _xy)
|
||||
. slimeEatSound mini (c ^. crPos . _xy)
|
||||
where
|
||||
--c' | c1 ^?! crType . slimeRad > c2 ^?! crType . slimeRad = c1
|
||||
c' | c1 ^?! crType . slimeSlime > c2 ^?! crType . slimeSlime = c1
|
||||
| otherwise = c2
|
||||
mini = min i1 i2
|
||||
@@ -1116,15 +1110,8 @@ fuseSlimes c1 c2 = (cWorld . lWorld . creatures . ix mini .~ c)
|
||||
i2 = c2 ^. crID
|
||||
c = c' & crType . slimeSlime +~ eslime
|
||||
& crType . slimeSlimeChange +~ eslime
|
||||
-- & crType . slimeRadWobble +~ r - max r1 r2
|
||||
-- & crType . slimeCompression %~ ((r/max r1 r2) *^)
|
||||
& crID .~ mini
|
||||
eslime = min (c1 ^?! crType . slimeSlime) (c2 ^?! crType . slimeSlime)
|
||||
-- r1 = c1 ^?! crType . slimeRad
|
||||
-- r2 = c2 ^?! crType . slimeRad
|
||||
r1 = c1 ^?! crType . slimeSlime . to slimeToRad
|
||||
r2 = c2 ^?! crType . slimeSlime . to slimeToRad
|
||||
r = sqrt (r1*r1 + r2*r2)
|
||||
|
||||
slimeEatSound :: Int -> Point2 -> World -> World
|
||||
slimeEatSound i p w = w & soundStart (CrSound i) p s Nothing
|
||||
|
||||
Reference in New Issue
Block a user