Pepper spray module for sec modsuits, Atmos resin module and nukie pyro bundle flamethrower made into module (#64934)

Pyro bundle was broken as when you brought it you would get modsuit and pyro backpack forcing you to either use armor or use backpack without fire protection(which modsuit has). Thanks to Fikou work it became a module
Anti-Tider on the other hand is rarely used(i have never seen it used when i was playing sec or observing) and needed a little buff so now it will also became a module while i will make normal Anti-Tider stream wider(still working on it).
This commit is contained in:
Cursed
2022-02-16 13:01:12 -08:00
committed by GitHub
parent 8d825563f6
commit 79963a08f5
17 changed files with 142 additions and 75 deletions
-1
View File
@@ -153,7 +153,6 @@
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
slowdown_inactive = 1.5
slowdown_active = 1
allowed_suit_storage = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/watertank/atmos)
skins = list(
"atmospheric" = list(
HELMET_LAYER = NECK_LAYER,
+13
View File
@@ -110,6 +110,7 @@
/obj/item/mod/module/storage,
/obj/item/mod/module/flashlight,
/obj/item/mod/module/holster,
/obj/item/mod/module/mister/security,
)
/obj/item/mod/control/pre_equipped/safeguard
@@ -120,6 +121,7 @@
/obj/item/mod/module/flashlight,
/obj/item/mod/module/jetpack,
/obj/item/mod/module/holster,
/obj/item/mod/module/mister/security,
)
/obj/item/mod/control/pre_equipped/magnate
@@ -175,6 +177,17 @@
/obj/item/mod/module/injector,
)
/obj/item/mod/control/pre_equipped/elite/flamethrower
initial_modules = list(
/obj/item/mod/module/storage/syndicate,
/obj/item/mod/module/emp_shield,
/obj/item/mod/module/thermal_regulator,
/obj/item/mod/module/jetpack/advanced,
/obj/item/mod/module/flashlight,
/obj/item/mod/module/holster,
/obj/item/mod/module/flamethrower,
)
/obj/item/mod/control/pre_equipped/enchanted
theme = /datum/mod_theme/enchanted
applied_core = /obj/item/mod/core/infinite
+3 -2
View File
@@ -119,7 +119,7 @@
return FALSE
if(module_type == MODULE_ACTIVE)
if(mod.selected_module && !mod.selected_module.on_deactivation(display_message = FALSE))
return
return FALSE
mod.selected_module = src
if(device)
if(mod.wearer.put_in_hands(device))
@@ -129,7 +129,7 @@
else
balloon_alert(mod.wearer, "can't extend [device]!")
mod.wearer.transferItemToLoc(device, src, force = TRUE)
return
return FALSE
else
var/used_button = mod.wearer.client?.prefs.read_preference(/datum/preference/choiced/mod_select) || MIDDLE_CLICK
update_signal(used_button)
@@ -301,6 +301,7 @@
if(user.get_active_held_item() != device)
return
on_deactivation()
return COMSIG_KB_ACTIVATED
///Anomaly Locked - Causes the module to not function without an anomaly.
/obj/item/mod/module/anomaly_locked
+27
View File
@@ -258,3 +258,30 @@
part.add_atom_colour("#b17f00", FIXED_COLOUR_PRIORITY)
mod.wearer.remove_atom_colour(WASHABLE_COLOUR_PRIORITY) // turns purple guy purple
mod.wearer.add_atom_colour("#704b96", FIXED_COLOUR_PRIORITY)
///Flamethrower - Launches fire across the area.
/obj/item/mod/module/flamethrower
name = "MOD flamethrower module"
desc = "A custom-manufactured flamethrower, used to burn through your path. Burn well."
icon_state = "flamethrower"
module_type = MODULE_ACTIVE
complexity = 3
use_power_cost = DEFAULT_CHARGE_DRAIN * 3
incompatible_modules = list(/obj/item/mod/module/flamethrower)
cooldown_time = 2.5 SECONDS
overlay_state_inactive = "module_flamethrower"
overlay_state_active = "module_flamethrower_on"
/obj/item/mod/module/flamethrower/on_select_use(atom/target)
. = ..()
if(!.)
return
var/obj/projectile/flame = new /obj/projectile/bullet/incendiary/backblast/flamethrower(mod.wearer.loc)
flame.preparePixelProjectile(target, mod.wearer)
flame.firer = mod.wearer
playsound(src, 'sound/items/modsuit/flamethrower.ogg', 75, TRUE)
INVOKE_ASYNC(flame, /obj/projectile.proc/fire)
drain_power(use_power_cost)
/obj/projectile/bullet/incendiary/backblast/flamethrower
range = 6
@@ -203,3 +203,35 @@
return
rcd_scan(src, fade_time = 10 SECONDS)
drain_power(use_power_cost)
///Mister - Sprays water over an area.
/obj/item/mod/module/mister
name = "MOD water mister module"
desc = "A module containing a mister, able to spray it over areas."
icon_state = "mister"
module_type = MODULE_ACTIVE
complexity = 2
active_power_cost = DEFAULT_CHARGE_DRAIN * 0.3
device = /obj/item/reagent_containers/spray/mister
incompatible_modules = list(/obj/item/mod/module/mister)
cooldown_time = 0.5 SECONDS
var/volume = 500
/obj/item/mod/module/mister/Initialize(mapload)
create_reagents(volume, OPENCONTAINER)
return ..()
///Resin Mister - Sprays resin over an area.
/obj/item/mod/module/mister/atmos
name = "MOD resin mister module"
desc = "An atmospheric resin mister, able to fix up areas quickly."
device = /obj/item/extinguisher/mini/nozzle/mod
volume = 250
/obj/item/mod/module/mister/atmos/Initialize(mapload)
. = ..()
reagents.add_reagent(/datum/reagent/water, volume)
/obj/item/extinguisher/mini/nozzle/mod
name = "MOD atmospheric mister"
desc = "An atmospheric resin mister with three modes, mounted as a module."
@@ -124,3 +124,18 @@
/obj/item/mod/module/holster/Destroy()
QDEL_NULL(holstered)
return ..()
///Pepper Spray Mister - Sprays pepper spray over criminals.
/obj/item/mod/module/mister/security
name = "MOD pepper spray mister module"
desc = "A module containing a container of pepper spray to spray over areas."
device = /obj/item/reagent_containers/spray/mister/pepperspray/mod
complexity = 1
/obj/item/mod/module/mister/security/Initialize(mapload)
. = ..()
reagents.add_reagent(/datum/reagent/consumable/condensedcapsaicin, volume)
/obj/item/reagent_containers/spray/mister/pepperspray/mod
name = "MOD pepper spray mister"
desc = "A mister full of pepper spray, perfect for riots."