This commit is contained in:
2025-11-22 11:53:18 +00:00
parent 4e6876c983
commit 229350120a
2 changed files with 30 additions and 29 deletions
+6 -6
View File
@@ -86,11 +86,11 @@ checkDeath' cr w = case cr ^. crHP of
-- could look at the amount of damage here (given by maxDamage) too
corpseOrGib :: Creature -> World -> World
corpseOrGib cr w = w & case cr ^? crDamage . to maxDamageType . _Just . _1 of
corpseOrGib cr = case cr ^? crDamage . to maxDamageType . _Just . _1 of
Just CookingDamage -> sethp (CrIsCorpse $ scorchSPic thecorpse)
Just PoisonDamage -> sethp (CrIsCorpse $ poisonSPic thecorpse)
Just PhysicalDamage | _crPain cr > 200 -> addCrGibs cr
. sethp CrIsGibs
Just PhysicalDamage | _crPain cr > 200
-> addCrGibs cr . sethp CrIsGibs
_ -> sethp (CrIsCorpse thecorpse)
where
sethp x = cWorld . lWorld . creatures . ix (_crID cr) . crHP .~ x
@@ -121,6 +121,6 @@ chasmTest cr w
f = circInPolygon (cr ^. crPos . _xy) (crRad $ cr ^. crType)
updatePulse :: Pulse -> Pulse
updatePulse PulseStatus{_pulseRate = pr, _pulseProgress = pp}
| pp >= pr = PulseStatus pr 0
| otherwise = PulseStatus pr (pp + 1)
updatePulse p
| p ^. pulseProgress >= p ^. pulseRate = p & pulseProgress .~ 0
| otherwise = p & pulseProgress +~ 1
+24 -23
View File
@@ -140,7 +140,7 @@ Bound_box_screen src/Dodge/Data/Config.hs 93;" C
BoundaryCursor src/Dodge/Data/SelectionList.hs 20;" C
Bounds src/Dodge/Data/Bounds.hs 10;" t
BrigSS src/Dodge/Data/Scenario.hs 102;" C
Brute src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 17;" C
Brute src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 16;" C
BulBall src/Dodge/Data/Bullet.hs 33;" C
BulFlak src/Dodge/Data/Bullet.hs 35;" C
BulFrag src/Dodge/Data/Bullet.hs 36;" C
@@ -716,7 +716,7 @@ MakeSound src/Dodge/Data/ActionPlan.hs 42;" C
MakeStartCloudAt src/Dodge/Data/WorldEffect.hs 28;" C
MakeTempLight src/Dodge/Data/WorldEffect.hs 32;" C
MakeTempLightFade src/Dodge/Data/WorldEffect.hs 33;" C
ManipulatedObject src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 20;" t
ManipulatedObject src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 19;" t
Manipulation src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 14;" t
Manipulator src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 15;" C
MapperInventory src/Dodge/Data/HUD.hs 17;" C
@@ -1140,12 +1140,12 @@ SectionCursor src/Dodge/Data/SelectionList.hs 23;" t
SeeAbove src/Dodge/Data/Wall.hs 32;" C
SeeThrough src/Dodge/Data/Wall.hs 31;" C
Sel src/Dodge/Data/HUD.hs 39;" C
SelCloseButton src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 31;" C
SelCloseItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 29;" C
SelCloseButton src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 30;" C
SelCloseItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 28;" C
SelItem src/Dodge/Data/SelectionList.hs 42;" C
SelNothing src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 27;" C
SelNothing src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 26;" C
SelSection src/Dodge/Data/SelectionList.hs 29;" t
SelectedItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 22;" C
SelectedItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 21;" C
Selection src/Dodge/Data/HUD.hs 39;" t
SelectionItem src/Dodge/Data/SelectionList.hs 41;" t
SelectionWidth src/Dodge/Data/SelectionList.hs 39;" t
@@ -1202,9 +1202,9 @@ Smoke src/Dodge/Data/Cloud.hs 21;" C
SmokeReducerSF src/Dodge/Data/ComposedItem.hs 28;" C
SocialUpheaval src/Dodge/Data/Scenario.hs 27;" C
SolarGovernment src/Dodge/Data/Scenario.hs 53;" C
SortCloseButton src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 30;" C
SortCloseItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 28;" C
SortInventory src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 21;" C
SortCloseButton src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 29;" C
SortCloseItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 27;" C
SortInventory src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 20;" C
Sound src/Sound/Data.hs 43;" t
SoundID src/Sound/Data.hs 30;" t
SoundOrigin src/Dodge/Data/SoundOrigin.hs 10;" t
@@ -1854,10 +1854,10 @@ _ilIsAttached src/Dodge/Data/Item/Location.hs 34;" f
_ilIsRoot src/Dodge/Data/Item/Location.hs 32;" f
_ilIsSelected src/Dodge/Data/Item/Location.hs 33;" f
_ilTuID src/Dodge/Data/Item/Location.hs 37;" f
_imAttachedItems src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 25;" f
_imAttachedItems src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 24;" f
_imHotkeys src/Dodge/Data/LWorld.hs 142;" f
_imRootSelectedItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 24;" f
_imSelectedItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 23;" f
_imRootSelectedItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 23;" f
_imSelectedItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 22;" f
_immediateEffect src/Loop/Data.hs 9;" f
_immediateUpdate src/Loop/Data.hs 12;" f
_impulseUseTarget src/Dodge/Data/ActionPlan.hs 45;" f
@@ -1869,8 +1869,8 @@ _incNode src/Dodge/Data/CWorld.hs 30;" f
_incNodeZoning src/Dodge/Data/World.hs 52;" f
_input src/Dodge/Data/World.hs 41;" f
_isWarming src/Dodge/Data/Item/Params.hs 21;" f
_ispCloseButton src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 31;" f
_ispCloseItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 29;" f
_ispCloseButton src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 30;" f
_ispCloseItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 28;" f
_itConsumables src/Dodge/Data/Item.hs 28;" f
_itID src/Dodge/Data/Item.hs 30;" f
_itLocation src/Dodge/Data/Item.hs 31;" f
@@ -2754,7 +2754,7 @@ chaseCritMv src/Dodge/Creature/ReaderUpdate.hs 121;" f
chaseCritPerceptionUpdate src/Dodge/Creature/Perception.hs 32;" f
chaseCritVocalization src/Dodge/Creature/ChaseCrit.hs 36;" f
chasmSimpleMaze src/Dodge/Room/Tutorial.hs 183;" f
chasmTest src/Dodge/Creature/Update.hs 132;" f
chasmTest src/Dodge/Creature/Update.hs 109;" f
chasmWallToSurface src/Dodge/Base/Collide.hs 118;" f
checkCombineSelectionExists src/Dodge/DisplayInventory.hs 100;" f
checkConnection src/Dodge/Inventory/Swap.hs 66;" f
@@ -2763,7 +2763,7 @@ checkDeath' src/Dodge/Creature/Update.hs 73;" f
checkEndGame src/Dodge/Update.hs 766;" f
checkErrorGL src/Shader/Compile.hs 86;" f
checkFBO src/Framebuffer/Check.hs 6;" f
checkGLError src/GLHelp.hs 14;" f
checkGLError src/GLHelp.hs 17;" f
checkInvSlotsYou src/Dodge/Inventory/CheckSlots.hs 18;" f
checkInventorySelectionExists src/Dodge/DisplayInventory.hs 93;" f
checkTermDist src/Dodge/Update.hs 316;" f
@@ -2884,7 +2884,7 @@ copierItemUpdate src/Dodge/Creature/State.hs 131;" f
copyItemToFloor src/Dodge/FloorItem.hs 14;" f
corDoor src/Dodge/Room/Room.hs 385;" f
cornerList src/Preload/Render.hs 227;" f
corpseOrGib src/Dodge/Creature/Update.hs 111;" f
corpseOrGib src/Dodge/Creature/Update.hs 88;" f
corridor src/Dodge/Room/Corridor.hs 17;" f
corridorBoss src/Dodge/LockAndKey.hs 133;" f
corridorN src/Dodge/Room/Corridor.hs 52;" f
@@ -3353,7 +3353,7 @@ drawZone src/Dodge/Debug/Picture.hs 152;" f
drawZoneCirc src/Dodge/Debug/Picture.hs 292;" f
drawZoneCol src/Dodge/Debug/Picture.hs 149;" f
drawZoneNearPointCursor src/Dodge/Debug/Picture.hs 285;" f
dropAll src/Dodge/Creature/Update.hs 129;" f
dropAll src/Dodge/Creature/Update.hs 106;" f
dropInventoryPath src/Dodge/HeldUse.hs 1351;" f
dropItem src/Dodge/Creature/Action.hs 155;" f
dropper src/Dodge/Item/Scope.hs 76;" f
@@ -3590,6 +3590,7 @@ girder src/Dodge/Room/Foreground.hs 206;" f
girderV src/Dodge/Room/Foreground.hs 177;" f
girderV' src/Dodge/Room/Foreground.hs 153;" f
girderZ src/Dodge/Room/Foreground.hs 108;" f
glCreate src/GLHelp.hs 11;" f
glassLesson src/Dodge/Room/GlassLesson.hs 23;" f
glassLessonRunPast src/Dodge/Room/GlassLesson.hs 68;" f
glassShat1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 648;" f
@@ -4124,7 +4125,7 @@ metal6S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 692;" f
metal7S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 536;" f
metalPlate src/Dodge/Item/Craftable.hs 35;" f
mglCreate src/GLHelp.hs 8;" f
mglDelete src/GLHelp.hs 11;" f
mglDelete src/GLHelp.hs 14;" f
midBarDecoration src/Dodge/Placement/TopDecoration.hs 16;" f
midBounds src/Dodge/Room/Foreground.hs 150;" f
midChasm src/Dodge/Room/Tutorial.hs 146;" f
@@ -4371,7 +4372,7 @@ pointerToItemID src/Dodge/Item/Location.hs 42;" f
pointerYourRootItem src/Dodge/Item/Location.hs 33;" f
pointerYourSelectedItem src/Dodge/Item/Location.hs 26;" f
pointsToPoly src/Geometry/ConvexPoly.hs 35;" f
poisonSPic src/Dodge/Creature/Update.hs 125;" f
poisonSPic src/Dodge/Creature/Update.hs 102;" f
poisonSprayer src/Dodge/Item/Held/SprayGuns.hs 17;" f
poke34 src/Shader/Poke.hs 507;" f
pokeArrayOff src/Shader/Poke.hs 519;" f
@@ -4428,7 +4429,7 @@ posRms src/Dodge/Tree/Shift.hs 44;" f
posSelSecYint src/Dodge/SelectionSections.hs 147;" f
positionRoomsFromTree src/Dodge/Tree/Shift.hs 35;" f
postGenerationProcessing src/Dodge/LevelGen.hs 30;" f
postUniverseLoadSideEffect src/Dodge/WorldLoad.hs 13;" f
postUniverseLoadSideEffect src/Dodge/WorldLoad.hs 14;" f
postWorldLoad src/Dodge/WorldLoad.hs 18;" f
powerFakeout src/Dodge/Room/Start.hs 28;" f
powerFakeout' src/Dodge/Room/Start.hs 25;" f
@@ -4725,7 +4726,7 @@ scaleSH src/Shape.hs 269;" f
scalp src/Dodge/Creature/Picture.hs 93;" f
scancodeToHotkey src/Dodge/Creature/YourControl.hs 102;" f
scodeToChar src/Dodge/ScodeToChar.hs 6;" f
scorchSPic src/Dodge/Creature/Update.hs 122;" f
scorchSPic src/Dodge/Creature/Update.hs 99;" f
screenBox src/Dodge/Base/Window.hs 53;" f
screenPolygon src/Dodge/Base/Window.hs 17;" f
screenPolygonBord src/Dodge/Base/Window.hs 27;" f
@@ -5344,7 +5345,7 @@ updateObjMapMaybe src/Dodge/Update.hs 540;" f
updatePastWorlds src/Dodge/Update.hs 422;" f
updatePreload src/Preload/Update.hs 21;" f
updateProjectile src/Dodge/Projectile/Update.hs 26;" f
updatePulse src/Dodge/Creature/Update.hs 146;" f
updatePulse src/Dodge/Creature/Update.hs 123;" f
updatePulseBall src/Dodge/Update.hs 447;" f
updatePulseLaser src/Dodge/Update.hs 610;" f
updatePulseLasers src/Dodge/Update.hs 442;" f