Allow a spring and hardware to make weapons automatic

This commit is contained in:
2024-12-23 16:29:10 +00:00
parent 205c0a5c19
commit 90ec2a3738
6 changed files with 87 additions and 55 deletions
+2
View File
@@ -252,6 +252,8 @@ inventoryX c = case c of
[ battery
, zoomScope
, augmentedHUD
, makeTypeCraft SPRING
, makeTypeCraft HARDWARE
, autoRifle
, alteRifle
, megaTinMag 10200
+2
View File
@@ -24,6 +24,7 @@ data ComposeLinkType
| RemoteScreenLink
| AugmentedHUDLink
| FunctionChangeLink
| MakeAutoLink
deriving (Eq, Ord, Show, Read)
data ItemStructuralFunction
@@ -42,6 +43,7 @@ data ItemStructuralFunction
| AmmoPayloadSF AmmoType
| AmmoEffectSF AmmoType
| FunctionChangeSF
| MakeAutoSF
deriving (Eq, Ord, Show, Read)
type ComposedItem = (Item, ItemStructuralFunction, LinkTest)
+4 -1
View File
@@ -49,10 +49,13 @@ type ChainEffect =
hammerCheck :: ChainEffect
hammerCheck f it cr w = case it ^? ldtValue . itUse . heldTriggerType of
Just HammerTrigger -> case w ^? input . mouseButtons . ix SDL.ButtonLeft of
Just HammerTrigger | nomakeauto
-> case w ^? input . mouseButtons . ix SDL.ButtonLeft of
Just 0 -> f it cr w
_ -> w
_ -> f it cr w
where
nomakeauto = not . isJust $ lookup MakeAutoLink (it ^. ldtRight)
-- | Applies a world effect after an item use cooldown check.
useTimeCheck :: ChainEffect
+24 -4
View File
@@ -56,10 +56,11 @@ itemToBreakLists itm itmf = case (itm ^. itType, itmf) of
(_, HeldPlatformSF) ->
( getAmmoLinks itm
, [(WeaponTargetingSF, WeaponTargetingLink), (WeaponScopeSF, WeaponScopeLink)]
<> getAutoSpringLinks itm
)
(_, GadgetPlatformSF) ->
( getAmmoLinks itm
, [(TriggerSF,TriggerLink),(WeaponTargetingSF, WeaponTargetingLink), (WeaponScopeSF, WeaponScopeLink)]
, [(TriggerSF, TriggerLink), (WeaponTargetingSF, WeaponTargetingLink), (WeaponScopeSF, WeaponScopeLink)]
)
(_, AmmoMagSF{}) -> fromMaybe ([], []) $ do
atype <- itm ^? itConsumables . magType
@@ -78,6 +79,11 @@ itemToBreakLists itm itmf = case (itm ^. itType, itmf) of
([(AmmoMagSF ElectricalAmmo, AmmoInLink 0 ElectricalAmmo)], [])
_ -> ([], [])
getAutoSpringLinks :: Item -> [(ItemStructuralFunction, ComposeLinkType)]
getAutoSpringLinks itm = case itm ^? itUse . heldTriggerType of
Just HammerTrigger -> [(MakeAutoSF, MakeAutoLink)]
_ -> []
getAmmoLinks :: Item -> [(ItemStructuralFunction, ComposeLinkType)]
getAmmoLinks itm =
map
@@ -90,9 +96,10 @@ itemToFunction itm = case itm ^. itType of
HELD{} -> case itm ^? itUseCondition of
Just MustBeHeld -> HeldPlatformSF
_ -> GadgetPlatformSF
_ | Just amtype <- itm ^? itConsumables . magType
, Just _ <- itm ^? itLocation . ilEquipSite . _Just
-> AmmoMagSF amtype
_
| Just amtype <- itm ^? itConsumables . magType
, Just _ <- itm ^? itLocation . ilEquipSite . _Just ->
AmmoMagSF amtype
AMMOMAG{} -> maybe UncomposableIsolateSF AmmoMagSF $ itm ^? itConsumables . magType
ATTACH REMOTESCREEN -> RemoteScreenSF
ATTACH BULLETSYNTH -> AmmoModifierSF BulletAmmo
@@ -114,6 +121,7 @@ basePCI itm = case _itType itm of
itemBaseConnections :: Item -> LinkTest
itemBaseConnections itm = case _itType itm of
HELD LASER -> laserLinkTest itm
CRAFT SPRING -> springLinkTest itm
_ -> uncurry useBreakL $ itemToBreakLists itm (itemToFunction itm)
laserLinkTest :: Item -> LinkTest
@@ -137,6 +145,18 @@ toLasgunUpdate itm =
(\(par, _, _) -> (par, HeldPlatformSF, uncurry useBreakL $ itemToBreakLists itm HeldPlatformSF))
(\(chi, _, up) -> (chi, FunctionChangeSF, up))
springLinkTest :: Item -> LinkTest
springLinkTest itm = LTest (const Nothing) $
\ci -> case ci ^. _1 . itType of
CRAFT HARDWARE ->
Just
( LUpdate
(ILink FunctionChangeLink orientAttachment)
(\(par, _, up) -> (par, MakeAutoSF, up))
(\(chi, _, up) -> (chi, FunctionChangeSF, up))
)
_ -> Nothing
--itemLinkTestLeft :: Item -> PartiallyComposedItem -> Maybe LinkUpdate
--itemLinkTestLeft itm = _tryLeftLink $
-- uncurry useBreakL $ itemToBreakLists itm
+1
View File
@@ -9,6 +9,7 @@ import Dodge.Data.ComposedItem
itemInvColor :: ComposedItem -> Color
itemInvColor ci = case ci ^. _2 of
HeldPlatformSF -> white
MakeAutoSF -> white
EquipmentPlatformSF -> yellow
GadgetPlatformSF -> white
TriggerSF -> yellow
+54 -50
View File
@@ -57,19 +57,19 @@ Ambush src/Dodge/Data/ActionPlan.hs 178;" C
Ammo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 6;" m
Ammo src/Dodge/Item/Ammo.hs 1;" m
AmmoEffectLink src/Dodge/Data/ComposedItem.hs 21;" C
AmmoEffectSF src/Dodge/Data/ComposedItem.hs 43;" C
AmmoEffectSF src/Dodge/Data/ComposedItem.hs 44;" C
AmmoInLink src/Dodge/Data/ComposedItem.hs 16;" C
AmmoMag src/Dodge/Data/Item.hs 34;" C
AmmoMagSF src/Dodge/Data/ComposedItem.hs 37;" C
AmmoMagSF src/Dodge/Data/ComposedItem.hs 38;" C
AmmoMagType src/Dodge/Data/Item/Combine.hs 76;" t
AmmoModLink src/Dodge/Data/ComposedItem.hs 18;" C
AmmoModifierSF src/Dodge/Data/ComposedItem.hs 40;" C
AmmoModifierSF src/Dodge/Data/ComposedItem.hs 41;" C
AmmoParams src/Dodge/Data/Item/Use.hs 113;" t
AmmoPayloadLink src/Dodge/Data/ComposedItem.hs 20;" C
AmmoPayloadSF src/Dodge/Data/ComposedItem.hs 42;" C
AmmoPayloadSF src/Dodge/Data/ComposedItem.hs 43;" C
AmmoPerShot src/Dodge/Data/Item/Use.hs 162;" t
AmmoTargetingLink src/Dodge/Data/ComposedItem.hs 19;" C
AmmoTargetingSF src/Dodge/Data/ComposedItem.hs 41;" C
AmmoTargetingSF src/Dodge/Data/ComposedItem.hs 42;" C
AmmoType src/Dodge/Data/Item/Use/Consumption/Ammo.hs 39;" t
AnRoom src/Dodge/Annotation/Data.hs 18;" C
AnTree src/Dodge/Annotation/Data.hs 19;" C
@@ -101,7 +101,7 @@ Attention src/Dodge/Data/Creature/Perception.hs 60;" t
AttentiveTo src/Dodge/Data/Creature/Perception.hs 61;" C
Audition src/Dodge/Data/Creature/Perception.hs 47;" t
AugmentedHUDLink src/Dodge/Data/ComposedItem.hs 25;" C
AugmentedHUDSF src/Dodge/Data/ComposedItem.hs 36;" C
AugmentedHUDSF src/Dodge/Data/ComposedItem.hs 37;" C
AutoAI src/Dodge/Data/Creature/Misc.hs 56;" C
AutoCrit src/Dodge/Creature/AutoCrit.hs 1;" m
AutoDoorObstacle src/Dodge/Data/PathGraph.hs 51;" C
@@ -340,7 +340,7 @@ Common src/Dodge/Zoning/Common.hs 1;" m
Compile src/Shader/Compile.hs 1;" m
Compose src/Dodge/Tree/Compose.hs 4;" m
ComposeLinkType src/Dodge/Data/ComposedItem.hs 15;" t
ComposedItem src/Dodge/Data/ComposedItem.hs 47;" t
ComposedItem src/Dodge/Data/ComposedItem.hs 49;" t
ComposedItem src/Dodge/Data/ComposedItem.hs 6;" m
Composite src/Picture/Composite.hs 1;" m
ComsSS src/Dodge/Data/Scenario.hs 98;" C
@@ -642,7 +642,7 @@ Equipment src/Dodge/Default/Item/Use/Equipment.hs 1;" m
Equipment src/Dodge/Equipment.hs 1;" m
Equipment src/Dodge/Item/Equipment.hs 1;" m
EquipmentAllocation src/Dodge/Data/RightButtonOptions.hs 18;" t
EquipmentPlatformSF src/Dodge/Data/ComposedItem.hs 31;" C
EquipmentPlatformSF src/Dodge/Data/ComposedItem.hs 32;" C
Escape src/Dodge/Data/Scenario.hs 10;" C
EscapeMenuOption src/Dodge/Data/Universe.hs 72;" t
Essential src/Shape/Data.hs 34;" C
@@ -736,13 +736,13 @@ FullShadowFidelity src/Shape/Data.hs 24;" C
FullSize src/Dodge/Data/Item/Params.hs 31;" C
FullyVisible src/Dodge/Data/CamouflageStatus.hs 12;" C
FunctionChangeLink src/Dodge/Data/ComposedItem.hs 26;" C
FunctionChangeSF src/Dodge/Data/ComposedItem.hs 44;" C
FunctionChangeSF src/Dodge/Data/ComposedItem.hs 45;" C
GEqC src/SameConstr.hs 20;" c
GLASSSHARD src/Dodge/Data/Item/Combine.hs 37;" C
GLHelp src/GLHelp.hs 1;" m
GRAPECANNON src/Dodge/Data/Item/Combine.hs 126;" C
GREEN src/Color/Data.hs 16;" C
GadgetPlatformSF src/Dodge/Data/ComposedItem.hs 32;" C
GadgetPlatformSF src/Dodge/Data/ComposedItem.hs 33;" C
GameOverOptions src/Dodge/Data/Universe.hs 68;" C
GameRoom src/Dodge/GameRoom.hs 15;" t
GameRoom src/Dodge/GameRoom.hs 8;" m
@@ -821,7 +821,7 @@ HeldDelay src/Dodge/Data/Item/HeldDelay.hs 6;" m
HeldItemType src/Dodge/Data/Item/Combine.hs 115;" t
HeldOffset src/Dodge/Item/HeldOffset.hs 1;" m
HeldParams src/Dodge/Data/Item/Use.hs 80;" t
HeldPlatformSF src/Dodge/Data/ComposedItem.hs 30;" C
HeldPlatformSF src/Dodge/Data/ComposedItem.hs 31;" C
HeldScroll src/Dodge/HeldScroll.hs 1;" m
HeldUse src/Dodge/Data/Item/HeldUse.hs 6;" m
HeldUse src/Dodge/HeldUse.hs 4;" m
@@ -849,7 +849,7 @@ Huge src/Shape/Data.hs 28;" C
Humanoid src/Dodge/Data/Creature/Misc.hs 76;" C
Humanoid src/Dodge/Humanoid.hs 1;" m
HumanoidAI src/Dodge/Data/Creature/Misc.hs 48;" t
ILink src/Dodge/Data/ComposedItem.hs 49;" C
ILink src/Dodge/Data/ComposedItem.hs 51;" C
IMSS src/Dodge/Data/SelectionList.hs 36;" t
INVISIBILITYEQUIPMENT src/Dodge/Data/Item/Combine.hs 95;" C
IRONBAR src/Dodge/Data/Item/Combine.hs 56;" C
@@ -932,12 +932,12 @@ Item src/Dodge/Default/Item.hs 1;" m
Item src/Dodge/Item.hs 3;" m
ItemClust src/Dodge/Combine/Graph.hs 20;" C
ItemDimension src/Dodge/Data/Item/Misc.hs 13;" t
ItemLink src/Dodge/Data/ComposedItem.hs 49;" t
ItemLink src/Dodge/Data/ComposedItem.hs 51;" t
ItemLocation src/Dodge/Data/Item/Location.hs 28;" t
ItemParams src/Dodge/Data/Item/Params.hs 13;" t
ItemParams src/Dodge/Tesla/ItemParams.hs 1;" m
ItemScrollTimeFlow src/Dodge/Data/World.hs 62;" C
ItemStructuralFunction src/Dodge/Data/ComposedItem.hs 29;" t
ItemStructuralFunction src/Dodge/Data/ComposedItem.hs 30;" t
ItemTargeting src/Dodge/Data/Item.hs 55;" t
ItemType src/Dodge/Data/Item/Combine.hs 15;" t
ItemUse src/Dodge/Data/Item/Use.hs 35;" t
@@ -958,7 +958,7 @@ LAUNCHER src/Dodge/Data/Item/Combine.hs 147;" C
LAUNCHERX src/Dodge/Data/Item/Combine.hs 148;" C
LDT src/Dodge/Data/DoubleTree.hs 40;" C
LDTBottomNode src/Dodge/Data/DoubleTree.hs 28;" C
LDTComb src/Dodge/Item/Grammar.hs 144;" t
LDTComb src/Dodge/Item/Grammar.hs 164;" t
LDTMidAboveNode src/Dodge/Data/DoubleTree.hs 26;" C
LDTMidBelowNode src/Dodge/Data/DoubleTree.hs 27;" C
LDTRootNode src/Dodge/Data/DoubleTree.hs 24;" C
@@ -969,8 +969,8 @@ LIGHTER src/Dodge/Data/Item/Combine.hs 43;" C
LIGHTSENSOR src/Dodge/Data/Item/Combine.hs 57;" C
LS src/Dodge/Data/LightSource.hs 23;" C
LSParam src/Dodge/Data/LightSource.hs 16;" t
LTest src/Dodge/Data/ComposedItem.hs 54;" C
LUpdate src/Dodge/Data/ComposedItem.hs 59;" C
LTest src/Dodge/Data/ComposedItem.hs 56;" C
LUpdate src/Dodge/Data/ComposedItem.hs 61;" C
LWorld src/Dodge/Data/LWorld.hs 97;" t
LWorld src/Dodge/Data/LWorld.hs 6;" m
LabLink src/Dodge/Data/Room.hs 45;" C
@@ -1027,8 +1027,8 @@ LimitedWater src/Dodge/Data/Scenario.hs 40;" C
LinearShockwave src/Dodge/Data/LinearShockwave.hs 13;" t
LinearShockwave src/Dodge/Data/LinearShockwave.hs 6;" m
Link src/Dodge/Room/Link.hs 6;" m
LinkTest src/Dodge/Data/ComposedItem.hs 54;" t
LinkUpdate src/Dodge/Data/ComposedItem.hs 59;" t
LinkTest src/Dodge/Data/ComposedItem.hs 56;" t
LinkUpdate src/Dodge/Data/ComposedItem.hs 61;" t
List src/Dodge/Combine/List.hs 1;" m
List src/Dodge/Render/List.hs 3;" m
ListDisplayParams src/Dodge/Data/SelectionList.hs 13;" t
@@ -1106,6 +1106,8 @@ MagnetUpdate src/Dodge/Data/Magnet.hs 13;" t
MagnetUpdateTimer src/Dodge/Data/Magnet.hs 13;" C
Main appDodge/Main.hs 1;" m
Make src/Dodge/Corpse/Make.hs 1;" m
MakeAutoLink src/Dodge/Data/ComposedItem.hs 27;" C
MakeAutoSF src/Dodge/Data/ComposedItem.hs 46;" C
MakeDefaultCorpse src/Dodge/Data/Creature.hs 75;" C
MakeSound src/Dodge/Data/ActionPlan.hs 43;" C
MakeStartCloudAt src/Dodge/Data/WorldEffect.hs 30;" C
@@ -1572,7 +1574,7 @@ Reload src/Dodge/Data/ActionPlan.hs 190;" C
ReloadStatus src/Dodge/Data/Item/Use/Consumption.hs 20;" t
RemoteDirectionPU src/Dodge/Data/Item/Use/Consumption/Ammo.hs 32;" C
RemoteScreenLink src/Dodge/Data/ComposedItem.hs 24;" C
RemoteScreenSF src/Dodge/Data/ComposedItem.hs 38;" C
RemoteScreenSF src/Dodge/Data/ComposedItem.hs 39;" C
RemoveEquipment src/Dodge/Data/RightButtonOptions.hs 36;" C
RemoveShieldWall src/Dodge/Data/Item/Effect.hs 23;" C
Remove_LOS src/Dodge/Data/Config.hs 77;" C
@@ -1957,7 +1959,7 @@ Triangulate src/Geometry/Triangulate.hs 3;" m
Trie src/SimpleTrie.hs 9;" t
TriggerDoor src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 1;" m
TriggerLink src/Dodge/Data/ComposedItem.hs 17;" C
TriggerSF src/Dodge/Data/ComposedItem.hs 35;" C
TriggerSF src/Dodge/Data/ComposedItem.hs 36;" C
TriggerType src/Dodge/Data/Item/Use.hs 68;" t
TriggerType src/Dodge/Item/Weapon/TriggerType.hs 6;" m
TurbineBaySS src/Dodge/Data/Scenario.hs 110;" C
@@ -1977,7 +1979,7 @@ TwoHandUnder src/Dodge/Data/Item/Use.hs 189;" C
Type src/Dodge/Data/Damage/Type.hs 6;" m
Type src/Dodge/Terminal/Type.hs 1;" m
Typical src/Shape/Data.hs 36;" C
UncomposableIsolateSF src/Dodge/Data/ComposedItem.hs 39;" C
UncomposableIsolateSF src/Dodge/Data/ComposedItem.hs 40;" C
UnderGround src/Dodge/Data/Scenario.hs 78;" C
UnderRoof src/Dodge/Data/Scenario.hs 79;" C
UnderSea src/Dodge/Data/Scenario.hs 77;" C
@@ -2109,9 +2111,9 @@ WdWdNegateTrig src/Dodge/Data/WorldEffect.hs 32;" C
WdYouPos src/Dodge/Data/WorldEffect.hs 40;" C
Weapon src/Dodge/Item/Weapon.hs 2;" m
WeaponScopeLink src/Dodge/Data/ComposedItem.hs 22;" C
WeaponScopeSF src/Dodge/Data/ComposedItem.hs 33;" C
WeaponScopeSF src/Dodge/Data/ComposedItem.hs 34;" C
WeaponTargetingLink src/Dodge/Data/ComposedItem.hs 23;" C
WeaponTargetingSF src/Dodge/Data/ComposedItem.hs 34;" C
WeaponTargetingSF src/Dodge/Data/ComposedItem.hs 35;" C
Weapons src/Dodge/Item/Held/Weapons.hs 1;" m
West src/Dodge/Data/CardinalPoint.hs 7;" C
West8 src/Dodge/Data/CardinalPoint.hs 17;" C
@@ -2563,8 +2565,8 @@ _hudElement src/Dodge/Data/HUD.hs 46;" f
_humanoidAI src/Dodge/Data/Creature/Misc.hs 80;" f
_iaLoaded src/Dodge/Data/Item/Use/Consumption.hs 22;" f
_iaMax src/Dodge/Data/Item/Use/Consumption.hs 21;" f
_iatOrient src/Dodge/Data/ComposedItem.hs 51;" f
_iatType src/Dodge/Data/ComposedItem.hs 50;" f
_iatOrient src/Dodge/Data/ComposedItem.hs 53;" f
_iatType src/Dodge/Data/ComposedItem.hs 52;" f
_ibtAmmoMag src/Dodge/Data/Item/Combine.hs 21;" f
_ibtAttach src/Dodge/Data/Item/Combine.hs 20;" f
_ibtBulletMod src/Dodge/Data/Item/Combine.hs 23;" f
@@ -2662,9 +2664,9 @@ _lsID src/Dodge/Data/LightSource.hs 24;" f
_lsParam src/Dodge/Data/LightSource.hs 25;" f
_lsPos src/Dodge/Data/LightSource.hs 17;" f
_lsRad src/Dodge/Data/LightSource.hs 18;" f
_luChildUpdate src/Dodge/Data/ComposedItem.hs 62;" f
_luLinkType src/Dodge/Data/ComposedItem.hs 60;" f
_luParentUpdate src/Dodge/Data/ComposedItem.hs 61;" f
_luChildUpdate src/Dodge/Data/ComposedItem.hs 64;" f
_luLinkType src/Dodge/Data/ComposedItem.hs 62;" f
_luParentUpdate src/Dodge/Data/ComposedItem.hs 63;" f
_lwID src/Dodge/Data/LinearShockwave.hs 15;" f
_lwPoints src/Dodge/Data/LinearShockwave.hs 16;" f
_lwPos src/Dodge/Data/LinearShockwave.hs 14;" f
@@ -3139,8 +3141,8 @@ _tractorBeams src/Dodge/Data/LWorld.hs 119;" f
_trieChildren src/SimpleTrie.hs 11;" f
_trieMVal src/SimpleTrie.hs 10;" f
_triggers src/Dodge/Data/LWorld.hs 128;" f
_tryLeftLink src/Dodge/Data/ComposedItem.hs 55;" f
_tryRightLink src/Dodge/Data/ComposedItem.hs 56;" f
_tryLeftLink src/Dodge/Data/ComposedItem.hs 57;" f
_tryRightLink src/Dodge/Data/ComposedItem.hs 58;" f
_ttDeathEffect src/Dodge/Data/Terminal.hs 84;" f
_ttTriggerID src/Dodge/Data/Terminal.hs 83;" f
_tuDir src/Dodge/Data/Machine.hs 61;" f
@@ -3322,7 +3324,7 @@ airlockDoubleDoor src/Dodge/Room/Airlock.hs 54;" f
airlockSimple src/Dodge/Room/Airlock.hs 66;" f
airlockZ src/Dodge/Room/Airlock.hs 91;" f
allHotkeys src/Dodge/Creature/YourControl.hs 60;" f
allInvLocs src/Dodge/Item/Grammar.hs 225;" f
allInvLocs src/Dodge/Item/Grammar.hs 245;" f
allVisibleWalls src/Dodge/Base/Collide.hs 131;" f
alongSegBy src/Geometry.hs 43;" f
alteRifle src/Dodge/Item/Held/Cane.hs 65;" f
@@ -3426,7 +3428,7 @@ baseBlockPane src/Dodge/Placement/Instance/Wall.hs 86;" f
baseCaneShape src/Dodge/Item/Draw/SPic.hs 294;" f
baseDebris src/Dodge/Block/Debris.hs 122;" f
baseFloorTileSize src/Tile.hs 45;" f
basePCI src/Dodge/Item/Grammar.hs 110;" f
basePCI src/Dodge/Item/Grammar.hs 117;" f
baseRifleShape src/Dodge/Item/Draw/SPic.hs 297;" f
baseRodShape src/Dodge/Item/Draw/SPic.hs 381;" f
baseSMGShape src/Dodge/Item/Draw/SPic.hs 364;" f
@@ -4336,9 +4338,10 @@ geometryQuickCheckTests test/Spec.hs 55;" f
geometryTests test/Spec.hs 17;" f
geometryUnitTests test/Spec.hs 22;" f
geqConstr src/SameConstr.hs 21;" f
getAmmoLinks src/Dodge/Item/Grammar.hs 81;" f
getAmmoLinks src/Dodge/Item/Grammar.hs 87;" f
getArguments src/Dodge/Update/Scroll.hs 215;" f
getArguments' src/Dodge/Update/Scroll.hs 203;" f
getAutoSpringLinks src/Dodge/Item/Grammar.hs 82;" f
getAvailableListLines src/Dodge/SelectionList.hs 10;" f
getBulletTrajectory src/Dodge/HeldUse.hs 430;" f
getBulletType src/Dodge/HeldUse.hs 404;" f
@@ -4535,16 +4538,16 @@ intersectSegsSeg src/Geometry/Intersect.hs 232;" f
intervalList src/Geometry.hs 329;" f
interweave src/Justify.hs 17;" f
intsToPos src/Dodge/Room/Modify/Girder.hs 160;" f
invAdj src/Dodge/Item/Grammar.hs 206;" f
invAdj src/Dodge/Item/Grammar.hs 226;" f
invCursorParams src/Dodge/ListDisplayParams.hs 36;" f
invDP src/Dodge/ListDisplayParams.hs 30;" f
invDimColor src/Dodge/DisplayInventory.hs 220;" f
invHead src/Dodge/Render/HUD.hs 391;" f
invItemLocUpdate src/Dodge/Creature/State.hs 179;" f
invLDT src/Dodge/Item/Grammar.hs 186;" f
invLDT src/Dodge/Item/Grammar.hs 206;" f
invRootItemEffs src/Dodge/Creature/State.hs 172;" f
invRootMap src/Dodge/Item/Grammar.hs 195;" f
invRootTrees src/Dodge/Item/Grammar.hs 216;" f
invRootMap src/Dodge/Item/Grammar.hs 215;" f
invRootTrees src/Dodge/Item/Grammar.hs 236;" f
invSelectionItem src/Dodge/Inventory/SelectionList.hs 22;" f
invShiftPointBy src/Dodge/ShiftPoint.hs 8;" f
invSideEff src/Dodge/Creature/State.hs 166;" f
@@ -4588,7 +4591,7 @@ isoMatrix src/MatrixHelper.hs 30;" f
isotriBWH src/Geometry/Polygon.hs 20;" f
itDim src/Dodge/Item/InvSize.hs 20;" f
itInvHeight src/Dodge/Item/InvSize.hs 11;" f
itemBaseConnections src/Dodge/Item/Grammar.hs 114;" f
itemBaseConnections src/Dodge/Item/Grammar.hs 121;" f
itemBaseName src/Dodge/Item/Display.hs 50;" f
itemBlips src/Dodge/RadarSweep.hs 75;" f
itemCombinations src/Dodge/Combine/Combinations.hs 55;" f
@@ -4611,7 +4614,7 @@ itemSPic src/Dodge/Item/Draw/SPic.hs 34;" f
itemScroll src/Dodge/Update/Scroll.hs 66;" f
itemString src/Dodge/Item/Display.hs 47;" f
itemToBreakLists src/Dodge/Item/Grammar.hs 50;" f
itemToFunction src/Dodge/Item/Grammar.hs 87;" f
itemToFunction src/Dodge/Item/Grammar.hs 93;" f
itemTreeSPic src/Dodge/Item/Draw/SPic.hs 22;" f
itemUpdate src/Dodge/Creature/State.hs 429;" f
iterateUntil src/MonadHelp.hs 23;" f
@@ -4622,7 +4625,7 @@ itmSpaceInfo src/Dodge/Item/Info.hs 18;" f
itmUsageInfo src/Dodge/Item/Info.hs 185;" f
jShape src/Dodge/Placement/Instance/LightSource.hs 85;" f
jaggedShape src/Dodge/Block/Debris.hs 191;" f
joinItemsInList src/Dodge/Item/Grammar.hs 176;" f
joinItemsInList src/Dodge/Item/Grammar.hs 196;" f
jps0' src/Dodge/LevelGen/PlacementHelper.hs 60;" f
jps0PushPS src/Dodge/LevelGen/PlacementHelper.hs 63;" f
jsps src/Dodge/LevelGen/PlacementHelper.hs 36;" f
@@ -4655,7 +4658,7 @@ lasTunnel src/Dodge/Room/LasTurret.hs 123;" f
lasTunnelRunPast src/Dodge/Room/LasTurret.hs 164;" f
lasTurret src/Dodge/Placement/Instance/Turret.hs 23;" f
laser src/Dodge/Item/Held/BatteryGuns.hs 48;" f
laserLinkTest src/Dodge/Item/Grammar.hs 119;" f
laserLinkTest src/Dodge/Item/Grammar.hs 127;" f
lastMap src/Dodge/DoubleTree.hs 174;" f
launcher src/Dodge/Item/Held/Launcher.hs 12;" f
launcherCrit src/Dodge/Creature/LauncherCrit.hs 12;" f
@@ -4673,9 +4676,9 @@ ldtToIM src/Dodge/DoubleTree.hs 143;" f
ldtToIndentList src/Dodge/DoubleTree.hs 146;" f
ldtToLoc src/Dodge/DoubleTree.hs 187;" f
left src/DoubleStack.hs 16;" f
leftIsParentCombine src/Dodge/Item/Grammar.hs 146;" f
leftIsParentCombine src/Dodge/Item/Grammar.hs 166;" f
leftPad src/Padding.hs 14;" f
leftRightCombine src/Dodge/Item/Grammar.hs 160;" f
leftRightCombine src/Dodge/Item/Grammar.hs 180;" f
legsSPic src/Dodge/Item/Draw/SPic.hs 454;" f
liShape src/Dodge/Placement/Instance/LightSource.hs 98;" f
light src/Color.hs 104;" f
@@ -4703,8 +4706,8 @@ listCursorChooseBorderScale src/Dodge/Render/List.hs 135;" f
listGuard src/Dodge/Creature/ReaderUpdate.hs 188;" f
listSelectionColorPicture src/Dodge/DisplayInventory.hs 346;" f
litCorridor90 src/Dodge/Room/RoadBlock.hs 26;" f
llleft src/Dodge/Item/Grammar.hs 122;" f
llright src/Dodge/Item/Grammar.hs 128;" f
llleft src/Dodge/Item/Grammar.hs 130;" f
llright src/Dodge/Item/Grammar.hs 136;" f
lmt src/MatrixHelper.hs 43;" f
lnkBothAnd src/Dodge/Room/Procedural.hs 121;" f
lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 380;" f
@@ -5400,7 +5403,7 @@ rezText' src/Dodge/Story.hs 17;" f
rhombus src/Polyhedra.hs 72;" f
rifle src/Dodge/Item/Held/Cane.hs 55;" f
right src/DoubleStack.hs 16;" f
rightIsParentCombine src/Dodge/Item/Grammar.hs 153;" f
rightIsParentCombine src/Dodge/Item/Grammar.hs 173;" f
rightPad src/Padding.hs 22;" f
rightPadNoSquash src/Padding.hs 26;" f
rlPosDir src/Dodge/RoomLink.hs 94;" f
@@ -5742,6 +5745,7 @@ spreadCenter src/Dodge/Base.hs 165;" f
spreadFromCenter src/Dodge/Base.hs 154;" f
spreadGunCrit src/Dodge/Creature/SpreadGunCrit.hs 12;" f
spreadOut src/Dodge/Creature/Boid.hs 157;" f
springLinkTest src/Dodge/Item/Grammar.hs 148;" f
sps src/Dodge/LevelGen/PlacementHelper.hs 30;" f
sps0 src/Dodge/LevelGen/PlacementHelper.hs 42;" f
square src/Geometry/Polygon.hs 46;" f
@@ -5767,7 +5771,7 @@ ssfold src/FoldableHelp.hs 105;" f
stackPicturesAt src/Dodge/Render/List.hs 98;" f
stackPicturesAtOff src/Dodge/Render/List.hs 101;" f
stackText src/Picture/Base.hs 188;" f
stackedInventory src/Dodge/Creature.hs 284;" f
stackedInventory src/Dodge/Creature.hs 286;" f
startCr src/Dodge/Creature.hs 91;" f
startCrafts src/Dodge/Room/Start.hs 92;" f
startDrag src/Dodge/Update/Input/InGame.hs 256;" f
@@ -5854,7 +5858,7 @@ teslaParams src/Dodge/Item/Held/BatteryGuns.hs 37;" f
teslaParams src/Dodge/Tesla/ItemParams.hs 6;" f
testCrossWalls src/Dodge/Room/Path.hs 47;" f
testEvent src/Dodge/Event/Test.hs 10;" f
testInventory src/Dodge/Creature.hs 265;" f
testInventory src/Dodge/Creature.hs 267;" f
testStringInit src/Dodge/TestString.hs 28;" f
text src/Picture/Base.hs 193;" f
textGrad src/Picture/Text.hs 5;" f
@@ -5899,7 +5903,7 @@ toClosestMultiple src/HelpNum.hs 3;" f
toColor8 src/Color.hs 148;" f
toFloatVAs src/Shader/Compile.hs 211;" f
toLabel src/Dodge/Cleat.hs 16;" f
toLasgunUpdate src/Dodge/Item/Grammar.hs 133;" f
toLasgunUpdate src/Dodge/Item/Grammar.hs 141;" f
toMultiset src/Multiset.hs 64;" f
toOnward src/Dodge/Tree/Compose.hs 101;" f
toTopLeft src/Dodge/Render/List.hs 219;" f