diff --git a/src/Dodge/Item/AimStance.hs b/src/Dodge/Item/AimStance.hs index b0ab53a9e..0db1621d5 100644 --- a/src/Dodge/Item/AimStance.hs +++ b/src/Dodge/Item/AimStance.hs @@ -7,12 +7,13 @@ import Dodge.Data.DoubleTree import Control.Lens import Dodge.Data.AimStance ---aStance :: LocationLDT ItemLink CItem -> AimStance ---aStance loc = case loc ^. locLDT . ldtValue . _1 . itType of --- aimStance :: LDTree ItemLink CItem -> AimStance -aimStance ldt = itemBaseStance $ ldt ^. ldtValue . _1 - +aimStance ldt + | islasweapon = TwoHandFlat + | otherwise = itemBaseStance $ ldt ^. ldtValue . _1 + where + islasweapon = ldt ^. ldtValue . _1 . itType == CRAFT TRANSFORMER + && ldt ^? ldtRight . ix 0 . _2 . ldtValue . _2 == Just LaserWeaponSF itemBaseStance :: Item -> AimStance itemBaseStance itm = case itm ^. itType of diff --git a/src/Dodge/Item/Orientation.hs b/src/Dodge/Item/Orientation.hs index a7464502b..b537b1b44 100644 --- a/src/Dodge/Item/Orientation.hs +++ b/src/Dodge/Item/Orientation.hs @@ -33,6 +33,7 @@ orientByLink itm lt = case (_itType itm, lt) of orientAttachment :: Item -> ItemLink -> Item -> Point3Q orientAttachment par lnk ch = case (_itType par, lnk, _itType ch) of (ATTACH UNDERBARRELSLOT, _, _) -> (V3 (-5) (-8) 0, Q.qID) + (_,SFLink LaserWeaponSF,_) -> (V3 2 8 0, Q.qID) -- (HELD BURSTRIFLE, _, HELD TORCH) -> (V3 20 0 0, Q.axisAngle (V3 0 0 1) (pi/2)) -- (HELD LAUNCHER, _, HELD TORCH) -> (V3 0 20 0, Q.axisAngle (V3 0 0 1) (pi/4)) _ -> (t1 + Q.rotate q1 t2, q1 * q2) diff --git a/tags b/tags index fdd1839e5..b6aa9ffae 100644 --- a/tags +++ b/tags @@ -1006,12 +1006,12 @@ LasBeamCombine src/Dodge/Data/Beam.hs 40;" C LasGunFlare src/Dodge/Data/Muzzle.hs 27;" C LasSound src/Dodge/Data/SoundOrigin.hs 28;" C LasTurret src/Dodge/Room/LasTurret.hs 1;" m -LasWeaponSF src/Dodge/Data/ComposedItem.hs 65;" C Laser src/Dodge/Data/Laser.hs 21;" t Laser src/Dodge/Data/Laser.hs 6;" m LaserPath src/Dodge/Item/Weapon/LaserPath.hs 1;" m LaserSensor src/Dodge/Data/Machine/Sensor/Type.hs 11;" C LaserType src/Dodge/Data/Laser.hs 16;" t +LaserWeaponSF src/Dodge/Data/ComposedItem.hs 65;" C Lasering src/Dodge/Data/Damage.hs 26;" C Launcher src/Dodge/Item/Held/Launcher.hs 1;" m LauncherAI src/Dodge/Data/Creature/Misc.hs 45;" C @@ -3312,7 +3312,7 @@ aShape src/Dodge/Placement/Instance/LightSource.hs 107;" f aSound src/Dodge/SoundLogic.hs 74;" f aTreeStrut src/Dodge/Tree/GenerateStructure.hs 42;" f accessTerminal src/Dodge/WorldEffect.hs 51;" f -activateDetonator src/Dodge/Creature/Impulse/UseItem.hs 79;" f +activateDetonator src/Dodge/Creature/Impulse/UseItem.hs 81;" f activeTargetCursorPic src/Dodge/Targeting/Draw.hs 31;" f addArmour src/Dodge/Creature.hs 85;" f addBranchAt src/Dodge/Tree/GenerateStructure.hs 18;" f @@ -3355,7 +3355,7 @@ advanceScrollAmount src/Dodge/Update.hs 422;" f advanceSmoothScroll src/Dodge/SmoothScroll.hs 33;" f advanceStepCounter src/Dodge/Creature/Impulse/Movement.hs 44;" f aimDelaySweep src/Dodge/Render/Picture.hs 264;" f -aimStance src/Dodge/Item/AimStance.hs 13;" f +aimStance src/Dodge/Item/AimStance.hs 14;" f aimStanceInfo src/Dodge/Item/Info.hs 243;" f aimTurn src/Dodge/Creature/YourControl.hs 165;" f airlock src/Dodge/Room/Airlock.hs 19;" f @@ -4559,7 +4559,7 @@ healS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 483;" f healthAnalyserByDoor src/Dodge/Room/LasTurret.hs 74;" f healthTest src/Dodge/Room/LasTurret.hs 95;" f heightWallPS src/Dodge/Placement/Instance/Wall.hs 13;" f -heldAimStance src/Dodge/Item/AimStance.hs 22;" f +heldAimStance src/Dodge/Item/AimStance.hs 27;" f heldAimZoom src/Dodge/Update/Camera.hs 140;" f heldEffect src/Dodge/HeldUse.hs 60;" f heldEffectMuzzles src/Dodge/HeldUse.hs 127;" f @@ -4723,7 +4723,7 @@ itInvHeight src/Dodge/Item/InvSize.hs 11;" f itUseCondition src/Dodge/ItemUseCondition.hs 6;" f itemAmmoSlots src/Dodge/Item/AmmoSlots.hs 12;" f itemBaseName src/Dodge/Item/Display.hs 60;" f -itemBaseStance src/Dodge/Item/AimStance.hs 17;" f +itemBaseStance src/Dodge/Item/AimStance.hs 22;" f itemBlips src/Dodge/RadarSweep.hs 93;" f itemBulkiness src/Dodge/Creature/YourControl.hs 172;" f itemCombinations src/Dodge/Combine/Combinations.hs 56;" f @@ -6081,11 +6081,11 @@ toV3 src/Geometry/Data.hs 57;" f toV4 src/Geometry/Data.hs 60;" f toggleCombineInv src/Dodge/DisplayInventory.hs 317;" f toggleCommand src/Dodge/Terminal.hs 196;" f -toggleEquipmentAt src/Dodge/Creature/Impulse/UseItem.hs 84;" f -toggleExamineInv src/Dodge/Creature/Impulse/UseItem.hs 124;" f +toggleEquipmentAt src/Dodge/Creature/Impulse/UseItem.hs 86;" f +toggleExamineInv src/Dodge/Creature/Impulse/UseItem.hs 126;" f toggleExamineInv src/Dodge/ToggleExamine.hs 5;" f toggleJust src/MaybeHelp.hs 41;" f -toggleMapperInv src/Dodge/Creature/Impulse/UseItem.hs 129;" f +toggleMapperInv src/Dodge/Creature/Impulse/UseItem.hs 131;" f togglesToEffects src/Dodge/Terminal.hs 248;" f tone440S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 629;" f tone440raiseS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 651;" f @@ -6344,7 +6344,7 @@ useGasParams src/Dodge/HeldUse.hs 1117;" f useHotkey src/Dodge/Creature/YourControl.hs 70;" f useInventoryPath src/Dodge/HeldUse.hs 1404;" f useItem src/Dodge/Creature/Impulse/UseItem.hs 18;" f -useItemLoc src/Dodge/Creature/Impulse/UseItem.hs 26;" f +useItemLoc src/Dodge/Creature/Impulse/UseItem.hs 24;" f useLnkRoomPos src/Dodge/PlacementSpot.hs 244;" f useLoadedAmmo src/Dodge/HeldUse.hs 760;" f useMagShield src/Dodge/Euse.hs 27;" f