From f938f9a717312bc8c0683dece9d59f1ea2acbf9a Mon Sep 17 00:00:00 2001 From: justin Date: Tue, 7 Jun 2022 16:08:18 +0100 Subject: [PATCH] Add limit to forcefield size --- src/Dodge/Item/Weapon/ExtraEffect.hs | 3 ++- src/Dodge/Item/Weapon/Utility.hs | 5 ++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/Dodge/Item/Weapon/ExtraEffect.hs b/src/Dodge/Item/Weapon/ExtraEffect.hs index 2c3580ce1..abfaa8f21 100644 --- a/src/Dodge/Item/Weapon/ExtraEffect.hs +++ b/src/Dodge/Item/Weapon/ExtraEffect.hs @@ -94,9 +94,10 @@ targetDistanceDraw itm _ cfig w = fromMaybe mempty $ do let p1 = worldPosToScreen w p mwp = mouseWorldPos w p2 = worldPosToScreen w mwp + thecol = if dist p mwp > 100 then red else white return $ winScale cfig $ setLayer FixedCoordLayer - $ color white + $ color thecol $ line [p1, p2] <> translate (20) (f p1 p2) (uncurryV translate (0.5 *.* (p1 +.+ p2)) . scale 0.1 0.1 $ text $ shortShow $ dist p mwp) where diff --git a/src/Dodge/Item/Weapon/Utility.hs b/src/Dodge/Item/Weapon/Utility.hs index 0f7b47f1f..5704786b1 100644 --- a/src/Dodge/Item/Weapon/Utility.hs +++ b/src/Dodge/Item/Weapon/Utility.hs @@ -19,6 +19,7 @@ import ShapePicture import Data.Maybe --import qualified Data.Map.Strict as M import Control.Lens +--import Control.Monad rewindGun :: Item rewindGun = defaultGun @@ -156,7 +157,9 @@ forceFieldGun = defaultGun useForceFieldGun :: Item -> Creature -> World -> World useForceFieldGun itm cr w = fromMaybe w $ do a <- _tgPos $ _itTargeting itm - let wlline = (a,mouseWorldPos w) + let mwp = mouseWorldPos w + b = if dist a mwp < 100 then mwp else a +.+ 100 *.* normalizeV (mwp -.- a) + wlline = (a,b) return $ w & walls %~ IM.insertWith (\_ x -> x) i forceField {_wlID = i} & creatures . ix (_crID cr) . crInv . ix (fromJust (_itInvPos itm)) . itParams . paramMID ?~ i