Fix no damage to walls bug
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
module Dodge.HeldUse where
|
||||
|
||||
import Dodge.Creature.HandPos
|
||||
import Dodge.Tesla.Arc
|
||||
import Color
|
||||
import Data.Maybe
|
||||
import Data.Traversable
|
||||
@@ -494,3 +496,13 @@ mcShootLaser it mc = cWorld . lasers .:~ lasRayAt (_lasColor $ _itParams it) dam
|
||||
dir = mc ^?! mcType . _McTurret . tuDir
|
||||
phasev = _phaseV . _itParams $ it
|
||||
dam = _lasDamage $ _itParams it
|
||||
|
||||
-- | assumes that the item is held
|
||||
shootTeslaArc :: Item -> Creature -> World -> World
|
||||
shootTeslaArc it cr w =
|
||||
w'
|
||||
& cWorld . creatures . ix (_crID cr) . crInv . ix (crSel cr) . itParams .~ ip
|
||||
where
|
||||
(w', ip) = shootTeslaArc' (_itParams it) pos dir w
|
||||
pos = _crPos cr +.+ aimingMuzzlePos cr it *.* unitVectorAtAngle dir
|
||||
dir = _crDir cr
|
||||
|
||||
Reference in New Issue
Block a user