Assorted changes, cleanup menu selection text
This commit is contained in:
@@ -35,22 +35,25 @@ import qualified SDL
|
||||
autoRadarEffect :: ItEffect
|
||||
autoRadarEffect = ItInvEffect {_itInvEffect = f 50 ,_itEffectCounter = 0 }
|
||||
where
|
||||
f :: Int -> ItEffect -> Creature -> Int -> World -> World
|
||||
f 0 _ cr i w = aRadarPulse cr w
|
||||
& creatures . ix (_crID cr) . crInv . ix i
|
||||
f :: Int -> Item -> Creature -> World -> World
|
||||
f 0 itm cr w = aRadarPulse cr w
|
||||
& creatures . ix (_crID cr) . crInv . ix (fromJust $ _itInvPos itm)
|
||||
. itEffect . itInvEffect .~ f 100
|
||||
f t _ cr i w = w
|
||||
& creatures . ix (_crID cr) . crInv . ix i
|
||||
f t itm cr w = w
|
||||
& creatures . ix (_crID cr) . crInv . ix (fromJust $ _itInvPos itm)
|
||||
. itEffect . itInvEffect .~ f (t-1)
|
||||
{- | Automatically send out sonar pulses that detect creatures. -}
|
||||
autoSonarEffect :: ItEffect
|
||||
autoSonarEffect = ItInvEffect {_itInvEffect = f 50 ,_itEffectCounter = 0 }
|
||||
autoSonarEffect = ItInvEffect {_itInvEffect = f ,_itEffectCounter = 50 }
|
||||
where
|
||||
f :: Int -> ItEffect -> Creature -> Int -> World -> World
|
||||
f 0 _ cr i w = aSonarPulse cr w
|
||||
& creatures . ix (_crID cr) . crInv . ix i . itEffect . itInvEffect .~ f 140
|
||||
f t _ cr i w = w
|
||||
& creatures . ix (_crID cr) . crInv . ix i . itEffect . itInvEffect .~ f (t-1)
|
||||
f :: Item -> Creature -> World -> World
|
||||
f itm cr w
|
||||
| _itEffectCounter (_itEffect itm) == 0 = aSonarPulse cr w
|
||||
& decreasecounter
|
||||
| otherwise = decreasecounter w
|
||||
where
|
||||
decreasecounter = creatures . ix (_crID cr) . crInv
|
||||
. ix (fromJust $ _itInvPos itm) . itEffect . itEffectCounter %~ (\i -> (i - 1) `mod` 50)
|
||||
|
||||
defaultTargeting :: Targeting
|
||||
defaultTargeting = Targeting
|
||||
|
||||
Reference in New Issue
Block a user