Simplify flamelet balls
This commit is contained in:
+1
-1
@@ -122,7 +122,7 @@ useBulletPayload bu = case _buPayload bu of
|
||||
(_buVel bu)
|
||||
(ElectricalBall (round $ bu ^. buPos . _1))
|
||||
BulBall FlashBall -> makeMovingEB (_buVel bu) FlashBall
|
||||
BulBall (FlameletBall x r) -> makeMovingEB (_buVel bu) (FlameletBall x r)
|
||||
BulBall (FlameletBall x) -> makeMovingEB (_buVel bu) (FlameletBall x)
|
||||
BulBall IncendiaryBall -> makeMovingEB (_buVel bu) IncendiaryBall
|
||||
|
||||
makeFragBullets :: Point2 -> World -> World
|
||||
|
||||
@@ -11,7 +11,7 @@ import Data.Aeson.TH
|
||||
|
||||
data EnergyBallType
|
||||
= IncendiaryBall
|
||||
| FlameletBall {_fbSize :: Float, _fbRot :: Float}
|
||||
| FlameletBall {_fbSize :: Float}
|
||||
| ElectricalBall {_ebID :: Int}
|
||||
| ExplosiveBall
|
||||
| FlashBall
|
||||
|
||||
+1
-18
@@ -2,7 +2,6 @@
|
||||
|
||||
module Dodge.EnergyBall (
|
||||
updateEnergyBall,
|
||||
makeFlashBall,
|
||||
makeFlamelet,
|
||||
makeMovingEB,
|
||||
) where
|
||||
@@ -22,16 +21,13 @@ import Linear.V3
|
||||
makeFlamelet :: Point3 -> Point3 -> Float -> Int -> World -> World
|
||||
makeFlamelet p v s t w =
|
||||
w
|
||||
& randGen .~ g
|
||||
& cWorld . lWorld . energyBalls
|
||||
.:~ EnergyBall
|
||||
{ _ebVel = v
|
||||
, _ebPos = p
|
||||
, _ebTimer = t
|
||||
, _ebType = FlameletBall s a
|
||||
, _ebType = FlameletBall s
|
||||
}
|
||||
where
|
||||
(a, g) = randomR (0, 3) $ _randGen w
|
||||
|
||||
updateEnergyBall :: World -> EnergyBall -> (World, Maybe EnergyBall)
|
||||
updateEnergyBall w eb
|
||||
@@ -62,16 +58,6 @@ ebEffect eb = case _ebType eb of
|
||||
soundStart (EBSound (-1)) (eb ^. ebPos . _xy) fireFadeS Nothing
|
||||
_ -> id
|
||||
|
||||
energyBallAt :: EnergyBallType -> Point2 -> World -> World
|
||||
energyBallAt ebt p =
|
||||
cWorld . lWorld . energyBalls
|
||||
.:~ EnergyBall
|
||||
{ _ebVel = 0
|
||||
, _ebPos = p `v2z` 20
|
||||
, _ebTimer = 20
|
||||
, _ebType = ebt
|
||||
}
|
||||
|
||||
makeMovingEB :: Point2 -> EnergyBallType -> Point2 -> World -> World
|
||||
makeMovingEB v ebt p =
|
||||
cWorld . lWorld . energyBalls
|
||||
@@ -82,9 +68,6 @@ makeMovingEB v ebt p =
|
||||
, _ebType = ebt
|
||||
}
|
||||
|
||||
makeFlashBall :: Point2 -> World -> World
|
||||
makeFlashBall = energyBallAt FlashBall
|
||||
|
||||
ebFlicker :: EnergyBall -> World -> World
|
||||
ebFlicker pt
|
||||
| _ebTimer pt `mod` 7 == 0 =
|
||||
|
||||
@@ -6,8 +6,8 @@ import Picture
|
||||
|
||||
drawEnergyBall :: EnergyBall -> Picture
|
||||
drawEnergyBall eb = case _ebType eb of
|
||||
FlameletBall x a -> drawFlamelet x a eb
|
||||
IncendiaryBall -> drawFlamelet 5 0 eb
|
||||
FlameletBall x -> drawFlamelet x eb
|
||||
IncendiaryBall -> drawFlamelet 5 eb
|
||||
ElectricalBall{} -> drawStaticBall eb
|
||||
ExplosiveBall -> drawExplosiveBall eb
|
||||
FlashBall -> mempty
|
||||
@@ -34,8 +34,8 @@ drawStaticBall pt =
|
||||
. translate3 (_ebPos pt)
|
||||
$ circleSolidCol blue (withAlpha 0.5 white) 8
|
||||
|
||||
drawFlamelet :: Float -> Float -> EnergyBall -> Picture
|
||||
drawFlamelet size rot pt =
|
||||
drawFlamelet :: Float -> EnergyBall -> Picture
|
||||
drawFlamelet size pt =
|
||||
fold
|
||||
[ setLayer BloomLayer pic
|
||||
, setLayer BloomNoZWrite piu
|
||||
@@ -58,7 +58,7 @@ drawFlamelet size rot pt =
|
||||
(V4 2 0 0 1)
|
||||
(V4 2 0 0 0)
|
||||
)
|
||||
. rotate (negate (rot - 0.1 * fromIntegral time))
|
||||
. rotate (0.1 * fromIntegral time)
|
||||
. scale s1 s1
|
||||
. polygon
|
||||
$ reverse (rectNSWE siz2 (- siz2) (- siz2) siz2)
|
||||
@@ -75,7 +75,7 @@ drawFlamelet size rot pt =
|
||||
(V4 2 1 0 0.5)
|
||||
(V4 0 0 0 0)
|
||||
)
|
||||
. rotate (negate (rot + 0.2 * fromIntegral time))
|
||||
. rotate (negate (0.2 * fromIntegral time))
|
||||
. scale s2 s2
|
||||
. polygon
|
||||
. reverse
|
||||
@@ -91,7 +91,7 @@ drawFlamelet size rot pt =
|
||||
(V4 1 1 1 3)
|
||||
(V4 1 0 0 1)
|
||||
)
|
||||
. rotate (negate (0.1 * fromIntegral time + rot))
|
||||
. rotate (negate (0.1 * fromIntegral time))
|
||||
. scale (0.5 * sc) (0.5 * sc)
|
||||
$ polygon $ map toV2 [(- size, - size), (size, - size), (size, size), (- size, size)]
|
||||
sc = (*) 2 $ log $ 1 + fromIntegral time / 20
|
||||
|
||||
@@ -1636,7 +1636,6 @@ _buOldPos src/Dodge/Data/Bullet.hs 24;" f
|
||||
_buPayload src/Dodge/Data/Bullet.hs 20;" f
|
||||
_buPos src/Dodge/Data/Bullet.hs 23;" f
|
||||
_buVel src/Dodge/Data/Bullet.hs 21;" f
|
||||
_buWidth src/Dodge/Data/Bullet.hs 25;" f
|
||||
_bullets src/Dodge/Data/LWorld.hs 109;" f
|
||||
_burstFrames src/Dodge/Data/TriggerType.hs 12;" f
|
||||
_burstRate src/Dodge/Data/TriggerType.hs 12;" f
|
||||
@@ -3084,7 +3083,7 @@ createLightMap src/Render.hs 26;" f
|
||||
createPathGrid src/Dodge/Room/Path.hs 21;" f
|
||||
createProjectile src/Dodge/HeldUse.hs 1336;" f
|
||||
createProjectileR src/Dodge/HeldUse.hs 1285;" f
|
||||
createShell src/Dodge/Projectile/Create.hs 22;" f
|
||||
createShell src/Dodge/Projectile/Create.hs 21;" f
|
||||
createShieldWall src/Dodge/Item/BackgroundEffect.hs 39;" f
|
||||
createUnusedLinkPos src/Dodge/Tree/Shift.hs 117;" f
|
||||
createWall src/Dodge/Wall/Create.hs 8;" f
|
||||
@@ -3145,7 +3144,7 @@ damageInCircle src/Dodge/Damage.hs 61;" f
|
||||
damageMetal src/Dodge/Material/Damage.hs 55;" f
|
||||
damageSensor src/Dodge/Placement/Instance/Sensor.hs 15;" f
|
||||
damageStone src/Dodge/Material/Damage.hs 25;" f
|
||||
damageThingHit src/Dodge/Bullet.hs 178;" f
|
||||
damageThingHit src/Dodge/Bullet.hs 176;" f
|
||||
damageTypeThreshold src/Dodge/Placement/Instance/Sensor.hs 45;" f
|
||||
damageWall src/Dodge/Wall/Damage.hs 15;" f
|
||||
damsToExpBarrel src/Dodge/Barreloid.hs 46;" f
|
||||
@@ -3488,7 +3487,7 @@ drawShader src/Shader.hs 27;" f
|
||||
drawShaderLay src/Shader.hs 16;" f
|
||||
drawShadowsByImportance src/Dodge/Shadows.hs 8;" f
|
||||
drawShell src/Dodge/Projectile/Draw.hs 22;" f
|
||||
drawShockwave src/Dodge/Shockwave/Draw.hs 7;" f
|
||||
drawShockwave src/Dodge/Shockwave/Draw.hs 6;" f
|
||||
drawSpark src/Dodge/Spark/Draw.hs 7;" f
|
||||
drawStaticBall src/Dodge/EnergyBall/Draw.hs 28;" f
|
||||
drawSubInventory src/Dodge/Render/HUD.hs 161;" f
|
||||
@@ -3539,11 +3538,11 @@ dtToUpDownAdj src/Dodge/DoubleTree.hs 158;" f
|
||||
dummyMenuOption src/Dodge/Menu/Option.hs 74;" f
|
||||
dustColor src/Shader/Poke/Cloud.hs 71;" f
|
||||
dustSpringVel src/Dodge/Update.hs 880;" f
|
||||
ebColor src/Dodge/EnergyBall.hs 95;" f
|
||||
ebDamage src/Dodge/EnergyBall.hs 103;" f
|
||||
ebEffect src/Dodge/EnergyBall.hs 50;" f
|
||||
ebFlicker src/Dodge/EnergyBall.hs 88;" f
|
||||
ebtToDamage src/Dodge/EnergyBall.hs 111;" f
|
||||
ebColor src/Dodge/EnergyBall.hs 81;" f
|
||||
ebDamage src/Dodge/EnergyBall.hs 89;" f
|
||||
ebEffect src/Dodge/EnergyBall.hs 49;" f
|
||||
ebFlicker src/Dodge/EnergyBall.hs 74;" f
|
||||
ebtToDamage src/Dodge/EnergyBall.hs 97;" f
|
||||
edgeFormatting src/Dodge/Combine/Graph.hs 131;" f
|
||||
edgeToPic src/Dodge/Debug/Picture.hs 436;" f
|
||||
effectOnEquip src/Dodge/Equipment.hs 32;" f
|
||||
@@ -3561,7 +3560,6 @@ encircleP src/Dodge/Creature/Boid.hs 28;" f
|
||||
endArcPos src/Dodge/Tesla.hs 87;" f
|
||||
endCombineRegex src/Dodge/Update/Input/InGame.hs 267;" f
|
||||
endRegex src/Dodge/Update/Input/InGame.hs 254;" f
|
||||
energyBallAt src/Dodge/EnergyBall.hs 65;" f
|
||||
energyReleaseS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 592;" f
|
||||
enterCombineInv src/Dodge/DisplayInventory.hs 323;" f
|
||||
epText src/Dodge/Inventory/SelectionList.hs 76;" f
|
||||
@@ -3592,7 +3590,7 @@ expandPolyBy src/Dodge/LevelGen/StaticWalls.hs 91;" f
|
||||
expandPolyByFixed src/Dodge/LevelGen/StaticWalls.hs 97;" f
|
||||
expandPolyCorners src/Dodge/LevelGen/StaticWalls.hs 103;" f
|
||||
expandToSquare src/Dodge/LevelGen/StaticWalls/Deprecated.hs 83;" f
|
||||
expireAndDamage src/Dodge/Bullet.hs 186;" f
|
||||
expireAndDamage src/Dodge/Bullet.hs 184;" f
|
||||
explodeShell src/Dodge/Projectile/Update.hs 283;" f
|
||||
explosionS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 556;" f
|
||||
explosiveBarrel src/Dodge/Creature/Inanimate.hs 25;" f
|
||||
@@ -3722,7 +3720,7 @@ getArguments' src/Dodge/Update/Scroll.hs 166;" f
|
||||
getAttachedSFLink src/Dodge/HeldUse.hs 780;" f
|
||||
getAutoSpringLinks src/Dodge/Item/Grammar.hs 84;" f
|
||||
getAvailableListLines src/Dodge/SelectionList.hs 10;" f
|
||||
getBulHitDams src/Dodge/Bullet.hs 171;" f
|
||||
getBulHitDams src/Dodge/Bullet.hs 169;" f
|
||||
getBulletType src/Dodge/HeldUse.hs 957;" f
|
||||
getCloseObj src/Dodge/Update/Input/InGame.hs 515;" f
|
||||
getCommands src/Dodge/Terminal.hs 117;" f
|
||||
@@ -3853,7 +3851,7 @@ highBar src/Dodge/Room/Foreground.hs 89;" f
|
||||
highDiagonalMesh src/Dodge/Room/Foreground.hs 35;" f
|
||||
highMesh src/Dodge/Room/Foreground.hs 25;" f
|
||||
hit1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 580;" f
|
||||
hitEffFromBul src/Dodge/Bullet.hs 154;" f
|
||||
hitEffFromBul src/Dodge/Bullet.hs 152;" f
|
||||
hitS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 534;" f
|
||||
holdForm src/Dodge/Creature/Boid.hs 137;" f
|
||||
holsterWeapon src/Dodge/Creature/Volition.hs 14;" f
|
||||
@@ -4203,16 +4201,15 @@ makeDoorDebris src/Dodge/Block/Debris.hs 24;" f
|
||||
makeDustAt src/Dodge/WorldEvent/Cloud.hs 17;" f
|
||||
makeEnumOption src/Dodge/Menu/OptionType.hs 13;" f
|
||||
makeExplosionAt src/Dodge/WorldEvent/Explosion.hs 73;" f
|
||||
makeFlak src/Dodge/Bullet.hs 143;" f
|
||||
makeFlak src/Dodge/Bullet.hs 142;" f
|
||||
makeFlame src/Dodge/Flame.hs 45;" f
|
||||
makeFlameExplosionAt src/Dodge/WorldEvent/Explosion.hs 56;" f
|
||||
makeFlamelet src/Dodge/EnergyBall.hs 22;" f
|
||||
makeFlashBall src/Dodge/EnergyBall.hs 85;" f
|
||||
makeFlamelet src/Dodge/EnergyBall.hs 21;" f
|
||||
makeFragBullets src/Dodge/Bullet.hs 128;" f
|
||||
makeGasCloud src/Dodge/WorldEvent/SpawnParticle.hs 11;" f
|
||||
makeGrid src/Grid.hs 46;" f
|
||||
makeIntInterval src/Dodge/Zoning/Base.hs 35;" f
|
||||
makeMovingEB src/Dodge/EnergyBall.hs 75;" f
|
||||
makeMovingEB src/Dodge/EnergyBall.hs 64;" f
|
||||
makeMuzzleFlare src/Dodge/HeldUse.hs 664;" f
|
||||
makeParagraph src/Justify.hs 6;" f
|
||||
makePathBetween src/Dodge/Path.hs 35;" f
|
||||
@@ -4226,7 +4223,7 @@ makeShaderUsingVAO src/Shader/Compile.hs 146;" f
|
||||
makeShaderUsingVBO src/Shader/Compile.hs 69;" f
|
||||
makeShaderVBO src/Shader/Compile.hs 32;" f
|
||||
makeShockwaveAt src/Dodge/WorldEvent/Shockwave.hs 12;" f
|
||||
makeShrapnelAt src/Dodge/Payload.hs 25;" f
|
||||
makeShrapnelAt src/Dodge/Payload.hs 24;" f
|
||||
makeSourcedShader src/Shader/Compile.hs 167;" f
|
||||
makeSpark src/Dodge/Spark.hs 45;" f
|
||||
makeSubmenuOption src/Dodge/Menu/OptionType.hs 19;" f
|
||||
@@ -4337,14 +4334,14 @@ modTo src/Geometry/Zone.hs 10;" f
|
||||
mouseClickOptionsList src/Dodge/Update/Input/ScreenLayer.hs 60;" f
|
||||
mouseCursorType src/Dodge/Render/Picture.hs 86;" f
|
||||
mouseWorldPos src/Dodge/Base/Coordinate.hs 48;" f
|
||||
moveBullet src/Dodge/Bullet.hs 195;" f
|
||||
moveBullet src/Dodge/Bullet.hs 193;" f
|
||||
moveCombineSel src/Dodge/Update/Scroll.hs 114;" f
|
||||
moveInverseShockwave src/Dodge/Shockwave/Update.hs 44;" f
|
||||
moveLSThen src/Dodge/Placement/Instance/LightSource.hs 30;" f
|
||||
movePenBullet src/Dodge/Bullet.hs 201;" f
|
||||
movePenBullet src/Dodge/Bullet.hs 199;" f
|
||||
moveProjectile src/Dodge/Projectile/Update.hs 261;" f
|
||||
moveRoomBy src/Dodge/Room/Link.hs 53;" f
|
||||
moveShockwave src/Dodge/Shockwave/Update.hs 15;" f
|
||||
moveShockwave src/Dodge/Shockwave/Update.hs 13;" f
|
||||
moveStuckGrenade src/Dodge/Projectile/Update.hs 247;" f
|
||||
moveToSideFirstOutLink src/Dodge/Room/Warning.hs 55;" f
|
||||
moveWall src/Dodge/Wall/Move.hs 29;" f
|
||||
@@ -4482,7 +4479,7 @@ pbFlicker src/Dodge/Update.hs 487;" f
|
||||
pbsHit src/Dodge/WorldEvent/ThingsHit.hs 62;" f
|
||||
peZoneSize src/Dodge/Zoning/Pathing.hs 46;" f
|
||||
pedestalRoom src/Dodge/Room/Containing.hs 50;" f
|
||||
penThing src/Dodge/Bullet.hs 209;" f
|
||||
penThing src/Dodge/Bullet.hs 207;" f
|
||||
perMat src/MatrixHelper.hs 49;" f
|
||||
perceptionUpdate src/Dodge/Creature/Perception.hs 23;" f
|
||||
performAction src/Dodge/Creature/Action.hs 91;" f
|
||||
@@ -5226,7 +5223,7 @@ stone3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 572;" f
|
||||
stone4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 484;" f
|
||||
stone5S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 626;" f
|
||||
stopAllSounds src/Sound.hs 125;" f
|
||||
stopBulletAt src/Dodge/Bullet.hs 198;" f
|
||||
stopBulletAt src/Dodge/Bullet.hs 196;" f
|
||||
stopPushing src/Dodge/Block.hs 105;" f
|
||||
stopSoundFrom src/Dodge/SoundLogic.hs 220;" f
|
||||
strFromEquipment src/Dodge/Creature/Statistics.hs 48;" f
|
||||
@@ -5508,7 +5505,7 @@ updateDistortions src/Dodge/Update.hs 587;" f
|
||||
updateDoor src/Dodge/Update.hs 326;" f
|
||||
updateDust src/Dodge/Update.hs 850;" f
|
||||
updateDusts src/Dodge/Update.hs 701;" f
|
||||
updateEnergyBall src/Dodge/EnergyBall.hs 36;" f
|
||||
updateEnergyBall src/Dodge/EnergyBall.hs 35;" f
|
||||
updateEnergyBalls src/Dodge/Update.hs 689;" f
|
||||
updateEnterRegex src/Dodge/Update/Input/InGame.hs 480;" f
|
||||
updateExpBarrel src/Dodge/Barreloid.hs 20;" f
|
||||
@@ -5567,7 +5564,7 @@ updateScopeZoom src/Dodge/Update/Scroll.hs 72;" f
|
||||
updateScrollTestValue src/Dodge/ScrollValue.hs 6;" f
|
||||
updateSection src/Dodge/DisplayInventory.hs 264;" f
|
||||
updateSectionsPositioning src/Dodge/DisplayInventory.hs 243;" f
|
||||
updateShockwave src/Dodge/Shockwave/Update.hs 10;" f
|
||||
updateShockwave src/Dodge/Shockwave/Update.hs 8;" f
|
||||
updateShockwaves src/Dodge/Update.hs 683;" f
|
||||
updateSingleNodes src/TreeHelp.hs 97;" f
|
||||
updateSound src/Sound.hs 72;" f
|
||||
@@ -5619,7 +5616,7 @@ useLnkRoomPos src/Dodge/PlacementSpot.hs 244;" f
|
||||
useLoadedAmmo src/Dodge/HeldUse.hs 736;" f
|
||||
useMagShield src/Dodge/Euse.hs 27;" f
|
||||
useNormalCamera src/Dodge/Camera.hs 6;" f
|
||||
usePayload src/Dodge/Payload.hs 19;" f
|
||||
usePayload src/Dodge/Payload.hs 18;" f
|
||||
useRewindGun src/Dodge/HeldUse.hs 1420;" f
|
||||
useRoomPosCond src/Dodge/PlacementSpot.hs 178;" f
|
||||
useRoomPosRoomCond src/Dodge/PlacementSpot.hs 181;" f
|
||||
|
||||
Reference in New Issue
Block a user