From 98b09d61337266e4e33d78d11dfdb67979677d29 Mon Sep 17 00:00:00 2001 From: FluffMedic <109300046+FluffMedic@users.noreply.github.com> Date: Tue, 24 Oct 2023 20:45:32 -0400 Subject: [PATCH] Opening Up Things (#7092) --- .../modules/projectiles/guns/energy/laser.dm | 93 +++++++++++++++++++ vorestation.dme | 1 + 2 files changed, 94 insertions(+) create mode 100644 modular_chomp/code/modules/projectiles/guns/energy/laser.dm diff --git a/modular_chomp/code/modules/projectiles/guns/energy/laser.dm b/modular_chomp/code/modules/projectiles/guns/energy/laser.dm new file mode 100644 index 0000000000..31d56791ec --- /dev/null +++ b/modular_chomp/code/modules/projectiles/guns/energy/laser.dm @@ -0,0 +1,93 @@ +/obj/item/weapon/gun/energy + charge_cost = 80 + +/obj/item/weapon/gun/energy/laser + firemodes = list( + list(mode_name="normal", fire_delay=8, projectile_type=/obj/item/projectile/beam/midlaser, charge_cost = 80), + list(mode_name="suppressive", fire_delay=5, projectile_type=/obj/item/projectile/beam/weaklaser, charge_cost = 20), + ) + +/obj/item/weapon/gun/energy/lasercannon //This is me trying to make ammo worth while but the cannon...is a cannon. + charge_cost = 300 + +/obj/item/weapon/gun/energy/lasercannon/mounted + charge_cost = 300 + +/obj/item/weapon/gun/energy/xray + charge_cost = 65 + +/obj/item/weapon/gun/energy/sniperrifle + charge_cost = 120 + +/obj/item/weapon/gun/energy/mininglaser + firemodes = list( + list(mode_name="mining", fire_delay=8, projectile_type=/obj/item/projectile/beam/mininglaser, charge_cost = 65), + list(mode_name="deter", fire_delay=5, projectile_type=/obj/item/projectile/beam/weaklaser, charge_cost = 25), + ) + +/obj/item/weapon/gun/energy/laser/vepr + firemodes = list( + list(mode_name="normal", fire_delay=8, projectile_type=/obj/item/projectile/beam/midlaser, charge_cost = 80), + list(mode_name="suppressive", fire_delay=5, projectile_type=/obj/item/projectile/beam/weaklaser, charge_cost = 20), + list(mode_name="burst", burst=3, fire_delay=null, move_delay=4, burst_accuracy=list(0,0,0), dispersion=list(0.0, 0.2, 0.5), projectile_type=/obj/item/projectile/beam/burstlaser, charge_cost = 65), + ) + +/obj/item/weapon/gun/energy/gun + firemodes = list( + list(mode_name="stun", projectile_type=/obj/item/projectile/beam/stun/med, modifystate="egunstun", fire_sound='sound/weapons/Taser.ogg', charge_cost = 80), + list(mode_name="lethal", projectile_type=/obj/item/projectile/beam, modifystate="egunkill", fire_sound='sound/weapons/Laser.ogg', charge_cost = 160), + ) + +/obj/item/weapon/gun/energy/gun/rifle + firemodes = list( + list(mode_name="stun", projectile_type=/obj/item/projectile/beam/stun, modifystate="riflestun", fire_sound='sound/weapons/Taser.ogg', wielded_item_state="riflestun-wielded", charge_cost = 40), + list(mode_name="lethal", projectile_type=/obj/item/projectile/beam, modifystate="riflekill", fire_sound='sound/weapons/Laser.ogg', wielded_item_state="riflekill-wielded", charge_cost = 80), + ) + +/obj/item/weapon/gun/energy/gun/burst //Halving since by 3 seems too much + firemodes = list( + list(mode_name="stun", burst=1, projectile_type=/obj/item/projectile/beam/stun/weak, modifystate="energystun", charge_cost = 50), + list(mode_name="stun burst", burst=3, fire_delay=null, move_delay=4, burst_accuracy=list(0,0,0), dispersion=list(0.0, 0.2, 0.5), projectile_type=/obj/item/projectile/beam/stun/weak, modifystate="energystun"), + list(mode_name="lethal", burst=1, projectile_type=/obj/item/projectile/beam/burstlaser, modifystate="energykill", charge_cost = 100), + list(mode_name="lethal burst", burst=3, fire_delay=null, move_delay=4, burst_accuracy=list(0,0,0), dispersion=list(0.0, 0.2, 0.5), projectile_type=/obj/item/projectile/beam/burstlaser, modifystate="energykill"), + ) + +/obj/item/weapon/gun/energy/gun/etommy //Halving this one + firemodes = list( + list(mode_name="lethal", burst=1, projectile_type=/obj/item/projectile/beam/burstlaser, charge_cost = 100), + list(mode_name="lethal burst", burst=4, fire_delay=null, move_delay=4, burst_accuracy=list(0,0,0), dispersion=list(0.0, 0.2, 0.5), projectile_type=/obj/item/projectile/beam/burstlaser), + ) + +/obj/item/weapon/gun/energy/gun/compact + firemodes = list( + list(mode_name="stun", projectile_type=/obj/item/projectile/beam/stun/med, modifystate="PDWstun", fire_sound='sound/weapons/Taser.ogg', charge_cost = 80), + list(mode_name="lethal", projectile_type=/obj/item/projectile/beam, modifystate="PDWkill", fire_sound='sound/weapons/Laser.ogg', charge_cost = 160), + ) + +/obj/item/weapon/gun/energy/gun/eluger + firemodes = list( + list(mode_name="stun", projectile_type=/obj/item/projectile/beam/stun, modifystate="ep08stun", fire_sound='sound/weapons/Taser.ogg', charge_cost = 40), + list(mode_name="lethal", projectile_type=/obj/item/projectile/beam/eluger, modifystate="ep08kill", fire_sound='sound/weapons/Laser.ogg', charge_cost = 80), + ) + +/obj/item/weapon/gun/energy/sf2000 + firemodes = list( + list(mode_name="stun", projectile_type=/obj/item/projectile/beam/stun/weak, modifystate="lasgunstun", fire_sound='sound/weapons/Taser.ogg', charge_cost = 80), + list(mode_name="lethal", projectile_type=/obj/item/projectile/beam, modifystate="lasgunkill", fire_sound='sound/weapons/Laser.ogg', charge_cost = 160), + ) + + +/obj/item/weapon/gun/energy/gun/burst/mg42 //I am unsure what this weapon is, and it seems cheap on paper but just putting it at 80 for unity + firemodes = list( + list(mode_name="single fire", burst=1, projectile_type=/obj/item/projectile/beam/burstlaser, modifystate="mg42-e", fire_sound='sound/weapons/Laser.ogg', charge_cost = 80), + list(mode_name="burst fire", burst=3, fire_delay=null, move_delay=4, burst_accuracy=list(0,0,0), dispersion=list(0.0, 0.2, 0.5), projectile_type=/obj/item/projectile/beam/burstlaser, modifystate="mg42-e", fire_sound='sound/weapons/Laser.ogg'), + list(mode_name="5 laser burst", burst=5, fire_delay=null, move_delay=4, burst_accuracy=list(0,0,0,0,0), dispersion=list(0.0, 0.2, 0.5, 0.5, 0.5), projectile_type=/obj/item/projectile/beam/burstlaser, modifystate="mg42-e", fire_sound='sound/weapons/Laser.ogg'), + list(mode_name="15 laser burst, ye boi.", burst=15, fire_delay=null, move_delay=4, burst_accuracy=list(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0), dispersion=list(0.0, 0.2, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5), projectile_type=/obj/item/projectile/beam/burstlaser, modifystate="mg42-e", fire_sound='sound/weapons/Laser.ogg'), + ) + +/obj/item/weapon/gun/energy/x01 + firemodes = list( + list(mode_name="stun", fire_delay = 8, projectile_type= /obj/item/projectile/beam/stun, modifystate="x01stun", fire_sound='sound/weapons/Taser.ogg', charge_cost = 80), + list(mode_name="laser", fire_delay = 8, projectile_type=/obj/item/projectile/beam, modifystate="x01laser", fire_sound='sound/weapons/Laser.ogg', charge_cost = 160), + list(mode_name="gauss", fire_delay=15, projectile_type=/obj/item/projectile/energy/gauss, modifystate="x01gauss", fire_sound='sound/weapons/gauss_shoot.ogg', charge_cost = 120) + ) \ No newline at end of file diff --git a/vorestation.dme b/vorestation.dme index 11e5b3534d..93beb51c4a 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -4814,6 +4814,7 @@ #include "modular_chomp\code\modules\projectiles\guns\magnetic.dm" #include "modular_chomp\code\modules\projectiles\guns\phase.dm" #include "modular_chomp\code\modules\projectiles\guns\staffs.dm" +#include "modular_chomp\code\modules\projectiles\guns\energy\laser.dm" #include "modular_chomp\code\modules\projectiles\guns\projectile\revolver.dm" #include "modular_chomp\code\modules\projectiles\precursor\freezegun.dm" #include "modular_chomp\code\modules\reagents\machinery\dispenser\chem_synthesizer_ch.dm"