Modularise item data, change tesla arc from projectile to particle
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
module Dodge.Item.Consumable
|
||||
where
|
||||
import Dodge.Data
|
||||
import Dodge.Item.Data
|
||||
import Dodge.Picture.Layer
|
||||
import Dodge.Default
|
||||
import Dodge.SoundLogic
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
{-# LANGUAGE StrictData #-}
|
||||
module Dodge.Item.Data
|
||||
where
|
||||
data HammerPosition
|
||||
= HammerDown
|
||||
| HammerReleased
|
||||
| HammerUp
|
||||
| NoHammer
|
||||
deriving
|
||||
(Eq, Ord, Show)
|
||||
data ItemIdentity
|
||||
= Pistol
|
||||
| SpreadGun
|
||||
| MultGun
|
||||
| HvAutoGun
|
||||
| AutoGun
|
||||
| LtAutoGun
|
||||
| MiniGun
|
||||
| Medkit25
|
||||
| MagShield
|
||||
| FrontArmour
|
||||
| JetPack
|
||||
| FlameShield
|
||||
| Generic
|
||||
| SparkGun
|
||||
| ShatterGun
|
||||
| LongGun
|
||||
| Flamethrower
|
||||
| Blinker
|
||||
| Grenade
|
||||
| RemoteBomb
|
||||
| TeslaGun
|
||||
| LasGun
|
||||
| ForceFieldGun
|
||||
| GrapGun
|
||||
| TractorGun
|
||||
| Launcher
|
||||
| RemoteLauncher
|
||||
| LightningGun
|
||||
| PoisonSprayer
|
||||
deriving
|
||||
(Eq,Show,Ord,Enum)
|
||||
data AimStance
|
||||
= TwoHandTwist
|
||||
| TwoHand
|
||||
| OneHand
|
||||
| LeaveHolstered
|
||||
@@ -1,6 +1,7 @@
|
||||
module Dodge.Item.Equipment
|
||||
where
|
||||
import Dodge.Data
|
||||
import Dodge.Item.Data
|
||||
import Dodge.Default
|
||||
import Dodge.Picture.Layer
|
||||
import Picture
|
||||
|
||||
@@ -13,6 +13,7 @@ import Dodge.Default
|
||||
--import Dodge.Default.Shell
|
||||
import Dodge.Item.Draw
|
||||
import Dodge.Particle.Bullet.HitEffect
|
||||
import Dodge.Item.Data
|
||||
import Dodge.Item.Weapon.InventoryDisplay
|
||||
import Dodge.Item.Weapon.TriggerType
|
||||
import Dodge.Item.Weapon.ExtraEffect
|
||||
@@ -540,10 +541,10 @@ aTeslaArc cr w = aTeslaArc' cr $ soundFrom (CrWeaponSound cid) 25 1 0 w
|
||||
aTeslaArc' :: Creature -> World -> World
|
||||
aTeslaArc' cr w
|
||||
= teslaGunFlashAt (pos +.+ 5 *.* unitVectorAtAngle dir)
|
||||
$ over projectiles (IM.insert i (makeTeslaArcAt i pos dir))
|
||||
-- $ over projectiles (IM.insert i (makeTeslaArcAt i pos dir))
|
||||
$ set randGen g w
|
||||
& particles %~ (makeTeslaArcAt pos dir :)
|
||||
where
|
||||
i = newProjectileKey w
|
||||
pos = _crPos cr +.+ ((_crRad cr +1) *.* unitVectorAtAngle dir)
|
||||
+.+ sideOffset *.* vNormal (unitVectorAtAngle dir)
|
||||
(sideOffset,g) = randomR (-5,5) $ _randGen w
|
||||
@@ -720,6 +721,7 @@ grenade = Throwable
|
||||
, _itHammer = HammerUp
|
||||
, _itScrollUp = decreaseFuse fuseTime
|
||||
, _itScrollDown = increaseFuse fuseTime
|
||||
, _itAimStance = OneHand
|
||||
}
|
||||
where
|
||||
fuseTime = 50
|
||||
@@ -932,6 +934,7 @@ pipe = Craftable
|
||||
, _itID = Nothing
|
||||
, _itInvDisplay = _itName
|
||||
, _itInvColor = green
|
||||
, _itAimStance = LeaveHolstered
|
||||
}
|
||||
{- |
|
||||
Sends out pulses that display walls. -}
|
||||
|
||||
@@ -3,6 +3,7 @@ module Dodge.Item.Weapon.Bezier
|
||||
import Dodge.Data
|
||||
import Dodge.Base
|
||||
import Dodge.Default.Weapon
|
||||
import Dodge.Item.Data
|
||||
import Dodge.Item.Weapon.Targeting
|
||||
import Dodge.Item.Weapon.TriggerType
|
||||
import Dodge.Item.Weapon.ExtraEffect
|
||||
|
||||
@@ -6,6 +6,7 @@ module Dodge.Item.Weapon.ExtraEffect
|
||||
where
|
||||
import Dodge.Data
|
||||
import Dodge.Base
|
||||
import Dodge.Item.Data
|
||||
import Dodge.Item.Weapon.Decoration
|
||||
import Dodge.Item.Weapon.UseEffect
|
||||
--import Dodge.Item.Attachment.Data
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
module Dodge.Item.Weapon.Grenade
|
||||
where
|
||||
import Dodge.Data
|
||||
import Dodge.Item.Data
|
||||
import Dodge.Base
|
||||
import Dodge.Picture.Layer
|
||||
import Dodge.SoundLogic
|
||||
|
||||
@@ -6,6 +6,7 @@ import Dodge.Default.Shell
|
||||
import Dodge.SoundLogic.Synonyms
|
||||
import Dodge.WorldEvent.Explosion
|
||||
import Dodge.Picture.Layer
|
||||
import Dodge.Item.Data
|
||||
import Dodge.Item.Draw
|
||||
import Dodge.Item.Weapon.Shell
|
||||
import Dodge.Item.Weapon.TriggerType
|
||||
|
||||
@@ -10,6 +10,7 @@ import Dodge.WorldEvent.Cloud
|
||||
import Dodge.RandomHelp
|
||||
import Dodge.Particle.Bullet.Spawn
|
||||
import Dodge.Item.Attachment.Data
|
||||
import Dodge.Item.Data
|
||||
import Geometry
|
||||
|
||||
import System.Random
|
||||
|
||||
Reference in New Issue
Block a user