Janitor ERT

Because.
This commit is contained in:
SinTwo
2015-04-26 14:37:44 -04:00
parent 50b5d35c92
commit 7df732434d
18 changed files with 2651 additions and 2377 deletions
@@ -5,6 +5,7 @@
* /obj/item/rig_module/mounted/taser
* /obj/item/rig_module/shield
* /obj/item/rig_module/fabricator
* /obj/item/rig_module/mounted/energy_blade
*/
/obj/item/rig_module/grenade_launcher
@@ -12,6 +12,8 @@
* /obj/item/rig_module/chem_dispenser
* /obj/item/rig_module/chem_dispenser/injector
* /obj/item/rig_module/voice
* /obj/item/rig_module/mounted/mop
* /obj/item/rig_module/cleaner_launcher
*/
/obj/item/rig_module/device
@@ -377,4 +379,139 @@
jets.holder = null
jets.ion_trail.set_up(jets)
/obj/item/rig_module/foam_sprayer
/obj/item/rig_module/foam_sprayer
//Deployable Mop
/obj/item/rig_module/mounted/mop
name = "mop projector"
desc = "A powerful mop projector."
icon_state = "mop"
activate_string = "Project Mop"
deactivate_string = "Cancel Mop"
interface_name = "mop projector"
interface_desc = "A mop that can be deployed from the hand of the wearer."
usable = 0
selectable = 1
toggleable = 1
use_power_cost = 0
active_power_cost = 0
passive_power_cost = 0
gun_type = /obj/item/weapon/reagent_containers/spray/cleaner
/obj/item/rig_module/mounted/mop/process()
if(holder && holder.wearer)
if(!(locate(/obj/item/weapon/mop_deploy) in holder.wearer))
deactivate()
return 0
return ..()
/obj/item/rig_module/mounted/mop/activate()
..()
var/mob/living/M = holder.wearer
if(M.l_hand && M.r_hand)
M << "<span class='danger'>Your hands are full.</span>"
deactivate()
return
var/obj/item/weapon/mop_deploy/blade = new(M)
blade.creator = M
M.put_in_hands(blade)
/obj/item/rig_module/mounted/mop/deactivate()
..()
var/mob/living/M = holder.wearer
if(!M)
return
for(var/obj/item/weapon/mop_deploy/blade in M.contents)
M.drop_from_inventory(blade)
del(blade)
//Space Cleaner Launcher
/obj/item/rig_module/cleaner_launcher
name = "mounted space cleaner launcher"
desc = "A shoulder-mounted micro-cleaner dispenser."
selectable = 1
icon_state = "grenade_launcher"
interface_name = "integrated cleaner launcher"
interface_desc = "Discharges loaded cleaner grenades against the wearer's location."
var/fire_force = 30
var/fire_distance = 10
charges = list(
list("cleaner grenade", "cleaner grenade", /obj/item/weapon/grenade/chem_grenade/cleaner, 9),
)
/obj/item/rig_module/cleaner_launcher/accepts_item(var/obj/item/input_device, var/mob/living/user)
if(!istype(input_device) || !istype(user))
return 0
var/datum/rig_charge/accepted_item
for(var/charge in charges)
var/datum/rig_charge/charge_datum = charges[charge]
if(input_device.type == charge_datum.product_type)
accepted_item = charge_datum
break
if(!accepted_item)
return 0
if(accepted_item.charges >= 5)
user << "<span class='danger'>Another grenade of that type will not fit into the module.</span>"
return 0
user << "<font color='blue'><b>You slot \the [input_device] into the suit module.</b></font>"
user.drop_from_inventory(input_device)
del(input_device)
accepted_item.charges++
return 1
/obj/item/rig_module/cleaner_launcher/engage(atom/target)
if(!..())
return 0
if(!target)
return 0
var/mob/living/carbon/human/H = holder.wearer
if(!charge_selected)
H << "<span class='danger'>You have not selected a grenade type.</span>"
return 0
var/datum/rig_charge/charge = charges[charge_selected]
if(!charge)
return 0
if(charge.charges <= 0)
H << "<span class='danger'>Insufficient grenades!</span>"
return 0
charge.charges--
var/obj/item/weapon/grenade/new_grenade = new charge.product_type(get_turf(H))
H.visible_message("<span class='danger'>[H] launches \a [new_grenade]!")
new_grenade.activate(H)
new_grenade.throw_at(target,fire_force,fire_distance)
@@ -43,6 +43,19 @@
name = "insulated gauntlets"
siemens_coefficient = 0
/obj/item/weapon/rig/ert/janitor
name = "ERT-J suit control module"
desc = "A suit worn by the janitor division of a NanoTrasen Emergency Response Team. Has purple highlights. Armoured and space ready."
suit_type = "ERT Janitor"
icon_state = "ert_janitor_rig"
initial_modules = list(
/obj/item/rig_module/ai_container,
/obj/item/rig_module/maneuvering_jets,
/obj/item/rig_module/mounted/mop,
/obj/item/rig_module/cleaner_launcher,
)
/obj/item/weapon/rig/ert/medical
name = "ERT-M suit control module"
desc = "A suit worn by the medical division of a NanoTrasen Emergency Response Team. Has white highlights. Armoured and space ready."