mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-13 00:55:20 +01:00
Mech thermal guns (#90928)
## About The Pull Request PR adds new unique weapons for mechs - thermal cannons. You can only buy them in cargo in the "armory" category for 5k, which adds cooperation between cargo and science (maybe even security, since you need their access to open the crate). Thermal guns only work better in pairs, allowing them to reload faster. You can't have 2 of the same thermal guns (not that you could use them anyway even if you could install the same ones) Sprites by: https://github.com/sylvia-from-fulp-station https://github.com/user-attachments/assets/d78504b9-90b8-4f8b-b850-fa96dd8ef554 ## Why It's Good For The Game Mechs don't need buffs, but a greater variety of weapons. Thermals will be a good example of combining both energy weapons and ballistic weapons (which mechs lack so much, since all we have from ballistics is Hades, which does not damage at all). It will also be, in my opinion, the first interesting weapon that not only shoots, but also gives some bonuses when used correctly. ## Changelog 🆑 add: Added heavy thermal guns for mechs. Works on the principle of regular hand guns. Can only be purchased in cargo, as they are experimental. /🆑
This commit is contained in:
@@ -379,3 +379,15 @@
|
||||
access_view = ACCESS_SECURITY
|
||||
contains = list(/obj/item/clothing/glasses/sunglasses = 1)
|
||||
crate_name = "sunglasses crate"
|
||||
|
||||
/datum/supply_pack/security/armory/mechthermal
|
||||
name = "Heavy Thermal Guns Crate"
|
||||
desc = "Contains two experimental thermal cannons for use by mechs. \
|
||||
When used simultaneously, their excess power used to heat and cool the opposing weapon, \
|
||||
increasing the reload speed."
|
||||
cost = CARGO_CRATE_VALUE * 25
|
||||
contains = list(
|
||||
/obj/item/mecha_parts/mecha_equipment/weapon/energy/thermal/cryo,
|
||||
/obj/item/mecha_parts/mecha_equipment/weapon/energy/thermal/inferno,
|
||||
)
|
||||
crate_name = "thermal cannons crate"
|
||||
|
||||
@@ -165,6 +165,65 @@
|
||||
harmful = TRUE
|
||||
mech_flags = EXOSUIT_MODULE_COMBAT | EXOSUIT_MODULE_WORKING
|
||||
|
||||
///Exosuit thermal guns
|
||||
|
||||
/obj/item/mecha_parts/mecha_equipment/weapon/energy/thermal
|
||||
equip_cooldown = 20
|
||||
name = "\improper Prototype -I 'Thermal Cannon'"
|
||||
desc = "A special prototype of a heavy thermal weapon designed for use on exosuits. This one is debug-chambered."
|
||||
icon_state = "mecha_laser"
|
||||
energy_drain = 50
|
||||
projectile = /obj/item/ammo_casing/energy/nanite
|
||||
fire_sound = 'sound/items/weapons/thermalpistol.ogg'
|
||||
harmful = TRUE
|
||||
|
||||
/obj/item/mecha_parts/mecha_equipment/weapon/energy/thermal/cryo
|
||||
name = "\improper Prototype I 'Cryo Thermal Cannon'"
|
||||
desc = "A special prototype of a heavy thermal weapon designed for use on exosuits. This one is cryo-chambered."
|
||||
icon_state = "mecha_cryogun"
|
||||
projectile = /obj/projectile/energy/cryo
|
||||
|
||||
/obj/item/mecha_parts/mecha_equipment/weapon/energy/thermal/inferno
|
||||
name = "\improper Prototype II 'Pyro Thermal Cannon'"
|
||||
desc = "A special prototype of a heavy thermal weapon designed for use on exosuits. This one is molten-chambered."
|
||||
icon_state = "mecha_pyrogun"
|
||||
projectile = /obj/projectile/energy/inferno
|
||||
|
||||
/obj/item/mecha_parts/mecha_equipment/weapon/energy/thermal/cryo/try_attach_part(mob/user, obj/vehicle/sealed/mecha/themech, attach_right)
|
||||
var/has_molten = FALSE
|
||||
for (var/obj/item/mecha_parts/mecha_equipment/weapon/energy/thermal/thegun in themech.flat_equipment)
|
||||
if (istype(thegun, /obj/item/mecha_parts/mecha_equipment/weapon/energy/thermal/cryo))
|
||||
to_chat(user, span_warning("[themech] already has [thegun] installed!"))
|
||||
return FALSE
|
||||
if (istype(thegun, /obj/item/mecha_parts/mecha_equipment/weapon/energy/thermal/inferno))
|
||||
has_molten = TRUE
|
||||
if (has_molten)
|
||||
for (var/obj/item/mecha_parts/mecha_equipment/weapon/energy/thermal/thegun in themech.flat_equipment)
|
||||
if (istype(thegun, /obj/item/mecha_parts/mecha_equipment/weapon/energy/thermal/inferno))
|
||||
thegun.equip_cooldown = 8
|
||||
equip_cooldown = 8
|
||||
return ..()
|
||||
|
||||
/obj/item/mecha_parts/mecha_equipment/weapon/energy/thermal/inferno/try_attach_part(mob/user, obj/vehicle/sealed/mecha/themech, attach_right)
|
||||
var/has_cryo = FALSE
|
||||
for (var/obj/item/mecha_parts/mecha_equipment/weapon/energy/thermal/thegun in themech.flat_equipment)
|
||||
if (istype(thegun, /obj/item/mecha_parts/mecha_equipment/weapon/energy/thermal/inferno))
|
||||
to_chat(user, span_warning("[themech] already has [thegun] installed!"))
|
||||
return FALSE
|
||||
if (istype(thegun, /obj/item/mecha_parts/mecha_equipment/weapon/energy/thermal/cryo))
|
||||
has_cryo = TRUE
|
||||
if (has_cryo)
|
||||
for (var/obj/item/mecha_parts/mecha_equipment/weapon/energy/thermal/thegun in themech.flat_equipment)
|
||||
if (istype(thegun, /obj/item/mecha_parts/mecha_equipment/weapon/energy/thermal/cryo))
|
||||
thegun.equip_cooldown = 8
|
||||
equip_cooldown = 8
|
||||
return ..()
|
||||
|
||||
/obj/item/mecha_parts/mecha_equipment/weapon/energy/thermal/detach(atom/moveto)
|
||||
for (var/obj/item/mecha_parts/mecha_equipment/weapon/energy/thermal/thermal_gun in chassis.flat_equipment)
|
||||
thermal_gun.equip_cooldown = 20
|
||||
. = ..()
|
||||
|
||||
//Exosuit-mounted kinetic accelerator
|
||||
/obj/item/mecha_parts/mecha_equipment/weapon/energy/mecha_kineticgun
|
||||
name = "Exosuit Proto-kinetic Accelerator"
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 30 KiB |
Reference in New Issue
Block a user