This commit is contained in:
Ghommie
2020-06-23 00:13:14 +02:00
727 changed files with 240611 additions and 242127 deletions
@@ -82,7 +82,7 @@
category = SLOT_HEAD
path = /obj/item/clothing/head/caphat/formal/fedcover/medsci
restricted_desc = "Medical and Science"
restricted_roles = list("Chief Medical Officer","Medical Doctor","Chemist","Virologist","Geneticist","Research Director","Scientist", "Roboticist")
restricted_roles = list("Chief Medical Officer","Medical Doctor","Chemist","Virologist","Paramedic","Geneticist","Research Director","Scientist", "Roboticist")
/datum/gear/trekcapeng
name = "Federation Officer's Cap (Yellow)"
@@ -161,7 +161,7 @@
path = /obj/item/clothing/suit/storage/trek/ds9
restricted_desc = "All, barring Service and Civilian"
restricted_roles = list("Head of Security","Captain","Head of Personnel","Chief Engineer","Research Director","Chief Medical Officer","Quartermaster",
"Medical Doctor","Chemist","Virologist","Geneticist","Scientist", "Roboticist",
"Medical Doctor","Chemist","Virologist","Paramedic","Geneticist","Scientist", "Roboticist",
"Atmospheric Technician","Station Engineer","Warden","Detective","Security Officer",
"Cargo Technician", "Shaft Miner") //everyone who actually deserves a job.
//Federation jackets from movies
@@ -183,7 +183,7 @@
category = SLOT_WEAR_SUIT
path = /obj/item/clothing/suit/storage/fluff/fedcoat/medsci
restricted_desc = "Medical and Science"
restricted_roles = list("Chief Medical Officer","Medical Doctor","Chemist","Virologist","Geneticist","Research Director","Scientist", "Roboticist")
restricted_roles = list("Chief Medical Officer","Medical Doctor","Chemist","Virologist","Paramedic","Geneticist","Research Director","Scientist", "Roboticist")
/datum/gear/trekengmov
name = "Fed (movie) uniform, Yellow"
@@ -210,7 +210,7 @@
category = SLOT_WEAR_SUIT
path = /obj/item/clothing/suit/storage/fluff/modernfedcoat/medsci
restricted_desc = "Medical and Science"
restricted_roles = list("Chief Medical Officer","Medical Doctor","Chemist","Virologist","Geneticist","Research Director","Scientist", "Roboticist")
restricted_roles = list("Chief Medical Officer","Medical Doctor","Chemist","Virologist","Paramedic","Geneticist","Research Director","Scientist", "Roboticist")
/datum/gear/trekengmod
name = "Fed (Modern) uniform, Yellow"
@@ -254,6 +254,30 @@
category = SLOT_W_UNIFORM
path = /obj/item/clothing/under/misc/keyholesweater
/datum/gear/polyjump
name = "Polychromic Jumpsuit"
category = SLOT_W_UNIFORM
path = /obj/item/clothing/under/misc/polyjumpsuit
cost = 2
/datum/gear/polyskirt
name = "Polychromic Jumpskirt"
category = SLOT_W_UNIFORM
path = /obj/item/clothing/under/dress/skirt/polychromic
cost = 2
/datum/gear/polysuit
name = "Polychromic Button-up Shirt"
category = SLOT_W_UNIFORM
path = /obj/item/clothing/under/misc/poly_shirt
cost = 3
/datum/gear/polypleated
name = "Polychromic Pleated Sweaterskirt"
category = SLOT_W_UNIFORM
path = /obj/item/clothing/under/dress/skirt/polychromic/pleated
cost = 3
/datum/gear/polykilt
name = "Polychromic Kilt"
category = SLOT_W_UNIFORM
@@ -286,7 +310,7 @@
category = SLOT_W_UNIFORM
path = /obj/item/clothing/under/trek/medsci
restricted_desc = "Medical and Science"
restricted_roles = list("Chief Medical Officer","Medical Doctor","Chemist","Virologist","Geneticist","Research Director","Scientist", "Roboticist")
restricted_roles = list("Chief Medical Officer","Medical Doctor","Chemist","Virologist","Paramedic","Geneticist","Research Director","Scientist", "Roboticist")
/datum/gear/trekengtos
name = "TOS uniform, ops/sec"
@@ -308,7 +332,7 @@
category = SLOT_W_UNIFORM
path = /obj/item/clothing/under/trek/medsci/next
restricted_desc = "Medical and Science"
restricted_roles = list("Chief Medical Officer","Medical Doctor","Chemist","Virologist","Geneticist","Research Director","Scientist", "Roboticist")
restricted_roles = list("Chief Medical Officer","Medical Doctor","Chemist","Virologist","Paramedic","Geneticist","Research Director","Scientist", "Roboticist")
/datum/gear/trekengtng
name = "TNG uniform, ops/sec"
@@ -330,7 +354,7 @@
category = SLOT_W_UNIFORM
path = /obj/item/clothing/under/trek/medsci/voy
restricted_desc = "Medical and Science"
restricted_roles = list("Chief Medical Officer","Medical Doctor","Chemist","Virologist","Geneticist","Research Director","Scientist", "Roboticist")
restricted_roles = list("Chief Medical Officer","Medical Doctor","Chemist","Virologist","Paramedic","Geneticist","Research Director","Scientist", "Roboticist")
/datum/gear/trekengvoy
name = "VOY uniform, ops/sec"
@@ -352,7 +376,7 @@
category = SLOT_W_UNIFORM
path = /obj/item/clothing/under/trek/medsci/ds9
restricted_desc = "Medical and Science"
restricted_roles = list("Chief Medical Officer","Medical Doctor","Chemist","Virologist","Geneticist","Research Director","Scientist", "Roboticist")
restricted_roles = list("Chief Medical Officer","Medical Doctor","Chemist","Virologist","Paramedic","Geneticist","Research Director","Scientist", "Roboticist")
/datum/gear/trekengds9
name = "DS9 uniform, ops/sec"
@@ -374,7 +398,7 @@
category = SLOT_W_UNIFORM
path = /obj/item/clothing/under/trek/medsci/ent
restricted_desc = "Medical and Science"
restricted_roles = list("Chief Medical Officer","Medical Doctor","Chemist","Virologist","Geneticist","Research Director","Scientist", "Roboticist")
restricted_roles = list("Chief Medical Officer","Medical Doctor","Chemist","Virologist","Paramedic","Geneticist","Research Director","Scientist", "Roboticist")
/datum/gear/trekengent
name = "ENT uniform, ops/sec"
@@ -390,7 +414,7 @@
path = /obj/item/clothing/under/trek/fedutil
restricted_desc = "All, barring Service and Civilian"
restricted_roles = list("Head of Security","Captain","Head of Personnel","Chief Engineer","Research Director","Chief Medical Officer","Quartermaster",
"Medical Doctor","Chemist","Virologist","Geneticist","Scientist", "Roboticist",
"Medical Doctor","Chemist","Virologist","Paramedic","Geneticist","Scientist", "Roboticist",
"Atmospheric Technician","Station Engineer","Warden","Detective","Security Officer",
"Cargo Technician", "Shaft Miner")
@@ -405,7 +429,60 @@
category = SLOT_W_UNIFORM
path = /obj/item/clothing/under/trek/fedutil/service
restricted_desc = "Service and Civilian, barring Clown, Mime and Lawyer"
restricted_roles = list("Assistant", "Bartender", "Botanist", "Cook", "Curator", "Janitor")
restricted_roles = list("Assistant", "Bartender", "Botanist", "Cook", "Curator", "Janitor", "Chaplain")
//Orvilike
/datum/gear/orvcmd
name = "ORV uniform, cmd"
category = SLOT_W_UNIFORM
path = /obj/item/clothing/under/trek/command/orv
restricted_desc = "Heads of Staff"
restricted_roles = list("Head of Security", "Captain", "Head of Personnel", "Chief Engineer", "Research Director", "Chief Medical Officer", "Quartermaster")
/datum/gear/orvcmd_capt
name = "ORV uniform, capt"
category = SLOT_W_UNIFORM
path = /obj/item/clothing/under/trek/command/orv/captain
restricted_roles = list("Captain")
/datum/gear/orvmedsci
name = "ORV uniform, med/sci"
category = SLOT_W_UNIFORM
path = /obj/item/clothing/under/trek/medsci/orv
restricted_desc = "Medical and Science"
restricted_roles = list("Chief Medical Officer", "Medical Doctor", "Chemist", "Virologist", "Paramedic", "Geneticist", "Research Director", "Scientist", "Roboticist")
/datum/gear/orvcmd_medsci
name = "ORV uniform, med/sci, cmd"
category = SLOT_W_UNIFORM
path = /obj/item/clothing/under/trek/command/orv/medsci
restricted_roles = list("Chief Medical Officer", "Research Director")
/datum/gear/orvops
name = "ORV uniform, ops/sec"
category = SLOT_W_UNIFORM
path = /obj/item/clothing/under/trek/engsec/orv
restricted_desc = "Engineering, Security and Cargo"
restricted_roles = list("Chief Engineer", "Atmospheric Technician", "Station Engineer", "Warden", "Detective", "Security Officer", "Head of Security", "Cargo Technician", "Shaft Miner", "Quartermaster")
/datum/gear/orvcmd_ops
name = "ORV uniform, ops/sec, cmd"
category = SLOT_W_UNIFORM
path = /obj/item/clothing/under/trek/command/orv/engsec
restricted_roles = list("Chief Engineer", "Head of Security")
/datum/gear/orvass
name = "ORV uniform, assistant"
category = SLOT_W_UNIFORM
path = /obj/item/clothing/under/trek/orv
restricted_roles = list("Assistant")
/datum/gear/orvsrv
name = "ORV uniform, service"
category = SLOT_W_UNIFORM
path = /obj/item/clothing/under/trek/orv/service
restricted_roles = list("Assistant", "Bartender", "Botanist", "Cook", "Curator", "Janitor", "Chaplain")
restricted_desc = "Service and Civilian, barring Clown, Mime and Lawyer"
//Memes
/datum/gear/gear_harnesses
@@ -482,4 +559,4 @@
name = "Cheongsam, Red"
category = SLOT_W_UNIFORM
path = /obj/item/clothing/under/costume/cheongsam/red
cost = 3
cost = 3
@@ -35,4 +35,5 @@
WRITE_FILE(S["feature_xeno_head"], features["xenohead"])
//flavor text
WRITE_FILE(S["feature_flavor_text"], features["flavor_text"])
WRITE_FILE(S["silicon_feature_flavor_text"], features["silicon_flavor_text"])
@@ -16,7 +16,7 @@
if(!I || !L || I.loc != src || !(I in L.embedded_objects))
return
L.embedded_objects -= I
L.receive_damage(I.embedding.embedded_unsafe_removal_pain_multiplier*I.w_class*painmul)//It hurts to rip it out, get surgery you dingus. And if you're ripping it out quickly via resist, it's gonna hurt even more
L.receive_damage(I.embedding["remove_pain_mult"]*I.w_class*painmul)//It hurts to rip it out, get surgery you dingus. And if you're ripping it out quickly via resist, it's gonna hurt even more
I.forceMove(get_turf(src))
I.unembedded()
user.put_in_hands(I)
@@ -1,3 +0,0 @@
/mob/living/carbon/Life()
. = ..()
doSprintBufferRegen()
@@ -1,11 +0,0 @@
/obj/item/gun/proc/getstamcost(mob/living/carbon/user)
if(user && user.has_gravity())
return recoil
else
return recoil*5
/obj/item/gun/energy/kinetic_accelerator/getstamcost(mob/living/carbon/user)
if(user && !lavaland_equipment_pressure_check(get_turf(user)))
return 0
else
return ..()
@@ -159,6 +159,35 @@
log_reagent("FERMICHEM: [M] ckey: [M.key]'s tongue has been made permanent")
////////////////////////////////////////////////////////////////////////////////////////////////////
// PLUSHMIUM
///////////////////////////////////////////////////////////////////////////////////////////////////
//A chemical you can spray on plushies to turn them into a 'shell'
//Hugging the plushie turns yourself into the plushie!
/datum/reagent/fermi/plushmium
name = "Plushmium"
description = "A strange chemical, seeming almost fluffy, if it were not for it being a liquid. Known to have a strange effect on plushies."
color = "#fbcbd7"
taste_description = "the soft feeling of a plushie"
pH = 5
value = 50
can_synth = TRUE
/datum/reagent/fermi/plushmium/reaction_obj(obj/O, reac_volume)
if(istype(O, /obj/item/toy/plush) && reac_volume >= 5)
O.loc.visible_message("<span class='warning'>The plushie seems to be staring back at you.</span>")
var/obj/item/toy/plushie_shell/new_shell = new /obj/item/toy/plushie_shell(O.loc)
new_shell.name = O.name
new_shell.icon = O.icon
new_shell.icon_state = O.icon_state
new_shell.stored_plush = O
O.forceMove(new_shell)
//Extra interaction for which spraying it on an existing sentient plushie aheals them, so they can be revived!
/datum/reagent/fermi/plushmium/reaction_mob(mob/living/M, method=TOUCH, reac_volume)
if(istype(M, /mob/living/simple_animal/pet/plushie) && reac_volume >= 1)
M.revive(full_heal = 1, admin_revive = 1)
///////////////////////////////////////////////////////////////////////////////////////////////
//Nanite removal
//Writen by Trilby!! Embellsished a little by me.
@@ -197,3 +197,25 @@
M.stat = DEAD
M.visible_message("The synthetic tissue degrades off [M]'s wounds as they collapse to the floor.")
//NEEDS ON_MOB_DEAD()
/datum/reagent/fermi/zeolites
name = "Artificial Zeolites"
description = "Lab made Zeolite, used to clear radiation form people and items alike! Splashing just a small amounts(5u) onto any item can clear away large amouts of contamination."
pH = 8
color = "#FFDADA"
metabolization_rate = 8 * REAGENTS_METABOLISM //Lastes not long in body but heals a lot!
value = REAGENT_VALUE_COMMON
/datum/reagent/fermi/zeolites/on_mob_life(mob/living/carbon/M)
var/datum/component/radioactive/contamination = M.GetComponent(/datum/component/radioactive)
if(M.radiation > 0)
M.radiation -= min(M.radiation, 60)
if(contamination.strength > 0)
contamination.strength -= min(contamination.strength, 100)
..()
/datum/reagent/fermi/zeolites/reaction_obj(obj/O, reac_volume)
var/datum/component/radioactive/contamination = O.GetComponent(/datum/component/radioactive)
if(contamination && reac_volume >= 5)
qdel(contamination)
return
@@ -480,6 +480,33 @@
RateUpLim = 15
FermiChem = TRUE
/datum/chemical_reaction/fermi/plushmium // done
name = "Plushification serum"
id = /datum/reagent/fermi/plushmium
results = list(/datum/reagent/fermi/plushmium = 5)
required_reagents = list(/datum/reagent/medicine/strange_reagent = 5, /datum/reagent/drug/happiness = 3, /datum/reagent/blood = 10, /datum/reagent/consumable/laughter = 5, /datum/reagent/toxin/bad_food = 6)
//mix_message = ""
//FermiChem vars:
OptimalTempMin = 400
OptimalTempMax = 666
ExplodeTemp = 800
OptimalpHMin = 2
OptimalpHMax = 5
ReactpHLim = 6
//CatalystFact = 0 //To do 1
CurveSharpT = 8
CurveSharppH = 0.5
ThermicConstant = -2
HIonRelease = -0.1
RateUpLim = 2
FermiChem = TRUE
FermiExplode = TRUE
PurityMin = 0.6
/datum/chemical_reaction/fermi/plushmium/FermiExplode(datum/reagents, var/atom/my_atom, volume, temp, pH)
new /obj/item/toy/plush/random(get_turf(my_atom))
my_atom.visible_message("<span class='warning'>The reaction suddenly zaps, creating a plushie!</b></span>")
my_atom.reagents.clear_reagents()
/datum/chemical_reaction/fermi/basic_buffer/FermiFinish(datum/reagents/holder, atom/my_atom) //might need this
var/datum/reagent/fermi/basic_buffer/Fb = locate(/datum/reagent/fermi/basic_buffer) in my_atom.reagents.reagent_list
@@ -561,3 +588,23 @@
HIonRelease = 0.1
RateUpLim = 2
FermiChem = TRUE
/datum/chemical_reaction/fermi/zeolites
name = "Zeolites"
id = /datum/reagent/fermi/zeolites
results = list(/datum/reagent/fermi/zeolites = 5) //We make a lot!
required_reagents = list(/datum/reagent/medicine/potass_iodide = 1, /datum/reagent/aluminium = 1, /datum/reagent/silicon = 1, /datum/reagent/oxygen = 1)
//FermiChem vars:
OptimalTempMin = 300
OptimalTempMax = 900
ExplodeTemp = 1000 //check to see overflow doesn't happen!
OptimalpHMin = 4.0
OptimalpHMax = 6.0
ReactpHLim = 4
//CatalystFact = 0
CurveSharpT = 4
CurveSharppH = 0
ThermicConstant = 0
HIonRelease = 0.01
RateUpLim = 15
FermiChem = TRUE