Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adds relayed laser projectiles #2670

Merged
merged 8 commits into from
Jul 5, 2024
35 changes: 34 additions & 1 deletion nsv13/code/modules/overmap/weapons/projectiles_fx.dm
Original file line number Diff line number Diff line change
Expand Up @@ -563,12 +563,31 @@ Misc projectile types, effects, think of this as the special FX file.
tracer_type = /obj/effect/projectile/tracer/disabler
muzzle_type = /obj/effect/projectile/muzzle/disabler
impact_type = /obj/effect/projectile/impact/disabler
relay_projectile_type = /obj/item/projectile/beam/laser/heavylaser/phaser/relayed

/obj/item/projectile/beam/laser/heavylaser/phaser/relayed
projectile_piercing = PASSGLASS|PASSGRILLE|PASSTABLE
flag = "laser"
damage = 40 //let's give them a chance to live, instead of smiting them with the full wraith of the Enterprise
Pockets-byte marked this conversation as resolved.
Show resolved Hide resolved

/obj/item/projectile/beam/laser/heavylaser/phaser/relayed/on_hit(atom/target, blocked)
. = ..()
explosion(get_turf(target), 0, 2, 4, 6, flame_range = 4) //I halved the BSA's explosion, and then poked it some myself - big boom

/obj/item/projectile/beam/laser/phaser/pd
name = "point defense phaser"
damage = 60 // Doesn't scale with power input, but fires fairly quickly especially when upgraded
icon = 'nsv13/icons/obj/projectiles_nsv.dmi'
icon_state = "pdphaser"
icon_state = "pdphaser"
relay_projectile_type = /obj/item/projectile/beam/laser/phaser/pd/relayed

/obj/item/projectile/beam/laser/phaser/pd/relayed
projectile_piercing = PASSGLASS|PASSGRILLE|PASSTABLE
flag = "laser"

/obj/item/projectile/beam/laser/phaser/pd/relayed/on_hit(atom/target, blocked)
. = ..()
explosion(get_turf(target), 0, 0, 2, 3, flame_range = 2) //weak, but still damaging... I hope

/obj/item/projectile/beam/laser/point_defense
name = "laser pointer"
Expand All @@ -581,11 +600,25 @@ Misc projectile types, effects, think of this as the special FX file.
tracer_type = /obj/effect/projectile/tracer/xray
muzzle_type = /obj/effect/projectile/muzzle/xray
impact_type = /obj/effect/projectile/impact/xray
relay_projectile_type = /obj/item/projectile/beam/laser/point_defense/relayed

/obj/item/projectile/beam/laser/point_defense/relayed
projectile_piercing = PASSGLASS|PASSGRILLE|PASSTABLE
flag = "laser"

//Designed to be spammed like crazy, but can be buffed to do extremely solid damage when you overclock the guns.
/obj/item/projectile/beam/laser/phaser
damage = 30
flag = "overmap_medium"
relay_projectile_type = /obj/item/projectile/beam/laser/phaser/relayed

/obj/item/projectile/beam/laser/phaser/relayed
projectile_piercing = PASSGLASS|PASSGRILLE|PASSTABLE
flag = "laser"

/obj/item/projectile/beam/laser/phaser/relayed/on_hit(atom/target, blocked)
. = ..()
explosion(get_turf(target), 0, 0, 2, 3, flame_range = 2) //weak, but still damaging... I hope

/obj/item/projectile/bullet/broadside
name = "broadside shell"
Expand Down
Loading