diff --git a/ghcidOutput b/ghcidOutput index 4392a5177..cfaaa10c6 100644 --- a/ghcidOutput +++ b/ghcidOutput @@ -1 +1 @@ -All good (617 modules, at 23:34:46) +All good (617 modules, at 09:15:30) diff --git a/src/Dodge/Bullet.hs b/src/Dodge/Bullet.hs index 043d7c140..18e714108 100644 --- a/src/Dodge/Bullet.hs +++ b/src/Dodge/Bullet.hs @@ -64,7 +64,9 @@ shootBullet itm cr w = fromMaybe (error "cannot find bullet ammo when expected t leftitms <- itm ^? ldtLeft mag <- lookup (AmmoInLink 0 atype) leftitms thebullet <- mag ^? ldtValue . itUse . amagParams . ampBullet - return $ w & cWorld . lWorld . instantBullets + return $ w + & randGen .~ g' + & cWorld . lWorld . instantBullets .:~ ( thebullet & buPos .~ _crPos cr & buTrajectory %~ settrajectory @@ -75,12 +77,12 @@ shootBullet itm cr w = fromMaybe (error "cannot find bullet ammo when expected t it = itm ^. ldtValue sp = _crPos cr +.+ (muzlength ^?! _head . _x) *.* unitVectorAtAngle dir dir = _crDir cr - drag = case _rifling (_heldParams $ _itUse it) of - ConstFloat x -> x - UniRandFloat x y -> fst . randomR (x,y) $ _randGen w - muzvel = case _muzVel $ _heldParams $ _itUse it of - ConstFloat x -> x - UniRandFloat x y -> fst . randomR (x,y) $ _randGen w + (drag,g) = case _rifling (_heldParams $ _itUse it) of + ConstFloat x -> (x, _randGen w) + UniRandFloat x y -> randomR (x,y) $ _randGen w + (muzvel,g') = case _muzVel $ _heldParams $ _itUse it of + ConstFloat x -> (x,g) + UniRandFloat x y -> randomR (x,y) $ _randGen w muzlength = aimingMuzzlePos cr it settrajectory traj = case traj of BasicBulletTrajectory -> BasicBulletTrajectory diff --git a/src/Dodge/HeldUse.hs b/src/Dodge/HeldUse.hs index 9437c65b0..ccce6399f 100644 --- a/src/Dodge/HeldUse.hs +++ b/src/Dodge/HeldUse.hs @@ -478,14 +478,14 @@ makeBullet thebullet itm cr mz w = ) where bulpos = _crPos cr + rotateV (_crDir cr) (_mzPos mz + aimingWeaponZeroPos cr itm + V2 0 offset) - (a,g) = randomR (-inacc,inacc) $ _randGen w + (a,g'') = randomR (-inacc,inacc) $ _randGen w inacc = _mzInaccuracy mz - drag = case _rifling (_heldParams $ _itUse itm) of - ConstFloat x -> x - UniRandFloat x y -> fst . randomR (x,y) $ _randGen w - muzvel = case _muzVel $ _heldParams $ _itUse itm of - ConstFloat x -> x - UniRandFloat x y -> fst . randomR (x,y) $ _randGen w + (drag,g') = case _rifling (_heldParams $ _itUse itm) of + ConstFloat x -> (x,g'') + UniRandFloat x y -> randomR (x,y) g'' + (muzvel,g) = case _muzVel $ _heldParams $ _itUse itm of + ConstFloat x -> (x,g') + UniRandFloat x y -> randomR (x,y) g' dir = _crDir cr + _mzRot mz + a offset = case itm ^? itUse . heldParams . randomOffset of Just x | x /= 0 -> fst . randomR (-x,x) $ _randGen w