Removes All Weapons

This commit is contained in:
Fox McCloud
2018-04-15 16:25:56 -04:00
parent 8b576c4d42
commit 5c4aa9b3fd
1100 changed files with 17642 additions and 17666 deletions
+9 -9
View File
@@ -1,4 +1,4 @@
/obj/item/weapon/autopsy_scanner
/obj/item/autopsy_scanner
name = "autopsy scanner"
desc = "Extracts information on wounds."
icon = 'icons/obj/autopsy_scanner.dmi'
@@ -11,7 +11,7 @@
var/target_name = null
var/timeofdeath = null
/obj/item/weapon/autopsy_scanner/Destroy()
/obj/item/autopsy_scanner/Destroy()
QDEL_LIST_ASSOC_VAL(wdata)
return ..()
@@ -41,7 +41,7 @@
W.time_inflicted = time_inflicted
return W
/obj/item/weapon/autopsy_scanner/proc/add_data(obj/item/organ/external/O)
/obj/item/autopsy_scanner/proc/add_data(obj/item/organ/external/O)
if(!O.autopsy_data.len && !O.trace_chemicals.len)
return
@@ -74,22 +74,22 @@
if(O.trace_chemicals[V] > 0 && !chemtraces.Find(V))
chemtraces += V
/obj/item/weapon/autopsy_scanner/attackby(obj/item/weapon/P, mob/user)
if(istype(P, /obj/item/weapon/pen))
/obj/item/autopsy_scanner/attackby(obj/item/P, mob/user)
if(istype(P, /obj/item/pen))
var/dead_name = input("Insert name of deceased individual")
var/dead_rank = input("Insert rank of deceased individual")
var/dead_tod = input("Insert time of death")
var/dead_cause = input("Insert cause of death")
var/dead_chems = input("Insert any chemical traces")
var/dead_notes = input("Insert any relevant notes")
var/obj/item/weapon/paper/R = new(user.loc)
var/obj/item/paper/R = new(user.loc)
R.name = "Official Coroner's Report - [dead_name]"
R.info = "<b>NanoTrasen Science Station Cyberiad - Coroner's Report</b><br><br><b>Name of Deceased:</b> [dead_name]</br><br><b>Rank of Deceased:</b> [dead_rank]<br><br><b>Time of Death:</b> [dead_tod]<br><br><b>Cause of Death:</b> [dead_cause]<br><br><b>Trace Chemicals:</b> [dead_chems]<br><br><b>Additional Coroner's Notes:</b> [dead_notes]<br><br><b>Coroner's Signature:</b> <span class=\"paper_field\">"
playsound(loc, 'sound/goonstation/machines/printer_thermal.ogg', 50, 1)
sleep(10)
user.put_in_hands(R)
/obj/item/weapon/autopsy_scanner/attack_self(mob/user)
/obj/item/autopsy_scanner/attack_self(mob/user)
if(!wdata.len && !chemtraces.len)
return
@@ -166,14 +166,14 @@
playsound(loc, 'sound/goonstation/machines/printer_thermal.ogg', 50, 1)
sleep(10)
var/obj/item/weapon/paper/P = new(user.loc)
var/obj/item/paper/P = new(user.loc)
P.name = "Autopsy Data ([target_name])"
P.info = "<tt>[scan_data]</tt>"
P.overlays += "paper_words"
user.put_in_hands(P)
/obj/item/weapon/autopsy_scanner/attack(mob/living/carbon/human/M, mob/living/carbon/user)
/obj/item/autopsy_scanner/attack(mob/living/carbon/human/M, mob/living/carbon/user)
if(!istype(M))
return
@@ -11,7 +11,7 @@
origin_tech = "syndicate=4;magnets=4"
var/can_use = 1
var/obj/effect/dummy/chameleon/active_dummy = null
var/saved_item = /obj/item/weapon/cigbutt
var/saved_item = /obj/item/cigbutt
var/saved_icon = 'icons/obj/clothing/masks.dmi'
var/saved_icon_state = "cigbutt"
var/saved_overlays = null
@@ -29,7 +29,7 @@
/obj/item/device/chameleon/afterattack(atom/target, mob/user , proximity)
if(!proximity) return
if(!active_dummy)
if(istype(target,/obj/item) && !istype(target, /obj/item/weapon/disk/nuclear))
if(istype(target,/obj/item) && !istype(target, /obj/item/disk/nuclear))
playsound(get_turf(src), 'sound/weapons/flash.ogg', 100, 1, -6)
to_chat(user, "<span class='notice'>Scanned [target].</span>")
saved_item = target.type
+2 -2
View File
@@ -25,7 +25,7 @@
return 1
/obj/item/device/flash/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/weapon/screwdriver))
if(istype(W, /obj/item/screwdriver))
if(battery_panel)
to_chat(user, "<span class='notice'>You close the battery compartment on the [src].</span>")
battery_panel = 0
@@ -33,7 +33,7 @@
to_chat(user, "<span class='notice'>You open the battery compartment on the [src].</span>")
battery_panel = 1
if(battery_panel && !overcharged)
if(istype(W, /obj/item/weapon/stock_parts/cell))
if(istype(W, /obj/item/stock_parts/cell))
to_chat(user, "<span class='notice'>You jam the cell into battery compartment on the [src].</span>")
qdel(W)
overcharged = 1
@@ -166,7 +166,7 @@
reqs = list(/obj/item/stack/sheet/wood = 5,
/obj/item/stack/cable_coil = 6,
/obj/item/stack/tape_roll = 5)
tools = list(/obj/item/weapon/screwdriver, /obj/item/weapon/wirecutters)
tools = list(/obj/item/screwdriver, /obj/item/wirecutters)
time = 80
/datum/crafting_recipe/guitar
@@ -175,7 +175,7 @@
reqs = list(/obj/item/stack/sheet/wood = 5,
/obj/item/stack/cable_coil = 6,
/obj/item/stack/tape_roll = 5)
tools = list(/obj/item/weapon/screwdriver, /obj/item/weapon/wirecutters)
tools = list(/obj/item/screwdriver, /obj/item/wirecutters)
time = 80
/datum/crafting_recipe/eguitar
@@ -184,5 +184,5 @@
reqs = list(/obj/item/stack/sheet/metal = 5,
/obj/item/stack/cable_coil = 6,
/obj/item/stack/tape_roll = 5)
tools = list(/obj/item/weapon/screwdriver, /obj/item/weapon/wirecutters)
tools = list(/obj/item/screwdriver, /obj/item/wirecutters)
time = 80
@@ -15,7 +15,7 @@
var/effectchance = 33
var/recharging = 0
var/recharge_locked = 0
var/obj/item/weapon/stock_parts/micro_laser/diode //used for upgrading!
var/obj/item/stock_parts/micro_laser/diode //used for upgrading!
/obj/item/device/laser_pointer/red
@@ -39,7 +39,7 @@
/obj/item/device/laser_pointer/upgraded/New()
..()
diode = new /obj/item/weapon/stock_parts/micro_laser/ultra
diode = new /obj/item/stock_parts/micro_laser/ultra
@@ -47,7 +47,7 @@
laser_act(M, user)
/obj/item/device/laser_pointer/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/weapon/stock_parts/micro_laser))
if(istype(W, /obj/item/stock_parts/micro_laser))
if(!diode)
user.drop_item()
W.loc = src
@@ -56,7 +56,7 @@
else
to_chat(user, "<span class='notice'>[src] already has a cell.</span>")
else if(istype(W, /obj/item/weapon/screwdriver))
else if(istype(W, /obj/item/screwdriver))
if(diode)
to_chat(user, "<span class='notice'>You remove the [diode.name] from the [src].</span>")
diode.loc = get_turf(src.loc)
@@ -88,8 +88,8 @@
to_chat(user, "You insert a piece of glass into the [src.name]. You have [uses] lights remaining.")
return
if(istype(W, /obj/item/weapon/light))
var/obj/item/weapon/light/L = W
if(istype(W, /obj/item/light))
var/obj/item/light/L = W
if(L.status == 0) // LIGHT OKAY
if(!user.drop_item())
to_chat(user, "[L] is stuck to your hand!")
@@ -111,13 +111,13 @@
qdel(L)
return
if(istype(W, /obj/item/weapon/storage))
var/obj/item/weapon/storage/S = W
if(istype(W, /obj/item/storage))
var/obj/item/storage/S = W
var/found_lightbulbs = 0
for(var/obj/item/I in S.contents)
if(istype(I,/obj/item/weapon/light))
var/obj/item/weapon/light/L = I
if(istype(I,/obj/item/light))
var/obj/item/light/L = I
found_lightbulbs = 1
if(uses >= max_uses)
to_chat(user, "<span class='warning'>[src] is full!</span>")
@@ -185,7 +185,7 @@
if(target.status != LIGHT_EMPTY)
var/obj/item/weapon/light/L1 = new target.light_type(target.loc)
var/obj/item/light/L1 = new target.light_type(target.loc)
L1.status = target.status
L1.rigged = target.rigged
L1.brightness_range = target.brightness_range
@@ -198,7 +198,7 @@
target.status = LIGHT_EMPTY
target.update()
var/obj/item/weapon/light/L2 = new target.light_type()
var/obj/item/light/L2 = new target.light_type()
target.status = L2.status
target.switchcount = L2.switchcount
+1 -1
View File
@@ -20,7 +20,7 @@
/obj/item/device/paicard/relaymove(var/mob/user, var/direction)
if(user.stat || user.stunned)
return
var/obj/item/weapon/rig/rig = get_rig()
var/obj/item/rig/rig = get_rig()
if(istype(rig))
rig.forced_move(direction, user)
@@ -58,7 +58,7 @@
qdel(src)
/obj/item/device/pizza_bomb/attackby(var/obj/item/I, var/mob/user, params)
if(istype(I, /obj/item/weapon/wirecutters) && primed)
if(istype(I, /obj/item/wirecutters) && primed)
to_chat(user, "<span class='danger'>Oh God, what wire do you cut?!</span>")
var/chosen_wire = input(user, "OH GOD OH GOD", "WHAT WIRE?!") in wires
if(!in_range(src, usr) || issilicon(usr) || !usr.canmove || usr.restrained())
@@ -79,7 +79,7 @@
to_chat(user, "<span class='userdanger'>WRONG WIRE!</span>")
go_boom()
return
if(istype(I, /obj/item/weapon/wirecutters) && disarmed)
if(istype(I, /obj/item/wirecutters) && disarmed)
if(!in_range(user, src))
to_chat(user, "<span class='warning'>You can't see the box well enough to cut the wires out.</span>")
return
@@ -90,7 +90,7 @@
user.visible_message("<span class='notice'>[user] removes the insides of \the [src]!</span>")
var/obj/item/stack/cable_coil/C = new /obj/item/stack/cable_coil(src.loc)
C.amount = 3
new /obj/item/weapon/bombcore/miniature(src.loc)
new /obj/item/bombcore/miniature(src.loc)
new /obj/item/pizzabox(src.loc)
qdel(src)
return
+1 -1
View File
@@ -32,7 +32,7 @@
return ..()
/obj/item/device/powersink/attackby(var/obj/item/I, var/mob/user)
if(istype(I, /obj/item/weapon/screwdriver))
if(istype(I, /obj/item/screwdriver))
if(mode == 0)
var/turf/T = loc
if(isturf(T) && !T.intact)
@@ -28,7 +28,7 @@
master = null
return ..()
/obj/item/device/radio/electropack/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
/obj/item/device/radio/electropack/attackby(obj/item/W as obj, mob/user as mob, params)
..()
if(istype(W, /obj/item/clothing/head/helmet))
if(!b_stat)
@@ -15,7 +15,7 @@
/obj/item/device/encryptionkey/New()
/obj/item/device/encryptionkey/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
/obj/item/device/encryptionkey/attackby(obj/item/W as obj, mob/user as mob, params)
/obj/item/device/encryptionkey/syndicate
icon_state = "cypherkey"
@@ -303,12 +303,12 @@
return FALSE
return ..()
/obj/item/device/radio/headset/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/item/device/radio/headset/attackby(obj/item/W as obj, mob/user as mob)
user.set_machine(src)
if(!( istype(W, /obj/item/weapon/screwdriver) || (istype(W, /obj/item/device/encryptionkey/ ))))
if(!( istype(W, /obj/item/screwdriver) || (istype(W, /obj/item/device/encryptionkey/ ))))
return
if(istype(W, /obj/item/weapon/screwdriver))
if(istype(W, /obj/item/screwdriver))
if(keyslot1 || keyslot2)
for(var/ch_name in channels)
@@ -133,7 +133,7 @@
return canhear_range
/obj/item/device/radio/intercom/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/item/device/radio/intercom/attackby(obj/item/W as obj, mob/user as mob)
switch(buildstage)
if(3)
if(iswirecutter(W) && b_stat && wires.IsAllCut())
@@ -181,12 +181,12 @@
if(do_after(user, 10 * W.toolspeed, target = src))
if(buildstage != 1)
return
new /obj/item/weapon/intercom_electronics(get_turf(src))
new /obj/item/intercom_electronics(get_turf(src))
to_chat(user, "<span class='notice'>The circuitboard pops out!</span>")
buildstage = 0
return 1
if(0)
if(istype(W,/obj/item/weapon/intercom_electronics))
if(istype(W,/obj/item/intercom_electronics))
playsound(get_turf(src), W.usesound, 50, 1)
if(do_after(user, 10 * W.toolspeed, target = src))
qdel(W)
@@ -194,7 +194,7 @@
buildstage = 1
return 1
if(iswelder(W))
var/obj/item/weapon/weldingtool/WT=W
var/obj/item/weldingtool/WT=W
playsound(get_turf(src), WT.usesound, 50, 1)
if(!WT.remove_fuel(3, user))
to_chat(user, "<span class='warning'>You're out of welding fuel.</span>")
@@ -226,7 +226,7 @@
on = A.powered(EQUIP) // set "on" to the power status
update_icon()
/obj/item/weapon/intercom_electronics
/obj/item/intercom_electronics
name = "intercom electronics"
icon = 'icons/obj/doors/door_assembly.dmi'
icon_state = "door_electronics"
@@ -168,7 +168,7 @@ var/global/list/default_medbay_channels = list(
return user.has_internal_radio_channel_access(user, internal_channels[freq])
/mob/proc/has_internal_radio_channel_access(var/mob/user, var/list/req_one_accesses)
var/obj/item/weapon/card/id/I = user.get_id_card()
var/obj/item/card/id/I = user.get_id_card()
return has_access(list(), req_one_accesses, I ? I.GetAccess() : list())
/mob/living/silicon/has_internal_radio_channel_access(var/mob/user, var/list/req_one_accesses)
@@ -599,10 +599,10 @@ var/global/list/default_medbay_channels = list(
user.show_message("<span class='notice'>\the [src] can not be modified or attached!</span>")
return .
/obj/item/device/radio/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
/obj/item/device/radio/attackby(obj/item/W as obj, mob/user as mob, params)
..()
user.set_machine(src)
if(!( istype(W, /obj/item/weapon/screwdriver) ))
if(!( istype(W, /obj/item/screwdriver) ))
return
b_stat = !( b_stat )
if(!istype(src, /obj/item/device/radio/beacon))
@@ -683,13 +683,13 @@ var/global/list/default_medbay_channels = list(
..()
set_frequency(ERT_FREQ)
/obj/item/device/radio/borg/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
/obj/item/device/radio/borg/attackby(obj/item/W as obj, mob/user as mob, params)
// ..()
user.set_machine(src)
if(!( istype(W, /obj/item/weapon/screwdriver) || (istype(W, /obj/item/device/encryptionkey/ ))))
if(!( istype(W, /obj/item/screwdriver) || (istype(W, /obj/item/device/encryptionkey/ ))))
return
if(istype(W, /obj/item/weapon/screwdriver))
if(istype(W, /obj/item/screwdriver))
if(keyslot)
+2 -2
View File
@@ -431,7 +431,7 @@ REAGENT SCANNER
playsound(loc, 'sound/goonstation/machines/printer_thermal.ogg', 50, 1)
sleep(50)
var/obj/item/weapon/paper/P = new(get_turf(src))
var/obj/item/paper/P = new(get_turf(src))
P.name = "Mass Spectrometer Scanner Report: [station_time_timestamp()]"
P.info = "<center><b>Mass Spectrometer</b></center><br><center>Data Analysis:</center><br><hr><br><b>Trace chemicals detected:</b><br>[datatoprint]<br><hr>"
@@ -501,7 +501,7 @@ REAGENT SCANNER
playsound(loc, 'sound/goonstation/machines/printer_thermal.ogg', 50, 1)
sleep(50)
var/obj/item/weapon/paper/P = new(get_turf(src))
var/obj/item/paper/P = new(get_turf(src))
P.name = "Reagent Scanner Report: [station_time_timestamp()]"
P.info = "<center><b>Reagent Scanner</b></center><br><center>Data Analysis:</center><br><hr><br><b>Chemical agents detected:</b><br> [datatoprint]<br><hr>"
@@ -228,7 +228,7 @@
to_chat(usr, "<span class='notice'>Transcript printed.</span>")
playsound(loc, 'sound/goonstation/machines/printer_thermal.ogg', 50, 1)
var/obj/item/weapon/paper/P = new /obj/item/weapon/paper(get_turf(src))
var/obj/item/paper/P = new /obj/item/paper(get_turf(src))
var/t1 = "<B>Transcript:</B><BR><BR>"
for(var/i = 1, mytape.storedinfo.len >= i, i++)
t1 += "[mytape.storedinfo[i]]<BR>"
@@ -297,12 +297,12 @@
/obj/item/device/tape/attackby(obj/item/I, mob/user)
if(ruined && istype(I, /obj/item/weapon/screwdriver))
if(ruined && istype(I, /obj/item/screwdriver))
to_chat(user, "<span class='notice'>You start winding the tape back in.</span>")
if(do_after(user, 120 * I.toolspeed, target = src))
to_chat(user, "<span class='notice'>You wound the tape back in!</span>")
fix()
else if(istype(I, /obj/item/weapon/pen))
else if(istype(I, /obj/item/pen))
var/title = stripped_input(usr,"What do you want to name the tape?", "Tape Renaming", name, MAX_NAME_LEN)
if(!title || !length(title))
name = initial(name)
@@ -4,8 +4,8 @@
icon_state = "valve_1"
item_state = "ttv"
desc = "Regulates the transfer of air between two tanks"
var/obj/item/weapon/tank/tank_one = null
var/obj/item/weapon/tank/tank_two = null
var/obj/item/tank/tank_one = null
var/obj/item/tank/tank_two = null
var/obj/item/device/assembly/attached_device = null
var/mob/living/attacher = null
var/valve_open = 0
@@ -23,7 +23,7 @@
return 1
/obj/item/device/transfer_valve/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/tank))
if(istype(I, /obj/item/tank))
if(tank_one && tank_two)
to_chat(user, "<span class='warning'>There are already two tanks attached, remove one first.</span>")
return
+3 -3
View File
@@ -285,9 +285,9 @@ var/list/world_uplinks = list()
return 0
//Refund proc for the borg teleporter (later I'll make a general refund proc if there is demand for it)
/obj/item/device/radio/uplink/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/weapon/antag_spawner/borg_tele))
var/obj/item/weapon/antag_spawner/borg_tele/S = W
/obj/item/device/radio/uplink/attackby(obj/item/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/antag_spawner/borg_tele))
var/obj/item/antag_spawner/borg_tele/S = W
if(!S.used && !S.checking)
hidden_uplink.uses += S.TC_cost
qdel(S)