Merge branch 'master' into loadout-json
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user