Merge branch 'master' into FERMICHEMCurTweaks

This commit is contained in:
Thalpy
2019-10-17 16:20:38 +01:00
committed by GitHub
118 changed files with 1643 additions and 392 deletions
@@ -450,5 +450,5 @@ datum/gear/darksabresheath
/datum/gear/donorgoggles
name = "Flight Goggles"
category = SLOT_HEAD
path = /obj/item/clothing/glasses/flight
path = /obj/item/clothing/head/flight
ckeywhitelist = list("maxlynchy")
@@ -1,3 +1,8 @@
/datum/gear/blindfold
name = "Blindfold"
category = SLOT_GLASSES
path = /obj/item/clothing/glasses/sunglasses/blindfold
/datum/gear/cold
name = "Cold goggles"
category = SLOT_GLASSES
@@ -494,11 +494,10 @@
icon = 'icons/obj/custom.dmi'
alternate_worn_icon = 'icons/mob/custom_w.dmi'
/obj/item/clothing/glasses/flight
/obj/item/clothing/head/flight
name = "flight goggles"
desc = "Old style flight goggles with a leather cap attached."
icon_state = "flight-g"
item_state = "flight-g"
icon = 'icons/obj/custom.dmi'
alternate_worn_icon = 'icons/mob/custom_w.dmi'
actions_types = list(/datum/action/item_action/toggle)
@@ -213,3 +213,18 @@
user.nextsoundemote = world.time + 7
playsound(user, 'modular_citadel/sound/voice/merp.ogg', 50, 1, -1)
. = ..()
/datum/emote/living/bark
key = "bark"
key_third_person = "barks"
message = "barks!"
emote_type = EMOTE_AUDIBLE
/datum/emote/living/bark/run_emote(mob/living/user, params)
if(ishuman(user))
if(user.nextsoundemote >= world.time)
return
user.nextsoundemote = world.time + 7
var/sound = pick('modular_citadel/sound/voice/bark1.ogg', 'modular_citadel/sound/voice/bark2.ogg')
playsound(user, sound, 50, 1, -1)
. = ..()
@@ -63,7 +63,7 @@ IMPORTANT FACTORS TO CONSIDER WHILE BALANCING
startHunger = M.nutrition
if(pollStarted == FALSE)
pollStarted = TRUE
candies = pollGhostCandidates("Do you want to play as a clone of [M], and do you agree to respect their character and act in a similar manner to them? Do not engage in ERP as them unless you have LOOC permission from them, and ensure it is permission from the original, not a clone.")
candies = pollGhostCandidates("Do you want and agree to play as a clone of [M], respect their character and not engage in ERP without permission from the original?", ignore_category = POLL_IGNORE_CLONE)
log_game("FERMICHEM: [M] ckey: [M.key] has taken SDGF, and ghosts have been polled.")
if(20 to INFINITY)
if(LAZYLEN(candies) && playerClone == FALSE) //If there's candidates, clone the person and put them in there!
@@ -85,7 +85,7 @@ IMPORTANT FACTORS TO CONSIDER WHILE BALANCING
log_game("FERMICHEM: [M] ckey: [M.key] is creating a clone, controlled by [C2]")
break
else
candies =- C2
candies -= C2
if(!SM.mind) //Something went wrong, use alt mechanics
return ..()
SM.mind.enslave_mind_to_creator(M)
@@ -99,7 +99,7 @@
id = "synthtissue"
description = "Synthetic tissue used for grafting onto damaged organs during surgery, or for treating limb damage. Has a very tight growth window between 305-320, any higher and the temperature will cause the cells to die. Additionally, growth time is considerably long, so chemists are encouraged to leave beakers with said reaction ongoing, while they tend to their other duties."
pH = 7.6
metabolization_rate = 0.1
metabolization_rate = 0.05 //Give them time to graft
data = list("grown_volume" = 0, "injected_vol" = 0)
/datum/reagent/synthtissue/reaction_mob(mob/living/M, method=TOUCH, reac_volume,show_message = 1)
@@ -114,7 +114,7 @@
to_chat(M, "<span class='danger'>You feel your [target] heal! It stings like hell!</span>")
SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "painful_medicine", /datum/mood_event/painful_medicine)
if(method==INJECT)
data["injected_vol"] = data["injected_vol"] + reac_volume
data["injected_vol"] = reac_volume
..()
/datum/reagent/synthtissue/on_mob_life(mob/living/carbon/C)
@@ -135,6 +135,9 @@
return ..()
if(passed_data["grown_volume"] > data["grown_volume"])
data["grown_volume"] = passed_data["grown_volume"]
if(iscarbon(holder.my_atom))
data["injected_vol"] = data["injected_vol"] + passed_data["injected_vol"]
passed_data["injected_vol"] = 0
..()
/datum/reagent/synthtissue/on_new(passed_data)
@@ -28,7 +28,7 @@
return
//Called when temperature is above a certain threshold, or if purity is too low.
/datum/chemical_reaction/proc/FermiExplode(datum/reagents/R_origin, var/atom/my_atom, volume, temp, pH, Exploding = FALSE)
/datum/chemical_reaction/proc/FermiExplode(datum/reagents/R0, var/atom/my_atom, volume, temp, pH, Exploding = FALSE)
if (Exploding == TRUE)
return
@@ -76,7 +76,7 @@
var/datum/effect_system/smoke_spread/chem/s = new()
R.my_atom = my_atom //Give the gas a fingerprint
for (var/datum/reagent/reagent in R_origin.reagent_list) //make gas for reagents, has to be done this way, otherwise it never stops Exploding
for (var/datum/reagent/reagent in R0.reagent_list) //make gas for reagents, has to be done this way, otherwise it never stops Exploding
R.add_reagent(reagent.id, reagent.volume/3) //Seems fine? I think I fixed the infinite explosion bug.
if (reagent.purity < 0.6)