mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-26 13:37:58 +01:00
X-ray laser nerf - Falloff and Charge
See here for the main reasoning behind the PR - https://nanotrasen.se/forum/topic/14790-wanted-unwanted-features-refactors-bugfixes-thread/
This commit is contained in:
@@ -59,7 +59,7 @@
|
||||
|
||||
/obj/item/ammo_casing/energy/xray
|
||||
projectile_type = /obj/item/projectile/beam/xray
|
||||
e_cost = 50
|
||||
e_cost = 100
|
||||
fire_sound = 'sound/weapons/laser3.ogg'
|
||||
|
||||
/obj/item/ammo_casing/energy/immolator
|
||||
|
||||
@@ -111,7 +111,7 @@
|
||||
|
||||
/obj/item/gun/energy/xray
|
||||
name = "xray laser gun"
|
||||
desc = "A high-power laser gun capable of expelling concentrated xray blasts."
|
||||
desc = "A high-power laser gun capable of expelling concentrated xray blasts. These blasts will penetrate solid objects, but will decrease in power the longer they have to travel."
|
||||
icon_state = "xray"
|
||||
origin_tech = "combat=6;materials=4;magnets=4;syndicate=1"
|
||||
ammo_type = list(/obj/item/ammo_casing/energy/xray)
|
||||
|
||||
@@ -32,6 +32,8 @@
|
||||
animate_movement = 0
|
||||
|
||||
var/damage = 10
|
||||
var/tile_dropoff = 0 //how much damage should be decremented as the bullet moves
|
||||
var/tile_dropoff_s = 0 //same as above but for stamina
|
||||
var/damage_type = BRUTE //BRUTE, BURN, TOX, OXY, CLONE are the only things that should be in here
|
||||
var/nodamage = FALSE //Determines if the projectile will skip any damage inflictions
|
||||
var/flag = "bullet" //Defines what armor to use when it hits things. Must be set to bullet, laser, energy,or bomb //Cael - bio and rad are also valid
|
||||
@@ -60,9 +62,15 @@
|
||||
return ..()
|
||||
|
||||
/obj/item/projectile/proc/Range()
|
||||
range--
|
||||
if(range <= 0 && loc)
|
||||
on_range()
|
||||
range--
|
||||
if(damage > 0)
|
||||
damage = max(0, damage - tile_dropoff) // decrement projectile damage based on dropoff value for each tile it moves
|
||||
if(stamina > 0)
|
||||
stamina = max(0, stamina - tile_dropoff_s) // as above, but with stamina
|
||||
if(range <= 0 && loc)
|
||||
on_range()
|
||||
if(damage == 0 && stamina == 0)
|
||||
on_range()
|
||||
|
||||
/obj/item/projectile/proc/on_range() //if we want there to be effects when they reach the end of their range
|
||||
qdel(src)
|
||||
|
||||
@@ -34,6 +34,7 @@
|
||||
name = "xray beam"
|
||||
icon_state = "xray"
|
||||
damage = 15
|
||||
tile_dropoff = 0.75
|
||||
irradiate = 30
|
||||
forcedodge = 1
|
||||
range = 15
|
||||
|
||||
@@ -69,17 +69,8 @@
|
||||
/obj/item/projectile/bullet/pellet
|
||||
name = "pellet"
|
||||
damage = 12.5
|
||||
var/tile_dropoff = 0.75
|
||||
var/tile_dropoff_s = 1.25
|
||||
|
||||
/obj/item/projectile/bullet/pellet/Range()
|
||||
..()
|
||||
if(damage > 0)
|
||||
damage -= tile_dropoff
|
||||
if(stamina > 0)
|
||||
stamina -= tile_dropoff_s
|
||||
if(damage < 0 && stamina < 0)
|
||||
qdel(src)
|
||||
tile_dropoff = 0.75
|
||||
tile_dropoff_s = 1.25
|
||||
|
||||
/obj/item/projectile/bullet/pellet/rubber
|
||||
name = "rubber pellet"
|
||||
|
||||
Reference in New Issue
Block a user