67 lines
2.3 KiB
Plaintext
67 lines
2.3 KiB
Plaintext
//Service modules for MODsuits
|
|
|
|
///Bike Horn - Plays a bike horn sound.
|
|
/obj/item/mod/module/bikehorn
|
|
name = "MOD bike horn module"
|
|
desc = "A shoulder-mounted piece of heavy sonic artillery, this module uses the finest femto-manipulator technology to \
|
|
precisely deliver an almost lethal squeeze to... a bike horn, producing a significantly memorable sound."
|
|
icon_state = "bikehorn"
|
|
module_type = MODULE_USABLE
|
|
complexity = 1
|
|
use_power_cost = DEFAULT_CHARGE_DRAIN
|
|
incompatible_modules = list(/obj/item/mod/module/bikehorn)
|
|
cooldown_time = 1 SECONDS
|
|
|
|
/obj/item/mod/module/bikehorn/on_use()
|
|
. = ..()
|
|
if(!.)
|
|
return
|
|
playsound(src, 'sound/items/bikehorn.ogg', 100, FALSE)
|
|
drain_power(use_power_cost)
|
|
|
|
///Microwave Beam - Microwaves items instantly.
|
|
/obj/item/mod/module/microwave_beam
|
|
name = "MOD microwave beam module"
|
|
desc = "An oddly domestic device, this module is installed into the user's palm, \
|
|
hooking up with culinary scanners located in the helmet to blast food with precise microwave radiation, \
|
|
allowing them to cook food from a distance, with the greatest of ease. Not recommended for use against grapes."
|
|
icon_state = "microwave_beam"
|
|
module_type = MODULE_ACTIVE
|
|
complexity = 2
|
|
use_power_cost = DEFAULT_CHARGE_DRAIN * 5
|
|
incompatible_modules = list(/obj/item/mod/module/microwave_beam)
|
|
cooldown_time = 10 SECONDS
|
|
var/obj/machinery/microwave/microwave
|
|
|
|
/obj/item/mod/module/microwave_beam/Initialize(mapload)
|
|
microwave = new()
|
|
. = ..()
|
|
|
|
/obj/item/mod/module/microwave_beam/Destroy()
|
|
QDEL_NULL(microwave)
|
|
. = ..()
|
|
|
|
/obj/item/mod/module/microwave_beam/on_select_use(atom/target)
|
|
. = ..()
|
|
if(!.)
|
|
return
|
|
if(!isitem(target))
|
|
return
|
|
if(!isturf(target.loc))
|
|
balloon_alert(mod.wearer, "must be on the floor!")
|
|
return
|
|
var/obj/item/microwave_target = target
|
|
var/turf/microwave_target_loc = target.loc
|
|
var/datum/effect_system/spark_spread/spark_effect = new()
|
|
spark_effect.set_up(2, 1, mod.wearer)
|
|
spark_effect.start()
|
|
mod.wearer.Beam(target,icon_state="lightning[rand(1,12)]", time = 5)
|
|
if(microwave_target.microwave_act(microwave))
|
|
playsound(src, 'sound/machines/microwave/microwave-end.ogg', 50, FALSE)
|
|
else
|
|
balloon_alert(mod.wearer, "can't be microwaved!")
|
|
var/datum/effect_system/spark_spread/spark_effect_two = new()
|
|
spark_effect_two.set_up(2, 1, microwave_target_loc)
|
|
spark_effect_two.start()
|
|
drain_power(use_power_cost)
|