Remove _crCamouflage/wrist invisibility on equip/unequip

Invisibility no longer works
This commit is contained in:
2024-12-19 12:12:54 +00:00
parent a669632226
commit 7e0184a54d
14 changed files with 185 additions and 168 deletions
+1 -1
View File
@@ -25,7 +25,7 @@ smallChaseCrit =
invisibleChaseCrit :: Creature
invisibleChaseCrit =
chaseCrit
& crCamouflage .~ Invisible
-- & crCamouflage .~ Invisible
& crInv . at 0 ?~ wristInvisibility
& crEquipment . at OnLeftWrist ?~ 0
-- & crInvEquipped . at 0 ?~ OnLeftWrist
+4 -1
View File
@@ -28,11 +28,14 @@ basicCrPict cr =
uncurryV translateSPxy (_crPos cr) (rotateSP (_crDir cr) $ drawEquipment cr)
<> noPic (basicCrShape cr)
crCamouflage :: Creature -> CamouflageStatus
crCamouflage _ = FullyVisible
basicCrShape ::
Creature ->
Shape
basicCrShape cr
| _crCamouflage cr == Invisible = mempty
| crCamouflage cr == Invisible = mempty
| otherwise =
tr . scaleSH (V3 crsize crsize crsize) $
mconcat
+1 -1
View File
@@ -179,7 +179,7 @@ invItemLocUpdate cr loc w = doAnyEquipmentEffect loc cr $ case itm ^. itType of
doAnyEquipmentEffect :: LocationLDT ItemLink ComposedItem -> Creature -> World -> World
doAnyEquipmentEffect loc cr = case itm ^? itLocation . ilEquipPosition . _Just of
Just _ -> useE (_eeUse (_uequipEffect $ _itUse itm)) loc cr
Just _ -> useE loc cr
_ -> id
where
itm = loc ^. locLDT . ldtValue . _1
+1 -1
View File
@@ -75,7 +75,7 @@ data Creature = Creature
, _crHammerPosition :: HammerPosition
, _crName :: String
, _crStatistics :: CreatureStatistics
, _crCamouflage :: CamouflageStatus
-- , _crCamouflage :: CamouflageStatus
-- , _crTargeting :: CreatureTargeting
}
+6 -7
View File
@@ -8,7 +8,6 @@ module Dodge.Data.Item.HeldUse where
--import Dodge.Data.Item.Use.Consumption.Ammo
import Data.Aeson
import Data.Aeson.TH
import Dodge.Data.CamouflageStatus
import Control.Lens
data Cuse
@@ -22,12 +21,12 @@ data Euse
| EWristShield
| EHeadLamp
-- | EFuelSource {_euseFuelAmount :: Int, _euseFuelMax :: Int}
| EBatterySource {_euseBatteryAmount :: Int, _euseBatteryMax :: Int}
| EAmmoSource
{ _euseAmmoAmount :: Int
, _euseAmmoMax :: Int
, _euseAmmoLink :: Maybe Int
}
-- | EBatterySource {_euseBatteryAmount :: Int, _euseBatteryMax :: Int}
-- | EAmmoSource
-- { _euseAmmoAmount :: Int
-- , _euseAmmoMax :: Int
-- , _euseAmmoLink :: Maybe Int
-- }
deriving (Eq, Ord, Show, Read) --Generic, Flat)
data Luse
+1
View File
@@ -105,6 +105,7 @@ data AmmoParams
= BulletParams {_ampBullet :: Bullet}
| ProjectileParams { _ampPayload :: Payload }
| GasParams {_ampCreateGas :: GasFuel}
| NoAmmoParams
deriving (Eq, Show, Read) --Generic, Flat)
data AimParams = AimParams
+1 -2
View File
@@ -7,7 +7,6 @@ module Dodge.Data.Item.Use.Equipment (
module Dodge.Data.Item.Use.Equipment,
) where
import Dodge.Data.CamouflageStatus
import Geometry.Data
import Control.Lens
import Data.Aeson
@@ -28,7 +27,7 @@ data EquipEffect = EquipEffect
data ItmCrWdWd
= ItmCrWdWdDoNothing
| ECamouflage {_euseCamouflageStatus :: CamouflageStatus}
-- | ECamouflage {_euseCamouflageStatus :: CamouflageStatus}
| EonWristShield
| EoffWristShield
deriving (Eq, Ord, Show, Read) --Generic, Flat)
+1 -1
View File
@@ -56,7 +56,7 @@ defaultCreature =
, _crHammerPosition = HammerUp
, _crName = "DEFAULTCRNAME"
, _crStatistics = CreatureStatistics 50 50 50
, _crCamouflage = FullyVisible
-- , _crCamouflage = FullyVisible
-- , _crTargeting = defaultCreatureTargeting
}
+11 -9
View File
@@ -22,21 +22,23 @@ import LensHelp
doItmCrWdWd :: ItmCrWdWd -> Item -> Creature -> World -> World
doItmCrWdWd x itm cr = case x of
(ECamouflage vis) -> overCID (crCamouflage .~ vis) itm cr
-- (ECamouflage vis) -> overCID (crCamouflage .~ vis) itm cr
EonWristShield -> onEquipWristShield itm cr
EoffWristShield -> onRemoveWristShield itm cr
_ -> id
useE :: Euse -> LocationLDT ItemLink ComposedItem -> Creature -> World -> World
useE eo loc cr = case eo of
EDoNothing -> id
EMagShield -> useMagShield itm cr
EWristShield -> setWristShieldPos itm cr
EHeadLamp -> createHeadLamp itm cr
EBatterySource{} -> tryChargeBattery itm cr
EAmmoSource{} -> tryAttachBulletBelt itm cr
useE :: LocationLDT ItemLink ComposedItem -> Creature -> World -> World
useE loc cr = case eo of
Nothing -> id
Just EDoNothing -> id
Just EMagShield -> useMagShield itm cr
Just EWristShield -> setWristShieldPos itm cr
Just EHeadLamp -> createHeadLamp itm cr
-- Just EBatterySource{} -> tryChargeBattery itm cr
-- Just EAmmoSource{} -> tryAttachBulletBelt itm cr
where
itm = loc ^. locLDT . ldtValue . _1
eo = itm ^? itUse . uequipEffect . eeUse
tryAttachBulletBelt :: Item -> Creature -> World -> World
tryAttachBulletBelt _ _ w = w
+1 -1
View File
@@ -100,7 +100,7 @@ battery =
& itUse .~ UseNothing
& itConsumables
.~ AmmoMag
{ _magParams = BulletParams defaultBullet
{ _magParams = NoAmmoParams
, _magType = ElectricalAmmo
, _magLoadStatus =
ReloadStatus
+1 -10
View File
@@ -88,7 +88,7 @@ itemNumberDisplay cr ci = case (ci ^. _2, itm ^?! itUse, itm ^. itType) of
$ itm ^? itConsumables . magLoadStatus . iaLoaded]
(_,UseHeld{},_) -> []
(_,UseHotkey{_leftConsumption=lc},_) -> [showAutoRechargeProgress lc]
(_,UseEquip{},_) -> showEquipmentNumber cr itm
(_,UseEquip{},_) -> mempty
(_,UseNothing,_) -> []
(_,UseConsume {},_) -> []
(_,UseAttach (APInt i),_) -> [show i]
@@ -105,15 +105,6 @@ displayPulse x = take 5 $ drop y "----^-----"
where
y = min 5 $ x `div` 3
showEquipmentNumber :: Creature -> Item -> [String]
showEquipmentNumber _ itm = case _eeUse ee of
-- EFuelSource x _ -> [show x]
EAmmoSource{_euseAmmoAmount = x} -> [show x]--showAmmoSource cr itm
EBatterySource{_euseBatteryAmount = x} -> [show x]
_ -> [""]
where
ee = itm ^?! itUse . uequipEffect
maybeWarmupStatus :: Item -> Maybe String
maybeWarmupStatus it = case it ^? itUse . heldDelay . warmMax of
Nothing -> Nothing
+36 -6
View File
@@ -18,8 +18,8 @@ module Dodge.Item.Equipment (
pulseChecker,
) where
import Dodge.Item.Weapon.Bullet
import Geometry.Data
import Dodge.Data.CamouflageStatus
import Dodge.Data.Item
import Dodge.Default
import Dodge.Item.Equipment.Booster
@@ -59,7 +59,17 @@ batteryPack =
defaultEquipment
& itUse . uequipEffect . eeSite .~ GoesOnBack
& itUse . uequipEffect . eeAttachPos .~ V3 (-8) 0 10
& itUse . uequipEffect . eeUse .~ EBatterySource 10000 10000
& itUse . uequipEffect . eeUse .~ EDoNothing
& itConsumables
.~ AmmoMag
{ _magParams = NoAmmoParams
, _magType = ElectricalAmmo
, _magLoadStatus =
ReloadStatus
{ _iaMax = 10000000
, _iaLoaded = 10000000
}
}
& itType .~ EQUIP BATTERYPACK
fuelPack :: Item
@@ -85,7 +95,17 @@ bulletBeltPack =
defaultEquipment
& itUse . uequipEffect . eeSite .~ GoesOnBack
& itUse . uequipEffect . eeAttachPos .~ V3 (-9) 0 10
& itUse . uequipEffect . eeUse .~ EAmmoSource 2000 2000 Nothing
& itUse . uequipEffect . eeUse .~ EDoNothing
& itConsumables
.~ AmmoMag
{ _magParams = BulletParams defaultBullet
, _magType = BeltBulletAmmo
, _magLoadStatus =
ReloadStatus
{ _iaMax = 10000000
, _iaLoaded = 10000000
}
}
& itType .~ EQUIP BULLETBELTPACK
bulletBeltBracer :: Item
@@ -93,7 +113,17 @@ bulletBeltBracer =
defaultEquipment
& itUse . uequipEffect . eeSite .~ GoesOnWrist
& itUse . uequipEffect . eeAttachPos .~ V3 (-9) 0 10
& itUse . uequipEffect . eeUse .~ EAmmoSource 100 100 Nothing
& itUse . uequipEffect . eeUse .~ EDoNothing
& itConsumables
.~ AmmoMag
{ _magParams = BulletParams defaultBullet
, _magType = BeltBulletAmmo
, _magLoadStatus =
ReloadStatus
{ _iaMax = 100000
, _iaLoaded = 100000
}
}
& itType .~ EQUIP BULLETBELTBRACER
brainHat :: Item
@@ -131,8 +161,8 @@ wristInvisibility :: Item
wristInvisibility =
defaultEquipment
& itUse . uequipEffect . eeSite .~ GoesOnWrist
& itUse . uequipEffect . eeOnEquip .~ ECamouflage Invisible
& itUse . uequipEffect . eeOnRemove .~ ECamouflage FullyVisible
-- & itUse . uequipEffect . eeOnEquip .~ ECamouflage Invisible
-- & itUse . uequipEffect . eeOnRemove .~ ECamouflage FullyVisible
& itType .~ EQUIP (INVISIBILITYEQUIPMENT GoesOnWrist)
pulseChecker :: Item