Tweak two handed item held position

This commit is contained in:
2023-01-02 11:13:47 +00:00
parent 8838d1120b
commit f3b14f9a22
7 changed files with 39 additions and 32 deletions
+11 -11
View File
@@ -13,18 +13,18 @@ import Geometry.Data
data ItemDimension = ItemDimension
{ _dimRad :: Float
, _dimCenter :: Point3
, _dimAttachPos :: Point3
, _dimAttachPos :: Point3 -- should be attachmentpos
}
deriving (Eq, Show, Read) --Generic, Flat)
data ItemPortage
= HeldItem
{ _handlePos :: Float
, _muzPos :: Float
}
| WornItem
| NoPortage
deriving (Eq, Show, Read) --Generic, Flat)
--data ItemPortage
-- = HeldItem
-- { _handlePos :: Float
-- , _muzPos :: Float
-- }
-- | WornItem
-- | NoPortage
-- deriving (Eq, Show, Read) --Generic, Flat)
--data ItemValue = ItemValue
-- { _ivInt :: Int
@@ -36,9 +36,9 @@ data ItemPortage
-- deriving (Eq, Show, Read) --Generic, Flat)
makeLenses ''ItemDimension
makeLenses ''ItemPortage
--makeLenses ''ItemPortage
--makeLenses ''ItemValue
deriveJSON defaultOptions ''ItemDimension
deriveJSON defaultOptions ''ItemPortage
--deriveJSON defaultOptions ''ItemPortage
--deriveJSON defaultOptions ''ItemValue
--deriveJSON defaultOptions ''ItemValueType
+2
View File
@@ -8,6 +8,7 @@ module Dodge.Data.Item.Use.Equipment (
module Dodge.Data.Item.Use.Equipment,
) where
import Geometry.Data
import Control.Lens
import Data.Aeson
import Data.Aeson.TH
@@ -21,6 +22,7 @@ data EquipEffect = EquipEffect
, _eeSite :: EquipSite
, _eeParams :: EquipParams
, _eeViewDist :: Maybe Float
, _eeAttachPos :: Point3
}
--deriving (Eq, Ord, Show, Read) --Generic, Flat)
+8 -1
View File
@@ -12,6 +12,13 @@ import Dodge.Default.Item.Effect
import Dodge.Default.Item.Use
import Geometry.Data
defaultItemDimension :: ItemDimension
defaultItemDimension = ItemDimension
{ _dimRad = 2
, _dimCenter = 0
, _dimAttachPos = V3 10 (-5) 3
}
defaultItem :: Item
defaultItem =
Item
@@ -23,7 +30,7 @@ defaultItem =
, _itInvColor = yellow
, _itInvSize = 1
, _itLocation = InVoid
, _itDimension = ItemDimension 2 0 (V3 10 (-5) 3)
, _itDimension = defaultItemDimension
, _itUse = CraftUse (ItAmount 1)
, _itParams = NoParams
, _itTweaks = NoTweaks
+1
View File
@@ -12,4 +12,5 @@ defaultEquip =
, _eeOnRemove = EDoNothing
, _eeParams = NoEquipParams
, _eeViewDist = Nothing
, _eeAttachPos = 0
}
+16 -18
View File
@@ -114,25 +114,25 @@ miniGunUse i =
defaultHeldUse
& heldUse .~ HeldUseAmmoParams
& heldMods .~ MiniGunMod i
& heldDelay .~ WarmUpNoDelay{_warmTime = 0, _warmMax = 100}
& heldAim . aimWeight .~ 6
& heldAim . aimRange .~ 1
& heldAim . aimStance .~ TwoHandTwist
& heldAim . aimZoom .~ defaultItZoom{_izFac = 1.5}
& heldConsumption
.~ defaultBulletLoadable
{ _laMax = 1500
, _laLoaded = 1500
}
& heldConsumption . laCycle .~ [loadEject 40, loadInsert 40, loadPrime 40]
& heldDelay .~ WarmUpNoDelay{_warmTime = 0, _warmMax = 100}
& heldAim . aimWeight .~ 6
& heldAim . aimRange .~ 1
& heldAim . aimStance .~ TwoHandTwist
& heldAim . aimZoom .~ defaultItZoom{_izFac = 1.5}
& heldAim . aimHandlePos .~ 5
& heldConsumption
.~ defaultBulletLoadable
{ _laMax = 1500
, _laLoaded = 1500
}
& heldConsumption . laCycle .~ [loadEject 40, loadInsert 40, loadPrime 40]
miniGunX :: Int -> Item
miniGunX i =
autoRifle
{ _itUse =
miniGunUse i
, _itParams =
BulletShooter
& itUse .~ miniGunUse i
& itParams
.~ BulletShooter
{ _muzVel = 1
, _rifling = 0.9
, _bore = 2
@@ -146,10 +146,8 @@ miniGunX i =
, _torqueAfter = 0
, _randomOffset = 10
}
, _itInvSize = 4
}
& itInvSize .~ fromIntegral i + 1
& itDimension . dimRad .~ 20
& itDimension . dimCenter .~ V3 5 0 0
& itDimension . dimAttachPos .~ V3 5 (-5) 0
& itType . iyBase .~ HELD (MINIGUNX i)
& itUse . heldAim . aimMuzPos .~ 40
+1 -1
View File
@@ -34,7 +34,7 @@ heldItemOffset itm cr
(+.+.+ V3 0 0 handD)
. (+.+.+ V3 (_crRad cr) 0 0)
. rotate3 (strideRot cr + 1.2)
. (+.+.+ V3 (-5) 0 0)
. (+.+.+ V3 (-8) 0 0)
-- . (+.+.+ V3 (-5) 0 0)
. transToHandle itm
| otherwise = id
-1
View File
@@ -5,7 +5,6 @@ module Dodge.Item.Weapon.Utility
, blinkGun
, unsafeBlinkGun
, shrinkGun
-- , useForceFieldGun
) where
import Control.Lens