Fix bullet randomness (from eg bangCone)
This commit is contained in:
+1
-1
@@ -1 +1 @@
|
||||
All good (617 modules, at 23:34:46)
|
||||
All good (617 modules, at 09:15:30)
|
||||
|
||||
+9
-7
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user