Split bullet spawning and bouncing/penetration
This commit is contained in:
@@ -13,6 +13,7 @@ defaultWall = Wall
|
||||
, _wlSeen = False
|
||||
, _wlOpacity = Opaque
|
||||
, _wlPathable = False
|
||||
, _wlPenetrable = False
|
||||
, _wlFireThrough = False
|
||||
, _wlTouchThrough = False
|
||||
, _wlReflect = False
|
||||
@@ -41,6 +42,7 @@ defaultMachineWall = defaultWall
|
||||
, _wlRotateTo = False
|
||||
, _wlStructure = MachinePart 0
|
||||
, _wlMaterial = Metal
|
||||
, _wlPenetrable = True
|
||||
}
|
||||
defaultDirtWall :: Wall
|
||||
defaultDirtWall = defaultWall
|
||||
@@ -51,6 +53,7 @@ defaultDirtWall = defaultWall
|
||||
, _wlOpacity = Opaque
|
||||
, _wlRotateTo = False
|
||||
, _wlFireThrough = True
|
||||
, _wlPenetrable = True
|
||||
, _wlMaterial = Dirt
|
||||
}
|
||||
defaultWindow :: Wall
|
||||
@@ -62,4 +65,5 @@ defaultWindow = defaultWall
|
||||
, _wlOpacity = SeeThrough
|
||||
, _wlFireThrough = True
|
||||
, _wlMaterial = Glass
|
||||
, _wlPenetrable = True
|
||||
}
|
||||
|
||||
@@ -100,9 +100,7 @@ defaultWeapon = defaultItem
|
||||
& itUse .~ defaultrUse
|
||||
& itInvColor .~ white
|
||||
& itType . iyModules .~ M.fromList
|
||||
[(ModBullet, EMPTYMODULE)
|
||||
,(ModTarget, EMPTYMODULE)
|
||||
,(ModBulletTrajectory, EMPTYMODULE)
|
||||
[(ModTarget, EMPTYMODULE)
|
||||
,(ModTeleport, EMPTYMODULE)
|
||||
]
|
||||
|
||||
@@ -110,6 +108,9 @@ defaultBulletWeapon :: Item
|
||||
defaultBulletWeapon = defaultWeapon
|
||||
& itConsumption .~ defaultBulletLoadable
|
||||
& itUse . rUse .~ useAmmoParams
|
||||
& itType . iyModules . at ModBullet ?~ EMPTYMODULE
|
||||
& itType . iyModules . at ModBulletSpawn ?~ EMPTYMODULE
|
||||
& itType . iyModules . at ModBulletTrajectory ?~ EMPTYMODULE
|
||||
|
||||
defaultItemValue :: ItemValue
|
||||
defaultItemValue = ItemValue 10 MundaneItem
|
||||
|
||||
Reference in New Issue
Block a user