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
+1 -1
View File
@@ -1,5 +1,5 @@
var/create_object_html = null
var/list/create_object_forms = list(/obj, /obj/structure, /obj/machinery, /obj/effect, /obj/item, /obj/mecha, /obj/item/weapon, /obj/item/clothing, /obj/item/stack, /obj/item/device, /obj/item/weapon/reagent_containers, /obj/item/weapon/gun)
var/list/create_object_forms = list(/obj, /obj/structure, /obj/machinery, /obj/effect, /obj/item, /obj/mecha, /obj/item, /obj/item/clothing, /obj/item/stack, /obj/item/device, /obj/item/reagent_containers, /obj/item/gun)
/datum/admins/proc/create_object(var/mob/user)
if(!create_object_html)
+1 -1
View File
@@ -11,7 +11,7 @@
var/new_rating = input("Enter new rating:","Num") as num
if(!isnull(new_rating) && M.component_parts)
for(var/obj/item/weapon/stock_parts/P in M.component_parts)
for(var/obj/item/stock_parts/P in M.component_parts)
P.rating = new_rating
M.RefreshParts()
+1 -1
View File
@@ -427,7 +427,7 @@
else
dat += "<tr><td><i>Nuclear Operative not found!</i></td></tr>"
dat += "</table><br><table><tr><td><B>Nuclear Disk(s)</B></td></tr>"
for(var/obj/item/weapon/disk/nuclear/N in poi_list)
for(var/obj/item/disk/nuclear/N in poi_list)
dat += "<tr><td>[N.name], "
var/atom/disk_loc = N.loc
while(!istype(disk_loc, /turf))
+31 -31
View File
@@ -1617,10 +1617,10 @@
to_chat(usr, "This can only be used on instances of type /mob/living/carbon/human")
return
H.equip_to_slot_or_del( new /obj/item/weapon/reagent_containers/food/snacks/cookie(H), slot_l_hand )
if(!(istype(H.l_hand,/obj/item/weapon/reagent_containers/food/snacks/cookie)))
H.equip_to_slot_or_del( new /obj/item/weapon/reagent_containers/food/snacks/cookie(H), slot_r_hand )
if(!(istype(H.r_hand,/obj/item/weapon/reagent_containers/food/snacks/cookie)))
H.equip_to_slot_or_del( new /obj/item/reagent_containers/food/snacks/cookie(H), slot_l_hand )
if(!(istype(H.l_hand,/obj/item/reagent_containers/food/snacks/cookie)))
H.equip_to_slot_or_del( new /obj/item/reagent_containers/food/snacks/cookie(H), slot_r_hand )
if(!(istype(H.r_hand,/obj/item/reagent_containers/food/snacks/cookie)))
log_admin("[key_name(H)] has their hands full, so they did not receive their cookie, spawned by [key_name(src.owner)].")
message_admins("[key_name_admin(H)] has their hands full, so they did not receive their cookie, spawned by [key_name_admin(src.owner)].")
return
@@ -1705,7 +1705,7 @@
var/customname = input(src.owner, "Pick a title for the evil fax.", "Fax Title") as text|null
if(!customname)
customname = "paper"
var/obj/item/weapon/paper/evilfax/P = new /obj/item/weapon/paper/evilfax(null)
var/obj/item/paper/evilfax/P = new /obj/item/paper/evilfax(null)
var/obj/machinery/photocopier/faxmachine/fax = locate(href_list["originfax"])
P.name = "Central Command - [customname]"
@@ -1725,7 +1725,7 @@
stampoverlay.pixel_x = P.x
stampoverlay.pixel_y = P.y
P.stamped = list()
P.stamped += /obj/item/weapon/stamp/centcom
P.stamped += /obj/item/stamp/centcom
if(!P.ico)
P.ico = new
P.ico += "paper_stamp-[stampvalue]"
@@ -1792,7 +1792,7 @@
H.gene_stability = 100
logmsg = "superpowers."
if("Scarab Guardian")
var/obj/item/weapon/guardiancreator/biological/scarab = new /obj/item/weapon/guardiancreator/biological(H)
var/obj/item/guardiancreator/biological/scarab = new /obj/item/guardiancreator/biological(H)
var/list/possible_guardians = list("Chaos", "Standard", "Ranged", "Support", "Explosive", "Random")
var/typechoice = input("Select Guardian Type", "Type") as null|anything in possible_guardians
if(isnull(typechoice))
@@ -1892,7 +1892,7 @@
H.makeCluwne()
logmsg = "cluwned."
if("Mutagen Cookie")
var/obj/item/weapon/reagent_containers/food/snacks/cookie/evilcookie = new /obj/item/weapon/reagent_containers/food/snacks/cookie
var/obj/item/reagent_containers/food/snacks/cookie/evilcookie = new /obj/item/reagent_containers/food/snacks/cookie
evilcookie.reagents.add_reagent("mutagen", 10)
evilcookie.desc = "It has a faint green glow."
evilcookie.bitesize = 100
@@ -1901,7 +1901,7 @@
H.equip_to_slot_or_del(evilcookie, slot_l_hand)
logmsg = "a mutagen cookie."
if("Hellwater Cookie")
var/obj/item/weapon/reagent_containers/food/snacks/cookie/evilcookie = new /obj/item/weapon/reagent_containers/food/snacks/cookie
var/obj/item/reagent_containers/food/snacks/cookie/evilcookie = new /obj/item/reagent_containers/food/snacks/cookie
evilcookie.reagents.add_reagent("hell_water", 25)
evilcookie.desc = "Sulphur-flavored."
evilcookie.bitesize = 100
@@ -1983,7 +1983,7 @@
if(!istype(H))
to_chat(usr, "This can only be used on instances of type /mob/living/carbon/human")
return
var/obj/item/weapon/paper/P = new /obj/item/weapon/paper(null)
var/obj/item/paper/P = new /obj/item/paper(null)
var/obj/machinery/photocopier/faxmachine/fax = locate(href_list["originfax"])
P.name = "Central Command - paper"
var/stypes = list("Handle it yourselves!","Illegible fax","Fax not signed","Not Right Now","You are wasting our time", "Keep up the good work", "ERT Instructions")
@@ -2018,7 +2018,7 @@
stampoverlay.pixel_x = P.x
stampoverlay.pixel_y = P.y
P.stamped = list()
P.stamped += /obj/item/weapon/stamp/centcom
P.stamped += /obj/item/stamp/centcom
if(!P.ico)
P.ico = new
P.ico += "paper_stamp-[stampvalue]"
@@ -2099,17 +2099,17 @@
return
var/obj/item/fax = locate(href_list["AdminFaxView"])
if(istype(fax, /obj/item/weapon/paper))
var/obj/item/weapon/paper/P = fax
if(istype(fax, /obj/item/paper))
var/obj/item/paper/P = fax
P.show_content(usr,1)
else if(istype(fax, /obj/item/weapon/photo))
var/obj/item/weapon/photo/H = fax
else if(istype(fax, /obj/item/photo))
var/obj/item/photo/H = fax
H.show(usr)
else if(istype(fax, /obj/item/weapon/paper_bundle))
else if(istype(fax, /obj/item/paper_bundle))
//having multiple people turning pages on a paper_bundle can cause issues
//open a browse window listing the contents instead
var/data = ""
var/obj/item/weapon/paper_bundle/B = fax
var/obj/item/paper_bundle/B = fax
for(var/page = 1, page <= B.amount + 1, page++)
var/obj/pageobj = B.contents[page]
@@ -2124,15 +2124,15 @@
return
var/page = text2num(href_list["AdminFaxViewPage"])
var/obj/item/weapon/paper_bundle/bundle = locate(href_list["paper_bundle"])
var/obj/item/paper_bundle/bundle = locate(href_list["paper_bundle"])
if(!bundle) return
if(istype(bundle.contents[page], /obj/item/weapon/paper))
var/obj/item/weapon/paper/P = bundle.contents[page]
if(istype(bundle.contents[page], /obj/item/paper))
var/obj/item/paper/P = bundle.contents[page]
P.show_content(usr, 1)
else if(istype(bundle.contents[page], /obj/item/weapon/photo))
var/obj/item/weapon/photo/H = bundle.contents[page]
else if(istype(bundle.contents[page], /obj/item/photo))
var/obj/item/photo/H = bundle.contents[page]
H.show(usr)
return
@@ -2147,7 +2147,7 @@
var/destination
var/notify
var/obj/item/weapon/paper/P = new /obj/item/weapon/paper(null) //hopefully the null loc won't cause trouble for us
var/obj/item/paper/P = new /obj/item/paper(null) //hopefully the null loc won't cause trouble for us
if(!fax)
var/list/departmentoptions = alldepartments + "All Departments"
@@ -2236,14 +2236,14 @@
if(stamptype == "icon")
if(!P.stamped)
P.stamped = new
P.stamped += /obj/item/weapon/stamp/centcom
P.stamped += /obj/item/stamp/centcom
P.overlays += stampoverlay
P.stamps += "<HR><img src=large_stamp-[stampvalue].png>"
else if(stamptype == "text")
if(!P.stamped)
P.stamped = new
P.stamped += /obj/item/weapon/stamp
P.stamped += /obj/item/stamp
P.overlays += stampoverlay
P.stamps += "<HR><i>[stampvalue]</i>"
@@ -2616,13 +2616,13 @@
continue
H.Paralyse(5)
if(H.wear_id)
var/obj/item/weapon/card/id/id = H.get_idcard()
var/obj/item/card/id/id = H.get_idcard()
for(var/A in id.access)
if(A == access_security)
security++
if(!security)
//strip their stuff before they teleport into a cell :downs:
for(var/obj/item/weapon/W in H)
for(var/obj/item/W in H)
if(istype(W, /obj/item/organ/external))
continue
//don't strip organs
@@ -2830,7 +2830,7 @@
feedback_inc("admin_secrets_fun_used",1)
feedback_add_details("admin_secrets_fun_used","FG")
for(var/obj/item/W in world)
if(istype(W, /obj/item/clothing) || istype(W, /obj/item/weapon/card/id) || istype(W, /obj/item/weapon/disk) || istype(W, /obj/item/weapon/tank))
if(istype(W, /obj/item/clothing) || istype(W, /obj/item/card/id) || istype(W, /obj/item/disk) || istype(W, /obj/item/tank))
continue
W.icon = 'icons/obj/guns/projectile.dmi'
W.icon_state = "revolver"
@@ -3407,14 +3407,14 @@
var/mob/living/carbon/human/hunter_mob = new /mob/living/carbon/human(pick(latejoin))
hunter_mind.transfer_to(hunter_mob)
hunter_mob.equipOutfit(O, FALSE)
var/obj/item/weapon/pinpointer/advpinpointer/N = new /obj/item/weapon/pinpointer/advpinpointer(hunter_mob)
var/obj/item/pinpointer/advpinpointer/N = new /obj/item/pinpointer/advpinpointer(hunter_mob)
hunter_mob.equip_to_slot_or_del(N, slot_in_backpack)
N.active = 1
N.mode = 2
N.target = H
N.point_at(N.target)
if(!locate(/obj/item/weapon/implant/dust, hunter_mob))
var/obj/item/weapon/implant/dust/D = new /obj/item/weapon/implant/dust(hunter_mob)
if(!locate(/obj/item/implant/dust, hunter_mob))
var/obj/item/implant/dust/D = new /obj/item/implant/dust(hunter_mob)
D.implant(hunter_mob)
if(killthem)
var/datum/objective/assassinate/kill_objective = new
+1 -1
View File
@@ -7,7 +7,7 @@
-- Will change all the tube lights to green
UPDATE /obj/machinery/light IN world SET color = "#0F0" WHERE icon_state == "tube1"
-- Will delete all pickaxes. "IN world" is not required.
DELETE /obj/item/weapon/pickaxe
DELETE /obj/item/pickaxe
-- Will flicker the lights once, then turn all mobs green. The semicolon is important to separate the consecutive querys, but is not required for standard one-query use
CALL flicker(1) ON /obj/machinery/light; UPDATE /mob SET color = "#00cc00"
@@ -3,7 +3,7 @@
// Give this a string and a location to create the object. Examples of using
// this function:
/*
CALL global.json_to_object_arbitrary_vars("{'type':'/obj/item/weapon/crowbar', 'color':'#FF0000','force':5000,'name':'Greytides Gravedigger'}", loc) ON /mob/living/carbon/human WHERE ckey == 'crazylemon'".
CALL global.json_to_object_arbitrary_vars("{'type':'/obj/item/crowbar', 'color':'#FF0000','force':5000,'name':'Greytides Gravedigger'}", loc) ON /mob/living/carbon/human WHERE ckey == 'crazylemon'".
*/
// This is a bit more flexible than the serialization interface because that interface
// expects a rigid structure for the data
+4 -4
View File
@@ -405,14 +405,14 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
if(istype(M, /mob/living/carbon/human))
var/mob/living/carbon/human/H = M
if(H.wear_id)
var/obj/item/weapon/card/id/id = H.wear_id
var/obj/item/card/id/id = H.wear_id
if(istype(H.wear_id, /obj/item/device/pda))
var/obj/item/device/pda/pda = H.wear_id
id = pda.id
id.icon_state = "gold"
id:access = get_all_accesses()+get_all_centcom_access()+get_all_syndicate_access()
else
var/obj/item/weapon/card/id/id = new/obj/item/weapon/card/id(M);
var/obj/item/card/id/id = new/obj/item/card/id(M);
id.icon_state = "gold"
id:access = get_all_accesses()+get_all_centcom_access()+get_all_syndicate_access()
id.registered_name = H.real_name
@@ -611,7 +611,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
feedback_add_details("admin_verb", "SEQ") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
if(dostrip)
for(var/obj/item/I in M)
if(istype(I, /obj/item/weapon/implant))
if(istype(I, /obj/item/implant))
continue
if(istype(I, /obj/item/organ))
continue
@@ -709,7 +709,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
for(var/obj/machinery/power/rad_collector/Rad in machines)
if(Rad.anchored)
if(!Rad.P)
var/obj/item/weapon/tank/plasma/Plasma = new/obj/item/weapon/tank/plasma(Rad)
var/obj/item/tank/plasma/Plasma = new/obj/item/tank/plasma(Rad)
Plasma.air_contents.toxins = 70
Rad.drainratio = 0
Rad.P = Plasma
+9 -9
View File
@@ -103,8 +103,8 @@ var/global/sent_honksquad = 0
var/obj/item/device/radio/R = new /obj/item/device/radio/headset(src)
R.set_frequency(1442)
equip_to_slot_or_del(R, slot_l_ear)
equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/clown(src), slot_back)
equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(src), slot_in_backpack)
equip_to_slot_or_del(new /obj/item/storage/backpack/clown(src), slot_back)
equip_to_slot_or_del(new /obj/item/storage/box/survival(src), slot_in_backpack)
if(src.gender == FEMALE)
equip_to_slot_or_del(new /obj/item/clothing/mask/gas/sexyclown(src), slot_wear_mask)
equip_to_slot_or_del(new /obj/item/clothing/under/sexyclown(src), slot_w_uniform)
@@ -114,20 +114,20 @@ var/global/sent_honksquad = 0
equip_to_slot_or_del(new /obj/item/clothing/shoes/clown_shoes(src), slot_shoes)
equip_to_slot_or_del(new /obj/item/device/pda/clown(src), slot_wear_pda)
equip_to_slot_or_del(new /obj/item/clothing/mask/gas/clown_hat(src), slot_wear_mask)
equip_to_slot_or_del(new /obj/item/weapon/reagent_containers/food/snacks/grown/banana(src), slot_in_backpack)
equip_to_slot_or_del(new /obj/item/weapon/bikehorn(src), slot_in_backpack)
equip_to_slot_or_del(new /obj/item/weapon/stamp/clown(src), slot_in_backpack)
equip_to_slot_or_del(new /obj/item/reagent_containers/food/snacks/grown/banana(src), slot_in_backpack)
equip_to_slot_or_del(new /obj/item/bikehorn(src), slot_in_backpack)
equip_to_slot_or_del(new /obj/item/stamp/clown(src), slot_in_backpack)
equip_to_slot_or_del(new /obj/item/toy/crayon/rainbow(src), slot_in_backpack)
equip_to_slot_or_del(new /obj/item/weapon/reagent_containers/spray/waterflower(src), slot_in_backpack)
equip_to_slot_or_del(new /obj/item/reagent_containers/spray/waterflower(src), slot_in_backpack)
if(prob(50))
equip_to_slot_or_del(new /obj/item/weapon/gun/energy/clown(src), slot_in_backpack)
equip_to_slot_or_del(new /obj/item/gun/energy/clown(src), slot_in_backpack)
else
equip_to_slot_or_del(new /obj/item/weapon/gun/throw/piecannon(src), slot_in_backpack)
equip_to_slot_or_del(new /obj/item/gun/throw/piecannon(src), slot_in_backpack)
src.mutations.Add(CLUMSY)
var/obj/item/weapon/card/id/W = new(src)
var/obj/item/card/id/W = new(src)
W.name = "[real_name]'s ID Card"
W.icon_state = "centcom_old"
W.access = list(access_clown)//They get full station access.
@@ -159,12 +159,12 @@ var/global/sent_syndicate_infiltration_team = 0
/mob/living/carbon/human/proc/equip_syndicate_infiltrator(syndicate_leader_selected = 0, num_tc, flag_mgmt)
// Storage items
equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(src), slot_back)
equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(src), slot_in_backpack)
equip_to_slot_or_del(new /obj/item/storage/backpack(src), slot_back)
equip_to_slot_or_del(new /obj/item/storage/box/survival(src), slot_in_backpack)
equip_to_slot_or_del(new /obj/item/clothing/under/chameleon(src), slot_w_uniform)
if(!flag_mgmt)
equip_to_slot_or_del(new /obj/item/device/flashlight(src), slot_in_backpack)
equip_to_slot_or_del(new /obj/item/weapon/storage/belt/utility/full/multitool(src), slot_belt)
equip_to_slot_or_del(new /obj/item/storage/belt/utility/full/multitool(src), slot_belt)
var/obj/item/clothing/gloves/combat/G = new /obj/item/clothing/gloves/combat(src)
G.name = "black gloves"
@@ -172,14 +172,14 @@ var/global/sent_syndicate_infiltration_team = 0
// Implants:
// Uplink
var/obj/item/weapon/implant/uplink/U = new /obj/item/weapon/implant/uplink(src)
var/obj/item/implant/uplink/U = new /obj/item/implant/uplink(src)
U.implant(src)
if (flag_mgmt)
U.hidden_uplink.uses = 500
else
U.hidden_uplink.uses = num_tc
// Dust
var/obj/item/weapon/implant/dust/D = new /obj/item/weapon/implant/dust(src)
var/obj/item/implant/dust/D = new /obj/item/implant/dust(src)
D.implant(src)
// Radio & PDA
@@ -191,7 +191,7 @@ var/global/sent_syndicate_infiltration_team = 0
// Other gear
equip_to_slot_or_del(new /obj/item/clothing/shoes/syndigaloshes(src), slot_shoes)
var/obj/item/weapon/card/id/syndicate/W = new(src)
var/obj/item/card/id/syndicate/W = new(src)
if (flag_mgmt)
W.icon_state = "commander"
else
+2 -2
View File
@@ -240,7 +240,7 @@ client/proc/one_click_antag()
var/nuke_code = "[rand(10000, 99999)]"
if(nuke_spawn)
var/obj/item/weapon/paper/P = new
var/obj/item/paper/P = new
P.info = "Sadly, the Syndicate could not get you a nuclear bomb. We have, however, acquired the arming code for the station's onboard nuke. The nuclear authorization code is: <b>[nuke_code]</b>"
P.name = "nuclear bomb code and instructions"
P.loc = nuke_spawn.loc
@@ -516,7 +516,7 @@ client/proc/one_click_antag()
limb.status &= ~ORGAN_ROBOT
//Now apply cortical stack.
var/obj/item/weapon/implant/cortical/I = new(new_vox)
var/obj/item/implant/cortical/I = new(new_vox)
I.implant(new_vox)
cortical_stacks += I
+6 -6
View File
@@ -28,7 +28,7 @@
obj_count++
for(var/obj/item/I in H)
if(istype(I, /obj/item/weapon/implant))
if(istype(I, /obj/item/implant))
continue
if(istype(I, /obj/item/organ))
continue
@@ -37,11 +37,11 @@
H.equip_to_slot_or_del(new /obj/item/clothing/under/kilt(H), slot_w_uniform)
H.equip_to_slot_or_del(new /obj/item/device/radio/headset/heads/captain(H), slot_l_ear)
H.equip_to_slot_or_del(new /obj/item/clothing/head/beret(H), slot_head)
H.equip_to_slot_or_del(new /obj/item/weapon/claymore/highlander(H), slot_r_hand)
H.equip_to_slot_or_del(new /obj/item/claymore/highlander(H), slot_r_hand)
H.equip_to_slot_or_del(new /obj/item/clothing/shoes/combat(H), slot_shoes)
H.equip_to_slot_or_del(new /obj/item/weapon/pinpointer(H.loc), slot_l_store)
H.equip_to_slot_or_del(new /obj/item/pinpointer(H.loc), slot_l_store)
var/obj/item/weapon/card/id/W = new(H)
var/obj/item/card/id/W = new(H)
W.name = "[H.real_name]'s ID Card"
W.icon_state = "centcom"
W.access = get_all_accesses()
@@ -84,10 +84,10 @@
var/obj/item/slot_item_hand = H.get_item_by_slot(slot_r_hand)
H.unEquip(slot_item_hand)
var /obj/item/weapon/multisword/pure_evil/multi = new(H)
var /obj/item/multisword/pure_evil/multi = new(H)
H.equip_to_slot_or_del(multi, slot_r_hand)
var/obj/item/weapon/card/id/W = new(H)
var/obj/item/card/id/W = new(H)
W.icon_state = "centcom"
W.access = get_all_accesses()
W.access += get_all_centcom_access()
+6 -6
View File
@@ -16,7 +16,7 @@
A.copy_to(H)
for(var/obj/item/I in H)
if(istype(I, /obj/item/weapon/implant))
if(istype(I, /obj/item/implant))
continue
if(istype (I, /obj/item/organ))
continue
@@ -25,14 +25,14 @@
to_chat(H, "<B>You are part of the [station_name()] dodgeball tournament. Throw dodgeballs at crewmembers wearing a different color than you. OOC: Use THROW on an EMPTY-HAND to catch thrown dodgeballs.</B>")
H.equip_to_slot_or_del(new /obj/item/device/radio/headset/heads/captain(H), slot_l_ear)
H.equip_to_slot_or_del(new /obj/item/weapon/beach_ball/dodgeball(H), slot_r_hand)
H.equip_to_slot_or_del(new /obj/item/beach_ball/dodgeball(H), slot_r_hand)
H.equip_to_slot_or_del(new /obj/item/clothing/shoes/white(H), slot_shoes)
if(!team_toggle)
team_alpha += H
H.equip_to_slot_or_del(new /obj/item/clothing/under/color/red/dodgeball(H), slot_w_uniform)
var/obj/item/weapon/card/id/W = new(H)
var/obj/item/card/id/W = new(H)
W.name = "[H.real_name]'s ID Card"
W.icon_state = "centcom"
W.access = get_all_accesses()
@@ -45,7 +45,7 @@
team_bravo += H
H.equip_to_slot_or_del(new /obj/item/clothing/under/color/blue/dodgeball(H), slot_w_uniform)
var/obj/item/weapon/card/id/W = new(H)
var/obj/item/card/id/W = new(H)
W.name = "[H.real_name]'s ID Card"
W.icon_state = "centcom"
W.access = get_all_accesses()
@@ -62,14 +62,14 @@
log_admin("[key_name(usr)] used dodgeball.")
nologevent = 1
/obj/item/weapon/beach_ball/dodgeball
/obj/item/beach_ball/dodgeball
name = "dodgeball"
icon = 'icons/obj/basketball.dmi'
icon_state = "dodgeball"
item_state = "basketball"
desc = "Used for playing the most violent and degrading of childhood games."
/obj/item/weapon/beach_ball/dodgeball/throw_impact(atom/hit_atom)
/obj/item/beach_ball/dodgeball/throw_impact(atom/hit_atom)
..()
if((ishuman(hit_atom)))
var/mob/living/carbon/human/H = hit_atom
+17 -17
View File
@@ -78,12 +78,12 @@ var/global/sent_strike_team = 0
//Spawns the rest of the commando gear.
for(var/obj/effect/landmark/L in landmarks_list)
if(L.name == "Commando_Manual")
//new /obj/item/weapon/gun/energy/pulse_rifle(L.loc)
var/obj/item/weapon/paper/P = new(L.loc)
//new /obj/item/gun/energy/pulse_rifle(L.loc)
var/obj/item/paper/P = new(L.loc)
P.info = "<p><b>Good morning soldier!</b>. This compact guide will familiarize you with standard operating procedure. There are three basic rules to follow:<br>#1 Work as a team.<br>#2 Accomplish your objective at all costs.<br>#3 Leave no witnesses.<br>You are fully equipped and stocked for your mission--before departing on the Spec. Ops. Shuttle due South, make sure that all operatives are ready. Actual mission objective will be relayed to you by Central Command through your headsets.<br>If deemed appropriate, Central Command will also allow members of your team to equip assault power-armor for the mission. You will find the armor storage due West of your position. Once you are ready to leave, utilize the Special Operations shuttle console and toggle the hull doors via the other console.</p><p>In the event that the team does not accomplish their assigned objective in a timely manner, or finds no other way to do so, attached below are instructions on how to operate a Nanotrasen Nuclear Device. Your operations <b>LEADER</b> is provided with a nuclear authentication disk and a pin-pointer for this reason. You may easily recognize them by their rank: Lieutenant, Captain, or Major. The nuclear device itself will be present somewhere on your destination.</p><p>Hello and thank you for choosing Nanotrasen for your nuclear information needs. Today's crash course will deal with the operation of a Fission Class Nanotrasen made Nuclear Device.<br>First and foremost, <b>DO NOT TOUCH ANYTHING UNTIL THE BOMB IS IN PLACE.</b> Pressing any button on the compacted bomb will cause it to extend and bolt itself into place. If this is done to unbolt it one must completely log in which at this time may not be possible.<br>To make the device functional:<br>#1 Place bomb in designated detonation zone<br> #2 Extend and anchor bomb (attack with hand).<br>#3 Insert Nuclear Auth. Disk into slot.<br>#4 Type numeric code into keypad ([nuke_code]).<br>Note: If you make a mistake press R to reset the device.<br>#5 Press the E button to log onto the device.<br>You now have activated the device. To deactivate the buttons at anytime, for example when you have already prepped the bomb for detonation, remove the authentication disk OR press the R on the keypad. Now the bomb CAN ONLY be detonated using the timer. A manual detonation is not an option.<br>Note: Toggle off the <b>SAFETY</b>.<br>Use the - - and + + to set a detonation time between 5 seconds and 10 minutes. Then press the timer toggle button to start the countdown. Now remove the authentication disk so that the buttons deactivate.<br>Note: <b>THE BOMB IS STILL SET AND WILL DETONATE</b><br>Now before you remove the disk if you need to move the bomb you can: Toggle off the anchor, move it, and re-anchor.</p><p>The nuclear authorization code is: <b>[nuke_code ? nuke_code : "None provided"]</b></p><p><b>Good luck, soldier!</b></p>"
P.name = "Spec. Ops Manual"
P.icon = "pamphlet-ds"
var/obj/item/weapon/stamp/centcom/stamp = new
var/obj/item/stamp/centcom/stamp = new
P.stamp(stamp)
qdel(stamp)
@@ -136,31 +136,31 @@ var/global/sent_strike_team = 0
equip_to_slot_or_del(new /obj/item/clothing/mask/gas/sechailer/swat(src), slot_wear_mask)
equip_to_slot_or_del(new /obj/item/clothing/glasses/thermal(src), slot_glasses)
equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/security(src), slot_back)
equip_to_slot_or_del(new /obj/item/weapon/storage/box(src), slot_in_backpack)
equip_to_slot_or_del(new /obj/item/storage/backpack/security(src), slot_back)
equip_to_slot_or_del(new /obj/item/storage/box(src), slot_in_backpack)
equip_to_slot_or_del(new /obj/item/ammo_box/a357(src), slot_in_backpack)
equip_to_slot_or_del(new /obj/item/weapon/reagent_containers/hypospray/combat/nanites(src), slot_in_backpack)
equip_to_slot_or_del(new /obj/item/weapon/storage/box/flashbangs(src), slot_in_backpack)
equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/combat/nanites(src), slot_in_backpack)
equip_to_slot_or_del(new /obj/item/storage/box/flashbangs(src), slot_in_backpack)
equip_to_slot_or_del(new /obj/item/device/flashlight(src), slot_in_backpack)
if(!leader_selected)
equip_to_slot_or_del(new /obj/item/weapon/grenade/plastic/x4(src), slot_in_backpack)
equip_to_slot_or_del(new /obj/item/grenade/plastic/x4(src), slot_in_backpack)
else
equip_to_slot_or_del(new /obj/item/weapon/pinpointer(src), slot_in_backpack)
equip_to_slot_or_del(new /obj/item/weapon/disk/nuclear(src), slot_in_backpack)
equip_to_slot_or_del(new /obj/item/pinpointer(src), slot_in_backpack)
equip_to_slot_or_del(new /obj/item/disk/nuclear(src), slot_in_backpack)
equip_to_slot_or_del(new /obj/item/weapon/melee/energy/sword/saber(src), slot_l_store)
equip_to_slot_or_del(new /obj/item/weapon/shield/energy(src), slot_r_store)
equip_to_slot_or_del(new /obj/item/weapon/tank/emergency_oxygen/double/full(src), slot_s_store)
equip_to_slot_or_del(new /obj/item/weapon/gun/projectile/revolver/mateba(src), slot_belt)
equip_to_slot_or_del(new /obj/item/melee/energy/sword/saber(src), slot_l_store)
equip_to_slot_or_del(new /obj/item/shield/energy(src), slot_r_store)
equip_to_slot_or_del(new /obj/item/tank/emergency_oxygen/double/full(src), slot_s_store)
equip_to_slot_or_del(new /obj/item/gun/projectile/revolver/mateba(src), slot_belt)
equip_to_slot_or_del(new /obj/item/weapon/gun/energy/pulse(src), slot_r_hand)
equip_to_slot_or_del(new /obj/item/gun/energy/pulse(src), slot_r_hand)
var/obj/item/weapon/implant/mindshield/L = new/obj/item/weapon/implant/mindshield(src)
var/obj/item/implant/mindshield/L = new/obj/item/implant/mindshield(src)
L.implant(src)
var/obj/item/weapon/card/id/W = new(src)
var/obj/item/card/id/W = new(src)
W.name = "[real_name]'s ID Card"
W.icon_state = "deathsquad"
W.assignment = "Death Commando"
@@ -135,28 +135,28 @@ var/global/sent_syndicate_strike_team = 0
equip_to_slot_or_del(new /obj/item/clothing/mask/gas/syndicate(src), slot_wear_mask)
equip_to_slot_or_del(new /obj/item/clothing/glasses/thermal(src), slot_glasses)
equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/security(src), slot_back)
equip_to_slot_or_del(new /obj/item/storage/backpack/security(src), slot_back)
equip_to_slot_or_del(new /obj/item/ammo_box/magazine/mm556x45)
equip_to_slot_or_del(new /obj/item/ammo_box/magazine/m45(src), slot_in_backpack)
equip_to_slot_or_del(new /obj/item/weapon/reagent_containers/hypospray/combat/nanites(src), slot_in_backpack)
equip_to_slot_or_del(new /obj/item/weapon/grenade/plastic/x4(src), slot_in_backpack)
equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/combat/nanites(src), slot_in_backpack)
equip_to_slot_or_del(new /obj/item/grenade/plastic/x4(src), slot_in_backpack)
equip_to_slot_or_del(new /obj/item/device/flashlight(src), slot_in_backpack)
if(!syndicate_leader_selected)
equip_to_slot_or_del(new /obj/item/weapon/grenade/plastic/x4(src), slot_in_backpack)
equip_to_slot_or_del(new /obj/item/weapon/card/emag(src), slot_in_backpack)
equip_to_slot_or_del(new /obj/item/grenade/plastic/x4(src), slot_in_backpack)
equip_to_slot_or_del(new /obj/item/card/emag(src), slot_in_backpack)
else
equip_to_slot_or_del(new /obj/item/weapon/pinpointer(src), slot_in_backpack)
equip_to_slot_or_del(new /obj/item/weapon/disk/nuclear(src), slot_in_backpack)
equip_to_slot_or_del(new /obj/item/pinpointer(src), slot_in_backpack)
equip_to_slot_or_del(new /obj/item/disk/nuclear(src), slot_in_backpack)
equip_to_slot_or_del(new /obj/item/weapon/melee/energy/sword/saber(src), slot_l_store)
equip_to_slot_or_del(new /obj/item/weapon/grenade/empgrenade(src), slot_r_store)
equip_to_slot_or_del(new /obj/item/weapon/tank/emergency_oxygen/double/full(src), slot_s_store)
equip_to_slot_or_del(new /obj/item/weapon/gun/projectile/automatic/pistol/m1911(src), slot_belt)
equip_to_slot_or_del(new /obj/item/melee/energy/sword/saber(src), slot_l_store)
equip_to_slot_or_del(new /obj/item/grenade/empgrenade(src), slot_r_store)
equip_to_slot_or_del(new /obj/item/tank/emergency_oxygen/double/full(src), slot_s_store)
equip_to_slot_or_del(new /obj/item/gun/projectile/automatic/pistol/m1911(src), slot_belt)
equip_to_slot_or_del(new /obj/item/weapon/gun/projectile/automatic/l6_saw(src), slot_r_hand)
equip_to_slot_or_del(new /obj/item/gun/projectile/automatic/l6_saw(src), slot_r_hand)
var/obj/item/weapon/card/id/syndicate/W = new(src) //Untrackable by AI
var/obj/item/card/id/syndicate/W = new(src) //Untrackable by AI
W.name = "[real_name]'s ID Card"
W.icon_state = "syndie"
W.access = get_all_accesses()//They get full station access because obviously the syndicate has HAAAX, and can make special IDs for their most elite members.
+12 -12
View File
@@ -14,45 +14,45 @@ var/global/vox_tick = 1
if(1) // Vox raider!
equip_to_slot_or_del(new /obj/item/clothing/suit/space/vox/carapace(src), slot_wear_suit)
equip_to_slot_or_del(new /obj/item/clothing/head/helmet/space/vox/carapace(src), slot_head)
equip_to_slot_or_del(new /obj/item/weapon/melee/classic_baton/telescopic(src), slot_belt)
equip_to_slot_or_del(new /obj/item/melee/classic_baton/telescopic(src), slot_belt)
equip_to_slot_or_del(new /obj/item/clothing/glasses/thermal/monocle(src), slot_glasses) // REPLACE WITH CODED VOX ALTERNATIVE.
equip_to_slot_or_del(new /obj/item/device/chameleon(src), slot_l_store)
var/obj/item/weapon/gun/projectile/automatic/spikethrower/W = new(src)
var/obj/item/gun/projectile/automatic/spikethrower/W = new(src)
equip_to_slot_or_del(W, slot_r_hand)
if(2) // Vox engineer!
equip_to_slot_or_del(new /obj/item/clothing/suit/space/vox/pressure(src), slot_wear_suit)
equip_to_slot_or_del(new /obj/item/clothing/head/helmet/space/vox/pressure(src), slot_head)
equip_to_slot_or_del(new /obj/item/weapon/storage/belt/utility/full(src), slot_belt)
equip_to_slot_or_del(new /obj/item/storage/belt/utility/full(src), slot_belt)
equip_to_slot_or_del(new /obj/item/clothing/glasses/meson(src), slot_glasses) // REPLACE WITH CODED VOX ALTERNATIVE.
equip_to_slot_or_del(new /obj/item/weapon/storage/box/emps(src), slot_r_hand)
equip_to_slot_or_del(new /obj/item/storage/box/emps(src), slot_r_hand)
equip_to_slot_or_del(new /obj/item/device/multitool(src), slot_l_hand)
if(3) // Vox saboteur!
equip_to_slot_or_del(new /obj/item/clothing/suit/space/vox/stealth(src), slot_wear_suit)
equip_to_slot_or_del(new /obj/item/clothing/head/helmet/space/vox/stealth(src), slot_head)
equip_to_slot_or_del(new /obj/item/weapon/storage/belt/utility/full(src), slot_belt)
equip_to_slot_or_del(new /obj/item/storage/belt/utility/full(src), slot_belt)
equip_to_slot_or_del(new /obj/item/clothing/glasses/thermal/monocle(src), slot_glasses) // REPLACE WITH CODED VOX ALTERNATIVE.
equip_to_slot_or_del(new /obj/item/weapon/card/emag(src), slot_l_store)
equip_to_slot_or_del(new /obj/item/weapon/gun/dartgun/vox/raider(src), slot_r_hand)
equip_to_slot_or_del(new /obj/item/card/emag(src), slot_l_store)
equip_to_slot_or_del(new /obj/item/gun/dartgun/vox/raider(src), slot_r_hand)
equip_to_slot_or_del(new /obj/item/device/multitool(src), slot_l_hand)
if(4) // Vox medic!
equip_to_slot_or_del(new /obj/item/clothing/suit/space/vox/medic(src), slot_wear_suit)
equip_to_slot_or_del(new /obj/item/clothing/head/helmet/space/vox/medic(src), slot_head)
equip_to_slot_or_del(new /obj/item/weapon/storage/belt/utility/full(src), slot_belt) // Who needs actual surgical tools?
equip_to_slot_or_del(new /obj/item/storage/belt/utility/full(src), slot_belt) // Who needs actual surgical tools?
equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health(src), slot_glasses) // REPLACE WITH CODED VOX ALTERNATIVE.
equip_to_slot_or_del(new /obj/item/weapon/circular_saw(src), slot_l_store)
equip_to_slot_or_del(new /obj/item/weapon/gun/dartgun/vox/medical, slot_r_hand)
equip_to_slot_or_del(new /obj/item/circular_saw(src), slot_l_store)
equip_to_slot_or_del(new /obj/item/gun/dartgun/vox/medical, slot_r_hand)
equip_to_slot_or_del(new /obj/item/clothing/mask/breath/vox(src), slot_wear_mask)
equip_to_slot_or_del(new /obj/item/weapon/tank/nitrogen(src), slot_back)
equip_to_slot_or_del(new /obj/item/tank/nitrogen(src), slot_back)
equip_to_slot_or_del(new /obj/item/device/flashlight(src), slot_r_store)
var/obj/item/weapon/card/id/syndicate/vox/W = new(src)
var/obj/item/card/id/syndicate/vox/W = new(src)
W.name = "[real_name]'s Legitimate Human ID Card"
W.assignment = "Trader"
W.registered_name = real_name
+5 -5
View File
@@ -60,15 +60,15 @@
return
/obj/machinery/arcade/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
if(istype(O, /obj/item/weapon/screwdriver) && anchored)
if(istype(O, /obj/item/screwdriver) && anchored)
playsound(src.loc, O.usesound, 50, 1)
panel_open = !panel_open
to_chat(user, "You [panel_open ? "open" : "close"] the maintenance panel.")
update_icon()
return
if(!freeplay)
if(istype(O, /obj/item/weapon/card/id))
var/obj/item/weapon/card/id/C = O
if(istype(O, /obj/item/card/id))
var/obj/item/card/id/C = O
if(pay_with_card(C))
tokens += 1
return
@@ -77,7 +77,7 @@
if(pay_with_cash(C, user))
tokens += 1
return
if(panel_open && component_parts && istype(O, /obj/item/weapon/crowbar))
if(panel_open && component_parts && istype(O, /obj/item/crowbar))
default_deconstruction_crowbar(O)
/obj/machinery/arcade/update_icon()
@@ -91,7 +91,7 @@
cashmoney.use(token_price)
return 1
/obj/machinery/arcade/proc/pay_with_card(var/obj/item/weapon/card/id/I, var/mob/user)
/obj/machinery/arcade/proc/pay_with_card(var/obj/item/card/id/I, var/mob/user)
visible_message("<span class='info'>[usr] swipes a card through [src].</span>")
var/datum/money_account/customer_account = attempt_account_access_nosec(I.associated_account_number)
if(!customer_account)
+4 -4
View File
@@ -24,9 +24,9 @@
update_icon()
component_parts = list()
component_parts += new /obj/item/weapon/circuitboard/clawgame(null)
component_parts += new /obj/item/weapon/stock_parts/matter_bin(null)
component_parts += new /obj/item/weapon/stock_parts/manipulator(null)
component_parts += new /obj/item/circuitboard/clawgame(null)
component_parts += new /obj/item/stock_parts/matter_bin(null)
component_parts += new /obj/item/stock_parts/manipulator(null)
component_parts += new /obj/item/stack/cable_coil(null, 5)
component_parts += new /obj/item/stack/sheet/glass(null, 1)
RefreshParts()
@@ -36,7 +36,7 @@
/obj/machinery/arcade/claw/RefreshParts()
var/bin_upgrades = 0
for(var/obj/item/weapon/stock_parts/matter_bin/B in component_parts)
for(var/obj/item/stock_parts/matter_bin/B in component_parts)
bin_upgrades = B.rating
bonus_prize_chance = bin_upgrades * 5 //equals +5% chance per matter bin rating level (+20% with rating 4)
@@ -7,7 +7,7 @@
icon_keyboard = null
density = 0
anchored = 1
var/obj/item/weapon/nanomob_card/card
var/obj/item/nanomob_card/card
var/datum/mob_hunt/mob_info
var/obj/effect/nanomob/battle/avatar
var/ready = 0
@@ -55,10 +55,10 @@
return ..()
/obj/machinery/computer/mob_battle_terminal/attackby(obj/item/O, mob/user)
if(istype(O, /obj/item/weapon/nanomob_card))
if(istype(O, /obj/item/nanomob_card))
insert_card(O, user)
/obj/machinery/computer/mob_battle_terminal/proc/insert_card(obj/item/weapon/nanomob_card/new_card, mob/user)
/obj/machinery/computer/mob_battle_terminal/proc/insert_card(obj/item/nanomob_card/new_card, mob/user)
if(!new_card)
return
if(card)
@@ -261,10 +261,10 @@
dir = EAST
/obj/machinery/computer/mob_healer_terminal/attackby(obj/item/O, mob/user)
if(istype(O, /obj/item/weapon/nanomob_card))
if(istype(O, /obj/item/nanomob_card))
heal_card(O, user)
/obj/machinery/computer/mob_healer_terminal/proc/heal_card(obj/item/weapon/nanomob_card/patient, mob/user)
/obj/machinery/computer/mob_healer_terminal/proc/heal_card(obj/item/nanomob_card/patient, mob/user)
if(!patient)
return
if(!patient.mob_data)
+8 -8
View File
@@ -1,6 +1,6 @@
//Standard Cards
/obj/item/weapon/nanomob_card
/obj/item/nanomob_card
name = "Nano-Mob Hunter Trading Card"
desc = "A blank Nano-Mob Hunter Trading Card. Worthless!"
icon = 'icons/obj/card.dmi'
@@ -10,7 +10,7 @@
w_class = WEIGHT_CLASS_TINY
var/datum/mob_hunt/mob_data
/obj/item/weapon/nanomob_card/proc/update_info()
/obj/item/nanomob_card/proc/update_info()
if(!mob_data)
return
if(mob_data.is_shiny)
@@ -22,22 +22,22 @@
desc = "A trading card containing a level [mob_data.level] [mob_data.mob_name]!"
//Booster Pack Cards (random mob data)
/obj/item/weapon/nanomob_card/booster
/obj/item/nanomob_card/booster
name = "Nano-Mob Hunter Booster Pack Card"
desc = "A random Nano-Mob Trading Card from a Booster Pack. Wonder what it is?"
/obj/item/weapon/nanomob_card/booster/New()
/obj/item/nanomob_card/booster/New()
var/datum/mob_hunt/mob_info = pick(subtypesof(/datum/mob_hunt))
mob_data = new mob_info(0,null,1)
update_info()
//Booster Packs (Box of booster pack cards)
/obj/item/weapon/storage/box/nanomob_booster_pack
/obj/item/storage/box/nanomob_booster_pack
name = "Nano-Mob Hunter Trading Card Booster Pack"
desc = "Contains 6 random Nano-Mob Hunter Trading Cards. May contain a holographic card!"
can_hold = list(/obj/item/weapon/nanomob_card)
can_hold = list(/obj/item/nanomob_card)
/obj/item/weapon/storage/box/nanomob_booster_pack/New()
/obj/item/storage/box/nanomob_booster_pack/New()
..()
for(var/i in 1 to 6)
new /obj/item/weapon/nanomob_card/booster(src)
new /obj/item/nanomob_card/booster(src)
+7 -7
View File
@@ -13,11 +13,11 @@
/obj/machinery/prize_counter/New()
..()
component_parts = list()
component_parts += new /obj/item/weapon/circuitboard/prize_counter(null)
component_parts += new /obj/item/weapon/stock_parts/matter_bin(null)
component_parts += new /obj/item/weapon/stock_parts/manipulator(null)
component_parts += new /obj/item/circuitboard/prize_counter(null)
component_parts += new /obj/item/stock_parts/matter_bin(null)
component_parts += new /obj/item/stock_parts/manipulator(null)
component_parts += new /obj/item/stack/cable_coil(null, 1)
component_parts += new /obj/item/weapon/stock_parts/console_screen(null)
component_parts += new /obj/item/stock_parts/console_screen(null)
RefreshParts()
/obj/machinery/prize_counter/update_icon()
@@ -40,16 +40,16 @@
else
to_chat(user, "<span class='warning'>\The [T] seems stuck to your hand!</span>")
return
if(istype(O, /obj/item/weapon/screwdriver) && anchored)
if(istype(O, /obj/item/screwdriver) && anchored)
playsound(src.loc, O.usesound, 50, 1)
panel_open = !panel_open
to_chat(user, "You [panel_open ? "open" : "close"] the maintenance panel.")
update_icon()
return
if(panel_open)
if(istype(O, /obj/item/weapon/wrench))
if(istype(O, /obj/item/wrench))
default_unfasten_wrench(user, O)
if(component_parts && istype(O, /obj/item/weapon/crowbar))
if(component_parts && istype(O, /obj/item/crowbar))
if(tickets) //save the tickets!
print_tickets()
default_deconstruction_crowbar(O)
+17 -17
View File
@@ -46,13 +46,13 @@ var/global/datum/prizes/global_prizes = new
/datum/prize_item/crayons
name = "Box of Crayons"
desc = "A six-pack of crayons, just like back in kindergarten."
typepath = /obj/item/weapon/storage/fancy/crayons
typepath = /obj/item/storage/fancy/crayons
cost = 35
/datum/prize_item/snappops
name = "Snap-Pops"
desc = "A box of exploding snap-pop fireworks."
typepath = /obj/item/weapon/storage/box/snappops
typepath = /obj/item/storage/box/snappops
cost = 20
/datum/prize_item/spinningtoy
@@ -70,7 +70,7 @@ var/global/datum/prizes/global_prizes = new
/datum/prize_item/dice
name = "Dice set"
desc = "A set of assorted dice."
typepath = /obj/item/weapon/storage/box/dice
typepath = /obj/item/storage/box/dice
cost = 20
/datum/prize_item/cards
@@ -82,7 +82,7 @@ var/global/datum/prizes/global_prizes = new
/datum/prize_item/wallet
name = "Colored Wallet"
desc = "Brightly colored and big enough for standard issue ID cards."
typepath = /obj/item/weapon/storage/wallet/color
typepath = /obj/item/storage/wallet/color
cost = 50
/datum/prize_item/pet_rock
@@ -106,28 +106,28 @@ var/global/datum/prizes/global_prizes = new
/datum/prize_item/id_sticker
name = "Prisoner ID Sticker"
desc = "A sticker that can make any ID look like a prisoner ID."
typepath = /obj/item/weapon/id_decal/prisoner
typepath = /obj/item/id_decal/prisoner
cost = 50
/datum/prize_item/id_sticker/silver
name = "Silver ID Sticker"
desc = "A sticker that can make any ID look like a silver ID."
typepath = /obj/item/weapon/id_decal/silver
typepath = /obj/item/id_decal/silver
/datum/prize_item/id_sticker/gold
name = "Gold ID Sticker"
desc = "A sticker that can make any ID look like a golden ID."
typepath = /obj/item/weapon/id_decal/gold
typepath = /obj/item/id_decal/gold
/datum/prize_item/id_sticker/centcom
name = "Centcomm ID Sticker"
desc = "A sticker that can make any ID look like a Central Command ID."
typepath = /obj/item/weapon/id_decal/centcom
typepath = /obj/item/id_decal/centcom
/datum/prize_item/id_sticker/emag
name = "Suspicious ID Sticker"
desc = "A sticker that can make any ID look like something suspicious..."
typepath = /obj/item/weapon/id_decal/emag
typepath = /obj/item/id_decal/emag
/datum/prize_item/carp_plushie
name = "Random Carp Plushie"
@@ -174,7 +174,7 @@ var/global/datum/prizes/global_prizes = new
/datum/prize_item/crossbow
name = "Foam Dart Crossbow"
desc = "A toy crossbow that fires foam darts."
typepath = /obj/item/weapon/gun/projectile/shotgun/toy/crossbow
typepath = /obj/item/gun/projectile/shotgun/toy/crossbow
cost = 100
@@ -187,25 +187,25 @@ var/global/datum/prizes/global_prizes = new
/datum/prize_item/fakespell
name = "Fake Spellbook"
desc = "Perform magic! Astound your friends! Get mistaken for an enemy of the corporation!"
typepath = /obj/item/weapon/spellbook/oneuse/fake_gib
typepath = /obj/item/spellbook/oneuse/fake_gib
cost = 100
/datum/prize_item/nanomob_booster
name = "Nano-Mob Hunter Trading Card Booster Pack"
desc = "Contains 6 random Nano-Mob Hunter Trading Cards. May contain a holographic card!"
typepath = /obj/item/weapon/storage/box/nanomob_booster_pack
typepath = /obj/item/storage/box/nanomob_booster_pack
cost = 100
/datum/prize_item/capgun
name = "Capgun Revolver"
desc = "Do you feel lucky... punk?"
typepath = /obj/item/weapon/gun/projectile/revolver/capgun
typepath = /obj/item/gun/projectile/revolver/capgun
cost = 75
/datum/prize_item/confetti
name = "Confetti Grenade"
desc = "Party time!"
typepath = /obj/item/weapon/grenade/confetti
typepath = /obj/item/grenade/confetti
cost = 65
/datum/prize_item/magic_conch
@@ -259,7 +259,7 @@ var/global/datum/prizes/global_prizes = new
/datum/prize_item/tommygun
name = "Tommygun"
desc = "A replica tommygun that fires foam darts."
typepath = /obj/item/weapon/gun/projectile/shotgun/toy/tommygun
typepath = /obj/item/gun/projectile/shotgun/toy/tommygun
cost = 175
/datum/prize_item/esword
@@ -283,13 +283,13 @@ var/global/datum/prizes/global_prizes = new
/datum/prize_item/chainsaw
name = "Toy Chainsaw"
desc = "A full-scale model chainsaw, based on that massacre in Space Texas."
typepath = /obj/item/weapon/twohanded/toy/chainsaw
typepath = /obj/item/twohanded/toy/chainsaw
cost = 200
/datum/prize_item/spacesuit
name = "Fake Spacesuit"
desc = "A replica spacesuit. Not actually spaceworthy."
typepath = /obj/item/weapon/storage/box/fakesyndiesuit
typepath = /obj/item/storage/box/fakesyndiesuit
cost = 180
/datum/prize_item/fakespace
+4 -4
View File
@@ -91,8 +91,8 @@
// if(radio && (wires & WIRE_RADIO_PULSE))
//Not sure what goes here quite yet send signal?
if(istype(loc,/obj/item/weapon/grenade)) // This is a hack. Todo: Manage this better -Sayu
var/obj/item/weapon/grenade/G = loc
if(istype(loc,/obj/item/grenade)) // This is a hack. Todo: Manage this better -Sayu
var/obj/item/grenade/G = loc
G.prime() // Adios, muchachos
@@ -121,13 +121,13 @@
return 0
attackby(obj/item/weapon/W as obj, mob/user as mob, params)
attackby(obj/item/W as obj, mob/user as mob, params)
if(isassembly(W))
var/obj/item/device/assembly/A = W
if((!A.secured) && (!secured))
attach_assembly(A,user)
return
if(istype(W, /obj/item/weapon/screwdriver))
if(istype(W, /obj/item/screwdriver))
if(toggle_secure())
to_chat(user, "<span class='notice'>\The [src] is ready!</span>")
else
+7 -7
View File
@@ -9,7 +9,7 @@
flags = CONDUCT //Copied this from old code, so this may or may not be necessary
var/status = 0 //0 - not readied //1 - bomb finished with welder
var/obj/item/device/assembly_holder/bombassembly = null //The first part of the bomb is an assembly holder, holding an igniter+some device
var/obj/item/weapon/tank/bombtank = null //the second part of the bomb is a plasma tank
var/obj/item/tank/bombtank = null //the second part of the bomb is a plasma tank
origin_tech = "materials=1;engineering=1"
/obj/item/device/onetankbomb/examine(mob/user)
@@ -24,11 +24,11 @@
overlays += bombassembly.overlays
overlays += "bomb_assembly"
/obj/item/device/onetankbomb/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
/obj/item/device/onetankbomb/attackby(obj/item/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/device/analyzer))
bombtank.attackby(W, user, params)
return
if(istype(W, /obj/item/weapon/wrench) && !status) //This is basically bomb assembly code inverted. apparently it works.
if(istype(W, /obj/item/wrench) && !status) //This is basically bomb assembly code inverted. apparently it works.
to_chat(user, "<span class='notice'>You disassemble [src].</span>")
@@ -42,7 +42,7 @@
qdel(src)
return
if((istype(W, /obj/item/weapon/weldingtool) && W:welding))
if((istype(W, /obj/item/weldingtool) && W:welding))
if(!status)
status = 1
bombers += "[key_name(user)] welded a single tank bomb. Temperature: [bombtank.air_contents.temperature-T0C]"
@@ -92,7 +92,7 @@
// ---------- Procs below are for tanks that are used exclusively in 1-tank bombs ----------
/obj/item/weapon/tank/proc/bomb_assemble(W,user) //Bomb assembly proc. This turns assembly+tank into a bomb
/obj/item/tank/proc/bomb_assemble(W,user) //Bomb assembly proc. This turns assembly+tank into a bomb
var/obj/item/device/assembly_holder/S = W
var/mob/M = user
if(!S.secured) //Check if the assembly is secured
@@ -116,7 +116,7 @@
R.update_icon()
return
/obj/item/weapon/tank/proc/detonate() //This happens when a bomb is told to explode
/obj/item/tank/proc/detonate() //This happens when a bomb is told to explode
var/fuel_moles = air_contents.toxins + air_contents.oxygen/6
var/strength = 1
@@ -165,7 +165,7 @@
qdel(master)
qdel(src)
/obj/item/weapon/tank/proc/release() //This happens when the bomb is not welded. Tank contents are just spat out.
/obj/item/tank/proc/release() //This happens when the bomb is not welded. Tank contents are just spat out.
var/datum/gas_mixture/removed = air_contents.remove(air_contents.total_moles())
var/turf/simulated/T = get_turf(src)
if(!T)
+1 -1
View File
@@ -27,7 +27,7 @@
update_icon()
return secured
/obj/item/device/assembly/health/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/item/device/assembly/health/attackby(obj/item/W as obj, mob/user as mob)
if(istype(W, /obj/item/device/multitool))
if(alarm_health == 0)
alarm_health = -90
+2 -2
View File
@@ -137,8 +137,8 @@
return
attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/weapon/screwdriver))
attackby(obj/item/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/screwdriver))
if(!a_left || !a_right)
to_chat(user, "<span class='warning'>BUG:Assembly part missing, please report this!</span>")
return
+2 -2
View File
@@ -29,8 +29,8 @@
var/obj/structure/reagent_dispensers/fueltank/tank = src.loc.loc
if(tank)
tank.boom()
if(istype(src.loc.loc, /obj/item/weapon/reagent_containers/glass/beaker/))
var/obj/item/weapon/reagent_containers/glass/beaker/beakerbomb = src.loc.loc
if(istype(src.loc.loc, /obj/item/reagent_containers/glass/beaker/))
var/obj/item/reagent_containers/glass/beaker/beakerbomb = src.loc.loc
if(beakerbomb)
beakerbomb.heat_beaker()
+3 -3
View File
@@ -14,8 +14,8 @@
QDEL_NULL(part2)
return ..()
/obj/item/assembly/shock_kit/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/weapon/wrench) && !status)
/obj/item/assembly/shock_kit/attackby(obj/item/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/wrench) && !status)
var/turf/T = loc
if(ismob(T))
T = T.loc
@@ -27,7 +27,7 @@
part2 = null
qdel(src)
return
if(istype(W, /obj/item/weapon/screwdriver))
if(istype(W, /obj/item/screwdriver))
status = !status
to_chat(user, "<span class='notice'>[src] is now [status ? "secured" : "unsecured"]!</span>")
add_fingerprint(user)
+1 -1
View File
@@ -2,7 +2,7 @@
icon = 'icons/obj/computer.dmi'
icon_screen = "area_atmos"
icon_keyboard = "atmos_key"
circuit = /obj/item/weapon/circuitboard/atmos_automation
circuit = /obj/item/circuitboard/atmos_automation
req_one_access_txt = "24;10"
Mtoollink = 1
+18 -18
View File
@@ -69,7 +69,7 @@
if(corpseback)
M.equip_to_slot_or_del(new corpseback(M), slot_back)
if(corpseid == 1)
var/obj/item/weapon/card/id/W = new(M)
var/obj/item/card/id/W = new(M)
W.name = "[M.real_name]'s ID Card"
var/datum/job/jobdatum
for(var/jobtype in typesof(/datum/job))
@@ -106,7 +106,7 @@
corpseradio = /obj/item/device/radio/headset
corpsemask = /obj/item/clothing/mask/gas
corpsehelmet = /obj/item/clothing/head/helmet/swat
corpseback = /obj/item/weapon/storage/backpack
corpseback = /obj/item/storage/backpack
corpseid = 1
corpseidjob = "Operative"
corpseidaccess = "Syndicate"
@@ -122,8 +122,8 @@
corpseradio = /obj/item/device/radio/headset
corpsemask = /obj/item/clothing/mask/gas/syndicate
corpsehelmet = /obj/item/clothing/head/helmet/space/hardsuit/syndi
corpseback = /obj/item/weapon/tank/jetpack/oxygen
corpsepocket1 = /obj/item/weapon/tank/emergency_oxygen
corpseback = /obj/item/tank/jetpack/oxygen
corpsepocket1 = /obj/item/tank/emergency_oxygen
corpseid = 1
corpseidjob = "Operative"
corpseidaccess = "Syndicate"
@@ -138,7 +138,7 @@
corpsesuit = /obj/item/clothing/suit/chef/classic
corpseshoes = /obj/item/clothing/shoes/black
corpsehelmet = /obj/item/clothing/head/chefhat
corpseback = /obj/item/weapon/storage/backpack
corpseback = /obj/item/storage/backpack
corpseradio = /obj/item/device/radio/headset
corpseid = 1
corpseidjob = "Chef"
@@ -150,7 +150,7 @@
corpseradio = /obj/item/device/radio/headset/headset_med
corpseuniform = /obj/item/clothing/under/rank/medical
corpsesuit = /obj/item/clothing/suit/storage/labcoat
corpseback = /obj/item/weapon/storage/backpack/medic
corpseback = /obj/item/storage/backpack/medic
corpsepocket1 = /obj/item/device/flashlight/pen
corpseshoes = /obj/item/clothing/shoes/black
corpseid = 1
@@ -161,9 +161,9 @@
name = "Engineer"
corpseradio = /obj/item/device/radio/headset/headset_eng
corpseuniform = /obj/item/clothing/under/rank/engineer
corpseback = /obj/item/weapon/storage/backpack/industrial
corpseback = /obj/item/storage/backpack/industrial
corpseshoes = /obj/item/clothing/shoes/workboots
corpsebelt = /obj/item/weapon/storage/belt/utility/full
corpsebelt = /obj/item/storage/belt/utility/full
corpsegloves = /obj/item/clothing/gloves/color/yellow
corpsehelmet = /obj/item/clothing/head/hardhat
corpseid = 1
@@ -185,8 +185,8 @@
corpseshoes = /obj/item/clothing/shoes/clown_shoes
corpseradio = /obj/item/device/radio/headset
corpsemask = /obj/item/clothing/mask/gas/clown_hat
corpsepocket1 = /obj/item/weapon/bikehorn
corpseback = /obj/item/weapon/storage/backpack/clown
corpsepocket1 = /obj/item/bikehorn
corpseback = /obj/item/storage/backpack/clown
corpsehelmet = /obj/item/clothing/head/naziofficer
corpseid = 1
corpseidjob = "Clown Officer"
@@ -199,8 +199,8 @@
corpseshoes = /obj/item/clothing/shoes/clown_shoes
corpseradio = /obj/item/device/radio/headset
corpsemask = /obj/item/clothing/mask/gas/clown_hat
corpsepocket1 = /obj/item/weapon/bikehorn
corpseback = /obj/item/weapon/storage/backpack/clown
corpsepocket1 = /obj/item/bikehorn
corpseback = /obj/item/storage/backpack/clown
corpsehelmet = /obj/item/clothing/head/stalhelm
corpseid = 1
corpseidjob = "Clown Soldier"
@@ -214,8 +214,8 @@
corpseradio = /obj/item/device/radio/headset
corpsemask = /obj/item/clothing/mask/gas/clown_hat
corpsehelmet = /obj/item/clothing/head/crown
corpsepocket1 = /obj/item/weapon/bikehorn
corpseback = /obj/item/weapon/bedsheet/clown
corpsepocket1 = /obj/item/bikehorn
corpseback = /obj/item/bedsheet/clown
corpseid = 1
corpseidjob = "Clown King"
corpseidaccess = "Clown"
@@ -228,7 +228,7 @@
corpseshoes = /obj/item/clothing/shoes/black
corpseradio = /obj/item/device/radio/headset
corpsemask = /obj/item/clothing/mask/gas/mime
corpseback = /obj/item/weapon/storage/backpack
corpseback = /obj/item/storage/backpack
corpseid = 1
corpseidjob = "Mime"
corpseidaccess = "Mime"
@@ -239,7 +239,7 @@
corpseradio = /obj/item/device/radio/headset/headset_sci
corpseuniform = /obj/item/clothing/under/rank/scientist
corpsesuit = /obj/item/clothing/suit/storage/labcoat/science
corpseback = /obj/item/weapon/storage/backpack
corpseback = /obj/item/storage/backpack
corpseshoes = /obj/item/clothing/shoes/white
corpseid = 1
corpseidjob = "Scientist"
@@ -249,7 +249,7 @@
corpseradio = /obj/item/device/radio/headset/headset_cargo
corpseuniform = /obj/item/clothing/under/rank/miner
corpsegloves = /obj/item/clothing/gloves/fingerless
corpseback = /obj/item/weapon/storage/backpack/industrial
corpseback = /obj/item/storage/backpack/industrial
corpseshoes = /obj/item/clothing/shoes/black
corpseid = 1
corpseidjob = "Shaft Miner"
@@ -284,7 +284,7 @@
corpsehelmet = /obj/item/clothing/head/centhat
corpsegloves = /obj/item/clothing/gloves/combat
corpseshoes = /obj/item/clothing/shoes/combat
corpsepocket1 = /obj/item/weapon/lighter/zippo
corpsepocket1 = /obj/item/lighter/zippo
corpseid = 1
corpseidjob = "Commander"
corpseidaccess = "Captain"
+14 -14
View File
@@ -1,32 +1,32 @@
//Exile implants will allow you to use the station gate, but not return home.
//This will allow security to exile badguys/for badguys to exile their kill targets
/obj/item/weapon/implant/exile
/obj/item/implant/exile
name = "exile implant"
desc = "Prevents you from returning from away missions"
origin_tech = "materials=2;biotech=3;magnets=2;bluespace=3"
activated = 0
/obj/item/weapon/implant/exile/get_data()
/obj/item/implant/exile/get_data()
var/dat = {"<b>Implant Specifications:</b><BR>
<b>Name:</b> Nanotrasen Employee Exile Implant<BR>
<b>Implant Details:</b> The onboard gateway system has been modified to reject entry by individuals containing this implant<BR>"}
return dat
/obj/item/weapon/implanter/exile
/obj/item/implanter/exile
name = "implanter (exile)"
/obj/item/weapon/implanter/exile/New()
imp = new /obj/item/weapon/implant/exile( src )
/obj/item/implanter/exile/New()
imp = new /obj/item/implant/exile( src )
..()
/obj/item/weapon/implantcase/exile
/obj/item/implantcase/exile
name = "implant case - 'Exile'"
desc = "A glass case containing an exile implant."
/obj/item/weapon/implantcase/exile/New()
imp = new /obj/item/weapon/implant/exile(src)
/obj/item/implantcase/exile/New()
imp = new /obj/item/implant/exile(src)
..()
@@ -36,9 +36,9 @@
/obj/structure/closet/secure_closet/exile/New()
..()
new /obj/item/weapon/implanter/exile(src)
new /obj/item/weapon/implantcase/exile(src)
new /obj/item/weapon/implantcase/exile(src)
new /obj/item/weapon/implantcase/exile(src)
new /obj/item/weapon/implantcase/exile(src)
new /obj/item/weapon/implantcase/exile(src)
new /obj/item/implanter/exile(src)
new /obj/item/implantcase/exile(src)
new /obj/item/implantcase/exile(src)
new /obj/item/implantcase/exile(src)
new /obj/item/implantcase/exile(src)
new /obj/item/implantcase/exile(src)
+1 -1
View File
@@ -252,7 +252,7 @@ var/obj/machinery/gateway/centerstation/the_gateway = null
M.dir = SOUTH
/obj/machinery/gateway/centeraway/proc/exilecheck(var/mob/living/carbon/M)
for(var/obj/item/weapon/implant/exile/E in M)//Checking that there is an exile implant in the contents
for(var/obj/item/implant/exile/E in M)//Checking that there is an exile implant in the contents
if(E.imp_in == M)//Checking that it's actually implanted vs just in their pocket
to_chat(M, "<span class='notice'>The station gate has detected your exile implant and is blocking your entry.</span>")
return 1
@@ -78,7 +78,7 @@
requires_power = 0
tele_proof = 1
/obj/item/weapon/paper/terrorspiders1
/obj/item/paper/terrorspiders1
name = "paper - 'Sealed Facility'"
info = {"<b>SEALED FACILITY</b><br>
<br>
@@ -87,7 +87,7 @@
Any surviving personnel are to evacuate immediately via the gateway.<br>
"}
/obj/item/weapon/paper/terrorspiders2
/obj/item/paper/terrorspiders2
name = "paper - 'The Trio of Terror'"
info = {"<b>Status Report on the 'Terrors'</b><br>
<br>
@@ -109,7 +109,7 @@
"}
/obj/item/weapon/paper/terrorspiders3
/obj/item/paper/terrorspiders3
name = "paper - 'Final Report'"
info = {"FROM: Field Agent 0738<br>
TO: Syndicate #873589<br>
@@ -125,7 +125,7 @@
I don't imagine the staff have very long to live once the Queen declares war on this place.<br>
"}
/obj/item/weapon/paper/terrorspiders4
/obj/item/paper/terrorspiders4
name = "paper - 'Prescription for Jones, David'"
info = {"PRESCRIPTION FOR: David Jones<br>
RANK: Miner<br>
@@ -135,7 +135,7 @@
TREATMENT PLAN: Take as needed. See Dr. Phloxi in one week if symptoms persist. <br>
"}
/obj/item/weapon/paper/terrorspiders5
/obj/item/paper/terrorspiders5
name = "paper - 'A Study in Terror'"
info = {"<b>Findings Overview</b><br>
<br>
@@ -150,7 +150,7 @@
<p>Queen<br>Unable to contain. Present south of Cargo before contact was lost. Presumed ruler of the local hive.</p>
"}
/obj/item/weapon/paper/terrorspiders6
/obj/item/paper/terrorspiders6
name = "paper - 'A Study in Venom'"
info = {"<b>Initial Report - Black Widow Venom</b><br>
<br>
@@ -159,7 +159,7 @@
One test monkey went from perfect health to death in under 60 seconds - from 3 bites.<br>
I am so very glad I'm not responsible for keeping these things contained."}
/obj/item/weapon/paper/terrorspiders7
/obj/item/paper/terrorspiders7
name = "paper - 'Security Orders'"
info = {"<b>Directives for Officer James</b><br>
<br>
@@ -169,7 +169,7 @@
Good luck, Officer.<br>
"}
/obj/item/weapon/paper/terrorspiders8
/obj/item/paper/terrorspiders8
name = "paper - 'Last Words'"
info = {"<b>The Last Words of Nurse Barnes</b><br>
<br>
@@ -179,12 +179,12 @@
(the writing trails off, as if the writer was interrupted)<br>
"}
/obj/item/weapon/paper/terrorspiders9
/obj/item/paper/terrorspiders9
name = "paper - 'Research Notes'"
info = "<b>The notes appear gibberish to you. Perhaps a destructive analyser in R&D could make sense of them.</b>"
origin_tech = "combat=4;materials=4;engineering=4;biotech=4"
/obj/item/weapon/gun/energy/laser/awaymission_aeg
/obj/item/gun/energy/laser/awaymission_aeg
name = "Wireless Energy Gun"
desc = "An energy gun that recharges wirelessly during away missions. Does not work on the main station."
force = 10
@@ -193,7 +193,7 @@
can_charge = 0
var/inawaymission = 1
/obj/item/weapon/gun/energy/laser/awaymission_aeg/process()
/obj/item/gun/energy/laser/awaymission_aeg/process()
var/turf/my_loc = get_turf(src)
if(is_away_level(my_loc.z))
if(inawaymission)
@@ -211,10 +211,10 @@
/obj/item/weapon/reagent_containers/glass/beaker/terror_black_toxin
/obj/item/reagent_containers/glass/beaker/terror_black_toxin
name = "beaker 'Black Terror Venom'"
/obj/item/weapon/reagent_containers/glass/beaker/terror_black_toxin/New()
/obj/item/reagent_containers/glass/beaker/terror_black_toxin/New()
..()
reagents.add_reagent("terror_black_toxin", 50)
update_icon()
@@ -229,8 +229,8 @@
var/door_to_open = "UO71_Start"
/obj/machinery/computer/id_upgrader/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/card/id))
var/obj/item/weapon/card/id/D = I
if(istype(I, /obj/item/card/id))
var/obj/item/card/id/D = I
if(!access_to_give.len)
to_chat(user, "<span class='notice'>This machine appears to be configured incorrectly.</span>")
return
@@ -36,7 +36,7 @@
//centcomAway items
/obj/item/weapon/paper/pamphlet/ccaInfo
/obj/item/paper/pamphlet/ccaInfo
name = "Visitor Info Pamphlet"
info = "<b> XCC-P5831 Visitor Information </b><br>\
Greetings, visitor, to XCC-P5831! As you may know, this outpost was once \
@@ -48,7 +48,7 @@
and the thrilling pay-per-view broadcasts of <i>PLASTEEL CHEF</i> and <i>THUNDERDOME LIVE</i>.<br> \
We hope you enjoy your stay!"
/obj/item/weapon/paper/ccaMemo
/obj/item/paper/ccaMemo
name = "Memo to XCC-P5831 QM"
info = "<b>From: XCC-P5831 Management Office</b><br>\
<b>To: Rolf Ingram, XCC-P5831 Quartermaster</b><br>\
@@ -1,18 +1,18 @@
/obj/item/weapon/paper/journal_scrap_1
/obj/item/paper/journal_scrap_1
name = "survivor's journal page 1"
info = "Coal again.<br> \
Every year, coal in my stockings when this stupid holiday comes around.<br> \
Not this year though. This year will be different. I'm going to find that fat man, I swear.<br> \
He'll have to give me all the good presents, if he wants to live long enough to get any cookies."
/obj/item/weapon/paper/journal_scrap_2
/obj/item/paper/journal_scrap_2
name = "survivor's journal page 9"
info = "The North Pole... You'd think it was a part of his legend, but he actually lives there!<br> \
The elves and village are a lie though. Not sure where the toys come from yet, but I'll get them.<br> \
Not much out here, a couple little shacks and a big igloo in the center... Bet he's inside that.<br> \
On an unrelated note, great packing snow. Built a snowman today."
/obj/item/weapon/paper/journal_scrap_3
/obj/item/paper/journal_scrap_3
name = "survivor's journal page 25"
info = "Oh man... This is bad...<br> \
Not even my Syndicate training was a match for him. Barely made it out with my life.<br> \
@@ -17,40 +17,40 @@
icon = 'icons/testing/turf_analysis.dmi'
icon_state = "arrow"
/obj/item/weapon/paper/crumpled/hotel_scrap_1
/obj/item/paper/crumpled/hotel_scrap_1
name = "paper scrap"
info = "I can't believe this shitty hotel assigned me a purple-themed room. <i>Why does the shower dump grape drink everywhere??</i>"
/obj/item/weapon/paper/hotel_scrap_2
/obj/item/paper/hotel_scrap_2
name = "Journal Entry #2"
info = "<h3>Day 7:</h3>Today, I stepped into my bathroom, only to discover that it had become a mountainside wilderness. I tried to wash my hands with snow, but it didn't particularly pan out.<br>I contacting the front desk regarding the issue, but the receptionist just stared at me with dead eyes and spouted unrepeatable curses at me. However, I convinced them to reassign me to an upgraded suite."
/obj/item/weapon/paper/hotel_scrap_3
/obj/item/paper/hotel_scrap_3
name = "Journal Entry #3"
info = "<h3>Day 26:</h3>Well, that sucked royally. The queen-sized bed was nice, but the hottub in my room was, well, my wife described it as \"a portal to hell\". I don't know, I guess the lava and weird blood gave it that impression, but it was pretty nicely warm.<br>However, <i>\"we\"</i> decided to get assigned to a new room. Whatever."
/obj/item/weapon/paper/hotel_scrap_4
/obj/item/paper/hotel_scrap_4
name = "Diary Page"
info = "<b>Day 7 of Bad Vacation</b><br>Thanks Qzxor this shit vacation is ending today. The novelty of the trashy pool wore off 2 days in and I'm not allowed in the bar. The tiny box they called a room that, we had to cram into, just had a poster and a couple of beds. Only one bedsheet to spare. Shower had brown water and sink just dumped its water back out the ceiling, somehow.<br><br>PS: The receptionist isn't paying attention to us when we try to check out. Apparently, we're staying another day."
/obj/item/weapon/paper/hotel_scrap_5
/obj/item/paper/hotel_scrap_5
name = "Journal Entry #5"
info = "<h3>Day 185:</h3>I feel like the restaurant's chef is just making random dishes to mess with me. I request something from the menu, and he throws out something nobody asked for on the counter. The bartender isn't much better. At least both of them can make some nice food and drinks. I would complain to the management... but they never seem to care."
/obj/item/weapon/paper/crumpled/hotel_scrap_6
/obj/item/paper/crumpled/hotel_scrap_6
name = "Journal Entry #6"
info = "<h3>Day 386:</h3><span style='font-family: wingdings; color: red'>AMBGAT MEZLBNU</span>. Something wrong. Can't stop hugging plushies."
/obj/item/weapon/paper/crumpled/hotel_scrap_7
/obj/item/paper/crumpled/hotel_scrap_7
name = "Journal Entry #8"
info = "<span style='font-family: wingdings; color: red'>ASGATDHU NAMSPA KER OKS O OKDOFLI OSDSFKO OASKDAFO AOSDKF OINAIS ISJDDEF OSKFEREAODIK OSI ODIFOSA OEKRRO ASODFKAO PSSDOF SDFK OSDKF OSDKFSASPODFIOSASD UHGU DFYG FPO ASDFOS DFOASSD FAPSO FSPDFOIER OPWASDSA PS DODIOF OSDI</span> pizza <span style='font-family: wingdings; color: red'>OKSDFO AL OKEWORK CVBUASO SDFO AOE RAOWEIK SODDFI</span>"
/obj/item/weapon/paper/hotel_scrap_8
/obj/item/paper/hotel_scrap_8
name = "Mysterious Note"
icon_state = "paper_talisman"
info = "<div style='text-align: center; color: red; font: 24pt comic sans ms'>There is only one way to leave.</div>"
/obj/item/weapon/paper/pamphlet/hotel
/obj/item/paper/pamphlet/hotel
name = "space hotel pamphlet"
info = "<h3>Welcome to Deep Space Hotel 419!</h3>Thank you for choosing our hotel. Simply hand your credit or debit card to the concierge and get your room key! To check out, hand your credit card back.<small><h4>Conditions:</h4><ul><li>The hotel is not responsible for any losses due to time or space anomalies.<li>The hotel is not responsible for events that occur outside of the hotel station, including, but not limited to, events that occur inside of dimensional pockets.<li>The hotel is not responsible for overcharging your account.<li>The hotel is not responsible for missing persons.<li>The hotel is not responsible for mind-altering effects due to drugs, magic, demons, or space worms.</ul></small>"
@@ -96,7 +96,7 @@
var/doorClose = 'sound/machines/airlock_close.ogg'
var/doorDeni = 'sound/machines/DeniedBeep.ogg'
var/id // the room number, eg 101
var/obj/item/weapon/card/hotel_card/card// room's key card
var/obj/item/card/hotel_card/card// room's key card
var/mob/living/occupant = null // the current room occupant
var/datum/money_account/account // Account we're pulling from
var/roomtimer // timer PS handle for updating room
@@ -124,7 +124,7 @@
to_chat(user, "This room is currently [occupant ? "" : "un"]occupied.")
/obj/machinery/door/unpowered/hotel_door/allowed(mob/living/carbon/user)
for(var/obj/item/weapon/card/hotel_card/C in user.get_all_slots())
for(var/obj/item/card/hotel_card/C in user.get_all_slots())
if(C == card && occupant)
atom_say("Welcome, [occupant.real_name]!")
return 1
@@ -160,13 +160,13 @@
H.controller.deploy_sec(user)
..()
/obj/item/weapon/card/hotel_card
/obj/item/card/hotel_card
name = "Key Card"
icon_state = "guest"
color = "#0CF"
var/id
/obj/item/weapon/card/hotel_card/New(loc, ID)
/obj/item/card/hotel_card/New(loc, ID)
..()
if(ID)
id = ID
@@ -174,7 +174,7 @@
name = "Key Card - [id]"
desc = "A key card to room [id]. Use it to open the door."
/obj/item/weapon/card/hotel_card/Destroy()
/obj/item/card/hotel_card/Destroy()
var/mob/user = get(loc, /mob)
if(user)
to_chat(user, "\The [src] suddenly disappears in a flash!")
@@ -224,7 +224,7 @@
return ..()
// to check a person into a room; no financial stuff; returns the keycard
/obj/effect/hotel_controller/proc/checkin(roomid, mob/living/carbon/occupant, obj/item/weapon/card/id/id)
/obj/effect/hotel_controller/proc/checkin(roomid, mob/living/carbon/occupant, obj/item/card/id/id)
if(!istype(occupant))
return null
var/obj/machinery/door/unpowered/hotel_door/D = room_doors["[roomid]"]
@@ -242,7 +242,7 @@
vacant_rooms -= D
guests[occupant] = roomid
var/obj/item/weapon/card/hotel_card/C = new(ID = roomid)
var/obj/item/card/hotel_card/C = new(ID = roomid)
D.card = C
return C
@@ -18,7 +18,7 @@
..("Guard")
// anti-pinata cheese
var/obj/item/weapon/implant/dust/D = new /obj/item/weapon/implant/dust(src)
var/obj/item/implant/dust/D = new /obj/item/implant/dust(src)
D.implant(src)
for(var/obj/item/I in get_all_slots())
@@ -51,17 +51,17 @@
away_area = /area/awaymission/spacehotel/reception
var/list/known_guests[0]
var/obj/effect/hotel_controller/hotel
var/obj/item/weapon/card/id/last_seen_id = null
var/obj/item/card/id/last_seen_id = null
/mob/living/carbon/human/interactive/away/hotel/concierge/random()
..()
equip_or_collect(new /obj/item/weapon/clipboard(src), slot_l_hand)
equip_or_collect(new /obj/item/clipboard(src), slot_l_hand)
/mob/living/carbon/human/interactive/away/hotel/concierge/doSetup()
..("Concierge")
/mob/living/carbon/human/interactive/away/hotel/concierge/setup_job()
favoured_types = list(/obj/item/weapon/paper, /obj/item/weapon/clipboard)
favoured_types = list(/obj/item/paper, /obj/item/clipboard)
functions += list("stamping", "concierge")
restrictedJob = 1
@@ -89,9 +89,9 @@
say("Welcome to [hotel], [nouns_generic]! Please check in by [ing_verb(verbs_move)] and [ing_verb(verbs_use)] your [adjective_objects] ID onto the table.")
return
var/obj/item/weapon/card/id
var/obj/item/card/id
var/id_seen = 0
for(var/obj/item/weapon/card/id/I in get_area(src))
for(var/obj/item/card/id/I in get_area(src))
id_seen = 1
if(I != last_seen_id)
id = I
@@ -131,7 +131,7 @@
// Check in
say("$100 per 10 minutes. The cost will be automatically [past_verb(verbs_touch)] while you're checked in.")
var/obj/item/weapon/card/hotel_card/K = hotel.checkin(D.id, id_owner, id)
var/obj/item/card/hotel_card/K = hotel.checkin(D.id, id_owner, id)
if(K)
K.forceMove(idloc)
else
@@ -47,44 +47,44 @@
name = "Safecode hint spawner"
/obj/effect/landmark/sc_bible_spawner/New()
var/obj/item/weapon/storage/bible/B = new /obj/item/weapon/storage/bible/booze(src.loc)
var/obj/item/storage/bible/B = new /obj/item/storage/bible/booze(src.loc)
B.name = "The Holy book of the Geometer"
B.deity_name = "Narsie"
B.icon_state = "melted"
B.item_state = "melted"
new /obj/item/weapon/paper/sc_safehint_paper_bible(B)
new /obj/item/weapon/pen(B)
new /obj/item/paper/sc_safehint_paper_bible(B)
new /obj/item/pen(B)
qdel(src)
/*
* Guns - I'm making these specifically so that I dont spawn a pile of fully loaded weapons on the map.
*/
//Captain's retro laser - Fires practice laser shots instead.
obj/item/weapon/gun/energy/laser/retro/sc_retro
obj/item/gun/energy/laser/retro/sc_retro
desc = "An older model of the basic lasergun, no longer used by Nanotrasen's security or military forces."
ammo_type = list(/obj/item/ammo_casing/energy/laser/practice)
clumsy_check = 0 //No sense in having a harmless gun blow up in the clowns face
//Syndicate sub-machine guns.
/obj/item/weapon/gun/projectile/automatic/c20r/sc_c20r
/obj/item/gun/projectile/automatic/c20r/sc_c20r
/obj/item/weapon/gun/projectile/automatic/c20r/sc_c20r/New()
/obj/item/gun/projectile/automatic/c20r/sc_c20r/New()
..()
for(var/ammo in magazine.stored_ammo)
if(prob(95)) //95% chance
magazine.stored_ammo -= ammo
//Barman's shotgun
/obj/item/weapon/gun/projectile/shotgun/sc_pump
/obj/item/gun/projectile/shotgun/sc_pump
/obj/item/weapon/gun/projectile/shotgun/sc_pump/New()
/obj/item/gun/projectile/shotgun/sc_pump/New()
..()
for(var/ammo in magazine.stored_ammo)
if(prob(95)) //95% chance
magazine.stored_ammo -= ammo
//Lasers
/obj/item/weapon/gun/energy/laser/practice/sc_laser
/obj/item/gun/energy/laser/practice/sc_laser
name = "Old laser"
desc = "A once potent weapon, years of dust have collected in the chamber and lens of this weapon, weakening the beam significantly."
clumsy_check = 0
@@ -101,30 +101,30 @@ var/sc_safecode4 = "[rand(0,9)]"
var/sc_safecode5 = "[rand(0,9)]"
//Pieces of paper actually containing the hints
/obj/item/weapon/paper/sc_safehint_paper_prison
/obj/item/paper/sc_safehint_paper_prison
name = "smudged paper"
/obj/item/weapon/paper/sc_safehint_paper_prison/New()
/obj/item/paper/sc_safehint_paper_prison/New()
info = "<i>The ink is smudged, you can only make out a couple numbers:</i> '[sc_safecode1]**[sc_safecode4]*'"
/obj/item/weapon/paper/sc_safehint_paper_hydro
/obj/item/paper/sc_safehint_paper_hydro
name = "shredded paper"
/obj/item/weapon/paper/sc_safehint_paper_hydro/New()
/obj/item/paper/sc_safehint_paper_hydro/New()
info = "<i>Although the paper is shredded, you can clearly see the number:</i> '[sc_safecode2]'"
/obj/item/weapon/paper/sc_safehint_paper_caf
/obj/item/paper/sc_safehint_paper_caf
name = "blood-soaked paper"
//This does not have to be in New() because it is a constant. There are no variables in it i.e. [sc_safcode]
info = "<font color=red><i>This paper is soaked in blood, it is impossible to read any text.</i></font>"
/obj/item/weapon/paper/sc_safehint_paper_bible
/obj/item/paper/sc_safehint_paper_bible
name = "hidden paper"
/obj/item/weapon/paper/sc_safehint_paper_bible/New()
/obj/item/paper/sc_safehint_paper_bible/New()
info = {"<i>It would appear that the pen hidden with the paper had leaked ink over the paper.
However you can make out the last three digits:</i>'[sc_safecode3][sc_safecode4][sc_safecode5]'
"}
/obj/item/weapon/paper/sc_safehint_paper_shuttle
/obj/item/paper/sc_safehint_paper_shuttle
info = {"<b>Target:</b> Research-station Epsilon<br>
<b>Objective:</b> Prototype weaponry. The captain likely keeps them locked in her safe.<br>
<br>
@@ -140,19 +140,19 @@ var/sc_safecode5 = "[rand(0,9)]"
/*
* Captain's safe
*/
/obj/item/weapon/storage/secure/safe/sc_ssafe
/obj/item/storage/secure/safe/sc_ssafe
name = "Captain's secure safe"
/obj/item/weapon/storage/secure/safe/sc_ssafe/New()
/obj/item/storage/secure/safe/sc_ssafe/New()
..()
l_code = "[sc_safecode1][sc_safecode2][sc_safecode3][sc_safecode4][sc_safecode5]"
l_set = 1
new /obj/item/weapon/gun/energy/mindflayer(src)
new /obj/item/gun/energy/mindflayer(src)
new /obj/item/device/soulstone(src)
new /obj/item/clothing/head/helmet/space/cult(src)
new /obj/item/clothing/suit/space/cult(src)
//new /obj/item/weapon/teleportation_scroll(src)
new /obj/item/weapon/ore/diamond(src)
//new /obj/item/teleportation_scroll(src)
new /obj/item/ore/diamond(src)
/*
* Modified Nar-Sie
+2 -2
View File
@@ -1,4 +1,4 @@
/obj/item/weapon/paper/pamphlet
/obj/item/paper/pamphlet
name = "pamphlet"
icon_state = "pamphlet"
info = "<b>Welcome to the Nanotrasen Gateway project...</b><br>\
@@ -34,5 +34,5 @@
environs."
//we don't want the silly text overlay!
/obj/item/weapon/paper/pamphlet/update_icon()
/obj/item/paper/pamphlet/update_icon()
return
+1 -1
View File
@@ -185,7 +185,7 @@ var/global/list/potentialRandomZlevels = generateMapList(filename = "config/away
/obj/effect/ruin_loader
name = "random ruin"
desc = "If you got lucky enough to see this..."
icon = 'icons/obj/weapons.dmi'
icon = 'icons/obj/items.dmi'
icon_state = "syndballoon"
invisibility = 0
@@ -1,19 +1,19 @@
/datum/gear/lipstick
display_name = "lipstick, black"
path = /obj/item/weapon/lipstick/black
path = /obj/item/lipstick/black
sort_category = "Cosmetics"
/datum/gear/lipstick/jade
display_name = "lipstick, jade"
path = /obj/item/weapon/lipstick/jade
path = /obj/item/lipstick/jade
/datum/gear/lipstick/purple
display_name = "lipstick, purple"
path = /obj/item/weapon/lipstick/purple
path = /obj/item/lipstick/purple
/datum/gear/lipstick/red
display_name = "lipstick, red"
path = /obj/item/weapon/lipstick
path = /obj/item/lipstick
/datum/gear/monocle
display_name = "monocle"
@@ -1,26 +1,26 @@
/datum/gear/dice
display_name = "a d20"
path = /obj/item/weapon/dice/d20
path = /obj/item/dice/d20
/datum/gear/uplift
display_name = "a pack of Uplifts"
path = /obj/item/weapon/storage/fancy/cigarettes/cigpack_uplift
path = /obj/item/storage/fancy/cigarettes/cigpack_uplift
/datum/gear/robust
display_name = "a pack of Robusts"
path = /obj/item/weapon/storage/fancy/cigarettes/cigpack_robust
path = /obj/item/storage/fancy/cigarettes/cigpack_robust
/datum/gear/carp
display_name = "a pack of Carps"
path = /obj/item/weapon/storage/fancy/cigarettes/cigpack_carp
path = /obj/item/storage/fancy/cigarettes/cigpack_carp
/datum/gear/midori
display_name = "a pack of Midoris"
path = /obj/item/weapon/storage/fancy/cigarettes/cigpack_midori
path = /obj/item/storage/fancy/cigarettes/cigpack_midori
/datum/gear/lighter
display_name = "a cheap lighter"
path = /obj/item/weapon/lighter
path = /obj/item/lighter
/datum/gear/rock
display_name = "a pet rock"
@@ -33,7 +33,7 @@
/datum/gear/matches
display_name = "a box of matches"
path = /obj/item/weapon/storage/box/matches
path = /obj/item/storage/box/matches
/datum/gear/cards
display_name = "a deck of cards"
@@ -77,7 +77,7 @@
/datum/gear/mob_hunt_game
display_name = "Nano-Mob Hunter GO! Cartridge"
path = /obj/item/weapon/cartridge/mob_hunt_game
path = /obj/item/cartridge/mob_hunt_game
cost = 2
//////////////////////
@@ -87,13 +87,13 @@
/datum/gear/mug
display_name = "random coffee mug"
description = "A randomly colored coffee mug. You'll need to supply your own beverage though."
path = /obj/item/weapon/reagent_containers/food/drinks/mug
path = /obj/item/reagent_containers/food/drinks/mug
sort_category = "Mugs"
/datum/gear/novelty_mug
display_name = "novelty coffee mug"
description = "A random novelty coffee mug. You'll need to supply your own beverage though."
path = /obj/item/weapon/reagent_containers/food/drinks/mug/novelty
path = /obj/item/reagent_containers/food/drinks/mug/novelty
cost = 2
sort_category = "Mugs"
@@ -106,27 +106,27 @@
display_name = "engineer coffee mug"
description = "An engineer's coffee mug, emblazoned in the colors of the Engineering department."
allowed_roles = list("Chief Engineer", "Station Engineer", "Mechanic", "Life Support Specialist")
path = /obj/item/weapon/reagent_containers/food/drinks/mug/eng
path = /obj/item/reagent_containers/food/drinks/mug/eng
/datum/gear/mug/department/med
display_name = "doctor coffee mug"
description = "A doctor's coffee mug, emblazoned in the colors of the Medical department."
allowed_roles = list("Chief Medical Officer", "Medical Doctor", "Chemist", "Psychiatrist", "Paramedic", "Virologist", "Coroner")
path = /obj/item/weapon/reagent_containers/food/drinks/mug/med
path = /obj/item/reagent_containers/food/drinks/mug/med
/datum/gear/mug/department/sci
display_name = "scientist coffee mug"
description = "A scientist's coffee mug, emblazoned in the colors of the Science department."
allowed_roles = list("Research Director", "Scientist", "Roboticist")
path = /obj/item/weapon/reagent_containers/food/drinks/mug/sci
path = /obj/item/reagent_containers/food/drinks/mug/sci
/datum/gear/mug/department/sec
display_name = "officer coffee mug"
description = "An officer's coffee mug, emblazoned in the colors of the Security department."
allowed_roles = list("Head of Security", "Warden", "Detective", "Security Officer", "Security Pod Pilot", "Brig Physician", "Internal Affairs Agent")
path = /obj/item/weapon/reagent_containers/food/drinks/mug/sec
path = /obj/item/reagent_containers/food/drinks/mug/sec
/datum/gear/mug/department/serv
display_name = "crewmember coffee mug"
description = "A crewmember's coffee mug, emblazoned in the colors of the Service department."
path = /obj/item/weapon/reagent_containers/food/drinks/mug/serv
path = /obj/item/reagent_containers/food/drinks/mug/serv
+8 -8
View File
@@ -198,8 +198,8 @@ BLIND // can't see anything
/obj/item/clothing/gloves/proc/Touch(atom/A, proximity)
return 0 // return 1 to cancel attack_hand()
/obj/item/clothing/gloves/attackby(obj/item/weapon/W, mob/user, params)
if(istype(W, /obj/item/weapon/wirecutters))
/obj/item/clothing/gloves/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/wirecutters))
if(!clipped)
playsound(src.loc, W.usesound, 100, 1)
user.visible_message("<span class='warning'>[user] snips the fingertips off [src].</span>","<span class='warning'>You snip the fingertips off [src].</span>")
@@ -383,8 +383,8 @@ BLIND // can't see anything
)
/obj/item/clothing/shoes/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/match) && src.loc == user)
var/obj/item/weapon/match/M = I
if(istype(I, /obj/item/match) && src.loc == user)
var/obj/item/match/M = I
if(!M.lit) // Match isn't lit, but isn't burnt.
M.lit = 1
M.icon_state = "match_lit"
@@ -399,7 +399,7 @@ BLIND // can't see anything
to_chat(user, "<span class='notice'>The [M] has already been extinguished.</span>")
return
if(istype(I, /obj/item/weapon/wirecutters))
if(istype(I, /obj/item/wirecutters))
if(can_cut_open)
if(!cut_open)
playsound(src.loc, I.usesound, 100, 1)
@@ -443,7 +443,7 @@ BLIND // can't see anything
icon = 'icons/obj/clothing/suits.dmi'
name = "suit"
var/fire_resist = T0C+100
allowed = list(/obj/item/weapon/tank/emergency_oxygen)
allowed = list(/obj/item/tank/emergency_oxygen)
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0)
slot_flags = SLOT_OCLOTHING
var/blood_overlay_type = "suit"
@@ -484,7 +484,7 @@ BLIND // can't see anything
if(user.canUnEquip(src)) //Checks to see if the item can be unequipped. If so, lets shred. Otherwise, struggle and fail.
if(contents) //If the suit's got any storage capability...
for(var/obj/item/O in contents) //AVOIDING ITEM LOSS. Check through everything that's stored in the jacket and see if one of the items is a pocket.
if(istype(O, /obj/item/weapon/storage/internal)) //If it's a pocket...
if(istype(O, /obj/item/storage/internal)) //If it's a pocket...
if(O.contents) //Check to see if the pocket's got anything in it.
for(var/obj/item/I in O.contents) //Dump the pocket out onto the floor below the user.
user.unEquip(I,1)
@@ -550,7 +550,7 @@ BLIND // can't see anything
permeability_coefficient = 0.02
flags = STOPSPRESSUREDMAGE | THICKMATERIAL
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank)
allowed = list(/obj/item/device/flashlight,/obj/item/tank)
slowdown = 1
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 100, rad = 50)
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL
+2 -2
View File
@@ -19,7 +19,7 @@
prescription = 1
name = "prescription [name]"
return
if(prescription && istype(O, /obj/item/weapon/screwdriver))
if(prescription && istype(O, /obj/item/screwdriver))
var/obj/item/clothing/glasses/regular/G = locate() in src
if(!G)
G = new(get_turf(H))
@@ -497,7 +497,7 @@
flags_cover = null
invis_view = SEE_INVISIBLE_MINIMUM
/obj/item/clothing/glasses/godeye/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
/obj/item/clothing/glasses/godeye/attackby(obj/item/W as obj, mob/user as mob, params)
if(istype(W, src) && W != src && W.loc == user)
if(W.icon_state == "godeye")
W.icon_state = "doublegodeye"
+2 -2
View File
@@ -74,8 +74,8 @@
/obj/item/clothing/gloves/color/black/thief
pickpocket = 1
/obj/item/clothing/gloves/color/black/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/weapon/wirecutters))
/obj/item/clothing/gloves/color/black/attackby(obj/item/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/wirecutters))
if(can_be_cut && icon_state == initial(icon_state))//only if not dyed
var/confirm = alert("Do you want to cut off the gloves fingertips? Warning: It might destroy their functionality.","Cut tips?","Yes","No")
if(get_dist(user, src) > 1)
@@ -68,7 +68,7 @@
/obj/item/clothing/gloves/color/yellow/stun
name = "stun gloves"
desc = "Horrendous and awful. It smells like cancer. The fact it has wires attached to it is incidental."
var/obj/item/weapon/stock_parts/cell/cell = null
var/obj/item/stock_parts/cell/cell = null
var/stun_strength = 5
var/stun_cost = 2000
@@ -113,8 +113,8 @@
if(cell)
overlays += "gloves_cell"
/obj/item/clothing/gloves/color/yellow/stun/attackby(obj/item/weapon/W, mob/living/user, params)
if(istype(W, /obj/item/weapon/stock_parts/cell))
/obj/item/clothing/gloves/color/yellow/stun/attackby(obj/item/W, mob/living/user, params)
if(istype(W, /obj/item/stock_parts/cell))
if(!cell)
if(!user.drop_item())
to_chat(user, "<span class='warning'>[W] is stuck to you!</span>")
+1 -1
View File
@@ -73,7 +73,7 @@
name = "hat"
desc = "Someone who wears this will look very smart."
icon_state = "detective"
allowed = list(/obj/item/weapon/reagent_containers/food/snacks/candy/candy_corn, /obj/item/weapon/pen)
allowed = list(/obj/item/reagent_containers/food/snacks/candy/candy_corn, /obj/item/pen)
armor = list(melee = 25, bullet = 5, laser = 25, energy = 10, bomb = 0, bio = 0, rad = 0)
//Mime
+3 -3
View File
@@ -380,8 +380,8 @@
else
to_chat(user, "<span class='notice'>It's broken.</span>")
/obj/item/clothing/mask/gas/sechailer/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/weapon/screwdriver))
/obj/item/clothing/mask/gas/sechailer/attackby(obj/item/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/screwdriver))
switch(aggressiveness)
if(1)
to_chat(user, "<span class='notice'>You set the aggressiveness restrictor to the second position.</span>")
@@ -401,7 +401,7 @@
phrase = 1
if(5)
to_chat(user, "<span class='warning'>You adjust the restrictor but nothing happens, probably because its broken.</span>")
else if(istype(W, /obj/item/weapon/wirecutters))
else if(istype(W, /obj/item/wirecutters))
if(aggressiveness != 5)
to_chat(user, "<span class='warning'>You broke it!</span>")
aggressiveness = 5
+1 -1
View File
@@ -38,7 +38,7 @@
return FALSE
/obj/item/clothing/mask/muzzle/proc/do_unlock(mob/living/carbon/human/user)
if(istype(user.get_inactive_hand(), /obj/item/weapon/card/emag))
if(istype(user.get_inactive_hand(), /obj/item/card/emag))
to_chat(user, "<span class='warning'>The lock vibrates as the card forces its locking system open.</span>")
do_break()
return TRUE
+2 -2
View File
@@ -91,13 +91,13 @@
if(src.chained)
src.chained = null
src.slowdown = SHOES_SLOWDOWN
new /obj/item/weapon/restraints/handcuffs( user.loc )
new /obj/item/restraints/handcuffs( user.loc )
src.icon_state = "orange"
return
/obj/item/clothing/shoes/orange/attackby(obj/H, loc, params)
..()
if(istype(H, /obj/item/weapon/restraints/handcuffs) && !chained && !(H.flags & NODROP))
if(istype(H, /obj/item/restraints/handcuffs) && !chained && !(H.flags & NODROP))
if(src.icon_state != "orange") return
qdel(H)
src.chained = 1
+1 -1
View File
@@ -75,7 +75,7 @@
// Can't be equipped by any other species due to bone structure and vox cybernetics.
/obj/item/clothing/suit/space/vox
w_class = WEIGHT_CLASS_NORMAL
allowed = list(/obj/item/weapon/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword/saber,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/tank)
allowed = list(/obj/item/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/melee/energy/sword/saber,/obj/item/restraints/handcuffs,/obj/item/tank)
armor = list(melee = 40, bullet = 40, laser = 30, energy = 15, bomb = 30, bio = 30, rad = 30)
heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT
+2 -2
View File
@@ -194,7 +194,7 @@ var/global/list/breach_burn_descriptors = list(
repair_breaches(BURN, ( istype(P,/obj/item/stack/sheet/plastic) ? 3 : 5), user)
return
else if(istype(W, /obj/item/weapon/weldingtool))
else if(istype(W, /obj/item/weldingtool))
if(istype(src.loc,/mob/living))
to_chat(user, "<span class='warning'>How do you intend to patch a hardsuit while someone is wearing it?</span>")
@@ -204,7 +204,7 @@ var/global/list/breach_burn_descriptors = list(
to_chat(user, "There is no structural damage on \the [src] to repair.")
return
var/obj/item/weapon/weldingtool/WT = W
var/obj/item/weldingtool/WT = W
if(!WT.remove_fuel(5))
to_chat(user, "<span class='warning'>You need more welding fuel to repair this suit.</span>")
return
+6 -6
View File
@@ -34,12 +34,12 @@
icon_state = "ert_commander"
item_state = "suit-command"
w_class = WEIGHT_CLASS_NORMAL
allowed = list(/obj/item/weapon/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword/saber,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/tank)
allowed = list(/obj/item/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/melee/energy/sword/saber,/obj/item/restraints/handcuffs,/obj/item/tank)
armor = list(melee = 45, bullet = 25, laser = 30, energy = 10, bomb = 25, bio = 100, rad = 50)
allowed = list(/obj/item/device/flashlight, /obj/item/weapon/tank, /obj/item/device/t_scanner, /obj/item/weapon/rcd, /obj/item/weapon/crowbar, \
/obj/item/weapon/screwdriver, /obj/item/weapon/weldingtool, /obj/item/weapon/wirecutters, /obj/item/weapon/wrench, /obj/item/device/multitool, \
/obj/item/device/radio, /obj/item/device/analyzer, /obj/item/weapon/gun/energy/laser, /obj/item/weapon/gun/energy/pulse, \
/obj/item/weapon/gun/energy/gun/advtaser, /obj/item/weapon/melee/baton, /obj/item/weapon/gun/energy/gun)
allowed = list(/obj/item/device/flashlight, /obj/item/tank, /obj/item/device/t_scanner, /obj/item/rcd, /obj/item/crowbar, \
/obj/item/screwdriver, /obj/item/weldingtool, /obj/item/wirecutters, /obj/item/wrench, /obj/item/device/multitool, \
/obj/item/device/radio, /obj/item/device/analyzer, /obj/item/gun/energy/laser, /obj/item/gun/energy/pulse, \
/obj/item/gun/energy/gun/advtaser, /obj/item/melee/baton, /obj/item/gun/energy/gun)
strip_delay = 130
species_fit = list("Drask")
sprite_sheets = list(
@@ -133,7 +133,7 @@
/obj/item/clothing/suit/space/hardsuit/ert/paranormal/New()
..()
new /obj/item/weapon/nullrod(src)
new /obj/item/nullrod(src)
/obj/item/clothing/head/helmet/space/hardsuit/ert/paranormal/inquisitor
name = "inquisitor's helmet"
+11 -11
View File
@@ -67,7 +67,7 @@
icon_state = "hardsuit-engineering"
item_state = "eng_hardsuit"
armor = list(melee = 10, bullet = 5, laser = 10, energy = 5, bomb = 10, bio = 100, rad = 75)
allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/t_scanner, /obj/item/weapon/rcd)
allowed = list(/obj/item/device/flashlight,/obj/item/tank,/obj/item/device/t_scanner, /obj/item/rcd)
siemens_coefficient = 0
species_restricted = list("exclude","Diona","Wryn")
@@ -92,7 +92,7 @@
can_breach = 0
//Component/device holders.
var/obj/item/weapon/stock_parts/gloves = null // Basic capacitor allows insulation, upgrades allow shock gloves etc.
var/obj/item/stock_parts/gloves = null // Basic capacitor allows insulation, upgrades allow shock gloves etc.
var/attached_boots = 1 // Can't wear boots if some are attached
var/obj/item/clothing/shoes/magboots/boots = null // Deployable boots, if any.
@@ -194,7 +194,7 @@
if(!isliving(user))
return
if(istype(W,/obj/item/weapon/screwdriver) && can_modify(user))
if(istype(W,/obj/item/screwdriver) && can_modify(user))
if(!helmet)
to_chat(user, "\The [src] does not have a helmet installed.")
else
@@ -261,7 +261,7 @@
icon_state = "hardsuit-engineering"
item_state = "eng_hardsuit"
armor = list(melee = 10, bullet = 5, laser = 10, energy = 5, bomb = 10, bio = 100, rad = 75)
allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/t_scanner, /obj/item/weapon/rcd)
allowed = list(/obj/item/device/flashlight,/obj/item/tank,/obj/item/device/t_scanner, /obj/item/rcd)
//Chief Engineer's hardsuit
/obj/item/clothing/head/helmet/space/hardsuit/elite
@@ -298,7 +298,7 @@
desc = "A special suit that protects against hazardous, low pressure environments. Has reinforced plating."
item_state = "mining_hardsuit"
armor = list(melee = 30, bullet = 5, laser = 10, energy = 5, bomb = 50, bio = 100, rad = 50)
allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/weapon/storage/bag/ore,/obj/item/weapon/pickaxe)
allowed = list(/obj/item/device/flashlight,/obj/item/tank,/obj/item/storage/bag/ore,/obj/item/pickaxe)
//Syndicate hardsuit
@@ -366,7 +366,7 @@
var/on = 1
actions_types = list(/datum/action/item_action/toggle_hardsuit_mode)
armor = list(melee = 40, bullet = 50, laser = 30, energy = 15, bomb = 35, bio = 100, rad = 50)
allowed = list(/obj/item/weapon/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword/saber,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/tank)
allowed = list(/obj/item/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/melee/energy/sword/saber,/obj/item/restraints/handcuffs,/obj/item/tank)
/obj/item/clothing/suit/space/hardsuit/syndi/update_icon()
icon_state = "hardsuit[on]-[item_color]"
@@ -473,7 +473,7 @@
w_class = WEIGHT_CLASS_NORMAL
unacidable = 1
armor = list(melee = 40, bullet = 40, laser = 40, energy = 20, bomb = 35, bio = 100, rad = 50)
allowed = list(/obj/item/weapon/teleportation_scroll,/obj/item/weapon/tank)
allowed = list(/obj/item/teleportation_scroll,/obj/item/tank)
heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS //Uncomment to enable firesuit protection
max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT
unacidable = 1
@@ -496,7 +496,7 @@
name = "medical hardsuit"
desc = "A special helmet designed for work in a hazardous, low pressure environment. Built with lightweight materials for extra comfort."
item_state = "medical_hardsuit"
allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/weapon/storage/firstaid,/obj/item/device/healthanalyzer,/obj/item/stack/medical,/obj/item/device/rad_laser)
allowed = list(/obj/item/device/flashlight,/obj/item/tank,/obj/item/storage/firstaid,/obj/item/device/healthanalyzer,/obj/item/stack/medical,/obj/item/device/rad_laser)
armor = list(melee = 10, bullet = 5, laser = 10, energy = 5, bomb = 10, bio = 100, rad = 50)
//Security
@@ -514,7 +514,7 @@
desc = "A special suit that protects against hazardous, low pressure environments. Has an additional layer of armor."
item_state = "sec_hardsuit"
armor = list(melee = 30, bullet = 15, laser = 30, energy = 10, bomb = 10, bio = 100, rad = 50)
allowed = list(/obj/item/weapon/gun,/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/weapon/melee/baton,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/restraints/handcuffs)
allowed = list(/obj/item/gun,/obj/item/device/flashlight,/obj/item/tank,/obj/item/melee/baton,/obj/item/reagent_containers/spray/pepper,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/restraints/handcuffs)
//Atmospherics hardsuit (BS12)
@@ -577,7 +577,7 @@
name = "shielded hardsuit"
desc = "A hardsuit with built in energy shielding. Will rapidly recharge when not under fire."
icon_state = "hardsuit-hos"
allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank, /obj/item/weapon/gun,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs)
allowed = list(/obj/item/device/flashlight,/obj/item/tank, /obj/item/gun,/obj/item/reagent_containers/spray/pepper,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/restraints/handcuffs)
armor = list(melee = 30, bullet = 15, laser = 30, energy = 10, bomb = 10, bio = 100, rad = 50)
var/current_charges = 3
var/max_charges = 3 //How many charges total the shielding has
@@ -630,7 +630,7 @@
item_state = "syndie_hardsuit"
item_color = "syndi"
armor = list(melee = 40, bullet = 50, laser = 30, energy = 15, bomb = 35, bio = 100, rad = 50)
allowed = list(/obj/item/weapon/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword/saber,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/tank)
allowed = list(/obj/item/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/melee/energy/sword/saber,/obj/item/restraints/handcuffs,/obj/item/tank)
slowdown = 0
sprite_sheets = list(
"Unathi" = 'icons/mob/species/unathi/suit.dmi',
@@ -29,7 +29,7 @@
icon_state = "caparmor"
item_state = "capspacesuit"
w_class = WEIGHT_CLASS_BULKY
allowed = list(/obj/item/weapon/tank, /obj/item/device/flashlight,/obj/item/weapon/gun/energy, /obj/item/weapon/gun/projectile, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs)
allowed = list(/obj/item/tank, /obj/item/device/flashlight,/obj/item/gun/energy, /obj/item/gun/projectile, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton,/obj/item/restraints/handcuffs)
armor = list(melee = 40, bullet = 50, laser = 50, energy = 25, bomb = 50, bio = 100, rad = 50)
species_restricted = list("exclude", "Diona", "Wryn")
species_fit = list("Vox")
@@ -56,7 +56,7 @@
desc = "A heavily armored, advanced space suit that protects against most forms of damage."
icon_state = "deathsquad"
item_state = "swat_suit"
allowed = list(/obj/item/weapon/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/tank,/obj/item/weapon/kitchen/knife/combat)
allowed = list(/obj/item/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/restraints/handcuffs,/obj/item/tank,/obj/item/kitchen/knife/combat)
armor = list(melee = 80, bullet = 80, laser = 50, energy = 50, bomb = 100, bio = 100, rad = 100)
max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT
unacidable = 1
@@ -68,7 +68,7 @@
desc = "Space-proof tactical SWAT armor."
icon_state = "heavy"
item_state = "swat_suit"
allowed = list(/obj/item/weapon/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/tank,/obj/item/weapon/kitchen/knife/combat)
allowed = list(/obj/item/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/restraints/handcuffs,/obj/item/tank,/obj/item/kitchen/knife/combat)
armor = list(melee = 40, bullet = 30, laser = 30, energy = 30, bomb = 50, bio = 90, rad = 20)
strip_delay = 120
@@ -125,7 +125,7 @@
icon_state = "pirate"
item_state = "pirate"
w_class = WEIGHT_CLASS_NORMAL
allowed = list(/obj/item/weapon/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/tank)
allowed = list(/obj/item/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/restraints/handcuffs,/obj/item/tank)
slowdown = 0
armor = list(melee = 30, bullet = 50, laser = 30, energy = 15, bomb = 30, bio = 30, rad = 30)
strip_delay = 40
@@ -3,7 +3,7 @@
/obj/item/clothing/suit/space/eva/plasmaman
name = "plasmaman suit"
desc = "A special containment suit designed to protect a plasmaman's volatile body from outside exposure and quickly extinguish it in emergencies."
allowed = list(/obj/item/weapon/gun,/obj/item/ammo_casing,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword/saber,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/tank)
allowed = list(/obj/item/gun,/obj/item/ammo_casing,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/melee/energy/sword/saber,/obj/item/restraints/handcuffs,/obj/item/tank)
slowdown = 0
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 100, rad = 20)
heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
@@ -40,7 +40,7 @@
/obj/item/clothing/suit/space/eva/plasmaman/attackby(var/obj/item/A as obj, mob/user as mob, params)
..()
if(istype(A, /obj/item/weapon/plasmensuit_cartridge)) //This suit can only be reloaded by the appropriate cartridges, and only if it's got no more extinguishes left.
if(istype(A, /obj/item/plasmensuit_cartridge)) //This suit can only be reloaded by the appropriate cartridges, and only if it's got no more extinguishes left.
if(!extinguishes_left)
extinguishes_left = max_extinguishes //Full replenishment from the cartridge.
to_chat(user, "<span class='notice'>You replenish \the [src] with the cartridge.</span>")
@@ -52,7 +52,7 @@
..(user)
to_chat(user, "<span class='info'>There are [extinguishes_left] extinguisher canisters left in this suit.</span>")
/obj/item/weapon/plasmensuit_cartridge //Can be used to refill Plasmaman suits when they run out of autoextinguishes.
/obj/item/plasmensuit_cartridge //Can be used to refill Plasmaman suits when they run out of autoextinguishes.
name = "auto-extinguisher cartridge"
desc = "A tiny and light fibreglass-framed auto-extinguisher cartridge."
icon = 'icons/obj/items.dmi'
@@ -391,7 +391,7 @@
name = "blood red plasmaman suit"
icon_state = "plasmaman_Nukeops"
armor = list(melee = 60, bullet = 50, laser = 30, energy = 15, bomb = 35, bio = 100, rad = 50)
allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/weapon/gun,/obj/item/ammo_casing,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword/saber,/obj/item/weapon/restraints/handcuffs)
allowed = list(/obj/item/device/flashlight,/obj/item/tank,/obj/item/gun,/obj/item/ammo_casing,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/melee/energy/sword/saber,/obj/item/restraints/handcuffs)
/obj/item/clothing/head/helmet/space/eva/plasmaman/nuclear
name = "blood red plasmaman helmet"
@@ -30,9 +30,9 @@
var/fire_distance = 10
charges = list(
list("flashbang", "flashbang", /obj/item/weapon/grenade/flashbang, 3),
list("smoke bomb", "smoke bomb", /obj/item/weapon/grenade/smokebomb, 3),
list("EMP grenade", "EMP grenade", /obj/item/weapon/grenade/empgrenade, 3),
list("flashbang", "flashbang", /obj/item/grenade/flashbang, 3),
list("smoke bomb", "smoke bomb", /obj/item/grenade/smokebomb, 3),
list("EMP grenade", "EMP grenade", /obj/item/grenade/empgrenade, 3),
)
/obj/item/rig_module/grenade_launcher/accepts_item(var/obj/item/input_device, var/mob/living/user)
@@ -84,7 +84,7 @@
return 0
charge.charges--
var/obj/item/weapon/grenade/new_grenade = new charge.product_type(get_turf(H))
var/obj/item/grenade/new_grenade = new charge.product_type(get_turf(H))
H.visible_message("<span class='danger'>[H] launches \a [new_grenade]!</span>")
new_grenade.throw_at(target,fire_force,fire_distance)
new_grenade.prime()
@@ -103,8 +103,8 @@
interface_name = "mounted laser cannon"
interface_desc = "A shoulder-mounted cell-powered laser cannon."
var/gun_type = /obj/item/weapon/gun/energy/lasercannon/mounted
var/obj/item/weapon/gun/gun
var/gun_type = /obj/item/gun/energy/lasercannon/mounted
var/obj/item/gun/gun
/obj/item/rig_module/mounted/New()
..()
@@ -131,7 +131,7 @@
interface_name = "mounted energy gun"
interface_desc = "A forearm-mounted suit-powered energy gun."
gun_type = /obj/item/weapon/gun/energy/gun/mounted
gun_type = /obj/item/gun/energy/gun/mounted
/obj/item/rig_module/mounted/taser
@@ -147,7 +147,7 @@
interface_name = "mounted energy gun"
interface_desc = "A shoulder-mounted cell-powered energy gun."
gun_type = /obj/item/weapon/gun/energy/taser/mounted
gun_type = /obj/item/gun/energy/taser/mounted
/obj/item/rig_module/mounted/energy_blade
@@ -168,12 +168,12 @@
active_power_cost = 10
passive_power_cost = 0
gun_type = /obj/item/weapon/gun/energy/kinetic_accelerator/crossbow/ninja
gun_type = /obj/item/gun/energy/kinetic_accelerator/crossbow/ninja
/obj/item/rig_module/mounted/energy_blade/process()
if(holder && holder.wearer)
if(!(locate(/obj/item/weapon/melee/energy/blade) in holder.wearer))
if(!(locate(/obj/item/melee/energy/blade) in holder.wearer))
deactivate()
return 0
@@ -190,7 +190,7 @@
deactivate()
return
var/obj/item/weapon/melee/energy/blade/blade = new(M)
var/obj/item/melee/energy/blade/blade = new(M)
M.put_in_hands(blade)
/obj/item/rig_module/mounted/energy_blade/deactivate()
@@ -202,7 +202,7 @@
if(!M)
return
for(var/obj/item/weapon/melee/energy/blade/blade in M.contents)
for(var/obj/item/melee/energy/blade/blade in M.contents)
M.unEquip(blade)
qdel(blade)
@@ -51,7 +51,7 @@
/obj/item/rig_module/ai_container/process()
if(integrated_ai)
var/obj/item/weapon/rig/rig = get_rig()
var/obj/item/rig/rig = get_rig()
if(rig && rig.ai_override_enabled)
integrated_ai.get_rig_stats = 1
else
@@ -251,9 +251,9 @@
/obj/item/rig_module/datajack/accepts_item(var/obj/item/input_device, var/mob/living/user)
if(istype(input_device,/obj/item/weapon/disk/tech_disk))
if(istype(input_device,/obj/item/disk/tech_disk))
to_chat(user, "You slot the disk into [src].")
var/obj/item/weapon/disk/tech_disk/disk = input_device
var/obj/item/disk/tech_disk/disk = input_device
if(disk.stored)
if(load_data(disk.stored))
to_chat(user, "<font color='blue'>Download successful; disk erased.</font>")
@@ -47,4 +47,4 @@
desc = "For tactical honking"
interface_name = "mounted bikehorn"
interface_desc = "Honks"
device_type = /obj/item/weapon/bikehorn
device_type = /obj/item/bikehorn
@@ -17,7 +17,7 @@
toolspeed = 1
var/damage = 0
var/obj/item/weapon/rig/holder
var/obj/item/rig/holder
var/module_cooldown = 10
var/next_use = 0
@@ -136,7 +136,7 @@
stat_modules += new/stat_rig_module/charge(src)
// Called when the module is installed into a suit.
/obj/item/rig_module/proc/installed(var/obj/item/weapon/rig/new_holder)
/obj/item/rig_module/proc/installed(var/obj/item/rig/new_holder)
holder = new_holder
return
@@ -227,7 +227,7 @@
/obj/item/rig_module/proc/accepts_item(var/obj/item/input_device)
return 0
/mob/proc/SetupStat(var/obj/item/weapon/rig/R)
/mob/proc/SetupStat(var/obj/item/rig/R)
if(R && (R.flags & NODROP) && R.installed_modules.len && statpanel("Hardsuit Modules"))
var/cell_status = R.cell ? "[R.cell.charge]/[R.cell.maxcharge]" : "ERROR"
stat("Suit charge", cell_status)
@@ -120,7 +120,7 @@
H.forceMove(T)
phase_in(H,get_turf(H))
for(var/obj/item/weapon/grab/G in H.contents)
for(var/obj/item/grab/G in H.contents)
if(G.affecting)
phase_out(G.affecting,get_turf(G.affecting))
G.affecting.forceMove(locate(T.x+rand(-1,1),T.y+rand(-1,1),T.z))
@@ -140,7 +140,7 @@
engage_string = "Fabricate Net"
fabrication_type = /obj/item/weapon/energy_net
fabrication_type = /obj/item/energy_net
use_power_cost = 70
/obj/item/rig_module/fabricator/energy_net/engage(atom/target)
@@ -37,7 +37,7 @@
suit_overlay_active = "plasmacutter"
suit_overlay_inactive = "plasmacutter"
device_type = /obj/item/weapon/gun/energy/plasmacutter
device_type = /obj/item/gun/energy/plasmacutter
/obj/item/rig_module/device/healthscanner
name = "health scanner module"
@@ -56,7 +56,7 @@
interface_desc = "A diamond-tipped industrial drill."
suit_overlay_active = "mounted-drill"
suit_overlay_inactive = "mounted-drill"
device_type = /obj/item/weapon/pickaxe/diamonddrill
device_type = /obj/item/pickaxe/diamonddrill
/obj/item/rig_module/device/orescanner
name = "ore scanner module"
@@ -78,7 +78,7 @@
usable = 1
engage_string = "Configure RCD"
device_type = /obj/item/weapon/rcd/mounted
device_type = /obj/item/rcd/mounted
*/
/obj/item/rig_module/device/New()
..()
@@ -322,7 +322,7 @@
interface_name = "maneuvering jets"
interface_desc = "An inbuilt EVA maneuvering system that runs off the rig air supply."
var/obj/item/weapon/tank/jetpack/rig/jets
var/obj/item/tank/jetpack/rig/jets
/obj/item/rig_module/maneuvering_jets/engage()
if(!..())
@@ -378,7 +378,7 @@
engage_string = "Dispense"
usable = 1
selectable = 0
device_type = /obj/item/weapon/paper_bin
device_type = /obj/item/paper_bin
/obj/item/rig_module/device/paperdispenser/engage(atom/target)
@@ -397,7 +397,7 @@
interface_desc = "Signatures with style(tm)."
engage_string = "Change color"
usable = 1
device_type = /obj/item/weapon/pen/multi
device_type = /obj/item/pen/multi
/obj/item/rig_module/device/stamp
name = "mounted internal affairs stamp"
@@ -412,8 +412,8 @@
/obj/item/rig_module/device/stamp/New()
..()
iastamp = new /obj/item/weapon/stamp/law(src)
deniedstamp = new /obj/item/weapon/stamp/denied(src)
iastamp = new /obj/item/stamp/law(src)
deniedstamp = new /obj/item/stamp/denied(src)
iastamp.flags |= ABSTRACT
deniedstamp.flags |= ABSTRACT
device = iastamp
@@ -454,7 +454,7 @@
if(!target)
if(get_fuel() >= 0)
var/obj/item/weapon/weldingtool/W = holder.wearer.get_active_hand()
var/obj/item/weldingtool/W = holder.wearer.get_active_hand()
if(istype(W))
fill_welder(W)
else
@@ -466,7 +466,7 @@
else
to_chat(holder.wearer, "<span class='notice'>You need to have a welding tool in one of your hands to dispense fuel.</span>")
/obj/item/rig_module/welding_tank/proc/fill_welder(var/obj/item/weapon/weldingtool/W)
/obj/item/rig_module/welding_tank/proc/fill_welder(var/obj/item/weldingtool/W)
if(!istype(W))
return 0
+45 -45
View File
@@ -6,7 +6,7 @@
* Defines the behavior of hardsuits/rigs/power armour.
*/
/obj/item/weapon/rig
/obj/item/rig
name = "hardsuit control module"
icon = 'icons/obj/rig_modules.dmi'
@@ -37,17 +37,17 @@
var/helm_type = /obj/item/clothing/head/helmet/space/new_rig
var/boot_type = /obj/item/clothing/shoes/magboots/rig
var/glove_type = /obj/item/clothing/gloves/rig
var/cell_type = /obj/item/weapon/stock_parts/cell/high
var/air_type = /obj/item/weapon/tank/oxygen
var/cell_type = /obj/item/stock_parts/cell/high
var/air_type = /obj/item/tank/oxygen
//Component/device holders.
var/obj/item/weapon/tank/air_supply // Air tank, if any.
var/obj/item/tank/air_supply // Air tank, if any.
var/obj/item/clothing/shoes/magboots/boots = null // Deployable boots, if any.
var/obj/item/clothing/shoes/under_boots = null //Boots that are between the feet and the rig boots, if any.
var/obj/item/clothing/suit/space/new_rig/chest // Deployable chestpiece, if any.
var/obj/item/clothing/head/helmet/space/new_rig/helmet = null // Deployable helmet, if any.
var/obj/item/clothing/gloves/rig/gloves = null // Deployable gauntlets, if any.
var/obj/item/weapon/stock_parts/cell/cell // Power supply, if any.
var/obj/item/stock_parts/cell/cell // Power supply, if any.
var/obj/item/rig_module/selected_module = null // Primary system (used with middle-click)
var/obj/item/rig_module/vision/visor // Kinda shitty to have a var for a module, but saves time.
var/obj/item/rig_module/voice/speech // As above.
@@ -84,7 +84,7 @@
var/datum/wires/rig/wires
var/datum/effect_system/spark_spread/spark_system
/obj/item/weapon/rig/examine()
/obj/item/rig/examine()
to_chat(usr, "This is [bicon(src)][src.name].")
to_chat(usr, "[src.desc]")
if(wearer)
@@ -97,7 +97,7 @@
to_chat(usr, "The maintenance panel is [open ? "open" : "closed"].")
to_chat(usr, "Hardsuit systems are [offline ? "<font color='red'>offline</font>" : "<font color='green'>online</font>"].")
/obj/item/weapon/rig/New()
/obj/item/rig/New()
..()
item_state = icon_state
@@ -125,14 +125,14 @@
air_supply = new air_type(src)
if(glove_type)
gloves = new glove_type(src)
verbs |= /obj/item/weapon/rig/proc/toggle_gauntlets
verbs |= /obj/item/rig/proc/toggle_gauntlets
if(helm_type)
helmet = new helm_type(src)
verbs |= /obj/item/weapon/rig/proc/toggle_helmet
verbs |= /obj/item/rig/proc/toggle_helmet
helmet.item_color="[initial(icon_state)]_sealed" //For the lightswitching to know the correct string to manipulate
if(boot_type)
boots = new boot_type(src)
verbs |= /obj/item/weapon/rig/proc/toggle_boots
verbs |= /obj/item/rig/proc/toggle_boots
boots.magboot_state="[initial(icon_state)]_sealed" //For the magboot (de)activation to know the correct string to manipulate
if(chest_type)
chest = new chest_type(src)
@@ -140,7 +140,7 @@
chest.allowed = allowed
chest.slowdown = offline_slowdown
chest.holder = src
verbs |= /obj/item/weapon/rig/proc/toggle_chest
verbs |= /obj/item/rig/proc/toggle_chest
for(var/obj/item/piece in list(gloves,helmet,boots,chest))
if(!istype(piece))
@@ -160,7 +160,7 @@
update_icon(1)
/obj/item/weapon/rig/Destroy()
/obj/item/rig/Destroy()
for(var/obj/item/piece in list(gloves,boots,helmet,chest))
var/mob/living/M = piece.loc
if(istype(M))
@@ -171,7 +171,7 @@
QDEL_NULL(spark_system)
return ..()
/obj/item/weapon/rig/proc/suit_is_deployed()
/obj/item/rig/proc/suit_is_deployed()
if(!istype(wearer) || src.loc != wearer || wearer.back != src)
return 0
if(helm_type && !(helmet && wearer.head == helmet))
@@ -184,7 +184,7 @@
return 0
return 1
/obj/item/weapon/rig/proc/reset()
/obj/item/rig/proc/reset()
offline = 2
flags &= ~NODROP
if(helmet && helmet.on)
@@ -198,7 +198,7 @@
piece.flags &= ~(STOPSPRESSUREDMAGE | AIRTIGHT)
update_icon(1)
/obj/item/weapon/rig/proc/seal(mob/living/user)
/obj/item/rig/proc/seal(mob/living/user)
if(sealing)
return 0
@@ -307,7 +307,7 @@
update_component_sealed()
update_icon(1)
/obj/item/weapon/rig/proc/unseal(mob/living/user)
/obj/item/rig/proc/unseal(mob/living/user)
if(sealing)
return 0
@@ -419,7 +419,7 @@
update_component_sealed()
update_icon(1)
/obj/item/weapon/rig/proc/update_component_sealed()
/obj/item/rig/proc/update_component_sealed()
if(istype(boots) && !(flags & NODROP) && boots.magpulse) //If we have (active) boots and unsealed the suit, we deactivate the magboots.
boots.attack_self(wearer)
if(istype(helmet) && !(flags & NODROP) && helmet.on) //If we have an (active) headlamp and unsealed the suit, we deactivate the headlamp.
@@ -430,7 +430,7 @@
else
piece.flags |= STOPSPRESSUREDMAGE | AIRTIGHT
/obj/item/weapon/rig/process()
/obj/item/rig/process()
// If we've lost any parts, grab them back.
var/mob/living/M
for(var/obj/item/piece in list(gloves,boots,helmet,chest))
@@ -487,7 +487,7 @@
for(var/obj/item/rig_module/module in installed_modules)
cell.use(module.process()*10)
/obj/item/weapon/rig/proc/check_power_cost(var/mob/living/user, var/cost, var/use_unconcious, var/obj/item/rig_module/mod, var/user_is_ai)
/obj/item/rig/proc/check_power_cost(var/mob/living/user, var/cost, var/use_unconcious, var/obj/item/rig_module/mod, var/user_is_ai)
if(!istype(user))
return 0
@@ -521,7 +521,7 @@
cell.use(cost*10)
return 1
/obj/item/weapon/rig/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1, var/datum/topic_state/state = inventory_state)
/obj/item/rig/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1, var/datum/topic_state/state = inventory_state)
if(!user)
return
@@ -531,7 +531,7 @@
ui.open()
ui.set_auto_update(1)
/obj/item/weapon/rig/ui_data(mob/user, ui_key = "main", datum/topic_state/state = inventory_state)
/obj/item/rig/ui_data(mob/user, ui_key = "main", datum/topic_state/state = inventory_state)
var/data[0]
data["primarysystem"] = null
@@ -601,7 +601,7 @@
return data
/obj/item/weapon/rig/update_icon(var/update_mob_icon)
/obj/item/rig/update_icon(var/update_mob_icon)
//TODO: Maybe consider a cache for this (use mob_icon as blank canvas, use suit icon overlay).
overlays.Cut()
@@ -626,7 +626,7 @@
wearer.update_inv_back()
return
/obj/item/weapon/rig/proc/check_suit_access(var/mob/living/carbon/human/user)
/obj/item/rig/proc/check_suit_access(var/mob/living/carbon/human/user)
if(!security_check_enabled)
return 1
@@ -646,7 +646,7 @@
return 1
/obj/item/weapon/rig/Topic(href,href_list)
/obj/item/rig/Topic(href,href_list)
if(!check_suit_access(usr))
return 0
@@ -685,7 +685,7 @@
add_fingerprint(usr)
return 0
/obj/item/weapon/rig/proc/notify_ai(var/message)
/obj/item/rig/proc/notify_ai(var/message)
if(!message || !installed_modules || !installed_modules.len)
return
for(var/obj/item/rig_module/module in installed_modules)
@@ -693,7 +693,7 @@
if(ai && ai.client && !ai.stat)
to_chat(ai, "[message]")
/obj/item/weapon/rig/equipped(mob/living/carbon/human/M, slot)
/obj/item/rig/equipped(mob/living/carbon/human/M, slot)
..()
if(!istype(M) || slot != slot_back)
return //we don't care about picking up/nonhumans
@@ -713,10 +713,10 @@
wearer = M
wearer.wearing_rig = src
if(has_emergency_release)
M.verbs |= /obj/item/weapon/rig/proc/emergency_release
M.verbs |= /obj/item/rig/proc/emergency_release
update_icon()
/obj/item/weapon/rig/proc/toggle_piece(var/piece, var/mob/living/user, var/deploy_mode, var/force)
/obj/item/rig/proc/toggle_piece(var/piece, var/mob/living/user, var/deploy_mode, var/force)
if(!istype(wearer) || wearer.back != src)
if(force) //can only force retracting sorry
for(var/obj/item/uneq_piece in list(helmet, gloves, boots, chest))
@@ -806,7 +806,7 @@
if(piece == "helmet" && helmet)
helmet.update_light(wearer)
/obj/item/weapon/rig/proc/deploy(mob/user)
/obj/item/rig/proc/deploy(mob/user)
if(!wearer || !user)
return 0
@@ -828,9 +828,9 @@
for(var/piece in list("helmet", "gauntlets", "chest", "boots"))
toggle_piece(piece, user, ONLY_DEPLOY)
/obj/item/weapon/rig/dropped(var/mob/user)
/obj/item/rig/dropped(var/mob/user)
..()
user.verbs -= /obj/item/weapon/rig/proc/emergency_release
user.verbs -= /obj/item/rig/proc/emergency_release
for(var/piece in list("helmet","gauntlets","chest","boots"))
toggle_piece(piece, user, ONLY_RETRACT, 1)
if(wearer)
@@ -838,10 +838,10 @@
wearer = null
//Todo
/obj/item/weapon/rig/proc/malfunction()
/obj/item/rig/proc/malfunction()
return 0
/obj/item/weapon/rig/emp_act(severity_class)
/obj/item/rig/emp_act(severity_class)
//set malfunctioning
if(emp_protection < 30) //for ninjas, really.
malfunctioning += 10
@@ -854,7 +854,7 @@
//possibly damage some modules
take_hit((100/severity_class), "electrical pulse", 1)
/obj/item/weapon/rig/proc/shock(mob/user)
/obj/item/rig/proc/shock(mob/user)
if(get_dist(src, user) <= 1) //Needs to be adjecant to the rig to get shocked.
if(electrocute_mob(user, cell, src)) //electrocute_mob() handles removing charge from the cell, no need to do that here.
spark_system.start()
@@ -862,7 +862,7 @@
return 1
return 0
/obj/item/weapon/rig/proc/take_hit(damage, source, is_emp=0)
/obj/item/rig/proc/take_hit(damage, source, is_emp=0)
if(!installed_modules.len)
return
@@ -908,7 +908,7 @@
to_chat(wearer, "<span class='warning'>The [source] has damaged your [dam_module.interface_name]!</span>")
dam_module.deactivate()
/obj/item/weapon/rig/proc/malfunction_check(var/mob/living/carbon/human/user)
/obj/item/rig/proc/malfunction_check(var/mob/living/carbon/human/user)
if(malfunction_delay)
if(offline)
to_chat(user, "<span class='danger'>The suit is completely unresponsive.</span>")
@@ -917,7 +917,7 @@
return 1
return 0
/obj/item/weapon/rig/proc/ai_can_move_suit(var/mob/user, var/check_user_module = 0, var/check_for_ai = 0)
/obj/item/rig/proc/ai_can_move_suit(var/mob/user, var/check_user_module = 0, var/check_for_ai = 0)
if(check_for_ai)
if(!(locate(/obj/item/rig_module/ai_container) in contents))
@@ -954,13 +954,13 @@
return 0
return 1
/obj/item/weapon/rig/proc/force_rest(var/mob/user)
/obj/item/rig/proc/force_rest(var/mob/user)
if(!ai_can_move_suit(user, check_user_module = 1))
return
wearer.lay_down()
to_chat(user, "<span class='notice'>\The [wearer] is now [wearer.resting ? "resting" : "getting up"].</span>")
/obj/item/weapon/rig/proc/forced_move(var/direction, var/mob/user)
/obj/item/rig/proc/forced_move(var/direction, var/mob/user)
// Why is all this shit in client/Move()? Who knows?
if(world.time < wearer_move_delay)
@@ -1013,24 +1013,24 @@
return loc.get_rig()
return null
/obj/item/weapon/rig/get_rig()
/obj/item/rig/get_rig()
return src
/mob/living/carbon/human/get_rig()
if(istype(back,/obj/item/weapon/rig))
if(istype(back,/obj/item/rig))
return back
else
return null
/obj/item/weapon/rig/proc/emergency_release()
/obj/item/rig/proc/emergency_release()
set name = "Suit Emergency Release"
set desc = "Activate the suits emergency release system."
set category = "Object"
set src in oview(1)
var/obj/item/weapon/rig/T = get_rig()
var/obj/item/rig/T = get_rig()
return T.do_emergency_release(usr)
/obj/item/weapon/rig/proc/do_emergency_release(var/mob/living/user)
/obj/item/rig/proc/do_emergency_release(var/mob/living/user)
if(!can_touch(user, wearer) || !has_emergency_release)
return can_touch(user,wearer)
usr.visible_message("<span class='warning'>[user] starts activating \the [src] emergency seals release!</span>")
@@ -1043,7 +1043,7 @@
unseal(user)
return 1
/obj/item/weapon/rig/proc/can_touch(var/mob/user, var/mob/wearer)
/obj/item/rig/proc/can_touch(var/mob/user, var/mob/wearer)
if(!user)
return 0
if(!wearer.Adjacent(user))
@@ -3,7 +3,7 @@
holder.update_armor() //New dammage, new armormultiplikator.
return damage
/obj/item/weapon/rig/proc/update_armor()
/obj/item/rig/proc/update_armor()
var/multi = 1 //Multiplicative modification to the armor, maybe add an additive later on
if(chest)
multi *= (100 - chest.damage) / 100 //If we have some breaches, lower the armor value.
@@ -1,4 +1,4 @@
/obj/item/weapon/rig/attackby(obj/item/W as obj, mob/user as mob)
/obj/item/rig/attackby(obj/item/W as obj, mob/user as mob)
if(!istype(user,/mob/living)) return 0
@@ -7,7 +7,7 @@
return
// Pass repair items on to the chestpiece.
if(chest && (istype(W,/obj/item/stack) || istype(W, /obj/item/weapon/weldingtool)))
if(chest && (istype(W,/obj/item/stack) || istype(W, /obj/item/weldingtool)))
return chest.attackby(W,user)
// Lock or unlock the access panel.
@@ -30,7 +30,7 @@
to_chat(user, "You [locked ? "lock" : "unlock"] \the [src] access panel.")
return
else if(istype(W,/obj/item/weapon/crowbar))
else if(istype(W,/obj/item/crowbar))
if(!open && locked)
to_chat(user, "The access panel is locked shut.")
@@ -43,14 +43,14 @@
if(open)
// Hacking.
if(istype(W,/obj/item/weapon/wirecutters) || istype(W,/obj/item/device/multitool))
if(istype(W,/obj/item/wirecutters) || istype(W,/obj/item/device/multitool))
if(open)
wires.Interact(user)
else
to_chat(user, "You can't reach the wiring.")
return
// Air tank.
if(istype(W,/obj/item/weapon/tank)) //Todo, some kind of check for suits without integrated air supplies.
if(istype(W,/obj/item/tank)) //Todo, some kind of check for suits without integrated air supplies.
if(air_supply)
to_chat(user, "\The [src] already has a tank installed.")
@@ -92,7 +92,7 @@
update_icon()
return 1
else if(!cell && istype(W,/obj/item/weapon/stock_parts/cell))
else if(!cell && istype(W,/obj/item/stock_parts/cell))
to_chat(user, "You jack \the [W] into \the [src]'s battery mount.")
user.unEquip(W)
@@ -100,7 +100,7 @@
src.cell = W
return
else if(istype(W,/obj/item/weapon/wrench))
else if(istype(W,/obj/item/wrench))
if(!air_supply)
to_chat(user, "There is not tank to remove.")
@@ -114,7 +114,7 @@
air_supply = null
return
else if(istype(W,/obj/item/weapon/screwdriver))
else if(istype(W,/obj/item/screwdriver))
var/list/current_mounts = list()
if(cell) current_mounts += "cell"
@@ -179,14 +179,14 @@
..()
/obj/item/weapon/rig/attack_hand(var/mob/user)
/obj/item/rig/attack_hand(var/mob/user)
if(electrified != 0)
if(shock(user)) //Handles removing charge from the cell, as well. No need to do that here.
return
..()
/obj/item/weapon/rig/emag_act(var/remaining_charges, var/mob/user)
/obj/item/rig/emag_act(var/remaining_charges, var/mob/user)
if(!subverted)
req_access.Cut()
req_one_access.Cut()
@@ -71,7 +71,7 @@
/obj/item/clothing/suit/space/new_rig
name = "chestpiece"
allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank)
allowed = list(/obj/item/device/flashlight,/obj/item/tank)
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
cold_protection = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
@@ -81,7 +81,7 @@
breach_threshold = 20
resilience = 0.2
can_breach = 1
var/obj/item/weapon/rig/holder
var/obj/item/rig/holder
sprite_sheets = list(
"Tajaran" = 'icons/mob/species/tajaran/suit.dmi',
"Unathi" = 'icons/mob/species/unathi/suit.dmi'
@@ -100,7 +100,7 @@
if(!istype(H) || !H.back)
return 0
var/obj/item/weapon/rig/suit = H.back
var/obj/item/rig/suit = H.back
if(!suit || !istype(suit) || !suit.installed_modules.len)
return 0
@@ -1,5 +1,5 @@
// Interface for humans.
/obj/item/weapon/rig/verb/hardsuit_interface()
/obj/item/rig/verb/hardsuit_interface()
set name = "Open Hardsuit Interface"
set desc = "Open the hardsuit system interface."
set category = "Hardsuit"
@@ -8,7 +8,7 @@
if(wearer && wearer.back == src)
ui_interact(usr)
/obj/item/weapon/rig/verb/toggle_vision()
/obj/item/rig/verb/toggle_vision()
set name = "Toggle Visor"
set desc = "Turns your rig visor off or on."
set category = "Hardsuit"
@@ -41,7 +41,7 @@
else
visor.deactivate()
/obj/item/weapon/rig/proc/toggle_helmet()
/obj/item/rig/proc/toggle_helmet()
set name = "Toggle Helmet"
set desc = "Deploys or retracts your helmet."
set category = "Hardsuit"
@@ -60,7 +60,7 @@
toggle_piece("helmet", usr)
/obj/item/weapon/rig/proc/toggle_chest()
/obj/item/rig/proc/toggle_chest()
set name = "Toggle Chestpiece"
set desc = "Deploys or retracts your chestpiece."
set category = "Hardsuit"
@@ -75,7 +75,7 @@
toggle_piece("chest", usr)
/obj/item/weapon/rig/proc/toggle_gauntlets()
/obj/item/rig/proc/toggle_gauntlets()
set name = "Toggle Gauntlets"
set desc = "Deploys or retracts your gauntlets."
set category = "Hardsuit"
@@ -94,7 +94,7 @@
toggle_piece("gauntlets", usr)
/obj/item/weapon/rig/proc/toggle_boots()
/obj/item/rig/proc/toggle_boots()
set name = "Toggle Boots"
set desc = "Deploys or retracts your boots."
set category = "Hardsuit"
@@ -113,7 +113,7 @@
toggle_piece("boots", usr)
/obj/item/weapon/rig/verb/deploy_suit()
/obj/item/rig/verb/deploy_suit()
set name = "Deploy Hardsuit"
set desc = "Deploys helmet, gloves and boots all at once."
set category = "Hardsuit"
@@ -135,7 +135,7 @@
deploy(wearer, usr)
/obj/item/weapon/rig/verb/toggle_seals_verb()
/obj/item/rig/verb/toggle_seals_verb()
set name = "Toggle Hardsuit Seals"
set desc = "Seals or unseals your rig."
set category = "Hardsuit"
@@ -157,7 +157,7 @@
else
seal(usr)
/obj/item/weapon/rig/verb/switch_vision_mode()
/obj/item/rig/verb/switch_vision_mode()
set name = "Switch Vision Mode"
set desc = "Switches between available vision modes."
set category = "Hardsuit"
@@ -190,7 +190,7 @@
visor.engage()
/obj/item/weapon/rig/verb/alter_voice()
/obj/item/rig/verb/alter_voice()
set name = "Configure Voice Synthesiser"
set desc = "Toggles or configures your voice synthesizer."
set category = "Hardsuit"
@@ -217,7 +217,7 @@
speech.engage()
/obj/item/weapon/rig/verb/select_module()
/obj/item/rig/verb/select_module()
set name = "Select Module"
set desc = "Selects a module as your primary system."
set category = "Hardsuit"
@@ -256,7 +256,7 @@
selected_module = module
to_chat(usr, "<font color='blue'><b>Primary system is now: [selected_module.interface_name].</b></font>")
/obj/item/weapon/rig/verb/toggle_module()
/obj/item/rig/verb/toggle_module()
set name = "Toggle Module"
set desc = "Toggle a system module."
set category = "Hardsuit"
@@ -297,7 +297,7 @@
to_chat(usr, "<font color='blue'><b>You attempt to activate \the [module.interface_name].</b></font>")
module.activate()
/obj/item/weapon/rig/verb/engage_module()
/obj/item/rig/verb/engage_module()
set name = "Engage Module"
set desc = "Engages a system module."
set category = "Hardsuit"
@@ -1,6 +1,6 @@
/datum/wires/rig
random = 1
holder_type = /obj/item/weapon/rig
holder_type = /obj/item/rig
wire_count = 5
#define RIG_SECURITY 1
@@ -17,7 +17,7 @@
/datum/wires/rig/UpdateCut(var/index, var/mended)
var/obj/item/weapon/rig/rig = holder
var/obj/item/rig/rig = holder
switch(index)
if(RIG_SECURITY)
if(mended)
@@ -29,7 +29,7 @@
/datum/wires/rig/UpdatePulsed(var/index)
var/obj/item/weapon/rig/rig = holder
var/obj/item/rig/rig = holder
switch(index)
if(RIG_SECURITY)
rig.security_check_enabled = !rig.security_check_enabled
@@ -64,7 +64,7 @@
return "Electrification"
/datum/wires/rig/CanUse(var/mob/living/L)
var/obj/item/weapon/rig/rig = holder
var/obj/item/rig/rig = holder
if(rig.open)
return 1
return 0
@@ -1,4 +1,4 @@
/obj/item/weapon/rig/unathi
/obj/item/rig/unathi
name = "NT breacher chassis control module"
desc = "A cheap NT knock-off of an Unathi battle-rig. Looks like a fish, moves like a fish, steers like a cow."
suit_type = "NT breacher"
@@ -15,7 +15,7 @@
glove_type = /obj/item/clothing/gloves/rig/unathi
boot_type = /obj/item/clothing/shoes/magboots/rig/unathi
/obj/item/weapon/rig/unathi/fancy
/obj/item/rig/unathi/fancy
name = "breacher chassis control module"
desc = "An authentic Unathi breacher chassis. Huge, bulky and absurdly heavy. It must be like wearing a tank."
suit_type = "breacher chassis"
@@ -1,6 +1,6 @@
/obj/item/clothing/head/helmet/space/new_rig/combat
/obj/item/weapon/rig/combat
/obj/item/rig/combat
name = "combat hardsuit control module"
desc = "A sleek and dangerous hardsuit for active combat."
icon_state = "security_rig"
@@ -11,10 +11,10 @@
offline_vision_restriction = 1
helm_type = /obj/item/clothing/head/helmet/space/new_rig/combat
allowed = list(/obj/item/weapon/gun,/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/weapon/melee/baton)
allowed = list(/obj/item/gun,/obj/item/device/flashlight,/obj/item/tank,/obj/item/melee/baton)
/obj/item/weapon/rig/combat/equipped
/obj/item/rig/combat/equipped
initial_modules = list(
@@ -1,6 +1,6 @@
/obj/item/clothing/head/helmet/space/new_rig/ert
/obj/item/weapon/rig/ert
/obj/item/rig/ert
name = "ERT-C hardsuit control module"
desc = "A suit worn by the commander of an Emergency Response Team. Has blue highlights. Armoured and space ready."
suit_type = "ERT commander"
@@ -11,10 +11,10 @@
req_access = list(access_cent_specops)
armor = list(melee = 45, bullet = 25, laser = 30, energy = 10, bomb = 25, bio = 100, rad = 50)
allowed = list(/obj/item/device/flashlight, /obj/item/weapon/tank, /obj/item/device/t_scanner, /obj/item/weapon/rcd, /obj/item/weapon/crowbar, \
/obj/item/weapon/screwdriver, /obj/item/weapon/weldingtool, /obj/item/weapon/wirecutters, /obj/item/weapon/wrench, /obj/item/device/multitool, \
/obj/item/device/radio, /obj/item/device/analyzer,/obj/item/weapon/storage/briefcase/inflatable, /obj/item/weapon/melee/baton, /obj/item/weapon/gun, \
/obj/item/weapon/storage/firstaid, /obj/item/weapon/reagent_containers/hypospray, /obj/item/roller)
allowed = list(/obj/item/device/flashlight, /obj/item/tank, /obj/item/device/t_scanner, /obj/item/rcd, /obj/item/crowbar, \
/obj/item/screwdriver, /obj/item/weldingtool, /obj/item/wirecutters, /obj/item/wrench, /obj/item/device/multitool, \
/obj/item/device/radio, /obj/item/device/analyzer,/obj/item/storage/briefcase/inflatable, /obj/item/melee/baton, /obj/item/gun, \
/obj/item/storage/firstaid, /obj/item/reagent_containers/hypospray, /obj/item/roller)
initial_modules = list(
/obj/item/rig_module/ai_container,
@@ -22,7 +22,7 @@
/obj/item/rig_module/datajack,
)
/obj/item/weapon/rig/ert/engineer
/obj/item/rig/ert/engineer
name = "ERT-E suit control module"
desc = "A suit worn by the engineering division of an Emergency Response Team. Has orange highlights. Armoured and space ready."
suit_type = "ERT engineer"
@@ -36,7 +36,7 @@
// /obj/item/rig_module/device/rcd
)
/obj/item/weapon/rig/ert/medical
/obj/item/rig/ert/medical
name = "ERT-M suit control module"
desc = "A suit worn by the medical division of an Emergency Response Team. Has white highlights. Armoured and space ready."
suit_type = "ERT medic"
@@ -49,7 +49,7 @@
/obj/item/rig_module/chem_dispenser/injector
)
/obj/item/weapon/rig/ert/security
/obj/item/rig/ert/security
name = "ERT-S suit control module"
desc = "A suit worn by the security division of an Emergency Response Team. Has red highlights. Armoured and space ready."
suit_type = "ERT security"
@@ -62,7 +62,7 @@
/obj/item/rig_module/mounted/egun,
)
/obj/item/weapon/rig/ert/assetprotection
/obj/item/rig/ert/assetprotection
name = "Heavy Asset Protection suit control module"
desc = "A heavy suit worn by the highest level of Asset Protection, don't mess with the person wearing this. Armoured and space ready."
suit_type = "heavy asset protection"
@@ -1,10 +1,10 @@
// Light rigs are not space-capable, but don't suffer excessive slowdown or sight issues when depowered.
/obj/item/weapon/rig/light
/obj/item/rig/light
name = "light suit control module"
desc = "A lighter, less armoured rig suit."
icon_state = "ninja_rig"
suit_type = "light suit"
allowed = list(/obj/item/weapon/gun,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/tank,/obj/item/weapon/stock_parts/cell)
allowed = list(/obj/item/gun,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/restraints/handcuffs,/obj/item/tank,/obj/item/stock_parts/cell)
emp_protection = 10
active_slowdown = 0
flags = STOPSPRESSUREDMAGE | THICKMATERIAL
@@ -29,7 +29,7 @@
/obj/item/clothing/head/helmet/space/new_rig/light
name = "hood"
/obj/item/weapon/rig/light/hacker
/obj/item/rig/light/hacker
name = "cybersuit control module"
suit_type = "cyber"
desc = "An advanced powered armour suit with many cyberwarfare enhancements. Comes with built-in insulated gloves for safely tampering with electronics."
@@ -70,7 +70,7 @@
/obj/item/clothing/gloves/lightrig/hacker
siemens_coefficient = 0
/obj/item/weapon/rig/light/ninja
/obj/item/rig/light/ninja
name = "ominous suit control module"
suit_type = "ominous"
desc = "A unique, vaccum-proof suit of nano-enhanced armor designed specifically for Spider Clan assassins."
@@ -106,7 +106,7 @@
/obj/item/clothing/suit/space/new_rig/light/ninja
breach_threshold = 38 //comparable to regular hardsuits
/obj/item/weapon/rig/light/stealth
/obj/item/rig/light/stealth
name = "stealth suit control module"
suit_type = "stealth"
desc = "A highly advanced and expensive suit designed for covert operations."
@@ -1,6 +1,6 @@
/obj/item/clothing/head/helmet/space/new_rig/merc
/obj/item/weapon/rig/merc
/obj/item/rig/merc
name = "crimson hardsuit control module"
desc = "A blood-red hardsuit featuring some fairly illegal technology."
icon_state = "merc_rig"
@@ -11,7 +11,7 @@
offline_vision_restriction = 1
helm_type = /obj/item/clothing/head/helmet/space/new_rig/merc
allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/weapon/gun,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword,/obj/item/weapon/restraints/handcuffs)
allowed = list(/obj/item/device/flashlight,/obj/item/tank,/obj/item/gun,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/melee/energy/sword,/obj/item/restraints/handcuffs)
initial_modules = list(
/obj/item/rig_module/mounted,
@@ -25,7 +25,7 @@
)
//Has most of the modules removed
/obj/item/weapon/rig/merc/empty
/obj/item/rig/merc/empty
initial_modules = list(
/obj/item/rig_module/ai_container,
/obj/item/rig_module/electrowarfare_suite, //might as well
@@ -10,7 +10,7 @@
/obj/item/clothing/head/helmet/space/new_rig/hazard
/obj/item/weapon/rig/internalaffairs
/obj/item/rig/internalaffairs
name = "augmented tie"
suit_type = "augmented suit"
desc = "Prepare for paperwork."
@@ -21,7 +21,7 @@
offline_slowdown = 0
offline_vision_restriction = 0
allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/weapon/storage/briefcase,/obj/item/weapon/storage/secure/briefcase)
allowed = list(/obj/item/device/flashlight,/obj/item/tank,/obj/item/storage/briefcase,/obj/item/storage/secure/briefcase)
req_access = list()
req_one_access = list()
@@ -30,7 +30,7 @@
helm_type = null
boot_type = null
/obj/item/weapon/rig/internalaffairs/equipped
/obj/item/rig/internalaffairs/equipped
req_access = list(access_lawyer)
@@ -46,7 +46,7 @@
helm_type = null
boot_type = null
/obj/item/weapon/rig/industrial
/obj/item/rig/industrial
name = "industrial suit control module"
suit_type = "industrial hardsuit"
desc = "A heavy, powerful rig used by construction crews and mining corporations."
@@ -59,13 +59,13 @@
helm_type = /obj/item/clothing/head/helmet/space/new_rig/industrial
allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/weapon/storage/bag/ore,/obj/item/device/t_scanner,/obj/item/weapon/pickaxe, /obj/item/weapon/rcd)
allowed = list(/obj/item/device/flashlight,/obj/item/tank,/obj/item/storage/bag/ore,/obj/item/device/t_scanner,/obj/item/pickaxe, /obj/item/rcd)
req_access = list()
req_one_access = list()
/obj/item/weapon/rig/industrial/equipped
/obj/item/rig/industrial/equipped
initial_modules = list(
/obj/item/rig_module/device/plasmacutter,
@@ -75,7 +75,7 @@
/obj/item/rig_module/vision/meson
)
/obj/item/weapon/rig/eva
/obj/item/rig/eva
name = "EVA suit control module"
suit_type = "EVA hardsuit"
desc = "A light rig for repairs and maintenance to the outside of habitats and vessels."
@@ -86,12 +86,12 @@
helm_type = /obj/item/clothing/head/helmet/space/new_rig/eva
allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/weapon/storage/toolbox,/obj/item/weapon/storage/briefcase/inflatable,/obj/item/device/t_scanner,/obj/item/weapon/rcd)
allowed = list(/obj/item/device/flashlight,/obj/item/tank,/obj/item/storage/toolbox,/obj/item/storage/briefcase/inflatable,/obj/item/device/t_scanner,/obj/item/rcd)
req_access = list()
req_one_access = list()
/obj/item/weapon/rig/eva/equipped
/obj/item/rig/eva/equipped
initial_modules = list(
/obj/item/rig_module/device/plasmacutter,
@@ -101,7 +101,7 @@
)
//Chief Engineer's rig. This is sort of a halfway point between the old hardsuits (voidsuits) and the rig class.
/obj/item/weapon/rig/ce
/obj/item/rig/ce
name = "advanced voidsuit control module"
suit_type = "advanced voidsuit"
@@ -114,7 +114,7 @@
helm_type = /obj/item/clothing/head/helmet/space/new_rig/ce
allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/weapon/storage/bag/ore,/obj/item/device/t_scanner,/obj/item/weapon/pickaxe, /obj/item/weapon/rcd)
allowed = list(/obj/item/device/flashlight,/obj/item/tank,/obj/item/storage/bag/ore,/obj/item/device/t_scanner,/obj/item/pickaxe, /obj/item/rcd)
req_access = list()
@@ -123,7 +123,7 @@
boot_type = null
glove_type = null
/obj/item/weapon/rig/ce/equipped
/obj/item/rig/ce/equipped
req_access = list(access_ce)
@@ -143,7 +143,7 @@
heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
/obj/item/weapon/rig/hazmat
/obj/item/rig/hazmat
name = "AMI control module"
suit_type = "hazmat hardsuit"
@@ -156,12 +156,12 @@
helm_type = /obj/item/clothing/head/helmet/space/new_rig/ert
allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/weapon/pickaxe,/obj/item/device/healthanalyzer,/obj/item/device/gps,/obj/item/device/radio/beacon)
allowed = list(/obj/item/device/flashlight,/obj/item/tank,/obj/item/pickaxe,/obj/item/device/healthanalyzer,/obj/item/device/gps,/obj/item/device/radio/beacon)
req_access = list()
req_one_access = list()
/obj/item/weapon/rig/hazmat/equipped
/obj/item/rig/hazmat/equipped
req_access = list(access_rd)
@@ -169,7 +169,7 @@
/obj/item/rig_module/ai_container,
/obj/item/rig_module/maneuvering_jets)
/obj/item/weapon/rig/medical
/obj/item/rig/medical
name = "rescue suit control module"
suit_type = "rescue hardsuit"
@@ -181,12 +181,12 @@
helm_type = /obj/item/clothing/head/helmet/space/new_rig/medical
allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/weapon/storage/firstaid,/obj/item/device/healthanalyzer,/obj/item/stack/medical,/obj/item/roller )
allowed = list(/obj/item/device/flashlight,/obj/item/tank,/obj/item/storage/firstaid,/obj/item/device/healthanalyzer,/obj/item/stack/medical,/obj/item/roller )
req_access = list()
req_one_access = list()
/obj/item/weapon/rig/medical/equipped
/obj/item/rig/medical/equipped
initial_modules = list(
/obj/item/rig_module/chem_dispenser/injector,
@@ -195,7 +195,7 @@
/obj/item/rig_module/vision/medhud
)
/obj/item/weapon/rig/hazard
/obj/item/rig/hazard
name = "hazard hardsuit control module"
suit_type = "hazard hardsuit"
desc = "A Security hardsuit designed for prolonged EVA in dangerous environments."
@@ -207,13 +207,13 @@
helm_type = /obj/item/clothing/head/helmet/space/new_rig/hazard
allowed = list(/obj/item/weapon/gun,/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/weapon/melee/baton)
allowed = list(/obj/item/gun,/obj/item/device/flashlight,/obj/item/tank,/obj/item/melee/baton)
req_access = list()
req_one_access = list()
/obj/item/weapon/rig/hazard/equipped
/obj/item/rig/hazard/equipped
initial_modules = list(
/obj/item/rig_module/vision/sechud,
+1 -1
View File
@@ -13,7 +13,7 @@
item_state = "space_suit_syndicate"
desc = "Has a tag on it: Totally not property of a hostile corporation, honest!"
w_class = WEIGHT_CLASS_NORMAL
allowed = list(/obj/item/weapon/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword/saber,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/tank)
allowed = list(/obj/item/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/melee/energy/sword/saber,/obj/item/restraints/handcuffs,/obj/item/tank)
armor = list(melee = 40, bullet = 50, laser = 30, energy = 15, bomb = 30, bio = 30, rad = 30)
+2 -2
View File
@@ -12,7 +12,7 @@
icon_state = "void-red"
item_state = "void"
desc = "A high tech, NASA Centcom branch designed space suit. Used for AI satellite maintenance."
allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/multitool)
allowed = list(/obj/item/device/flashlight,/obj/item/tank,/obj/item/device/multitool)
//Colors!!!
/obj/item/clothing/head/helmet/space/nasavoid/green
@@ -71,7 +71,7 @@
icon_state = "void-syndi"
desc = "A high tech, NASA Centcom branch designed space suit. This one looks rather suspicious."
w_class = WEIGHT_CLASS_NORMAL
allowed = list(/obj/item/weapon/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword/saber,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/tank)
allowed = list(/obj/item/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/melee/energy/sword/saber,/obj/item/restraints/handcuffs,/obj/item/tank)
armor = list(melee = 40, bullet = 50, laser = 30, energy = 15, bomb = 30, bio = 30, rad = 30)
//random spawner
+4 -4
View File
@@ -1,5 +1,5 @@
/obj/item/clothing/suit/armor
allowed = list(/obj/item/weapon/gun/energy,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/weapon/gun/projectile,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs,/obj/item/device/flashlight/seclite,/obj/item/weapon/melee/classic_baton/telescopic,/obj/item/weapon/kitchen/knife/combat)
allowed = list(/obj/item/gun/energy,/obj/item/reagent_containers/spray/pepper,/obj/item/gun/projectile,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/restraints/handcuffs,/obj/item/device/flashlight/seclite,/obj/item/melee/classic_baton/telescopic,/obj/item/kitchen/knife/combat)
body_parts_covered = UPPER_TORSO|LOWER_TORSO
cold_protection = UPPER_TORSO|LOWER_TORSO
min_cold_protection_temperature = ARMOR_MIN_TEMP_PROTECT
@@ -208,7 +208,7 @@
desc = "God wills it!"
icon_state = "knight_templar"
item_state = "knight_templar"
allowed = list(/obj/item/weapon/nullrod/claymore)
allowed = list(/obj/item/nullrod/claymore)
armor = list(melee = 25, bullet = 5, laser = 5, energy = 5, bomb = 0, bio = 0, rad = 0)
/obj/item/clothing/suit/armor/bulletproof
@@ -243,7 +243,7 @@
item_state = "armor"
blood_overlay_type = "armor"
flags_size = ONESIZEFITSALL
allowed = list(/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/device/flashlight,/obj/item/weapon/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/lighter,/obj/item/device/detective_scanner,/obj/item/device/taperecorder)
allowed = list(/obj/item/tank/emergency_oxygen,/obj/item/reagent_containers/spray/pepper,/obj/item/device/flashlight,/obj/item/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/restraints/handcuffs,/obj/item/storage/fancy/cigarettes,/obj/item/lighter,/obj/item/device/detective_scanner,/obj/item/device/taperecorder)
burn_state = FLAMMABLE
//Reactive armor
@@ -378,7 +378,7 @@
item_state = "centcom"
w_class = WEIGHT_CLASS_BULKY
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
allowed = list(/obj/item/weapon/gun/energy,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/tank/emergency_oxygen)
allowed = list(/obj/item/gun/energy,/obj/item/melee/baton,/obj/item/restraints/handcuffs,/obj/item/tank/emergency_oxygen)
flags = THICKMATERIAL
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS
+1 -1
View File
@@ -22,7 +22,7 @@
flags_size = ONESIZEFITSALL
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
slowdown = 1
allowed = list(/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/pen,/obj/item/device/flashlight/pen)
allowed = list(/obj/item/tank/emergency_oxygen,/obj/item/pen,/obj/item/device/flashlight/pen)
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 100, rad = 20)
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL
strip_delay = 70
+17 -17
View File
@@ -7,8 +7,8 @@
desc = "A hazard vest used in the recovery of bodies."
icon_state = "paramedic-vest"
item_state = "paramedic-vest"
allowed = list(/obj/item/stack/medical, /obj/item/weapon/reagent_containers/dropper, /obj/item/weapon/reagent_containers/hypospray, /obj/item/weapon/reagent_containers/syringe, \
/obj/item/device/healthanalyzer, /obj/item/device/flashlight, /obj/item/device/radio, /obj/item/weapon/tank/emergency_oxygen,/obj/item/device/rad_laser)
allowed = list(/obj/item/stack/medical, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/hypospray, /obj/item/reagent_containers/syringe, \
/obj/item/device/healthanalyzer, /obj/item/device/flashlight, /obj/item/device/radio, /obj/item/tank/emergency_oxygen,/obj/item/device/rad_laser)
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 10, rad = 10)
species_fit = list("Vox")
sprite_sheets = list(
@@ -21,9 +21,9 @@
desc = "A vest often worn by doctors caring for inmates."
icon_state = "brigphysician-vest"
item_state = "brigphysician-vest"
allowed = list(/obj/item/stack/medical, /obj/item/weapon/reagent_containers/dropper, /obj/item/weapon/reagent_containers/hypospray, /obj/item/weapon/reagent_containers/syringe, \
allowed = list(/obj/item/stack/medical, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/hypospray, /obj/item/reagent_containers/syringe, \
/obj/item/device/healthanalyzer, /obj/item/device/flashlight, \
/obj/item/device/radio, /obj/item/weapon/tank/emergency_oxygen,/obj/item/device/rad_laser)
/obj/item/device/radio, /obj/item/tank/emergency_oxygen,/obj/item/device/rad_laser)
armor = list(melee = 10, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 10, rad = 0)
species_fit = list("Vox")
sprite_sheets = list(
@@ -38,7 +38,7 @@
item_state = "apron"
blood_overlay_type = "armor"
body_parts_covered = UPPER_TORSO|LOWER_TORSO
allowed = list(/obj/item/weapon/reagent_containers/spray/plantbgone,/obj/item/device/plant_analyzer,/obj/item/seeds,/obj/item/weapon/reagent_containers/glass/bottle, /obj/item/weapon/reagent_containers/glass/beaker, /obj/item/weapon/cultivator,/obj/item/weapon/reagent_containers/spray/pestspray,/obj/item/weapon/hatchet,/obj/item/weapon/storage/bag/plants)
allowed = list(/obj/item/reagent_containers/spray/plantbgone,/obj/item/device/plant_analyzer,/obj/item/seeds,/obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/glass/beaker, /obj/item/cultivator,/obj/item/reagent_containers/spray/pestspray,/obj/item/hatchet,/obj/item/storage/bag/plants)
species_fit = list("Vox")
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/suit.dmi'
@@ -53,7 +53,7 @@
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
flags_inv = HIDEJUMPSUIT
flags_size = ONESIZEFITSALL
allowed = list(/obj/item/weapon/disk, /obj/item/weapon/stamp, /obj/item/weapon/reagent_containers/food/drinks/flask, /obj/item/weapon/melee, /obj/item/weapon/storage/lockbox/medal, /obj/item/device/flash, /obj/item/weapon/storage/box/matches, /obj/item/weapon/lighter, /obj/item/clothing/mask/cigarette, /obj/item/weapon/storage/fancy/cigarettes, /obj/item/weapon/tank/emergency_oxygen)
allowed = list(/obj/item/disk, /obj/item/stamp, /obj/item/reagent_containers/food/drinks/flask, /obj/item/melee, /obj/item/storage/lockbox/medal, /obj/item/device/flash, /obj/item/storage/box/matches, /obj/item/lighter, /obj/item/clothing/mask/cigarette, /obj/item/storage/fancy/cigarettes, /obj/item/tank/emergency_oxygen)
species_fit = list("Vox")
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/suit.dmi'
@@ -80,7 +80,7 @@
item_state = "chaplain_hoodie"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
hoodtype = /obj/item/clothing/head/chaplain_hood
allowed = list(/obj/item/weapon/storage/bible, /obj/item/weapon/nullrod, /obj/item/weapon/reagent_containers/food/drinks/bottle/holywater, /obj/item/weapon/storage/fancy/candle_box, /obj/item/candle, /obj/item/weapon/tank/emergency_oxygen)
allowed = list(/obj/item/storage/bible, /obj/item/nullrod, /obj/item/reagent_containers/food/drinks/bottle/holywater, /obj/item/storage/fancy/candle_box, /obj/item/candle, /obj/item/tank/emergency_oxygen)
species_fit = list("Vox")
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/suit.dmi'
@@ -95,7 +95,7 @@
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS|HANDS
flags_inv = HIDESHOES|HIDEJUMPSUIT
hoodtype = /obj/item/clothing/head/nun_hood
allowed = list(/obj/item/weapon/storage/bible, /obj/item/weapon/nullrod, /obj/item/weapon/reagent_containers/food/drinks/bottle/holywater, /obj/item/weapon/storage/fancy/candle_box, /obj/item/candle, /obj/item/weapon/tank/emergency_oxygen)
allowed = list(/obj/item/storage/bible, /obj/item/nullrod, /obj/item/reagent_containers/food/drinks/bottle/holywater, /obj/item/storage/fancy/candle_box, /obj/item/candle, /obj/item/tank/emergency_oxygen)
species_fit = list("Vox")
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/suit.dmi'
@@ -110,7 +110,7 @@
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS|HANDS
flags_inv = HIDESHOES|HIDEJUMPSUIT
hoodtype = /obj/item/clothing/head/monk_hood
allowed = list(/obj/item/weapon/storage/bible, /obj/item/weapon/nullrod, /obj/item/weapon/reagent_containers/food/drinks/bottle/holywater, /obj/item/weapon/storage/fancy/candle_box, /obj/item/candle, /obj/item/weapon/tank/emergency_oxygen)
allowed = list(/obj/item/storage/bible, /obj/item/nullrod, /obj/item/reagent_containers/food/drinks/bottle/holywater, /obj/item/storage/fancy/candle_box, /obj/item/candle, /obj/item/tank/emergency_oxygen)
/obj/item/clothing/suit/witchhunter
name = "witchhunter garb"
@@ -118,7 +118,7 @@
icon_state = "witchhunter"
item_state = "witchhunter"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
allowed = list(/obj/item/weapon/storage/bible, /obj/item/weapon/nullrod, /obj/item/weapon/reagent_containers/food/drinks/bottle/holywater, /obj/item/weapon/storage/fancy/candle_box, /obj/item/candle, /obj/item/weapon/tank/emergency_oxygen)
allowed = list(/obj/item/storage/bible, /obj/item/nullrod, /obj/item/reagent_containers/food/drinks/bottle/holywater, /obj/item/storage/fancy/candle_box, /obj/item/candle, /obj/item/tank/emergency_oxygen)
//Chef
@@ -135,7 +135,7 @@
gas_transfer_coefficient = 0.90
permeability_coefficient = 0.50
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
allowed = list (/obj/item/weapon/kitchen/knife)
allowed = list (/obj/item/kitchen/knife)
species_fit = list("Vox")
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/suit.dmi'
@@ -149,7 +149,7 @@
item_state = "apronchef"
blood_overlay_type = "armor"
body_parts_covered = UPPER_TORSO|LOWER_TORSO
allowed = list(/obj/item/weapon/kitchen/knife)
allowed = list(/obj/item/kitchen/knife)
//Detective
/obj/item/clothing/suit/storage/det_suit
@@ -159,7 +159,7 @@
item_state = "det_suit"
blood_overlay_type = "coat"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
allowed = list(/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/device/flashlight,/obj/item/weapon/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/lighter,/obj/item/device/detective_scanner,/obj/item/device/taperecorder)
allowed = list(/obj/item/tank/emergency_oxygen,/obj/item/reagent_containers/spray/pepper,/obj/item/device/flashlight,/obj/item/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/restraints/handcuffs,/obj/item/storage/fancy/cigarettes,/obj/item/lighter,/obj/item/device/detective_scanner,/obj/item/device/taperecorder)
armor = list(melee = 25, bullet = 10, laser = 25, energy = 10, bomb = 0, bio = 0, rad = 0)
cold_protection = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
@@ -196,7 +196,7 @@
item_state = "blueshieldcoat"
blood_overlay_type = "coat"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
allowed = list(/obj/item/weapon/gun/energy,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/weapon/gun/projectile,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs,/obj/item/device/flashlight/seclite,/obj/item/weapon/melee/classic_baton/telescopic)
allowed = list(/obj/item/gun/energy,/obj/item/reagent_containers/spray/pepper,/obj/item/gun/projectile,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/restraints/handcuffs,/obj/item/device/flashlight/seclite,/obj/item/melee/classic_baton/telescopic)
armor = list(melee = 25, bullet = 10, laser = 25, energy = 10, bomb = 0, bio = 0, rad = 0)
cold_protection = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
@@ -213,7 +213,7 @@
icon_state = "hazard"
item_state = "hazard"
blood_overlay_type = "armor"
allowed = list (/obj/item/device/flashlight, /obj/item/device/t_scanner, /obj/item/weapon/tank/emergency_oxygen)
allowed = list (/obj/item/device/flashlight, /obj/item/device/t_scanner, /obj/item/tank/emergency_oxygen)
burn_state = FIRE_PROOF
species_fit = list("Vox")
sprite_sheets = list(
@@ -298,8 +298,8 @@
icon_state = "fr_jacket_open"
item_state = "fr_jacket_open"
blood_overlay_type = "armor"
allowed = list(/obj/item/stack/medical, /obj/item/weapon/reagent_containers/dropper, /obj/item/weapon/reagent_containers/hypospray, /obj/item/weapon/reagent_containers/syringe, \
/obj/item/device/healthanalyzer, /obj/item/device/flashlight, /obj/item/device/radio, /obj/item/weapon/tank/emergency_oxygen,/obj/item/device/rad_laser)
allowed = list(/obj/item/stack/medical, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/hypospray, /obj/item/reagent_containers/syringe, \
/obj/item/device/healthanalyzer, /obj/item/device/flashlight, /obj/item/device/radio, /obj/item/tank/emergency_oxygen,/obj/item/device/rad_laser)
ignore_suitadjust = 0
suit_adjusted = 1
actions_types = list(/datum/action/item_action/button)
+1 -1
View File
@@ -7,7 +7,7 @@
suit_adjusted = 1
blood_overlay_type = "coat"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
allowed = list(/obj/item/device/analyzer,/obj/item/stack/medical,/obj/item/weapon/dnainjector,/obj/item/weapon/reagent_containers/dropper,/obj/item/weapon/reagent_containers/syringe,/obj/item/weapon/reagent_containers/hypospray,/obj/item/device/healthanalyzer,/obj/item/device/flashlight/pen,/obj/item/weapon/reagent_containers/glass/bottle,/obj/item/weapon/reagent_containers/glass/beaker,/obj/item/weapon/reagent_containers/food/pill,/obj/item/weapon/storage/pill_bottle,/obj/item/weapon/paper,/obj/item/device/rad_laser)
allowed = list(/obj/item/device/analyzer,/obj/item/stack/medical,/obj/item/dnainjector,/obj/item/reagent_containers/dropper,/obj/item/reagent_containers/syringe,/obj/item/reagent_containers/hypospray,/obj/item/device/healthanalyzer,/obj/item/device/flashlight/pen,/obj/item/reagent_containers/glass/bottle,/obj/item/reagent_containers/glass/beaker,/obj/item/reagent_containers/food/pill,/obj/item/storage/pill_bottle,/obj/item/paper,/obj/item/device/rad_laser)
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 50, rad = 0)
species_fit = list("Vox","Grey")
sprite_sheets = list(
+23 -23
View File
@@ -16,7 +16,7 @@
item_state = "bluetag"
blood_overlay_type = "armor"
body_parts_covered = UPPER_TORSO|LOWER_TORSO
allowed = list (/obj/item/weapon/gun/energy/laser/bluetag)
allowed = list (/obj/item/gun/energy/laser/bluetag)
burn_state = FIRE_PROOF
species_fit = list("Vox")
sprite_sheets = list(
@@ -30,7 +30,7 @@
item_state = "redtag"
blood_overlay_type = "armor"
body_parts_covered = UPPER_TORSO|LOWER_TORSO
allowed = list (/obj/item/weapon/gun/energy/laser/redtag)
allowed = list (/obj/item/gun/energy/laser/redtag)
burn_state = FIRE_PROOF
species_fit = list("Vox")
sprite_sheets = list(
@@ -106,7 +106,7 @@
icon_state = "judge"
item_state = "judge"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
allowed = list(/obj/item/weapon/storage/fancy/cigarettes,/obj/item/stack/spacecash)
allowed = list(/obj/item/storage/fancy/cigarettes,/obj/item/stack/spacecash)
flags_inv = HIDEJUMPSUIT
@@ -136,7 +136,7 @@
item_state = "syndicate-black-red"
desc = "A plastic replica of the syndicate space suit, you'll look just like a real murderous syndicate agent in this! This is a toy, it is not made for use in space!"
w_class = WEIGHT_CLASS_NORMAL
allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/emergency_oxygen,/obj/item/toy)
allowed = list(/obj/item/device/flashlight,/obj/item/tank/emergency_oxygen,/obj/item/toy)
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
burn_state = FIRE_PROOF
@@ -157,7 +157,7 @@
item_state = "imperium_monk"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
flags_inv = HIDESHOES|HIDEJUMPSUIT
allowed = list(/obj/item/weapon/storage/bible, /obj/item/weapon/nullrod, /obj/item/weapon/reagent_containers/food/drinks/bottle/holywater, /obj/item/weapon/storage/fancy/candle_box, /obj/item/candle, /obj/item/weapon/tank/emergency_oxygen)
allowed = list(/obj/item/storage/bible, /obj/item/nullrod, /obj/item/reagent_containers/food/drinks/bottle/holywater, /obj/item/storage/fancy/candle_box, /obj/item/candle, /obj/item/tank/emergency_oxygen)
/obj/item/clothing/suit/chickensuit
name = "chicken suit"
@@ -219,7 +219,7 @@
item_state = "holidaypriest"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
flags_inv = HIDEJUMPSUIT
allowed = list(/obj/item/weapon/storage/bible, /obj/item/weapon/nullrod, /obj/item/weapon/reagent_containers/food/drinks/bottle/holywater, /obj/item/weapon/storage/fancy/candle_box, /obj/item/candle, /obj/item/weapon/tank/emergency_oxygen)
allowed = list(/obj/item/storage/bible, /obj/item/nullrod, /obj/item/reagent_containers/food/drinks/bottle/holywater, /obj/item/storage/fancy/candle_box, /obj/item/candle, /obj/item/tank/emergency_oxygen)
/obj/item/clothing/suit/cardborg
name = "cardborg suit"
@@ -294,7 +294,7 @@
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
cold_protection = UPPER_TORSO|LOWER_TORSO|ARMS
min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT //Space carp like space, so you should too
allowed = list(/obj/item/weapon/tank/emergency_oxygen)
allowed = list(/obj/item/tank/emergency_oxygen)
hoodtype = /obj/item/clothing/head/hooded/carp_hood
/obj/item/clothing/head/hooded/carp_hood
@@ -344,7 +344,7 @@
cold_protection = UPPER_TORSO|LOWER_TORSO|ARMS
min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 10, rad = 0)
allowed = list(/obj/item/device/flashlight, /obj/item/weapon/tank/emergency_oxygen, /obj/item/toy, /obj/item/weapon/storage/fancy/cigarettes, /obj/item/weapon/lighter)
allowed = list(/obj/item/device/flashlight, /obj/item/tank/emergency_oxygen, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter)
species_fit = list("Vox")
sprite_sheets = list("Vox" = 'icons/mob/species/vox/suit.dmi')
@@ -364,7 +364,7 @@
name = "captain's winter coat"
icon_state = "wintercoat_captain"
armor = list(melee = 25, bullet = 30, laser = 30, energy = 10, bomb = 25, bio = 0, rad = 0)
allowed = list(/obj/item/weapon/gun/energy, /obj/item/weapon/reagent_containers/spray/pepper, /obj/item/weapon/gun/projectile, /obj/item/ammo_box,/obj/item/ammo_casing, /obj/item/weapon/melee/baton, /obj/item/weapon/restraints/handcuffs, /obj/item/device/flashlight/seclite, /obj/item/weapon/melee/classic_baton/telescopic)
allowed = list(/obj/item/gun/energy, /obj/item/reagent_containers/spray/pepper, /obj/item/gun/projectile, /obj/item/ammo_box,/obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/device/flashlight/seclite, /obj/item/melee/classic_baton/telescopic)
hoodtype = /obj/item/clothing/head/winterhood/captain
/obj/item/clothing/head/winterhood/captain
@@ -374,7 +374,7 @@
name = "security winter coat"
icon_state = "wintercoat_sec"
armor = list(melee = 10, bullet = 10, laser = 10, energy = 5, bomb = 15, bio = 0, rad = 0)
allowed = list(/obj/item/weapon/gun/energy, /obj/item/weapon/reagent_containers/spray/pepper, /obj/item/weapon/gun/projectile, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/weapon/melee/baton, /obj/item/weapon/restraints/handcuffs, /obj/item/device/flashlight/seclite, /obj/item/weapon/melee/classic_baton/telescopic)
allowed = list(/obj/item/gun/energy, /obj/item/reagent_containers/spray/pepper, /obj/item/gun/projectile, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/device/flashlight/seclite, /obj/item/melee/classic_baton/telescopic)
hoodtype = /obj/item/clothing/head/winterhood/security
/obj/item/clothing/head/winterhood/security
@@ -383,7 +383,7 @@
/obj/item/clothing/suit/hooded/wintercoat/medical
name = "medical winter coat"
icon_state = "wintercoat_med"
allowed = list(/obj/item/device/analyzer, /obj/item/weapon/dnainjector, /obj/item/weapon/reagent_containers/dropper, /obj/item/weapon/reagent_containers/syringe, /obj/item/weapon/reagent_containers/hypospray, /obj/item/device/healthanalyzer,/obj/item/device/flashlight/pen, /obj/item/weapon/reagent_containers/glass/bottle, /obj/item/weapon/reagent_containers/glass/beaker, /obj/item/weapon/storage/pill_bottle, /obj/item/weapon/paper, /obj/item/weapon/melee/classic_baton/telescopic)
allowed = list(/obj/item/device/analyzer, /obj/item/dnainjector, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray, /obj/item/device/healthanalyzer,/obj/item/device/flashlight/pen, /obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/glass/beaker, /obj/item/storage/pill_bottle, /obj/item/paper, /obj/item/melee/classic_baton/telescopic)
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 50, rad = 0)
hoodtype = /obj/item/clothing/head/winterhood/medical
@@ -393,7 +393,7 @@
/obj/item/clothing/suit/hooded/wintercoat/science
name = "science winter coat"
icon_state = "wintercoat_sci"
allowed = list(/obj/item/device/analyzer, /obj/item/stack/medical, /obj/item/weapon/dnainjector, /obj/item/weapon/reagent_containers/dropper, /obj/item/weapon/reagent_containers/syringe, /obj/item/weapon/reagent_containers/hypospray, /obj/item/device/healthanalyzer,/obj/item/device/flashlight/pen, /obj/item/weapon/reagent_containers/glass/bottle, /obj/item/weapon/reagent_containers/glass/beaker, /obj/item/weapon/storage/pill_bottle, /obj/item/weapon/paper, /obj/item/weapon/melee/classic_baton/telescopic)
allowed = list(/obj/item/device/analyzer, /obj/item/stack/medical, /obj/item/dnainjector, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray, /obj/item/device/healthanalyzer,/obj/item/device/flashlight/pen, /obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/glass/beaker, /obj/item/storage/pill_bottle, /obj/item/paper, /obj/item/melee/classic_baton/telescopic)
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 10, bio = 0, rad = 0)
hoodtype = /obj/item/clothing/head/winterhood/science
@@ -404,7 +404,7 @@
name = "engineering winter coat"
icon_state = "wintercoat_engi"
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 20)
allowed = list(/obj/item/device/flashlight, /obj/item/weapon/tank/emergency_oxygen, /obj/item/device/t_scanner, /obj/item/weapon/rcd)
allowed = list(/obj/item/device/flashlight, /obj/item/tank/emergency_oxygen, /obj/item/device/t_scanner, /obj/item/rcd)
hoodtype = /obj/item/clothing/head/winterhood/engineering
/obj/item/clothing/head/winterhood/engineering
@@ -421,7 +421,7 @@
/obj/item/clothing/suit/hooded/wintercoat/hydro
name = "hydroponics winter coat"
icon_state = "wintercoat_hydro"
allowed = list(/obj/item/weapon/reagent_containers/spray, /obj/item/device/plant_analyzer, /obj/item/seeds, /obj/item/weapon/reagent_containers/glass/bottle, /obj/item/weapon/hatchet, /obj/item/weapon/storage/bag/plants)
allowed = list(/obj/item/reagent_containers/spray, /obj/item/device/plant_analyzer, /obj/item/seeds, /obj/item/reagent_containers/glass/bottle, /obj/item/hatchet, /obj/item/storage/bag/plants)
hoodtype = /obj/item/clothing/head/winterhood/hydro
/obj/item/clothing/head/winterhood/hydro
@@ -438,7 +438,7 @@
/obj/item/clothing/suit/hooded/wintercoat/miner
name = "mining winter coat"
icon_state = "wintercoat_miner"
allowed = list(/obj/item/weapon/pickaxe, /obj/item/device/flashlight, /obj/item/weapon/tank/emergency_oxygen, /obj/item/toy, /obj/item/weapon/storage/fancy/cigarettes, /obj/item/weapon/lighter)
allowed = list(/obj/item/pickaxe, /obj/item/device/flashlight, /obj/item/tank/emergency_oxygen, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter)
armor = list(melee = 10, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0)
hoodtype = /obj/item/clothing/head/winterhood/miner
@@ -457,7 +457,7 @@
icon_state = "black_hoodie"
item_state = "blueshieldcoat"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
allowed = list(/obj/item/device/flashlight, /obj/item/weapon/tank/emergency_oxygen)
allowed = list(/obj/item/device/flashlight, /obj/item/tank/emergency_oxygen)
hoodtype = /obj/item/clothing/head/hood
species_fit = list("Vox")
sprite_sheets = list(
@@ -650,7 +650,7 @@
ignore_suitadjust = 1
actions_types = list()
adjust_flavour = null
allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/emergency_oxygen,/obj/item/toy,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/lighter,/obj/item/weapon/gun/projectile/automatic/pistol,/obj/item/weapon/gun/projectile/revolver,/obj/item/weapon/gun/projectile/revolver/detective)
allowed = list(/obj/item/device/flashlight,/obj/item/tank/emergency_oxygen,/obj/item/toy,/obj/item/storage/fancy/cigarettes,/obj/item/lighter,/obj/item/gun/projectile/automatic/pistol,/obj/item/gun/projectile/revolver,/obj/item/gun/projectile/revolver/detective)
/obj/item/clothing/suit/jacket/miljacket/navy
name = "navy military jacket"
@@ -719,7 +719,7 @@
permeability_coefficient = 0.01
flags_size = ONESIZEFITSALL
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
allowed = list(/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/pen,/obj/item/device/flashlight/pen)
allowed = list(/obj/item/tank/emergency_oxygen,/obj/item/pen,/obj/item/device/flashlight/pen)
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 100, rad = 20)
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL
@@ -740,7 +740,7 @@
icon_state = "bomber"
item_state = "bomber"
ignore_suitadjust = 0
allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/emergency_oxygen,/obj/item/toy,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/lighter)
allowed = list(/obj/item/device/flashlight,/obj/item/tank/emergency_oxygen,/obj/item/toy,/obj/item/storage/fancy/cigarettes,/obj/item/lighter)
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
cold_protection = UPPER_TORSO|LOWER_TORSO|ARMS
actions_types = list(/datum/action/item_action/zipper)
@@ -757,7 +757,7 @@
item_state = "bombersec"
ignore_suitadjust = 0
//Inherited from Security armour.
allowed = list(/obj/item/weapon/gun/energy,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/weapon/gun/projectile,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs,/obj/item/device/flashlight/seclite,/obj/item/weapon/melee/classic_baton/telescopic,/obj/item/weapon/kitchen/knife/combat)
allowed = list(/obj/item/gun/energy,/obj/item/reagent_containers/spray/pepper,/obj/item/gun/projectile,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/restraints/handcuffs,/obj/item/device/flashlight/seclite,/obj/item/melee/classic_baton/telescopic,/obj/item/kitchen/knife/combat)
heat_protection = UPPER_TORSO|LOWER_TORSO
min_cold_protection_temperature = ARMOR_MIN_TEMP_PROTECT
max_heat_protection_temperature = ARMOR_MAX_TEMP_PROTECT
@@ -816,7 +816,7 @@
item_state = "owl_wings"
body_parts_covered = ARMS
armor = list(melee = 5, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0)
allowed = list(/obj/item/weapon/gun/energy,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/weapon/gun/projectile,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs,/obj/item/device/flashlight/seclite)
allowed = list(/obj/item/gun/energy,/obj/item/reagent_containers/spray/pepper,/obj/item/gun/projectile,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/restraints/handcuffs,/obj/item/device/flashlight/seclite)
actions_types = list(/datum/action/item_action/toggle_wings)
@@ -843,7 +843,7 @@
desc = "You'll be the Ruler of the King's Navy in no time."
icon_state = "lordadmiral"
item_state = "lordadmiral"
allowed = list (/obj/item/weapon/gun)
allowed = list (/obj/item/gun)
/obj/item/clothing/suit/fluff/noble_coat
name = "noble coat"
@@ -912,7 +912,7 @@
/obj/item/clothing/suit/hooded/chaplain_hoodie/missionary_robe
description_antag = "This robe is made of reinforced fibers, granting it superior protection. The robes also wirelessly generate power for the neurotransmitter in the linked missionary staff while being worn."
armor = list(melee = 10, bullet = 10, laser = 5, energy = 5, bomb = 0, bio = 0, rad = 15)
var/obj/item/weapon/nullrod/missionary_staff/linked_staff = null
var/obj/item/nullrod/missionary_staff/linked_staff = null
/obj/item/clothing/suit/hooded/chaplain_hoodie/missionary_robe/Destroy()
if(linked_staff) //delink on destruction
+5 -5
View File
@@ -1,9 +1,9 @@
/obj/item/clothing/suit/storage
var/obj/item/weapon/storage/internal/pockets
var/obj/item/storage/internal/pockets
/obj/item/clothing/suit/storage/New()
..()
pockets = new/obj/item/weapon/storage/internal(src)
pockets = new/obj/item/storage/internal(src)
pockets.storage_slots = 2 //two slots
pockets.max_w_class = WEIGHT_CLASS_SMALL //fit only pocket sized items
pockets.max_combined_w_class = 4
@@ -42,11 +42,11 @@
L += src.contents
for(var/obj/item/weapon/storage/S in src)
for(var/obj/item/storage/S in src)
L += S.return_inv()
for(var/obj/item/weapon/gift/G in src)
for(var/obj/item/gift/G in src)
L += G.gift
if(istype(G.gift, /obj/item/weapon/storage))
if(istype(G.gift, /obj/item/storage))
L += G.gift:return_inv()
return L
+3 -3
View File
@@ -18,7 +18,7 @@
gas_transfer_coefficient = 0.90
permeability_coefficient = 0.50
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/extinguisher)
allowed = list(/obj/item/device/flashlight,/obj/item/tank/emergency_oxygen,/obj/item/extinguisher)
slowdown = 1
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL
flags = STOPSPRESSUREDMAGE | THICKMATERIAL
@@ -115,7 +115,7 @@
/obj/item/clothing/suit/bomb_suit/security
icon_state = "bombsuitsec"
item_state = "bombsuitsec"
allowed = list(/obj/item/weapon/gun/energy,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs)
allowed = list(/obj/item/gun/energy,/obj/item/melee/baton,/obj/item/restraints/handcuffs)
species_fit = null
sprite_sheets = null
@@ -147,7 +147,7 @@
permeability_coefficient = 0.50
flags = THICKMATERIAL
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/emergency_oxygen)
allowed = list(/obj/item/device/flashlight,/obj/item/tank/emergency_oxygen)
slowdown = 1.5
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 60, rad = 100)
flags_inv = HIDEJUMPSUIT|HIDETAIL
+1 -1
View File
@@ -61,7 +61,7 @@
permeability_coefficient = 0.01
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS|LEGS
armor = list(melee = 30, bullet = 20, laser = 20, energy = 20, bomb = 20, bio = 20, rad = 20)
allowed = list(/obj/item/weapon/teleportation_scroll)
allowed = list(/obj/item/teleportation_scroll)
flags_inv = HIDEJUMPSUIT
unacidable = 1
strip_delay = 50
@@ -253,11 +253,11 @@
user.visible_message("<span class='warning'>[user] displays their Nanotrasen Internal Security Legal Authorization Badge.\nIt reads: [stored_name], NT Security.</span>","<span class='warning'>You display your Nanotrasen Internal Security Legal Authorization Badge.\nIt reads: [stored_name], NT Security.</span>")
/obj/item/clothing/accessory/holobadge/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
if(istype(O, /obj/item/weapon/card/id) || istype(O, /obj/item/device/pda))
if(istype(O, /obj/item/card/id) || istype(O, /obj/item/device/pda))
var/obj/item/weapon/card/id/id_card = null
var/obj/item/card/id/id_card = null
if(istype(O, /obj/item/weapon/card/id))
if(istype(O, /obj/item/card/id))
id_card = O
else
var/obj/item/device/pda/pda = O
@@ -286,7 +286,7 @@
if(isliving(user))
user.visible_message("<span class='warning'>[user] invades [M]'s personal space, thrusting [src] into their face insistently.</span>","<span class='warning'>You invade [M]'s personal space, thrusting [src] into their face insistently. You are the law.</span>")
/obj/item/weapon/storage/box/holobadge
/obj/item/storage/box/holobadge
name = "holobadge box"
desc = "A box claiming to contain holobadges."
New()
@@ -433,7 +433,7 @@
to_chat(user, "You have to open it first.")
return
if(istype(O,/obj/item/weapon/paper) || istype(O, /obj/item/weapon/photo) && !(istype(O, /obj/item/weapon/paper/talisman)))
if(istype(O,/obj/item/paper) || istype(O, /obj/item/photo) && !(istype(O, /obj/item/paper/talisman)))
if(held)
to_chat(usr, "[src] already has something inside it.")
else
@@ -585,7 +585,7 @@
icon_state = "petcollar"
item_color = "petcollar"
var/tagname = null
var/obj/item/weapon/card/id/access_id
var/obj/item/card/id/access_id
/obj/item/clothing/accessory/petcollar/Destroy()
QDEL_NULL(access_id)
@@ -612,7 +612,7 @@
user.put_in_hands(access_id)
access_id = null
/obj/item/clothing/accessory/petcollar/attackby(obj/item/weapon/card/id/W, mob/user, params)
/obj/item/clothing/accessory/petcollar/attackby(obj/item/card/id/W, mob/user, params)
if(!istype(W))
return ..()
if(access_id)
@@ -4,8 +4,8 @@
icon_state = "holster"
item_color = "holster"
slot = "utility"
var/holster_allow = /obj/item/weapon/gun
var/obj/item/weapon/gun/holstered = null
var/holster_allow = /obj/item/gun
var/obj/item/gun/holstered = null
actions_types = list(/datum/action/item_action/accessory/holster)
w_class = WEIGHT_CLASS_NORMAL // so it doesn't fit in pockets
@@ -14,7 +14,7 @@
return ..()
//subtypes can override this to specify what can be holstered
/obj/item/clothing/accessory/holster/proc/can_holster(obj/item/weapon/gun/W)
/obj/item/clothing/accessory/holster/proc/can_holster(obj/item/gun/W)
if(!W.isHandgun())
return 0
else if(!istype(W,holster_allow))
@@ -34,11 +34,11 @@
to_chat(user, "<span class='warning'>There is already a [holstered] holstered here!</span>")
return
if(!istype(I, /obj/item/weapon/gun))
if(!istype(I, /obj/item/gun))
to_chat(user, "<span class='warning'>Only guns can be holstered!</span>")
return
var/obj/item/weapon/gun/W = I
var/obj/item/gun/W = I
if(!can_holster(W))
to_chat(user, "<span class='warning'>This [W] won't fit in the [src]!</span>")
return
@@ -121,10 +121,10 @@
to_chat(usr, "<span class='warning'>Something is very wrong.</span>")
if(!H.holstered)
if(!istype(usr.get_active_hand(), /obj/item/weapon/gun))
if(!istype(usr.get_active_hand(), /obj/item/gun))
to_chat(usr, "<span class='warning'>You need your gun equiped to holster it.</span>")
return
var/obj/item/weapon/gun/W = usr.get_active_hand()
var/obj/item/gun/W = usr.get_active_hand()
H.holster(W, usr)
else
H.unholster(usr)
@@ -134,7 +134,7 @@
desc = "A worn-out handgun holster. Perfect for concealed carry"
icon_state = "holster"
item_color = "holster"
holster_allow = /obj/item/weapon/gun/projectile
holster_allow = /obj/item/gun/projectile
/obj/item/clothing/accessory/holster/waist
name = "shoulder holster"
@@ -5,13 +5,13 @@
item_color = "webbing"
slot = "utility"
var/slots = 3
var/obj/item/weapon/storage/internal/hold
var/obj/item/storage/internal/hold
actions_types = list(/datum/action/item_action/accessory/storage)
w_class = WEIGHT_CLASS_NORMAL // so it doesn't fit in pockets
/obj/item/clothing/accessory/storage/New()
..()
hold = new/obj/item/weapon/storage/internal(src)
hold = new/obj/item/storage/internal(src)
hold.storage_slots = slots
/obj/item/clothing/accessory/storage/Destroy()
@@ -54,11 +54,11 @@
L += src.contents
for(var/obj/item/weapon/storage/S in src)
for(var/obj/item/storage/S in src)
L += S.return_inv()
for(var/obj/item/weapon/gift/G in src)
for(var/obj/item/gift/G in src)
L += G.gift
if(istype(G.gift, /obj/item/weapon/storage))
if(istype(G.gift, /obj/item/storage))
L += G.gift:return_inv()
return L
@@ -107,7 +107,7 @@
/obj/item/clothing/accessory/storage/knifeharness/New()
..()
hold.max_combined_w_class = 4
hold.can_hold = list(/obj/item/weapon/hatchet/unathiknife, /obj/item/weapon/kitchen/knife)
hold.can_hold = list(/obj/item/hatchet/unathiknife, /obj/item/kitchen/knife)
new /obj/item/weapon/hatchet/unathiknife(hold)
new /obj/item/weapon/hatchet/unathiknife(hold)
new /obj/item/hatchet/unathiknife(hold)
new /obj/item/hatchet/unathiknife(hold)
+4 -4
View File
@@ -61,8 +61,8 @@
var/obj/item/stack/S = I
.[I.type] += S.amount
else
if(istype(I, /obj/item/weapon/reagent_containers))
var/obj/item/weapon/reagent_containers/RC = I
if(istype(I, /obj/item/reagent_containers))
var/obj/item/reagent_containers/RC = I
if(RC.flags & OPENCONTAINER)
for(var/datum/reagent/A in RC.reagents.reagent_list)
.[A.type] += A.volume
@@ -73,7 +73,7 @@
return 1
var/list/possible_tools = list()
for(var/obj/item/I in user.contents)
if(istype(I, /obj/item/weapon/storage))
if(istype(I, /obj/item/storage))
for(var/obj/item/SI in I.contents)
possible_tools += SI.type
possible_tools += I.type
@@ -145,7 +145,7 @@
var/datum/reagent/RG = new A
var/datum/reagent/RGNT
while(amt > 0)
var/obj/item/weapon/reagent_containers/RC = locate() in surroundings
var/obj/item/reagent_containers/RC = locate() in surroundings
RG = RC.reagents.get_reagent(A)
if(RG)
if(!locate(RG.type) in Deletion)
+15 -15
View File
@@ -3,13 +3,13 @@
// PARTS //
/obj/item/weaponcrafting/receiver
/obj/itemcrafting/receiver
name = "modular receiver"
desc = "A prototype modular receiver and trigger assembly for a firearm."
icon = 'icons/obj/improvised.dmi'
icon_state = "receiver"
/obj/item/weaponcrafting/stock
/obj/itemcrafting/stock
name = "rifle stock"
desc = "A classic rifle stock that doubles as a grip, roughly carved out of wood."
icon = 'icons/obj/improvised.dmi'
@@ -18,10 +18,10 @@
// CRAFTING //
/obj/item/weaponcrafting/receiver/attackby(obj/item/W as obj, mob/user as mob, params)
/obj/itemcrafting/receiver/attackby(obj/item/W as obj, mob/user as mob, params)
if(istype(W,/obj/item/pipe))
to_chat(user, "You attach the shotgun barrel to the receiver. The pins seem loose.")
var/obj/item/weaponcrafting/ishotgunconstruction/I = new /obj/item/weaponcrafting/ishotgunconstruction
var/obj/itemcrafting/ishotgunconstruction/I = new /obj/itemcrafting/ishotgunconstruction
user.unEquip(src)
user.put_in_hands(I)
qdel(W)
@@ -30,49 +30,49 @@
// SHOTGUN //
/obj/item/weaponcrafting/ishotgunconstruction
/obj/itemcrafting/ishotgunconstruction
name = "slightly conspicuous metal construction"
desc = "A long pipe attached to a firearm receiver. The pins seem loose."
icon = 'icons/obj/improvised.dmi'
icon_state = "ishotgunstep1"
/obj/item/weaponcrafting/ishotgunconstruction/attackby(var/obj/item/I, mob/user as mob, params)
/obj/itemcrafting/ishotgunconstruction/attackby(var/obj/item/I, mob/user as mob, params)
..()
if(istype(I, /obj/item/weapon/screwdriver))
var/obj/item/weaponcrafting/ishotgunconstruction2/C = new /obj/item/weaponcrafting/ishotgunconstruction2
if(istype(I, /obj/item/screwdriver))
var/obj/itemcrafting/ishotgunconstruction2/C = new /obj/itemcrafting/ishotgunconstruction2
user.unEquip(src)
user.put_in_hands(C)
to_chat(user, "<span class='notice'>You screw the pins into place, securing the pipe to the receiver.</span>")
qdel(src)
/obj/item/weaponcrafting/ishotgunconstruction2
/obj/itemcrafting/ishotgunconstruction2
name = "very conspicuous metal construction"
desc = "A long pipe attached to a trigger assembly."
icon = 'icons/obj/improvised.dmi'
icon_state = "ishotgunstep1"
/obj/item/weaponcrafting/ishotgunconstruction2/attackby(obj/item/W as obj, mob/user as mob, params)
if(istype(W,/obj/item/weaponcrafting/stock))
/obj/itemcrafting/ishotgunconstruction2/attackby(obj/item/W as obj, mob/user as mob, params)
if(istype(W,/obj/itemcrafting/stock))
to_chat(user, "You attach the stock to the receiver-barrel assembly.")
var/obj/item/weaponcrafting/ishotgunconstruction3/I = new /obj/item/weaponcrafting/ishotgunconstruction3
var/obj/itemcrafting/ishotgunconstruction3/I = new /obj/itemcrafting/ishotgunconstruction3
user.unEquip(src)
user.put_in_hands(I)
qdel(W)
qdel(src)
return
/obj/item/weaponcrafting/ishotgunconstruction3
/obj/itemcrafting/ishotgunconstruction3
name = "extremely conspicuous metal construction"
desc = "A receiver-barrel shotgun assembly with a loose wooden stock. There's no way you can fire it without the stock coming loose."
icon = 'icons/obj/improvised.dmi'
icon_state = "ishotgunstep2"
/obj/item/weaponcrafting/ishotgunconstruction3/attackby(var/obj/item/I, mob/user as mob, params)
/obj/itemcrafting/ishotgunconstruction3/attackby(var/obj/item/I, mob/user as mob, params)
..()
if(istype(I, /obj/item/stack/packageWrap))
var/obj/item/stack/packageWrap/C = I
if(C.use(5))
var/obj/item/weapon/gun/projectile/revolver/doublebarrel/improvised/W = new /obj/item/weapon/gun/projectile/revolver/doublebarrel/improvised
var/obj/item/gun/projectile/revolver/doublebarrel/improvised/W = new /obj/item/gun/projectile/revolver/doublebarrel/improvised
user.unEquip(src)
user.put_in_hands(W)
to_chat(user, "<span class='notice'>You tie the wrapping paper around the stock and the barrel to secure it.</span>")
+77 -77
View File
@@ -16,37 +16,37 @@
/datum/crafting_recipe/IED
name = "IED"
result = /obj/item/weapon/grenade/iedcasing
result = /obj/item/grenade/iedcasing
reqs = list(/datum/reagent/fuel = 50,
/obj/item/stack/cable_coil = 1,
/obj/item/device/assembly/igniter = 1,
/obj/item/weapon/reagent_containers/food/drinks/cans = 1)
parts = list(/obj/item/weapon/reagent_containers/food/drinks/cans = 1)
/obj/item/reagent_containers/food/drinks/cans = 1)
parts = list(/obj/item/reagent_containers/food/drinks/cans = 1)
time = 15
category = CAT_WEAPON
/datum/crafting_recipe/lance
name = "explosive lance (grenade)"
result = /obj/item/weapon/twohanded/spear
reqs = list(/obj/item/weapon/twohanded/spear = 1,
/obj/item/weapon/grenade = 1)
parts = list(/obj/item/weapon/grenade = 1)
result = /obj/item/twohanded/spear
reqs = list(/obj/item/twohanded/spear = 1,
/obj/item/grenade = 1)
parts = list(/obj/item/grenade = 1)
time = 15
category = CAT_WEAPON
/datum/crafting_recipe/molotov
name = "Molotov"
result = /obj/item/weapon/reagent_containers/food/drinks/bottle/molotov
reqs = list(/obj/item/weapon/reagent_containers/glass/rag = 1,
/obj/item/weapon/reagent_containers/food/drinks/bottle = 1)
parts = list(/obj/item/weapon/reagent_containers/food/drinks/bottle = 1)
result = /obj/item/reagent_containers/food/drinks/bottle/molotov
reqs = list(/obj/item/reagent_containers/glass/rag = 1,
/obj/item/reagent_containers/food/drinks/bottle = 1)
parts = list(/obj/item/reagent_containers/food/drinks/bottle = 1)
time = 40
category = CAT_WEAPON
/datum/crafting_recipe/stunprod
name = "Stunprod"
result = /obj/item/weapon/melee/baton/cattleprod
reqs = list(/obj/item/weapon/restraints/handcuffs/cable = 1,
result = /obj/item/melee/baton/cattleprod
reqs = list(/obj/item/restraints/handcuffs/cable = 1,
/obj/item/stack/rods = 1,
/obj/item/device/assembly/igniter = 1)
time = 40
@@ -54,8 +54,8 @@
/datum/crafting_recipe/bola
name = "Bola"
result = /obj/item/weapon/restraints/legcuffs/bola
reqs = list(/obj/item/weapon/restraints/handcuffs/cable = 1,
result = /obj/item/restraints/legcuffs/bola
reqs = list(/obj/item/restraints/handcuffs/cable = 1,
/obj/item/stack/sheet/metal = 6)
time = 20//15 faster than crafting them by hand!
category= CAT_WEAPON
@@ -70,10 +70,10 @@
/obj/item/robot_parts/r_leg = 1,
/obj/item/stack/sheet/metal = 1,
/obj/item/stack/cable_coil = 1,
/obj/item/weapon/gun/energy/gun/advtaser = 1,
/obj/item/weapon/stock_parts/cell = 1,
/obj/item/gun/energy/gun/advtaser = 1,
/obj/item/stock_parts/cell = 1,
/obj/item/device/assembly/prox_sensor = 1)
tools = list(/obj/item/weapon/weldingtool, /obj/item/weapon/screwdriver)
tools = list(/obj/item/weldingtool, /obj/item/screwdriver)
time = 60
category = CAT_ROBOT
@@ -82,17 +82,17 @@
result = /mob/living/simple_animal/bot/secbot
reqs = list(/obj/item/device/assembly/signaler = 1,
/obj/item/clothing/head/helmet = 1,
/obj/item/weapon/melee/baton = 1,
/obj/item/melee/baton = 1,
/obj/item/device/assembly/prox_sensor = 1,
/obj/item/robot_parts/r_arm = 1)
tools = list(/obj/item/weapon/weldingtool)
tools = list(/obj/item/weldingtool)
time = 60
category = CAT_ROBOT
/datum/crafting_recipe/cleanbot
name = "Cleanbot"
result = /mob/living/simple_animal/bot/cleanbot
reqs = list(/obj/item/weapon/reagent_containers/glass/bucket = 1,
reqs = list(/obj/item/reagent_containers/glass/bucket = 1,
/obj/item/device/assembly/prox_sensor = 1,
/obj/item/robot_parts/r_arm = 1)
time = 40
@@ -101,7 +101,7 @@
/datum/crafting_recipe/floorbot
name = "Floorbot"
result = /mob/living/simple_animal/bot/floorbot
reqs = list(/obj/item/weapon/storage/toolbox/mechanical = 1,
reqs = list(/obj/item/storage/toolbox/mechanical = 1,
/obj/item/stack/tile/plasteel = 1,
/obj/item/device/assembly/prox_sensor = 1,
/obj/item/robot_parts/r_arm = 1)
@@ -112,7 +112,7 @@
name = "Medbot"
result = /mob/living/simple_animal/bot/medbot
reqs = list(/obj/item/device/healthanalyzer = 1,
/obj/item/weapon/storage/firstaid = 1,
/obj/item/storage/firstaid = 1,
/obj/item/device/assembly/prox_sensor = 1,
/obj/item/robot_parts/r_arm = 1)
time = 40
@@ -120,13 +120,13 @@
/datum/crafting_recipe/flamethrower
name = "Flamethrower"
result = /obj/item/weapon/flamethrower
reqs = list(/obj/item/weapon/weldingtool = 1,
result = /obj/item/flamethrower
reqs = list(/obj/item/weldingtool = 1,
/obj/item/device/assembly/igniter = 1,
/obj/item/stack/rods = 1)
parts = list(/obj/item/device/assembly/igniter = 1,
/obj/item/weapon/weldingtool = 1)
tools = list(/obj/item/weapon/screwdriver)
/obj/item/weldingtool = 1)
tools = list(/obj/item/screwdriver)
time = 10
category = CAT_WEAPON
@@ -134,9 +134,9 @@
name = "Meteorshot Shell"
result = /obj/item/ammo_casing/shotgun/meteorshot
reqs = list(/obj/item/ammo_casing/shotgun/techshell = 1,
/obj/item/weapon/rcd_ammo = 1,
/obj/item/weapon/stock_parts/manipulator = 2)
tools = list(/obj/item/weapon/screwdriver)
/obj/item/rcd_ammo = 1,
/obj/item/stock_parts/manipulator = 2)
tools = list(/obj/item/screwdriver)
time = 5
category = CAT_AMMO
@@ -144,9 +144,9 @@
name = "Pulse Slug Shell"
result = /obj/item/ammo_casing/shotgun/pulseslug
reqs = list(/obj/item/ammo_casing/shotgun/techshell = 1,
/obj/item/weapon/stock_parts/capacitor/adv = 2,
/obj/item/weapon/stock_parts/micro_laser/ultra = 1)
tools = list(/obj/item/weapon/screwdriver)
/obj/item/stock_parts/capacitor/adv = 2,
/obj/item/stock_parts/micro_laser/ultra = 1)
tools = list(/obj/item/screwdriver)
time = 5
category = CAT_AMMO
@@ -155,7 +155,7 @@
result = /obj/item/ammo_casing/shotgun/incendiary/dragonsbreath
reqs = list(/obj/item/ammo_casing/shotgun/techshell = 1,
/datum/reagent/phosphorus = 5,)
tools = list(/obj/item/weapon/screwdriver)
tools = list(/obj/item/screwdriver)
time = 5
category = CAT_AMMO
@@ -166,7 +166,7 @@
/datum/reagent/glycerol = 5,
/datum/reagent/sacid = 5,
/datum/reagent/facid = 5,)
tools = list(/obj/item/weapon/screwdriver)
tools = list(/obj/item/screwdriver)
time = 5
category = CAT_AMMO
@@ -174,20 +174,20 @@
name = "Ion Scatter Shell"
result = /obj/item/ammo_casing/shotgun/ion
reqs = list(/obj/item/ammo_casing/shotgun/techshell = 1,
/obj/item/weapon/stock_parts/micro_laser/ultra = 1,
/obj/item/weapon/stock_parts/subspace/crystal = 1)
tools = list(/obj/item/weapon/screwdriver)
/obj/item/stock_parts/micro_laser/ultra = 1,
/obj/item/stock_parts/subspace/crystal = 1)
tools = list(/obj/item/screwdriver)
time = 5
category = CAT_AMMO
/datum/crafting_recipe/improvisedslug
name = "Improvised Shotgun Shell"
result = /obj/item/ammo_casing/shotgun/improvised
reqs = list(/obj/item/weapon/grenade/chem_grenade = 1,
reqs = list(/obj/item/grenade/chem_grenade = 1,
/obj/item/stack/sheet/metal = 1,
/obj/item/stack/cable_coil = 1,
/datum/reagent/fuel = 10)
tools = list(/obj/item/weapon/screwdriver)
tools = list(/obj/item/screwdriver)
time = 5
category = CAT_AMMO
@@ -197,7 +197,7 @@
reqs = list(/obj/item/ammo_casing/shotgun/improvised = 1,
/datum/reagent/blackpowder = 10,
/datum/reagent/plasma_dust = 20)
tools = list(/obj/item/weapon/screwdriver)
tools = list(/obj/item/screwdriver)
time = 5
category = CAT_AMMO
@@ -205,38 +205,38 @@
name = "Laser Slug Shell"
result = /obj/item/ammo_casing/shotgun/laserslug
reqs = list(/obj/item/ammo_casing/shotgun/techshell = 1,
/obj/item/weapon/stock_parts/capacitor/adv = 1,
/obj/item/weapon/stock_parts/micro_laser/high = 1)
tools = list(/obj/item/weapon/screwdriver)
/obj/item/stock_parts/capacitor/adv = 1,
/obj/item/stock_parts/micro_laser/high = 1)
tools = list(/obj/item/screwdriver)
time = 5
category = CAT_AMMO
/datum/crafting_recipe/ishotgun
name = "Improvised Shotgun"
result = /obj/item/weapon/gun/projectile/revolver/doublebarrel/improvised
reqs = list(/obj/item/weaponcrafting/receiver = 1,
result = /obj/item/gun/projectile/revolver/doublebarrel/improvised
reqs = list(/obj/itemcrafting/receiver = 1,
/obj/item/pipe = 1,
/obj/item/weaponcrafting/stock = 1,
/obj/itemcrafting/stock = 1,
/obj/item/stack/packageWrap = 5,)
tools = list(/obj/item/weapon/screwdriver)
tools = list(/obj/item/screwdriver)
time = 100
category = CAT_WEAPON
/datum/crafting_recipe/chainsaw
name = "Chainsaw"
result = /obj/item/weapon/twohanded/required/chainsaw
reqs = list(/obj/item/weapon/circular_saw = 1,
result = /obj/item/twohanded/required/chainsaw
reqs = list(/obj/item/circular_saw = 1,
/obj/item/stack/cable_coil = 1,
/obj/item/stack/sheet/plasteel = 1)
tools = list(/obj/item/weapon/weldingtool)
tools = list(/obj/item/weldingtool)
time = 50
category = CAT_WEAPON
/datum/crafting_recipe/spear
name = "Spear"
result = /obj/item/weapon/twohanded/spear
reqs = list(/obj/item/weapon/restraints/handcuffs/cable = 1,
/obj/item/weapon/shard = 1,
result = /obj/item/twohanded/spear
reqs = list(/obj/item/restraints/handcuffs/cable = 1,
/obj/item/shard = 1,
/obj/item/stack/rods = 1)
time = 40
category = CAT_WEAPON
@@ -251,45 +251,45 @@
/datum/crafting_recipe/papersack
name = "Paper Sack"
result = /obj/item/weapon/storage/box/papersack
result = /obj/item/storage/box/papersack
time = 10
reqs = list(/obj/item/weapon/paper = 5)
reqs = list(/obj/item/paper = 5)
category = CAT_MISC
/datum/crafting_recipe/notreallysoap
name = "Homemade Soap"
result = /obj/item/weapon/soap/ducttape
result = /obj/item/soap/ducttape
time = 50
reqs = list(/obj/item/stack/tape_roll = 1,
/datum/reagent/liquidgibs = 10)
/datum/crafting_recipe/garrote
name = "Makeshift Garrote"
result = /obj/item/weapon/twohanded/garrote/improvised
result = /obj/item/twohanded/garrote/improvised
time = 15
reqs = list(/obj/item/stack/sheet/wood = 1,
/obj/item/stack/cable_coil = 5)
tools = list(/obj/item/weapon/kitchen/knife) // Gotta carve the wood into handles
tools = list(/obj/item/kitchen/knife) // Gotta carve the wood into handles
category = CAT_WEAPON
/datum/crafting_recipe/makeshift_bolt
name = "Makeshift Bolt"
result = /obj/item/weapon/arrow/rod
result = /obj/item/arrow/rod
time = 5
reqs = list(/obj/item/stack/rods = 1)
tools = list(/obj/item/weapon/weldingtool)
tools = list(/obj/item/weldingtool)
category = CAT_AMMO
/datum/crafting_recipe/crossbow
name = "Powered Crossbow"
result = /obj/item/weapon/gun/throw/crossbow
result = /obj/item/gun/throw/crossbow
time = 150
reqs = list(/obj/item/stack/rods = 3,
/obj/item/stack/cable_coil = 10,
/obj/item/stack/sheet/plastic = 3,
/obj/item/stack/sheet/wood = 5)
tools = list(/obj/item/weapon/weldingtool,
/obj/item/weapon/screwdriver)
tools = list(/obj/item/weldingtool,
/obj/item/screwdriver)
category = CAT_WEAPON
/datum/crafting_recipe/glove_balloon
@@ -301,10 +301,10 @@
/datum/crafting_recipe/gold_horn
name = "Golden bike horn"
result = /obj/item/weapon/bikehorn/golden
result = /obj/item/bikehorn/golden
time = 20
reqs = list(/obj/item/stack/sheet/mineral/bananium = 5,
/obj/item/weapon/bikehorn)
/obj/item/bikehorn)
category = CAT_MISC
/datum/crafting_recipe/blackcarpet
@@ -326,31 +326,31 @@
/datum/crafting_recipe/chemical_payload
name = "Chemical Payload (C4)"
result = /obj/item/weapon/bombcore/chemical
result = /obj/item/bombcore/chemical
reqs = list(
/obj/item/weapon/stock_parts/matter_bin = 1,
/obj/item/weapon/grenade/plastic/c4 = 1,
/obj/item/weapon/grenade/chem_grenade = 2
/obj/item/stock_parts/matter_bin = 1,
/obj/item/grenade/plastic/c4 = 1,
/obj/item/grenade/chem_grenade = 2
)
parts = list(/obj/item/weapon/stock_parts/matter_bin = 1, /obj/item/weapon/grenade/chem_grenade = 2)
parts = list(/obj/item/stock_parts/matter_bin = 1, /obj/item/grenade/chem_grenade = 2)
time = 30
category = CAT_WEAPON
/datum/crafting_recipe/chemical_payload2
name = "Chemical Payload (gibtonite)"
result = /obj/item/weapon/bombcore/chemical
result = /obj/item/bombcore/chemical
reqs = list(
/obj/item/weapon/stock_parts/matter_bin = 1,
/obj/item/weapon/twohanded/required/gibtonite = 1,
/obj/item/weapon/grenade/chem_grenade = 2
/obj/item/stock_parts/matter_bin = 1,
/obj/item/twohanded/required/gibtonite = 1,
/obj/item/grenade/chem_grenade = 2
)
parts = list(/obj/item/weapon/stock_parts/matter_bin = 1, /obj/item/weapon/grenade/chem_grenade = 2)
parts = list(/obj/item/stock_parts/matter_bin = 1, /obj/item/grenade/chem_grenade = 2)
time = 50
category = CAT_WEAPON
/datum/crafting_recipe/bonfire
name = "Bonfire"
time = 60
reqs = list(/obj/item/weapon/grown/log = 5)
reqs = list(/obj/item/grown/log = 5)
result = /obj/structure/bonfire
category = CAT_PRIMAL
+24 -24
View File
@@ -126,16 +126,16 @@
to_chat(user, "You use [src] on yourself.")
qdel(src)
/obj/item/weapon/claymore/fluff // MrBarrelrolll: Maximus Greenwood
/obj/item/claymore/fluff // MrBarrelrolll: Maximus Greenwood
name = "Greenwood's Blade"
desc = "A replica claymore with strange markings scratched into the blade."
force = 5
sharp = 0
/obj/item/weapon/claymore/fluff/hit_reaction()
/obj/item/claymore/fluff/hit_reaction()
return 0
/obj/item/weapon/crowbar/fluff/zelda_creedy_1 // Zomgponies: Griffin Rowley
/obj/item/crowbar/fluff/zelda_creedy_1 // Zomgponies: Griffin Rowley
name = "Zelda's Crowbar"
desc = "A pink crow bar that has an engraving that reads, 'To Zelda. Love always, Dawn'"
icon = 'icons/obj/custom_items.dmi'
@@ -181,7 +181,7 @@
to_chat(user, "<span class='warning'>You can't modify [target]!</span>")
/obj/item/weapon/lighter/zippo/fluff/purple // GodOfOreos: Jason Conrad
/obj/item/lighter/zippo/fluff/purple // GodOfOreos: Jason Conrad
name = "purple engraved zippo"
desc = "All craftsspacemanship is of the highest quality. It is encrusted with refined plasma sheets. On the item is an image of a dwarf and the words 'Strike the Earth!' etched onto the side."
icon = 'icons/obj/custom_items.dmi'
@@ -189,7 +189,7 @@
icon_on = "purple_zippo_on"
icon_off = "purple_zippo_off"
/obj/item/weapon/lighter/zippo/fluff/michael_guess_1 // mrbits: Callista Gold
/obj/item/lighter/zippo/fluff/michael_guess_1 // mrbits: Callista Gold
name = "engraved lighter"
desc = "A golden lighter, engraved with some ornaments and a G."
icon = 'icons/obj/custom_items.dmi'
@@ -197,7 +197,7 @@
icon_on = "guessipon"
icon_off = "guessip"
/obj/item/weapon/lighter/zippo/fluff/duckchan // Duckchan: Rybys Romney
/obj/item/lighter/zippo/fluff/duckchan // Duckchan: Rybys Romney
name = "Monogrammed Zippo"
desc = " A shiny purple zippo lighter, engraved with Rybys Romney and BuzzPing's name, with a festive green flame."
icon = 'icons/obj/custom_items.dmi'
@@ -205,7 +205,7 @@
icon_on = "rybysfluffopen"
icon_off = "rybysfluff"
/obj/item/weapon/fluff/dogwhistle //phantasmicdream: Zeke Varloss
/obj/item/fluff/dogwhistle //phantasmicdream: Zeke Varloss
name = "Sax's whistle"
desc = "This whistle seems to have a strange aura about it. Maybe you should blow on it?"
icon = 'icons/obj/custom_items.dmi'
@@ -213,7 +213,7 @@
item_state = "dogwhistle"
force = 2
/obj/item/weapon/fluff/dogwhistle/attack_self(mob/user)
/obj/item/fluff/dogwhistle/attack_self(mob/user)
user.visible_message("<span class='notice'>[user] blows on the whistle, but no sound comes out.</span>", "<span class='notice'>You blow on the whistle, but don't hear anything.</span>")
spawn(20)
var/mob/living/simple_animal/pet/corgi/C = new /mob/living/simple_animal/pet/corgi(get_turf(user))
@@ -226,7 +226,7 @@
to_chat(user, "<span class='danger'>[src] crumbles to dust in your hands!</span>")
qdel(src)
/obj/item/weapon/storage/toolbox/fluff/lunchbox //godoforeos: Jason Conrad
/obj/item/storage/toolbox/fluff/lunchbox //godoforeos: Jason Conrad
name = "lunchpail"
desc = "A simple black lunchpail."
icon = 'icons/obj/custom_items.dmi'
@@ -238,11 +238,11 @@
max_combined_w_class = 9
storage_slots = 3
/obj/item/weapon/storage/toolbox/fluff/lunchbox/New()
/obj/item/storage/toolbox/fluff/lunchbox/New()
..()
new /obj/item/weapon/reagent_containers/food/snacks/sandwich(src)
new /obj/item/weapon/reagent_containers/food/snacks/chips(src)
new /obj/item/weapon/reagent_containers/food/drinks/cans/cola(src)
new /obj/item/reagent_containers/food/snacks/sandwich(src)
new /obj/item/reagent_containers/food/snacks/chips(src)
new /obj/item/reagent_containers/food/drinks/cans/cola(src)
/obj/item/device/instrument/guitar/jello_guitar //Antcolon3: Dan Jello
@@ -346,9 +346,9 @@
if(!proximity || !ishuman(user) || user.incapacitated())
return
if(istype(target, /obj/item/weapon/melee/baton) && !istype(target, /obj/item/weapon/melee/baton/cattleprod))
if(istype(target, /obj/item/melee/baton) && !istype(target, /obj/item/melee/baton/cattleprod))
to_chat(user, "<span class='notice'>You modify the appearance of [target].</span>")
var/obj/item/weapon/melee/baton/the_baton = target
var/obj/item/melee/baton/the_baton = target
the_baton.base_icon = "desolate_baton"
the_baton.item_state = "desolate_baton"
the_baton.icon = 'icons/obj/custom_items.dmi'
@@ -766,7 +766,7 @@
item_state = "supplymaster_jacket_open"
ignore_suitadjust = 0
suit_adjusted = 1
allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/emergency_oxygen,/obj/item/toy,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/lighter)
allowed = list(/obj/item/device/flashlight,/obj/item/tank/emergency_oxygen,/obj/item/toy,/obj/item/storage/fancy/cigarettes,/obj/item/lighter)
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
cold_protection = UPPER_TORSO|LOWER_TORSO|ARMS
actions_types = list(/datum/action/item_action/button)
@@ -927,7 +927,7 @@
icon_state = "xantholne_wintercoat"
hoodtype = /obj/item/clothing/head/hood/fluff/xantholne
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
allowed = list(/obj/item/device/flashlight, /obj/item/weapon/tank/emergency_oxygen, /obj/item/toy, /obj/item/weapon/storage/fancy/cigarettes, /obj/item/weapon/lighter)
allowed = list(/obj/item/device/flashlight, /obj/item/tank/emergency_oxygen, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter)
/obj/item/clothing/head/hood/fluff/xantholne // Xantholne: Meex Zwichsnicrur
@@ -1130,10 +1130,10 @@
flags = BLOCKHAIR
flags_inv = HIDEFACE
/obj/item/weapon/nullrod/fluff/chronx //chronx100: Hughe O'Splash
fluff_transformations = list(/obj/item/weapon/nullrod/fluff/chronx/scythe)
/obj/item/nullrod/fluff/chronx //chronx100: Hughe O'Splash
fluff_transformations = list(/obj/item/nullrod/fluff/chronx/scythe)
/obj/item/weapon/nullrod/fluff/chronx/scythe
/obj/item/nullrod/fluff/chronx/scythe
name = "Soul Collector"
desc = "An ancient scythe used by the worshipers of Cthulhu. Tales say it is used to prepare souls for Cthulhu's great devouring. Someone carved their name into the handle: Hughe O'Splash"
icon = 'icons/obj/custom_items.dmi'
@@ -1214,13 +1214,13 @@
species_fit = null
sprite_sheets = null
/obj/item/weapon/storage/backpack/fluff/krich_back //lizardzsi: Krichahka
/obj/item/storage/backpack/fluff/krich_back //lizardzsi: Krichahka
name = "Voxcaster"
desc = "Battered, Sol-made military radio backpack that had its speakers fried from playing Vox opera. The words 'Swift-Talon' are crudely scratched onto its side."
icon = 'icons/obj/custom_items.dmi'
icon_state = "voxcaster_fluff"
/obj/item/weapon/storage/backpack/fluff/ssscratches_back //Ssscratches: Lasshy-Bot
/obj/item/storage/backpack/fluff/ssscratches_back //Ssscratches: Lasshy-Bot
name = "CatPack"
desc = "It's a backpack, but it's also a cat."
icon = 'icons/obj/custom_items.dmi'
@@ -1285,7 +1285,7 @@
item_color = "fethasnecklace"
slot_flags = SLOT_MASK | SLOT_TIE
/obj/item/weapon/bedsheet/fluff/hugosheet //HugoLuman: Dan Martinez
/obj/item/bedsheet/fluff/hugosheet //HugoLuman: Dan Martinez
name = "Cosmic space blankie"
desc = "Made from the dreams of space children everywhere."
icon = 'icons/obj/custom_items.dmi'
@@ -1335,7 +1335,7 @@
used = 1
qdel(src)
/obj/item/weapon/bikehorn/fluff/pinkbikehorn //Xerdies: Squiddle Toodle
/obj/item/bikehorn/fluff/pinkbikehorn //Xerdies: Squiddle Toodle
name = "Honkinator5000"
desc = "This horn may look ridiculous but is the new hot item for clowns in the Clown Empire. It has a fine print on its side reading: Property of Prince Honktertong the IV"
icon = 'icons/obj/custom_items.dmi'
+6 -6
View File
@@ -26,9 +26,9 @@
var/obj/item/Item = new path()
var/description = query.item[4]
var/newname = query.item[5]
if(istype(Item,/obj/item/weapon/card/id))
var/obj/item/weapon/card/id/I = Item
for(var/obj/item/weapon/card/id/C in M)
if(istype(Item,/obj/item/card/id))
var/obj/item/card/id/I = Item
for(var/obj/item/card/id/C in M)
//default settings
I.name = "[M.real_name]'s ID Card ([M.mind.role_alt_title ? M.mind.role_alt_title : M.mind.assigned_role])"
I.registered_name = M.real_name
@@ -40,14 +40,14 @@
qdel(C)
ok = M.equip_or_collect(I, slot_wear_id, 0) //if 1, last argument deletes on fail
break
else if(istype(M.back, /obj/item/weapon/storage)) // Try to place it in something on the mob's back
var/obj/item/weapon/storage/S = M.back
else if(istype(M.back, /obj/item/storage)) // Try to place it in something on the mob's back
var/obj/item/storage/S = M.back
if(S.contents.len < S.storage_slots)
Item.loc = M.back
ok = 1
to_chat(M, "<span class='notice'>Your [Item.name] has been added to your [M.back.name].</span>")
if(ok == 0)
for(var/obj/item/weapon/storage/S in M.contents) // Try to place it in any item that can store stuff, on the mob.
for(var/obj/item/storage/S in M.contents) // Try to place it in any item that can store stuff, on the mob.
if(S.contents.len < S.storage_slots)
Item.loc = S
ok = 1
+17 -17
View File
@@ -1,6 +1,6 @@
//CONTAINS: Evidence bags
/obj/item/weapon/evidencebag
/obj/item/evidencebag
name = "evidence bag"
desc = "An empty evidence bag."
icon = 'icons/obj/storage.dmi'
@@ -8,24 +8,24 @@
item_state = ""
w_class = WEIGHT_CLASS_TINY
/obj/item/weapon/evidencebag/afterattack(obj/item/I, mob/user,proximity)
/obj/item/evidencebag/afterattack(obj/item/I, mob/user,proximity)
if(!proximity || loc == I)
return
evidencebagEquip(I, user)
/obj/item/weapon/evidencebag/attackby(obj/item/I, mob/user, params)
/obj/item/evidencebag/attackby(obj/item/I, mob/user, params)
if(evidencebagEquip(I, user))
return 1
/obj/item/weapon/evidencebag/proc/evidencebagEquip(obj/item/I, mob/user)
/obj/item/evidencebag/proc/evidencebagEquip(obj/item/I, mob/user)
if(!istype(I) || I.anchored == 1)
return
if(istype(I, /obj/item/weapon/storage/box))
if(istype(I, /obj/item/storage/box))
to_chat(user, "<span class='notice'>This box is too big to fit in the evidence bag.</span>")
return
if(istype(I, /obj/item/weapon/evidencebag))
if(istype(I, /obj/item/evidencebag))
to_chat(user, "<span class='notice'>You find putting an evidence bag in another evidence bag to be slightly absurd.</span>")
return 1 //now this is podracing
@@ -38,8 +38,8 @@
return
if(!isturf(I.loc)) //If it isn't on the floor. Do some checks to see if it's in our hands or a box. Otherwise give up.
if(istype(I.loc,/obj/item/weapon/storage)) //in a container.
var/obj/item/weapon/storage/U = I.loc
if(istype(I.loc,/obj/item/storage)) //in a container.
var/obj/item/storage/U = I.loc
U.remove_from_storage(I, src)
else if(user.l_hand == I) //in a hand
user.drop_l_hand()
@@ -69,7 +69,7 @@
w_class = I.w_class
return 1
/obj/item/weapon/evidencebag/attack_self(mob/user)
/obj/item/evidencebag/attack_self(mob/user)
if(contents.len)
var/obj/item/I = contents[1]
user.visible_message("<span class='notice'>[user] takes [I] out of [src].</span>", "<span class='notice'>You take [I] out of [src].</span>",\
@@ -84,15 +84,15 @@
to_chat(user, "[src] is empty.")
icon_state = "evidenceobj"
/obj/item/weapon/storage/box/evidence
/obj/item/storage/box/evidence
name = "evidence bag box"
desc = "A box claiming to contain evidence bags."
/obj/item/weapon/storage/box/evidence/New()
new /obj/item/weapon/evidencebag(src)
new /obj/item/weapon/evidencebag(src)
new /obj/item/weapon/evidencebag(src)
new /obj/item/weapon/evidencebag(src)
new /obj/item/weapon/evidencebag(src)
new /obj/item/weapon/evidencebag(src)
/obj/item/storage/box/evidence/New()
new /obj/item/evidencebag(src)
new /obj/item/evidencebag(src)
new /obj/item/evidencebag(src)
new /obj/item/evidencebag(src)
new /obj/item/evidencebag(src)
new /obj/item/evidencebag(src)
..()
@@ -9,7 +9,7 @@
/obj/item/clothing/gloves
var/transfer_blood = 0
/obj/item/weapon/reagent_containers/glass/rag
/obj/item/reagent_containers/glass/rag
name = "damp rag"
desc = "For cleaning up messes, you suppose."
w_class = WEIGHT_CLASS_TINY
@@ -22,7 +22,7 @@
flags = OPENCONTAINER | NOBLUDGEON
var/wipespeed = 30
/obj/item/weapon/reagent_containers/glass/rag/attack(atom/target as obj|turf|area, mob/user as mob , flag)
/obj/item/reagent_containers/glass/rag/attack(atom/target as obj|turf|area, mob/user as mob , flag)
if(ismob(target) && target.reagents && reagents.total_volume)
user.visible_message("<span class='danger'>[user] has smothered \the [target] with \the [src]!</span>", "<span class='danger'>You smother \the [target] with \the [src]!</span>", "You hear some struggling and muffled cries of surprise")
src.reagents.reaction(target, TOUCH)
@@ -31,7 +31,7 @@
else
..()
/obj/item/weapon/reagent_containers/glass/rag/afterattack(atom/A as obj|turf|area, mob/user as mob,proximity)
/obj/item/reagent_containers/glass/rag/afterattack(atom/A as obj|turf|area, mob/user as mob,proximity)
if(!proximity) return
if(istype(A) && src in user)
user.visible_message("[user] starts to wipe down [A] with [src]!")
+1 -1
View File
@@ -70,7 +70,7 @@
spawn(100)
// Create our paper
var/obj/item/weapon/paper/P = new(get_turf(src))
var/obj/item/paper/P = new(get_turf(src))
P.name = "paper- 'Scanner Report'"
P.info = "<center><font size='6'><B>Scanner Report</B></font></center><HR><BR>"
P.info += jointext(log, "<BR>")
+7 -7
View File
@@ -29,7 +29,7 @@ log transactions
var/ticks_left_locked_down = 0
var/ticks_left_timeout = 0
var/machine_id = ""
var/obj/item/weapon/card/held_card
var/obj/item/card/held_card
var/editing_security_level = 0
var/view_screen = NO_SCREEN
var/lastprint = 0 // Printer needs time to cooldown
@@ -80,7 +80,7 @@ log transactions
break
/obj/machinery/atm/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/card))
if(istype(I, /obj/item/card))
if(!powered())
return
@@ -282,7 +282,7 @@ log transactions
return
lastprint = world.timeofday
playsound(loc, 'sound/goonstation/machines/printer_thermal.ogg', 50, 1)
var/obj/item/weapon/paper/R = new(loc)
var/obj/item/paper/R = new(loc)
R.name = "Account balance: [authenticated_account.owner_name]"
R.info = {"<b>NT Automated Teller Account Statement</b><br><br>
<i>Account holder:</i> [authenticated_account.owner_name]<br>
@@ -296,7 +296,7 @@ log transactions
stampoverlay.icon_state = "paper_stamp-cent"
if(!R.stamped)
R.stamped = new()
R.stamped += /obj/item/weapon/stamp
R.stamped += /obj/item/stamp
R.overlays += stampoverlay
R.stamps += "<HR><i>This paper has been stamped by the Automatic Teller Machine.</i>"
@@ -310,7 +310,7 @@ log transactions
held_card = null
else
var/obj/item/I = usr.get_active_hand()
if(istype(I, /obj/item/weapon/card/id))
if(istype(I, /obj/item/card/id))
usr.drop_item()
I.forceMove(src)
held_card = I
@@ -328,8 +328,8 @@ log transactions
/obj/machinery/atm/proc/scan_user(mob/living/carbon/human/H)
if(!authenticated_account && linked_db)
if(H.wear_id)
var/obj/item/weapon/card/id/I
if(istype(H.wear_id, /obj/item/weapon/card/id) )
var/obj/item/card/id/I
if(istype(H.wear_id, /obj/item/card/id) )
I = H.wear_id
else if(istype(H.wear_id, /obj/item/device/pda) )
var/obj/item/device/pda/P = H.wear_id
+7 -7
View File
@@ -88,7 +88,7 @@ var/global/list/all_money_accounts = list()
//create a sealed package containing the account details
var/obj/item/smallDelivery/P = new /obj/item/smallDelivery(source_db.loc)
var/obj/item/weapon/paper/R = new /obj/item/weapon/paper(P)
var/obj/item/paper/R = new /obj/item/paper(P)
playsound(source_db.loc, 'sound/goonstation/machines/printer_thermal.ogg', 50, 1)
P.wrapped = R
R.name = "Account information: [M.owner_name]"
@@ -110,7 +110,7 @@ var/global/list/all_money_accounts = list()
stampoverlay.icon_state = "paper_stamp-cent"
if(!R.stamped)
R.stamped = new
R.stamped += /obj/item/weapon/stamp
R.stamped += /obj/item/stamp
R.overlays += stampoverlay
R.stamps += "<HR><i>This paper has been stamped by the Accounts Database.</i>"
@@ -152,7 +152,7 @@ var/global/list/all_money_accounts = list()
req_one_access = list(access_hop, access_captain)
var/receipt_num
var/machine_id = ""
var/obj/item/weapon/card/id/held_card
var/obj/item/card/id/held_card
var/access_level = 0
var/datum/money_account/detailed_account_view
var/creating_new_account = 0
@@ -265,8 +265,8 @@ var/global/list/all_money_accounts = list()
user << browse(null,"window=account_db")
/obj/machinery/account_database/attackby(O as obj, user as mob)//TODO:SANITY
if(istype(O, /obj/item/weapon/card))
var/obj/item/weapon/card/id/idcard = O
if(istype(O, /obj/item/card))
var/obj/item/card/id/idcard = O
if(!held_card)
usr.drop_item()
idcard.loc = src
@@ -318,8 +318,8 @@ var/global/list/all_money_accounts = list()
else
var/obj/item/I = usr.get_active_hand()
if(istype(I, /obj/item/weapon/card/id))
var/obj/item/weapon/card/id/C = I
if(istype(I, /obj/item/card/id))
var/obj/item/card/id/C = I
usr.drop_item()
C.loc = src
held_card = C
+5 -5
View File
@@ -7,7 +7,7 @@
req_one_access = list(access_hop, access_captain, access_cent_commander)
var/receipt_num
var/machine_id = ""
var/obj/item/weapon/card/id/held_card
var/obj/item/card/id/held_card
var/datum/money_account/detailed_account_view
var/creating_new_account = 0
var/activated = 1
@@ -61,7 +61,7 @@
..()
/obj/machinery/computer/account_database/attackby(obj/O, mob/user, params)
if(!istype(O, /obj/item/weapon/card/id))
if(!istype(O, /obj/item/card/id))
return ..()
if(!held_card)
@@ -144,8 +144,8 @@
else
var/obj/item/I = usr.get_active_hand()
if(istype(I, /obj/item/weapon/card/id))
var/obj/item/weapon/card/id/C = I
if(istype(I, /obj/item/card/id))
var/obj/item/card/id/C = I
usr.drop_item()
C.forceMove(src)
held_card = C
@@ -221,7 +221,7 @@
if("print")
var/text
playsound(loc, 'sound/goonstation/machines/printer_thermal.ogg', 50, 1)
var/obj/item/weapon/paper/P = new(loc)
var/obj/item/paper/P = new(loc)
if(detailed_account_view)
P.name = "account #[detailed_account_view.account_number] details"
var/title = "Account #[detailed_account_view.account_number] Details"
+10 -10
View File
@@ -27,7 +27,7 @@
/obj/item/device/eftpos/proc/print_reference()
playsound(loc, 'sound/goonstation/machines/printer_thermal.ogg', 50, 1)
var/obj/item/weapon/paper/R = new(loc)
var/obj/item/paper/R = new(loc)
R.name = "Reference: [eftpos_name]"
// AUTOFIXED BY fix_string_idiocy.py
@@ -41,7 +41,7 @@
stampoverlay.icon_state = "paper_stamp-cent"
if(!R.stamped)
R.stamped = new
R.stamped += /obj/item/weapon/stamp
R.stamped += /obj/item/stamp
R.overlays += stampoverlay
R.stamps += "<HR><i>This paper has been stamped by the EFTPOS device.</i>"
var/obj/item/smallDelivery/D = new(R.loc)
@@ -63,7 +63,7 @@
ui_interact(user)
/obj/item/device/eftpos/attackby(obj/O, mob/user, params)
if(istype(O, /obj/item/weapon/card))
if(istype(O, /obj/item/card))
//attempt to connect to a new db, and if that doesn't work then fail
if(!linked_db)
reconnect_database()
@@ -156,28 +156,28 @@
reconnect_database()
if(linked_db && linked_account)
var/obj/item/I = usr.get_active_hand()
if(istype(I, /obj/item/weapon/card))
if(istype(I, /obj/item/card))
scan_card(I, usr)
else
to_chat(usr, "[bicon(src)]<span class='warning'>Unable to link accounts.</span>")
if("reset")
//reset the access code - requires HoP/captain access
var/obj/item/I = usr.get_active_hand()
if(istype(I, /obj/item/weapon/card))
var/obj/item/weapon/card/id/C = I
if(istype(I, /obj/item/card))
var/obj/item/card/id/C = I
if(access_cent_commander in C.access || access_hop in C.access || access_captain in C.access)
access_code = 0
to_chat(usr, "[bicon(src)]<span class='info'>Access code reset to 0.</span>")
else if(istype(I, /obj/item/weapon/card/emag))
else if(istype(I, /obj/item/card/emag))
access_code = 0
to_chat(usr, "[bicon(src)]<span class='info'>Access code reset to 0.</span>")
SSnanoui.update_uis(src)
return 1
/obj/item/device/eftpos/proc/scan_card(obj/item/weapon/card/I, mob/user)
if(istype(I, /obj/item/weapon/card/id))
var/obj/item/weapon/card/id/C = I
/obj/item/device/eftpos/proc/scan_card(obj/item/card/I, mob/user)
if(istype(I, /obj/item/card/id))
var/obj/item/card/id/C = I
visible_message("<span class='info'>[user] swipes a card through [src].</span>")
if(transaction_locked && !transaction_paid)
if(linked_account)
+3 -3
View File
@@ -202,7 +202,7 @@ var/const/POS_HEADER = {"<html>
receipt += "</table></body></html>"
playsound(loc, 'sound/goonstation/machines/printer_thermal.ogg', 50, 1)
var/obj/item/weapon/paper/P = new(loc)
var/obj/item/paper/P = new(loc)
P.name="Receipt #[id]-[++sales]"
P.info=receipt
@@ -479,8 +479,8 @@ var/const/POS_HEADER = {"<html>
src.attack_hand(usr)
/obj/machinery/pos/attackby(var/atom/movable/A, var/mob/user, params)
if(istype(A,/obj/item/weapon/card/id))
var/obj/item/weapon/card/id/I = A
if(istype(A,/obj/item/card/id))
var/obj/item/card/id/I = A
if(!logged_in)
user.visible_message("<span class='notice'>The machine beeps, and logs you in</span>","You hear a beep.")
logged_in = user
+4 -4
View File
@@ -13,11 +13,11 @@
return acct
/obj/proc/get_card_account(var/obj/item/weapon/card/I, var/mob/user=null, var/terminal_name="", var/transaction_purpose="", var/require_pin=0)
/obj/proc/get_card_account(var/obj/item/card/I, var/mob/user=null, var/terminal_name="", var/transaction_purpose="", var/require_pin=0)
if(terminal_name=="")
terminal_name=src.name
if(istype(I, /obj/item/weapon/card/id))
var/obj/item/weapon/card/id/C = I
if(istype(I, /obj/item/card/id))
var/obj/item/card/id/C = I
var/attempt_pin=0
var/datum/money_account/D = get_money_account(C.associated_account_number)
if(require_pin && user)
@@ -30,7 +30,7 @@
/mob/proc/get_worn_id_account(var/require_pin=0, var/mob/user=null)
if(ishuman(src))
var/mob/living/carbon/human/H=src
var/obj/item/weapon/card/id/I=H.get_idcard()
var/obj/item/card/id/I=H.get_idcard()
if(!I || !istype(I))
return null
var/attempt_pin=0

Some files were not shown because too many files have changed in this diff Show More