Start simplifying/removing Wall records

This commit is contained in:
2025-10-23 18:11:01 +01:00
parent fc7c4d6468
commit 819f0d37ea
18 changed files with 230 additions and 243 deletions
+1 -2
View File
@@ -80,10 +80,9 @@ shieldWall crid =
defaultWall
{ _wlColor = yellow
, _wlOpacity = SeeAbove
, _wlPathable = True
, _wlWalkable = True
, _wlFireThrough = False
, _wlReflect = True
, _wlMaterial = Metal
, _wlRotateTo = False
, _wlStructure = CreaturePart crid -- shieldWallDamage
}
+3 -2
View File
@@ -4,6 +4,7 @@ module Dodge.Item.Weapon.LaserPath (
reflectPulseLaserAlong,
) where
import Control.Lens
import Dodge.Data.Object
import Data.Bifunctor
import Data.Tuple
@@ -22,7 +23,7 @@ reflectLaserAlong ::
{-# INLINE reflectLaserAlong #-}
reflectLaserAlong phasev sp ep w = case thingHitFilt (const True) _wlUnshadowed sp ep w of
Just (p, Right wl)
| _wlReflect wl ->
| Metal <- wl ^. wlMaterial ->
second (p :) $
reflectLaserAlong
phasev
@@ -72,7 +73,7 @@ reflectPulseLaserAlong phasev sp ep w = f $ filter (isunshad . snd) $ crWlPbHit
where
f = \case
((p, OWall wl) : _)
| _wlReflect wl ->
| Metal <- wl ^. wlMaterial ->
second (p :) $
reflectPulseLaserAlong
phasev