Remove consumable records
This commit is contained in:
+20
-62
@@ -16,103 +16,61 @@ import Control.Lens
|
||||
import Dodge.Data.World
|
||||
import Dodge.Default.Item
|
||||
import Dodge.Item.Attach
|
||||
import Dodge.Item.Weapon.Bullet
|
||||
|
||||
--import Dodge.Item.Weapon.Bullet
|
||||
|
||||
megaTinMag :: Int -> Item
|
||||
megaTinMag x =
|
||||
tinMag
|
||||
& itConsumables . magLoadStatus . iaMax .~ x
|
||||
& itConsumables . magLoadStatus . iaLoaded .~ x
|
||||
& itConsumables ?~ x
|
||||
|
||||
tinMag :: Item
|
||||
tinMag =
|
||||
defaultHeldItem & itType .~ AMMOMAG TINMAG
|
||||
& itUse .~ UseNothing
|
||||
& itConsumables
|
||||
.~ AmmoMag
|
||||
{ _magParams = BulletParams defaultBullet
|
||||
-- , _magType = BulletAmmo
|
||||
, _magLoadStatus =
|
||||
ReloadStatus
|
||||
{ _iaMax = 15
|
||||
, _iaLoaded = 15
|
||||
}
|
||||
}
|
||||
& itConsumables ?~ 15
|
||||
|
||||
drumMag :: Item
|
||||
drumMag = tinMag & itType . ibtAmmoMag .~ DRUMMAG
|
||||
& itConsumables . magLoadStatus . iaLoaded .~ 30
|
||||
& itConsumables . magLoadStatus . iaMax .~ 30
|
||||
drumMag =
|
||||
tinMag & itType . ibtAmmoMag .~ DRUMMAG
|
||||
& itConsumables ?~ 30
|
||||
|
||||
beltMag :: Item
|
||||
beltMag = tinMag & itType . ibtAmmoMag .~ BELTMAG
|
||||
& itConsumables . magLoadStatus . iaLoaded .~ 10000
|
||||
& itConsumables . magLoadStatus . iaMax .~ 20000
|
||||
-- & itConsumables . magType .~ BeltBulletAmmo
|
||||
beltMag =
|
||||
tinMag & itType . ibtAmmoMag .~ BELTMAG
|
||||
& itConsumables ?~ 10000
|
||||
|
||||
megaShellMag :: Item
|
||||
megaShellMag = shellMag
|
||||
& itConsumables . magLoadStatus . iaMax .~ 1000000
|
||||
& itConsumables . magLoadStatus . iaLoaded .~ 1000000
|
||||
megaShellMag =
|
||||
shellMag
|
||||
& itConsumables ?~ 1000000
|
||||
|
||||
shellMag :: Item
|
||||
shellMag =
|
||||
defaultHeldItem & itType .~ AMMOMAG SHELLMAG
|
||||
& itUse .~ UseNothing
|
||||
& itConsumables
|
||||
.~ AmmoMag
|
||||
{ _magParams =
|
||||
ProjectileParams
|
||||
{ _ampPayload = ExplosionPayload
|
||||
}
|
||||
, _magLoadStatus =
|
||||
ReloadStatus
|
||||
{ _iaMax = 1
|
||||
, _iaLoaded = 1
|
||||
}
|
||||
-- , _magType = LauncherAmmo
|
||||
}
|
||||
& itConsumables ?~ 1
|
||||
|
||||
megaBattery :: Item
|
||||
megaBattery = battery
|
||||
& itConsumables . magLoadStatus . iaMax .~ 1000000
|
||||
& itConsumables . magLoadStatus . iaLoaded .~ 1000000
|
||||
megaBattery =
|
||||
battery
|
||||
& itConsumables ?~ 1000000
|
||||
|
||||
smallBattery :: Item
|
||||
smallBattery =
|
||||
battery
|
||||
& itConsumables . magLoadStatus . iaMax .~ 999
|
||||
& itConsumables . magLoadStatus . iaLoaded .~ 999
|
||||
smallBattery = battery & itConsumables ?~ 999
|
||||
|
||||
battery :: Item
|
||||
battery =
|
||||
defaultHeldItem & itType .~ AMMOMAG BATTERY
|
||||
& itUse .~ UseNothing
|
||||
& itConsumables
|
||||
.~ AmmoMag
|
||||
{ _magParams = NoAmmoParams
|
||||
-- , _magType = ElectricalAmmo
|
||||
, _magLoadStatus =
|
||||
ReloadStatus
|
||||
{ _iaMax = 10 ^ (9 :: Int)
|
||||
, _iaLoaded = 10 ^ (9 :: Int)
|
||||
}
|
||||
}
|
||||
& itConsumables ?~ 10 ^ (9 :: Int)
|
||||
|
||||
chemFuelPouch :: Item
|
||||
chemFuelPouch =
|
||||
defaultHeldItem & itType .~ AMMOMAG CHEMFUELPOUCH
|
||||
& itUse .~ UseNothing
|
||||
& itConsumables
|
||||
.~ AmmoMag
|
||||
{ _magParams = GasParams ChemFuel
|
||||
-- , _magType = GasAmmo
|
||||
, _magLoadStatus =
|
||||
ReloadStatus
|
||||
{ _iaMax = 1000
|
||||
, _iaLoaded = 1000
|
||||
}
|
||||
}
|
||||
?~ 1000
|
||||
|
||||
bulletSynthesizer :: Item
|
||||
bulletSynthesizer = makeAttach BULLETSYNTH & itUse .~ UseAttach (APInt 0)
|
||||
|
||||
@@ -35,7 +35,7 @@ itemInternalValue itm
|
||||
| Just x <- itm ^? itUse . uInt = Just (Left x)
|
||||
| Just x <- itm ^? itUse . useToggle = Just (Right $ show x)
|
||||
| isJust $ itm ^? itTargeting . itTgPos . _Just = Just $ Right "!TARGETING"
|
||||
| Just x <- itm ^? itConsumables . magLoadStatus . iaLoaded = Just $ Left x
|
||||
| Just x <- itm ^. itConsumables = Just $ Left x
|
||||
| UseAttach (APInt i) <- itm ^. itUse = Just $ Left i
|
||||
| UseAttach (APProjectiles x) <- itm ^. itUse = Just . Right $ show x
|
||||
| v <- itm ^? itUse . uValue = v
|
||||
|
||||
@@ -5,6 +5,7 @@ module Dodge.Item.Draw.SPic (
|
||||
itemTreeSPic,
|
||||
) where
|
||||
|
||||
import Dodge.Item.MaxAmmo
|
||||
import Color
|
||||
import Data.Maybe
|
||||
import Data.Strict.Tuple
|
||||
@@ -131,11 +132,15 @@ ammoMagSPic it = \case
|
||||
_ -> noPic $ upperPrismPolyTS 1 (rectNSWE 0 (- y) (-1) 1)
|
||||
where
|
||||
y = fromIntegral y' * 0.3
|
||||
y' = fromMaybe 0 $ it ^? itConsumables . magLoadStatus . iaLoaded
|
||||
am = fractionLoadedAmmo (it ^?! itConsumables . magLoadStatus)
|
||||
y' = fromMaybe 0 $ it ^. itConsumables
|
||||
am = fractionLoadedAmmo it -- (it ^?! itConsumables . magLoadStatus)
|
||||
|
||||
fractionLoadedAmmo :: Item -> Float
|
||||
fractionLoadedAmmo itm = fromMaybe 0 $ do
|
||||
m <- maxAmmo itm
|
||||
return $ fromIntegral (itm ^?! itConsumables . _Just)
|
||||
/ fromIntegral m
|
||||
|
||||
fractionLoadedAmmo :: ReloadStatus -> Float
|
||||
fractionLoadedAmmo rs = fromIntegral (_iaLoaded rs) / fromIntegral (_iaMax rs)
|
||||
--
|
||||
--fractionLoadedAmmo2 :: ReloadStatus -> Float
|
||||
--fractionLoadedAmmo2 rs =
|
||||
|
||||
+13
-44
@@ -18,16 +18,16 @@ module Dodge.Item.Equipment (
|
||||
) where
|
||||
|
||||
import Dodge.Data.Equipment.Misc
|
||||
import Dodge.Data.Magnet
|
||||
import Dodge.Item.Weapon.Bullet
|
||||
--import Dodge.Item.Weapon.Bullet
|
||||
import Dodge.Data.Item
|
||||
import Dodge.Data.Magnet
|
||||
import Dodge.Default
|
||||
import LensHelp
|
||||
|
||||
magShield :: MagnetBuBu -> Item
|
||||
magShield mt =
|
||||
defaultEquipment
|
||||
-- & itUse . uequipEffect . eeUse .~ EMagShield MagnetRepulse
|
||||
-- & itUse . uequipEffect . eeUse .~ EMagShield MagnetRepulse
|
||||
& itType .~ EQUIP (MAGSHIELD mt)
|
||||
|
||||
flameShield :: Item
|
||||
@@ -44,61 +44,30 @@ wristArmour :: Item
|
||||
wristArmour = defaultEquipment & itType .~ EQUIP WRISTARMOUR
|
||||
|
||||
batteryPack :: Item
|
||||
batteryPack = defaultEquipment
|
||||
batteryPack =
|
||||
defaultEquipment
|
||||
& itConsumables
|
||||
.~ AmmoMag
|
||||
{ _magParams = NoAmmoParams
|
||||
, _magLoadStatus =
|
||||
ReloadStatus
|
||||
{ _iaMax = 10000000
|
||||
, _iaLoaded = 10000000
|
||||
}
|
||||
}
|
||||
?~ 10000000
|
||||
& itType .~ EQUIP BATTERYPACK
|
||||
|
||||
fuelPack :: Item
|
||||
fuelPack =
|
||||
defaultEquipment
|
||||
-- & itUse . uequipEffect . eeUse .~ EFuelSource 10000 10000
|
||||
-- & itUse . uequipEffect . eeUse .~ EFuelSource 10000 10000
|
||||
& itType .~ EQUIP FUELPACK
|
||||
& itConsumables
|
||||
.~ AmmoMag
|
||||
{ _magParams = GasParams ChemFuel
|
||||
, _magLoadStatus =
|
||||
ReloadStatus
|
||||
{ _iaMax = 100000
|
||||
, _iaLoaded = 100000
|
||||
}
|
||||
}
|
||||
?~ 100000
|
||||
|
||||
bulletBeltPack :: Item
|
||||
bulletBeltPack =
|
||||
defaultEquipment
|
||||
-- & itUse . uequipEffect . eeUse .~ EDoNothing
|
||||
& itConsumables
|
||||
.~ AmmoMag
|
||||
{ _magParams = BulletParams defaultBullet
|
||||
, _magLoadStatus =
|
||||
ReloadStatus
|
||||
{ _iaMax = 10000000
|
||||
, _iaLoaded = 10000000
|
||||
}
|
||||
}
|
||||
& itConsumables ?~ 10000000
|
||||
& itType .~ EQUIP BULLETBELTPACK
|
||||
|
||||
bulletBeltBracer :: Item
|
||||
bulletBeltBracer =
|
||||
defaultEquipment
|
||||
-- & itUse . uequipEffect . eeUse .~ EDoNothing
|
||||
& itConsumables
|
||||
.~ AmmoMag
|
||||
{ _magParams = BulletParams defaultBullet
|
||||
, _magLoadStatus =
|
||||
ReloadStatus
|
||||
{ _iaMax = 100000
|
||||
, _iaLoaded = 100000
|
||||
}
|
||||
}
|
||||
& itConsumables ?~ 100000
|
||||
& itType .~ EQUIP BULLETBELTBRACER
|
||||
|
||||
brainHat :: Item
|
||||
@@ -110,7 +79,7 @@ hat = defaultEquipment & itType .~ EQUIP HAT
|
||||
headLamp :: Item
|
||||
headLamp =
|
||||
defaultEquipment
|
||||
-- & itUse . uequipEffect . eeUse .~ EHeadLamp
|
||||
-- & itUse . uequipEffect . eeUse .~ EHeadLamp
|
||||
& itType .~ EQUIP HEADLAMP
|
||||
|
||||
powerLegs :: Item
|
||||
@@ -127,8 +96,8 @@ jumpLegs = powerLegs & itType .~ EQUIP JUMPLEGS
|
||||
wristInvisibility :: Item
|
||||
wristInvisibility =
|
||||
defaultEquipment
|
||||
-- & 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
|
||||
|
||||
Reference in New Issue
Block a user