Merge branch 'master' into loadout-json

This commit is contained in:
timothyteakettle
2020-12-06 17:24:24 +00:00
245 changed files with 31194 additions and 1645 deletions
@@ -524,3 +524,17 @@
slot = SLOT_HEAD
path = /obj/item/clothing/head/halo
ckeywhitelist = list("hisakaki")
/datum/gear/donator/vest
name = "vest and shirt"
slot = SLOT_W_UNIFORM
path = /obj/item/clothing/under/custom/vest
ckeywhitelist = list("maylowfox")
/datum/gear/donator/exo
name = "exo frame"
slot = SLOT_WEAR_SUIT
path = /obj/item/clothing/suit/custom/exo
ckeywhitelist = list("jesterz7")
@@ -12,7 +12,7 @@
/datum/gear/hands/dice
name = "Dice bag"
path = /obj/item/storage/box/dice
path = /obj/item/storage/dice
/datum/gear/hands/eightball
name = "Magic eightball"
@@ -14,3 +14,9 @@
name = "Joy mask"
path = /obj/item/clothing/mask/joy
cost = 3
/datum/gear/mask/gas
name = "Gas Mask"
path = /obj/item/clothing/mask/gas
cost = 2
restricted_roles = list("Chief Engineer", "Atmospheric Technician", "Station Engineer") //*shrug
@@ -44,6 +44,10 @@
name = "Maid costume"
path = /obj/item/clothing/under/costume/maid
/datum/gear/uniform/maidcostume/polychromic
name = "Polychromic maid costume"
path = /obj/item/clothing/under/rank/civilian/janitor/maid/polychromic
/datum/gear/uniform/mailmanuniform
name = "Mailman's jumpsuit"
path = /obj/item/clothing/under/misc/mailman
@@ -567,4 +567,21 @@
icon = 'icons/mob/clothing/custom_w.dmi'
mob_overlay_icon = 'icons/mob/clothing/custom_w.dmi'
dynamic_hair_suffix = ""
/obj/item/clothing/under/custom/vest
name = "vest"
desc = "A vest with a shirt underlining it."
icon_state = "vest"
item_state = "vest"
icon = 'icons/obj/custom.dmi'
mob_overlay_icon = 'icons/mob/clothing/custom_w.dmi'
mutantrace_variation = STYLE_DIGITIGRADE
/obj/item/clothing/suit/custom/exo
name = "Full ExoFrame"
desc = "A suit specially designed for those who live and breath hardware with custom tooled robotic manipulators for working with precision even on the most hazardous of jobs."
icon_state = "frame"
item_state = "frame"
icon = 'icons/obj/custom.dmi'
mob_overlay_icon = 'icons/mob/clothing/custom_w.dmi'
mutantrace_variation = NONE
@@ -132,6 +132,54 @@
user.nextsoundemote = world.time + 7
playsound(user, 'modular_citadel/sound/voice/awoo.ogg', 50, 1, -1)
/datum/emote/living/hiss
key = "hiss"
key_third_person = "hisses"
message = "hisses!"
emote_type = EMOTE_AUDIBLE
muzzle_ignore = FALSE
restraint_check = FALSE
/datum/emote/living/hiss/run_emote(mob/living/user, params)
if(!(. = ..()))
return
if(user.nextsoundemote >= world.time)
return
user.nextsoundemote = world.time + 7
playsound(user, 'modular_citadel/sound/voice/hiss.ogg', 50, 1, -1)
/datum/emote/living/meow
key = "meow"
key_third_person = "mrowls"
message = "mrowls!"
emote_type = EMOTE_AUDIBLE
muzzle_ignore = FALSE
restraint_check = FALSE
/datum/emote/living/meow/run_emote(mob/living/user, params)
if(!(. = ..()))
return
if(user.nextsoundemote >= world.time)
return
user.nextsoundemote = world.time + 7
playsound(user, 'modular_citadel/sound/voice/meow1.ogg', 50, 1, -1)
/datum/emote/living/purr
key = "purr"
key_third_person = "purrs softly"
message = "purrs softly."
emote_type = EMOTE_AUDIBLE
muzzle_ignore = FALSE
restraint_check = FALSE
/datum/emote/living/purr/run_emote(mob/living/user, params)
if(!(. = ..()))
return
if(user.nextsoundemote >= world.time)
return
user.nextsoundemote = world.time + 7
playsound(user, 'modular_citadel/sound/voice/purr.ogg', 50, 1, -1)
/datum/emote/living/nya
key = "nya"
key_third_person = "lets out a nya"
@@ -200,22 +200,23 @@
/datum/reagent/fermi/zeolites
name = "Artificial Zeolites"
description = "Lab made Zeolite, used to clear radiation from people and items alike! Splashing just a small amount(5u) onto any item can clear away large amounts of contamination."
description = "Lab made Zeolite, used to clear radiation from people and items alike! Splashing just a small amount(5u) onto any item can clear away large amounts of contamination, as long as its purity is at least 0.7."
pH = 8
color = "#FFDADA"
metabolization_rate = 8 * REAGENTS_METABOLISM //Metabolizes fast but heals a lot!
value = REAGENT_VALUE_COMMON
metabolization_rate = 8 * REAGENTS_METABOLISM //Metabolizes fast but heals a lot! Lasts far longer if more pure.
value = REAGENT_VALUE_RARE //Relatively hard to make now, might be fine with VERY_RARE instead depending on feedback.
/datum/reagent/fermi/zeolites/on_mob_life(mob/living/carbon/M)
metabolization_rate = (4 / purity) * REAGENTS_METABOLISM //Metab rate directly influenced by purity. Linear.
var/datum/component/radioactive/contamination = M.GetComponent(/datum/component/radioactive)
if(M.radiation > 0)
M.radiation -= min(M.radiation, 60)
if(M.radiation > 0) //hey so apparently pentetic literally purges 1/50 (2%) of the rad amount on someone per tick no matter the 'true' amount, sooo uhh time to tweak this some more..
M.radiation -= clamp(round((M.radiation / 150) * (25 ** purity), 0.1), 0, M.radiation) //Purges between ~3% and ~16% of total rad amount, per tick, depending on purity. Exponential.
if(contamination && contamination.strength > 0)
contamination.strength -= min(contamination.strength, 100)
contamination.strength -= min(contamination.strength, round(25 ** (0.5 + purity), 0.1)) //25 per tick at minimum purity; Tops out at ~125 per tick if purity is 1. Exponential.
..()
/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)
if(contamination && reac_volume >= 5 && purity >= 0.7) //you need at least 0.7 purity to instantly purge all contam on an object.
qdel(contamination)
return
@@ -591,19 +591,21 @@
/datum/chemical_reaction/fermi/zeolites
name = "Zeolites"
id = /datum/reagent/fermi/zeolites
results = list(/datum/reagent/fermi/zeolites = 5) //We make a lot!
results = list(/datum/reagent/fermi/zeolites = 5) //We make a lot! - But it's now somewhat dangerous, and needs a bit of uranium to catalyze the reaction
required_reagents = list(/datum/reagent/medicine/potass_iodide = 1, /datum/reagent/aluminium = 1, /datum/reagent/silicon = 1, /datum/reagent/oxygen = 1)
required_catalysts = list(/datum/reagent/uranium = 5)
//FermiChem vars:
OptimalTempMin = 300
OptimalTempMax = 900
ExplodeTemp = 1000 //check to see overflow doesn't happen!
OptimalpHMin = 4.0
OptimalpHMax = 6.0
OptimalTempMin = 500
OptimalTempMax = 750
ExplodeTemp = 850
OptimalpHMin = 2.8
OptimalpHMax = 5 //2.2 ph levels of optimal ph zone - centered at 3.9 - ph of ingredients mixed at equal values is 9.55; ph of result is 8.
ReactpHLim = 4
//CatalystFact = 0
CurveSharpT = 4
CurveSharppH = 0
ThermicConstant = 0
HIonRelease = 0.01
RateUpLim = 15
CurveSharpT = 1.5
CurveSharppH = 3
ThermicConstant = 7
HIonRelease = -0.15
RateUpLim = 4
PurityMin = 0.5 //Good luck.
FermiChem = TRUE