Merge pull request #117 from ZomgPonies/master

sync
This commit is contained in:
melandor0
2014-10-26 15:20:21 +01:00
19 changed files with 306 additions and 172 deletions
+17
View File
@@ -144,6 +144,23 @@ var/list/uplink_items = list()
cost = 2
job = list("Janitor")
//Medical
/datum/uplink_item/jobspecific/rad_laser
name = "Radiation Laser"
desc = "A radiation laser concealed inside of a Health Analyser, After a moderate delay, causes temporary collapse and radiation. Has adjustable controls, but will not function as a regular health analyzer, only appears like one. May not function correctly on radiation resistent humanoids!"
item = /obj/item/device/rad_laser
cost = 3
job = list(
"Chief Medical Officer",
"Medical Doctor",
//"Geneticist",
//"Psychiatrist",
//"Chemist",
//"Paramedic",
"Virologist"
)
//Assistant
+14 -6
View File
@@ -320,13 +320,21 @@
proc/inject_chemical(mob/living/user as mob, chemical, amount)
if(src.occupant && src.occupant.reagents)
if(src.occupant.reagents.get_reagent_amount(chemical) + amount <= 40)
src.occupant.reagents.add_reagent(chemical, amount)
user << "Occupant now has [src.occupant.reagents.get_reagent_amount(chemical)] units of [available_chemicals[chemical]] in his/her bloodstream."
if(src.occupant)
if(src.occupant.reagents)
if(src.occupant.reagents.get_reagent_amount(chemical) + amount <= 40)
src.occupant.reagents.add_reagent(chemical, amount)
user << "Occupant now has [src.occupant.reagents.get_reagent_amount(chemical)] units of [available_chemicals[chemical]] in his/her bloodstream."
return
else
user << "Medical overdose safeties restrict you injecting any more of this chemical."
return
else
user << "The patient rejects the chemicals!"
return
user << "There's no occupant in the sleeper or the subject rejects the chemicals!"
return
else
user << "There's no occupant in the sleeper!"
return
proc/check(mob/living/user as mob)
+2 -1
View File
@@ -45,7 +45,7 @@ var/global/list/autolathe_recipes = list( \
new /obj/item/weapon/rcd_ammo(), \
new /obj/item/ammo_casing/shotgun/beanbag(), \
new /obj/item/weapon/storage/box/blanks(), \
new /obj/item/ammo_casing/shotgun(), \
new /obj/item/weapon/storage/box/gauge(), \
new /obj/item/ammo_casing/shotgun/incendiary(), \
new /obj/item/ammo_box/c38(), \
new /obj/item/ammo_box/a357(), \
@@ -63,6 +63,7 @@ var/global/list/autolathe_recipes_hidden = list( \
new /obj/item/device/radio/electropack(), \
new /obj/item/weapon/weldingtool/largetank(), \
new /obj/item/weapon/handcuffs(), \
new /obj/item/weapon/hatchet(), \
/*new /obj/item/ammo_casing/shotgun/dart(), \
new /obj/item/weapon/shield/riot(), */ \
)
+1 -1
View File
@@ -862,7 +862,7 @@
/obj/item/clothing/under/sexyclown = 1,/obj/item/clothing/mask/gas/sexymime = 1,/obj/item/clothing/under/sexymime = 1,/obj/item/clothing/suit/apron/overalls = 1,
/obj/item/clothing/head/rabbitears =1) //Pretty much everything that had a chance to spawn.
contraband = list(/obj/item/clothing/suit/cardborg = 1,/obj/item/clothing/head/cardborg = 1,/obj/item/clothing/suit/judgerobe = 1,/obj/item/clothing/head/powdered_wig = 1,/obj/item/weapon/gun/magic/wand = 1)
premium = list(/obj/item/clothing/suit/hgpirate = 1, /obj/item/clothing/head/hgpiratecap = 1, /obj/item/clothing/head/helmet/roman = 1, /obj/item/clothing/head/helmet/roman/legionaire = 1, /obj/item/clothing/under/roman = 1, /obj/item/clothing/shoes/roman = 1, /obj/item/weapon/shield/riot/roman = 1)
premium = list(/obj/item/clothing/suit/hgpirate = 1, /obj/item/clothing/head/hgpiratecap = 1, /obj/item/clothing/head/helmet/roman = 1, /obj/item/clothing/head/helmet/roman/legionaire = 1, /obj/item/clothing/under/roman = 1, /obj/item/clothing/shoes/roman = 1)
refill_canister = /obj/item/weapon/vending_refill/autodrobe
/obj/machinery/vending/dinnerware
name = "Dinnerware"
+1
View File
@@ -1,6 +1,7 @@
/obj/item
name = "item"
icon = 'icons/obj/items.dmi'
var/discrete = 0 // used in item_attack.dm to make an item not show an attack message to viewers
var/icon/blood_overlay = null //this saves our blood splatter overlay, which will be processed not to go over the edges of the sprite
var/blood_overlay_color = null
var/abstract = 0
@@ -60,5 +60,92 @@ effective or pretty fucking useless.
icon_state = "battererburnt"
/*
The radioactive microlaser, a device disguised as a health analyzer used to irradiate people.
The strength of the radiation is determined by the 'intensity' setting, while the delay between
the scan and the irradiation kicking in is determined by the wavelength.
Each scan will cause the microlaser to have a brief cooldown period. Higher intensity will increase
the cooldown, while higher wavelength will decrease it.
Wavelength is also slightly increased by the intensity as well.
*/
/obj/item/device/rad_laser
name = "Health Analyzer"
icon_state = "health"
item_state = "analyzer"
desc = "A hand-held body scanner able to distinguish vital signs of the subject. A strange microlaser is hooked on to the scanning end."
flags = FPRINT | TABLEPASS | CONDUCT
slot_flags = SLOT_BELT
discrete = 1 // Makes the item not give an attack log message for viewers.
throwforce = 3
w_class = 1.0
throw_speed = 5
throw_range = 10
m_amt = 200
origin_tech = "magnets=3;biotech=5;syndicate=3"
var/intensity = 5 // how much damage the radiation does
var/wavelength = 10 // time it takes for the radiation to kick in, in seconds
var/used = 0 // is it cooling down?
/obj/item/device/rad_laser/attack(mob/living/M as mob, mob/living/user as mob)
if(!used)
..()
user.visible_message("<span class='notice'> [user] has analyzed [M]'s vitals.","<span class='notice'> You have analyzed [M]'s vitals.")
var/cooldown = round(max(100,(((intensity*8)-(wavelength/2))+(intensity*2))*10))
used = 1
icon_state = "health1"
handle_cooldown(cooldown) // splits off to handle the cooldown while handling wavelength
spawn((wavelength+(intensity*4))*10)
if(M)
if(intensity >= 5)
M.apply_effect(round(intensity/1.5), PARALYZE)
M.apply_effect(intensity*10, IRRADIATE)
else
user << "<span class='danger'>The radioactive microlaser is still recharging.</span>"
/obj/item/device/rad_laser/proc/handle_cooldown(var/cooldown)
spawn(cooldown)
used = 0
icon_state = "health"
/obj/item/device/rad_laser/attack_self(mob/user as mob)
..()
interact(user)
/obj/item/device/rad_laser/interact(mob/user as mob)
user.set_machine(src)
var/cooldown = round(max(10,((intensity*8)-(wavelength/2))+(intensity*2)))
var/dat = {"
Radiation Intensity: <A href='?src=\ref[src];radint=-5'>-</A><A href='?src=\ref[src];radint=-1'>-</A> [intensity] <A href='?src=\ref[src];radint=1'>+</A><A href='?src=\ref[src];radint=5'>+</A><BR>
Radiation Wavelength: <A href='?src=\ref[src];radwav=-5'>-</A><A href='?src=\ref[src];radwav=-1'>-</A> [(wavelength+(intensity*4))] <A href='?src=\ref[src];radwav=1'>+</A><A href='?src=\ref[src];radwav=5'>+</A><BR>
Laser Cooldown: [cooldown] Seconds<BR>
"}
var/datum/browser/popup = new(user, "radlaser", "Radioactive Microlaser Interface", 400, 240)
popup.set_content(dat)
popup.open()
/obj/item/device/rad_laser/Topic(href, href_list)
if(!in_range(src, usr) || issilicon(usr) || !usr.canmove || usr.restrained())
return 1
usr.set_machine(src)
if(href_list["radint"])
var/amount = text2num(href_list["radint"])
amount += intensity
intensity = max(1,(min(10,amount)))
else if(href_list["radwav"])
var/amount = text2num(href_list["radwav"])
amount += wavelength
wavelength = max(1,(min(120,amount)))
//updateUsrDialog()
interact(usr)
add_fingerprint(usr)
return
+33 -69
View File
@@ -14,64 +14,43 @@
origin_tech = "materials=1"
var/dispenser = 0
var/breakouttime = 1200 //Deciseconds = 120s = 2 minutes
var/cuff_sound = 'sound/weapons/handcuffs.ogg'
/obj/item/weapon/handcuffs/attack(mob/living/carbon/C as mob, mob/user as mob)
if (!istype(user, /mob/living/carbon/human))
user << "\red You don't have the dexterity to do this!"
return
if ((M_CLUMSY in usr.mutations) && prob(50))
user << "\red Uh ... how do those things work?!"
place_handcuffs(user, user)
return
if(!C.handcuffed)
if (C == user)
place_handcuffs(user, user)
/obj/item/weapon/handcuffs/attack(mob/living/carbon/C, mob/user)
if(M_CLUMSY in user.mutations && prob(50))
user << "<span class='warning'>Uh... how do those things work?!</span>"
if(!C.handcuffed)
user.drop_item()
loc = C
C.handcuffed = src
C.update_inv_handcuffed()
return
//check for an aggressive grab
for (var/obj/item/weapon/grab/G in C.grabbed_by)
if (G.loc == user && G.state >= GRAB_AGGRESSIVE)
place_handcuffs(C, user)
var/cable = 0
if(istype(src, /obj/item/weapon/handcuffs/cable))
cable = 1
if(!C.handcuffed)
C.visible_message("<span class='danger'>[user] is trying to put handcuffs on [C]!</span>", \
"<span class='danger'>[user] is trying to put handcuffs on [C]!</span>")
if(cable)
playsound(loc, 'sound/weapons/cablecuff.ogg', 30, 1, -2)
else
playsound(loc, 'sound/weapons/handcuffs.ogg', 30, 1, -2)
if(do_mob(user, C, 30))
if(C.handcuffed)
return
user << "\red You need to have a firm grip on [C] before you can put \the [src] on!"
user.drop_item()
loc = C
C.handcuffed = src
C.update_inv_handcuffed()
if(cable)
feedback_add_details("handcuffs","C")
else
feedback_add_details("handcuffs","H")
/obj/item/weapon/handcuffs/proc/place_handcuffs(var/mob/living/carbon/target, var/mob/user)
playsound(src.loc, cuff_sound, 30, 1, -2)
if (ishuman(target))
var/mob/living/carbon/human/H = target
H.attack_log += text("\[[time_stamp()]\] <font color='orange'>Has been handcuffed (attempt) by [user.name] ([user.ckey])</font>")
user.attack_log += text("\[[time_stamp()]\] <font color='red'>Attempted to handcuff [H.name] ([H.ckey])</font>")
msg_admin_attack("[key_name(user)] attempted to handcuff [key_name(H)]")
var/obj/effect/equip_e/human/O = new /obj/effect/equip_e/human( )
O.source = user
O.target = H
O.item = user.get_active_hand()
O.s_loc = user.loc
O.t_loc = H.loc
O.place = "handcuff"
H.requests += O
spawn( 0 )
feedback_add_details("handcuffs","H")
O.process()
return
if (ismonkey(target))
var/mob/living/carbon/monkey/M = target
var/obj/effect/equip_e/monkey/O = new /obj/effect/equip_e/monkey( )
O.source = user
O.target = M
O.item = user.get_active_hand()
O.s_loc = user.loc
O.t_loc = M.loc
O.place = "handcuff"
M.requests += O
spawn( 0 )
O.process()
return
add_logs(user, C, "handcuffed")
var/last_chew = 0
/mob/living/carbon/human/RestrainedClickOn(var/atom/A)
@@ -105,7 +84,6 @@ var/last_chew = 0
desc = "Looks like some cables tied together. Could be used to tie something up."
icon_state = "cuff_red"
breakouttime = 300 //Deciseconds = 30s
cuff_sound = 'sound/weapons/cablecuff.ogg'
/obj/item/weapon/handcuffs/cable/red
icon_state = "cuff_red"
@@ -150,17 +128,3 @@ var/last_chew = 0
user << "<span class='notice'>You wrap the cable restraint around the top of the rod.</span>"
del(src)
/obj/item/weapon/handcuffs/cyborg
dispenser = 1
/obj/item/weapon/handcuffs/cyborg/attack(mob/living/carbon/C as mob, mob/user as mob)
if(!C.handcuffed)
var/turf/p_loc = user.loc
var/turf/p_loc_m = C.loc
playsound(src.loc, cuff_sound, 30, 1, -2)
user.visible_message("\red <B>[user] is trying to put handcuffs on [C]!</B>")
spawn(30)
if(!C) return
if(p_loc == user.loc && p_loc_m == C.loc)
C.handcuffed = new /obj/item/weapon/handcuffs(C)
C.update_inv_handcuffed()
@@ -138,3 +138,14 @@
src.imp = new /obj/item/weapon/implant/death_alarm( src )
..()
return
/obj/item/weapon/implantcase/freedom
name = "Glass Case- 'Freedom'"
desc = "A case containing a freedom implant."
icon = 'icons/obj/items.dmi'
icon_state = "implantcase-b"
New()
src.imp = new /obj/item/weapon/implant/freedom( src )
..()
return
@@ -38,11 +38,6 @@
if(crit_fail)
user << "\red The Bluespace generator isn't working."
return
if(istype(W, /obj/item/weapon/storage/backpack/holding) && !W.crit_fail)
user << "\red The Bluespace interfaces of the two devices conflict and malfunction."
del(W)
return
//BoH+BoH=Singularity, commented out.
if(istype(W, /obj/item/weapon/storage/backpack/holding) && !W.crit_fail)
investigate_log("has become a singularity. Caused by [user.key]","singulo")
user << "\red The Bluespace interfaces of the two devices catastrophically malfunction!"
@@ -167,6 +167,21 @@
new /obj/item/ammo_casing/shotgun/birdshot(src)
/obj/item/weapon/storage/box/gauge
name = "box of 12 gauge slugs"
desc = "It has a picture of a gun and several warning symbols on the front."
m_amt = 50000
New()
..()
new /obj/item/ammo_casing/shotgun(src)
new /obj/item/ammo_casing/shotgun(src)
new /obj/item/ammo_casing/shotgun(src)
new /obj/item/ammo_casing/shotgun(src)
new /obj/item/ammo_casing/shotgun(src)
new /obj/item/ammo_casing/shotgun(src)
new /obj/item/ammo_casing/shotgun(src)
/obj/item/weapon/storage/box/flashbangs
name = "box of flashbangs (WARNING)"
+1
View File
@@ -319,6 +319,7 @@
throw_range = 4
sharp = 1
edge = 1
m_amt = 10000
origin_tech = "materials=2;combat=1"
attack_verb = list("chopped", "torn", "cut")
@@ -239,11 +239,11 @@ emp_act
emag.uses--
affecting.sabotaged = 1
return 1
if(I.attack_verb.len)
visible_message("\red <B>[src] has been [pick(I.attack_verb)] in the [hit_area] with [I.name] by [user]!</B>")
else
visible_message("\red <B>[src] has been attacked in the [hit_area] with [I.name] by [user]!</B>")
if(! I.discrete)
if(I.attack_verb.len)
visible_message("\red <B>[src] has been [pick(I.attack_verb)] in the [hit_area] with [I.name] by [user]!</B>")
else
visible_message("\red <B>[src] has been attacked in the [hit_area] with [I.name] by [user]!</B>")
var/armor = run_armor_check(affecting, "melee", "Your armor has protected your [hit_area].", "Your armor has softened hit to your [hit_area].")
var/weapon_sharp = is_sharp(I)
@@ -692,16 +692,6 @@ It can still be worn/put on as normal.
slot_to_process = slot_handcuffed
if (target.handcuffed)
strip_item = target.handcuffed
else if (source != target && ishuman(source))
//check that we are still grabbing them
var/grabbing = 0
for (var/obj/item/weapon/grab/G in target.grabbed_by)
if (G.loc == source && G.state >= GRAB_AGGRESSIVE)
grabbing = 1
if (!grabbing)
slot_to_process = null
source << "\red Your grasp was broken before you could restrain [target]!"
if("legcuff")
slot_to_process = slot_legcuffed
if (target.legcuffed)
+41 -37
View File
@@ -13,7 +13,7 @@ var/obj/cult_viewpoint/list/cult_viewpoints = list()
var/urge = ""
var/favor = FAVOR_INDIFFERENT
var/cult_name = null
/obj/cult_viewpoint/New(var/mob/target)
owner = target
@@ -53,7 +53,7 @@ var/obj/cult_viewpoint/list/cult_viewpoints = list()
set desc = "Reach out for your gods presence."
set name = "Reach Out"
set src in usr
for(var/mob/spirit/mask/currentMask in spirits)
if (currentMask.is_active())
owner << "\red \b You feel the reassuring presence of your god."
@@ -61,8 +61,8 @@ var/obj/cult_viewpoint/list/cult_viewpoints = list()
return
owner << "\b You feel a chilling absence."
handle_missing_mask()
/obj/cult_viewpoint/verb/check_favor()
set category = "Cult"
set desc = "Check your favor with your god."
@@ -82,46 +82,46 @@ var/obj/cult_viewpoint/list/cult_viewpoints = list()
set desc = "Pray to your god"
set name = "Pray to Nar'Sie"
set src in usr
var/input = stripped_input(usr, "Please choose a message to say to your god.", "Pray to Nar'Sie", "")
if(!input)
return
cult_log("[key_name(usr,0)](Pray):[input]")
owner << "<span class='cultspeech'><b>You pray to Nar'Sie</b>: [input]</span>"
for(var/mob/spirit/spirit in spirits)
spirit << "<span class='cultspeech'><span class='name'><a href='byond://?src=\ref[spirit];track2=\ref[spirit];track=\ref[usr]'>[get_display_name()]</a> prays : </span><span class='message'>[input]</span></span>"
// PROCS
/obj/cult_viewpoint/proc/set_favor(var/newFavor)
favor = newFavor
check_favor()
/obj/cult_viewpoint/proc/set_urge(var/newUrge)
if (!newUrge)
src.urge = null
src.urge = copytext(newUrge, 1, MAX_MESSAGE_LEN)
check_urge()
/obj/cult_viewpoint/proc/can_use()
if (owner.stat != DEAD)
return TRUE
return FALSE
/obj/cult_viewpoint/proc/can_see()
return hear(view_range, get_turf(owner))
/obj/cult_viewpoint/proc/get_cult_name()
if (cult_name)
return cult_name
return "An Unknown Servent"
/obj/cult_viewpoint/proc/set_cult_name(var/newName)
if (!owner)
return FALSE
@@ -131,47 +131,51 @@ var/obj/cult_viewpoint/list/cult_viewpoints = list()
else
cult_name = null
owner << "\red \b Your god has taken your secret name."
/obj/cult_viewpoint/proc/get_display_name()
if (!owner)
return
if (cult_name)
return cult_name
return owner.name
/obj/cult_viewpoint/proc/become_mask()
set category = "Cult"
set name = "Become Mask"
set desc = "Sacrifice your life and become a Mask of Nar'sie."
set src in usr
cult_log("[key_name(usr,0)] has tried to become a Mask of Nar'sie.")
if (!active_mask())
var/transformation_type = alert(owner.client, "You are about to become a Mask. Do you want it to be subtle or violent?", "Mask", "Subtle", "Violent")
if(!active_mask())
cult_log("[key_name(usr,0)] has become a Mask of Nar'sie.")
if (transformation_type=="Subtle")
log_admin("[key_name_admin(owner)] has subtly become a Mask of Nar'sie")
owner.make_into_mask(0,0)
else
log_admin("[key_name_admin(owner)] has violently become a Mask of Nar'sie")
owner.make_into_mask(1,1)
var/confirm = alert(owner.client, "You are about to become a Mask of Nar'sie. This will destroy your body, and you will only be able to guide the other cultists through communication. Are you sure?", "Confirm Your Sacrifice", "Yes", "No")
if(confirm == "Yes")
var/transformation_type = alert(owner.client, "You are about to become a Mask. Do you want it to be subtle or violent?", "Mask", "Subtle", "Violent")
if(!active_mask())
cult_log("[key_name(usr,0)] has become a Mask of Nar'sie.")
if (transformation_type=="Subtle")
log_admin("[key_name_admin(owner)] has subtly become a Mask of Nar'sie")
owner.make_into_mask(0,0)
else
log_admin("[key_name_admin(owner)] has violently become a Mask of Nar'sie")
owner.make_into_mask(1,1)
else
return
else
owner << "\b You cannot become a mask of Nar'Sie because a Mask already exists."
mask_has_been_found()
return
/obj/cult_viewpoint/proc/active_mask()
for(var/mob/spirit/mask/currentMask in spirits)
if (currentMask.is_active())
return TRUE
return FALSE
/obj/cult_viewpoint/proc/handle_missing_mask()
if (active_mask())
mask_has_been_found()
@@ -183,19 +187,19 @@ var/obj/cult_viewpoint/list/cult_viewpoints = list()
for(var/obj/cult_viewpoint/viewpoint in cult_viewpoints)
if (viewpoint.verbs.Find(/obj/cult_viewpoint/proc/become_mask))
viewpoint.verbs-=/obj/cult_viewpoint/proc/become_mask
/obj/cult_viewpoint/proc/mask_is_missing()
for(var/obj/cult_viewpoint/viewpoint in cult_viewpoints)
if (!viewpoint.verbs.Find(/obj/cult_viewpoint/proc/become_mask))
viewpoint.verbs+=/obj/cult_viewpoint/proc/become_mask
/proc/getCultViewpoint(var/mob/currentMob)
for(var/obj/cult_viewpoint/currentView in currentMob)
return currentView
return FALSE
#undef FAVOR_PLEASED
#undef FAVOR_INDIFFERENT
+9 -23
View File
@@ -87,21 +87,11 @@
/*
* Parapens
*/
/obj/item/weapon/pen/paralysis
/obj/item/weapon/pen/paralysis
flags = FPRINT | TABLEPASS | OPENCONTAINER
origin_tech = "materials=2;syndicate=5"
/obj/item/weapon/pen/paralysis/attack(mob/M as mob, mob/user as mob)
if(!ismob(M))
return
..()
msg_admin_attack("[user.name] ([user.ckey]) Used the [name] to stab [M.name] ([M.ckey]) (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[user.x];Y=[user.y];Z=[user.z]'>JMP</a>)")
if(reagents.total_volume)
if(M.reagents) reagents.trans_to(M, 50)
return
/obj/item/weapon/pen/paralysis/New()
var/datum/reagents/R = new/datum/reagents(50)
reagents = R
@@ -111,16 +101,12 @@
..()
return
/obj/item/weapon/pen/paralysis/attackby(var/obj/item/O as obj, var/mob/user as mob) //courtesy of FalseIncarnate!
if (O.is_open_container())
//Check if container is of the "glass" subtype (includes buckets, beakers, vials)
if(istype(O, /obj/item/weapon/reagent_containers/glass))
var/obj/item/weapon/reagent_containers/glass/C = O
//Check if container is empty
if(!C.reagents.total_volume)
user << "\red [C] is empty."
return
//Container not empty, transfer contents to tray
var/trans = C.reagents.trans_to(src, C.amount_per_transfer_from_this)
user << "\blue You transfer [trans] units of the solution to [src]."
/obj/item/weapon/pen/paralysis/attack(mob/M as mob, mob/user as mob)
if(!ismob(M))
return
..()
msg_admin_attack("[user.name] ([user.ckey]) Used the [name] to stab [M.name] ([M.ckey]) (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[user.x];Y=[user.y];Z=[user.z]'>JMP</a>)")
if(reagents.total_volume)
if(M.reagents) reagents.trans_to(M, 50) //used to be 150
return
@@ -206,8 +206,19 @@
icon_state = "crossbow-nocked"
return
else
..()
else if (istype(W,/obj/item/weapon/arrow))
user.visible_message("\The [src] only takes baguettes.")
return
else if(istype(W,/obj/item/stack/rods))
user.visible_message("\The [src] only takes baguettes.")
return
if(istype(W, /obj/item/weapon/cell))
user.visible_message("The [src] is too simple be adapted with a cell.")
return
else
..()
/obj/item/weapon/gun/launcher/crossbow/french/increase_tension(var/mob/user as mob)
+54 -11
View File
@@ -1442,6 +1442,47 @@ datum/design/noreactbeaker
reliability_base = 76
build_path = "/obj/item/weapon/reagent_containers/glass/beaker/noreact"
category = "Misc"
datum/design/implanter
name = "Implanter"
desc = "A basic implanter for injecting implants"
id = "implanter"
req_tech = list("materials" = 2, "biotech" = 3)
build_type = PROTOLATHE
materials = list("$metal" = 50, "$glass" = 50)
build_path = "/obj/item/weapon/implanter"
datum/design/implant_free
name = "Freedom Implant"
desc = "Use this to escape from those evil Red Shirts."
id = "implant_free"
req_tech = list("syndicate" = 2, "biotech" = 3)
build_type = PROTOLATHE
materials = list("$metal" = 50, "$glass" = 50)
build_path = "/obj/item/weapon/implantcase/freedom"
datum/design/implant_chem
name = "Chemical Implant"
desc = "Injects things."
id = "implant_chem"
req_tech = list("materials" = 2, "biotech" = 3)
build_type = PROTOLATHE
materials = list("$metal" = 50, "$glass" = 50)
build_path = "/obj/item/weapon/implantcase/chem"
locked = 1
datum/design/implant_loyal
name = "Loyalty Implant"
desc = "Makes you loyal or such."
id = "implant_loyal"
req_tech = list("materials" = 2, "biotech" = 3)
build_type = PROTOLATHE
materials = list("$metal" = 7000, "$glass" = 7000)
build_path = "/obj/item/weapon/implantcase/loyalty"
locked = 1
/////////////////////////////////////////
/////////////////Weapons/////////////////
/////////////////////////////////////////
@@ -1505,6 +1546,7 @@ datum/design/rapidsyringe
build_type = PROTOLATHE
materials = list("$metal" = 5000, "$glass" = 1000)
build_path = "/obj/item/weapon/gun/syringe/rapidsyringe"
locked = 1
datum/design/largecrossbow
name = "Energy Crossbow"
@@ -1517,7 +1559,7 @@ datum/design/largecrossbow
datum/design/temp_gun
name = "Temperature Gun"
desc = "A gun that shoots temperature bullet energythings to change temperature."//Change it if you want
desc = "A gun that shoots temperature bullet energy things to change temperature."//Change it if you want
id = "temp_gun"
req_tech = list("combat" = 3, "materials" = 4, "powerstorage" = 3, "magnets" = 2)
build_type = PROTOLATHE
@@ -1534,15 +1576,6 @@ datum/design/flora_gun
materials = list("$metal" = 2000, "$glass" = 500, "mutagen" = 50)
build_path = "/obj/item/weapon/gun/energy/floragun"
datum/design/portaseed
name = "Portaseeder"
desc = "An advanced hydroponics tool used for harvesting produce and extracting seeds."
id = "portaseed"
req_tech = list("materials" = 2, "biotech" = 3, "powerstorage" = 2)
build_type = PROTOLATHE
materials = list("$metal" = 500, "$glass" = 500)
build_path = "/obj/item/weapon/storage/bag/plants/portaseeder"
datum/design/large_grenade
name = "Large Grenade"
desc = "A grenade that affects a larger area and use larger containers."
@@ -1618,6 +1651,7 @@ datum/design/plasmapistol
build_type = PROTOLATHE
materials = list("$metal" = 5000, "$glass" = 1000, "$plasma" = 3000)
build_path = "/obj/item/weapon/gun/energy/toxgun"
locked = 1
/////////////////////////////////////////
/////////////////Armor///////////////////
@@ -1631,6 +1665,7 @@ datum/design/powerarmor
build_type = PROTOLATHE
materials = list("$metal" = 7500, "$plasteel" = 4000)
build_path = /obj/item/clothing/suit/space/powered
locked = 1
datum/design/powerarmor_helmet
name = "Powered armor helmet"
@@ -1640,6 +1675,7 @@ datum/design/powerarmor_helmet
build_type = PROTOLATHE
materials = list("$metal" = 3750, "$glass" = 3750, "$plasteel" = 2000)
build_path = /obj/item/clothing/head/space/powered
locked = 1
datum/design/powerarmor_gloves
name = "Powered armor gloves"
@@ -1649,6 +1685,7 @@ datum/design/powerarmor_gloves
build_type = PROTOLATHE
materials = list("$metal" = 7500, "$plasteel" = 2000)
build_path = /obj/item/clothing/gloves/powered
locked = 1
datum/design/powerarmor_boots
name = "Powered armor boots"
@@ -1658,6 +1695,7 @@ datum/design/powerarmor_boots
build_type = PROTOLATHE
materials = list("$metal" = 7500, "$plasteel" = 2000)
build_path = /obj/item/clothing/shoes/powered
locked = 1
datum/design/powerarmor_plasma
name = "Powered armor miniaturized plasma generator"
@@ -1667,6 +1705,7 @@ datum/design/powerarmor_plasma
build_type = PROTOLATHE
materials = list("$metal" = 7500, "$plasma" = 4000)
build_path = /obj/item/powerarmor/power/plasma
locked = 1
datum/design/powerarmor_cell
name = "Powered armor powercell interface"
@@ -1676,6 +1715,7 @@ datum/design/powerarmor_cell
build_type = PROTOLATHE
materials = list("$metal" = 7500, "$silver" = 4000)
build_path = /obj/item/powerarmor/power/powercell
locked = 1
datum/design/powerarmor_nuclear
name = "Powered armor miniaturized nuclear generator"
@@ -1685,6 +1725,7 @@ datum/design/powerarmor_nuclear
build_type = PROTOLATHE
materials = list("$metal" = 7500, "$uranium" = 4000)
build_path = /obj/item/powerarmor/power/nuclear
locked = 1
datum/design/powerarmor_reactive
name = "Powered armor reactive plating"
@@ -1694,6 +1735,7 @@ datum/design/powerarmor_reactive
build_type = PROTOLATHE
materials = list("$metal" = 7500, "$diamond" = 4000)
build_path = /obj/item/powerarmor/reactive
locked = 1
datum/design/powerarmor_servos
name = "Powered armor servos"
@@ -1703,6 +1745,7 @@ datum/design/powerarmor_servos
build_type = PROTOLATHE
materials = list("$metal" = 7500, "$plasteel" = 4000)
build_path = /obj/item/powerarmor/servos
locked = 1
datum/design/powerarmor_atmoseal
name = "Powered armor atmospheric seal"
@@ -1712,6 +1755,7 @@ datum/design/powerarmor_atmoseal
build_type = PROTOLATHE
materials = list("$metal" = 7500, "$plasteel" = 4000)
build_path = /obj/item/powerarmor/atmoseal
locked = 1
/////////////////////////////////////////
/////////////////Mining//////////////////
@@ -1854,7 +1898,6 @@ datum/design/security_hud
build_type = PROTOLATHE
materials = list("$metal" = 50, "$glass" = 50)
build_path = "/obj/item/clothing/glasses/hud/security"
locked = 1
/////////////////////////////////////////
//////////////////Test///////////////////
+2 -2
View File
@@ -391,10 +391,10 @@ won't update every console in existence) but it's more of a hassle to do. Also,
new_item.investigate_log("built by [key]","singulo")
new_item.reliability = being_built.reliability
if(linked_lathe.hacked) being_built.reliability = max((reliability / 2), 0)
/* if(being_built.locked)
if(being_built.locked)
var/obj/item/weapon/storage/lockbox/L = new/obj/item/weapon/storage/lockbox(linked_lathe.loc)
new_item.loc = L
L.name += " ([new_item.name])"*/
L.name += " ([new_item.name])"
else
new_item.loc = linked_lathe.loc
linked_lathe.busy = 0
Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 24 KiB