Merge branch 'master' into Reagents_bitflats

This commit is contained in:
Thalpy
2019-10-08 07:31:03 +01:00
committed by GitHub
132 changed files with 1927 additions and 479 deletions
@@ -38,6 +38,8 @@
var/secondary_color = "#FFFFFF"
var/tertiary_color = "#808080"
var/force_alternate_icon = FALSE
/obj/item/clothing/update_icon() // picks the colored overlays from the ICON file
..()
if(hasprimary) //Checks if the overlay is enabled
@@ -14,6 +14,7 @@
desc = "Oooh... right."
icon = 'modular_citadel/icons/obj/clothing/trek_item_icon.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/clothing/trek_mob_icon.dmi'
force_alternate_icon = TRUE
item_state = ""
can_adjust = FALSE //to prevent you from "wearing it casually"
@@ -23,7 +24,7 @@
desc = "The uniform worn by command officers in the mid 2260s."
icon_state = "trek_command"
item_state = "trek_command"
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0)
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0)
/obj/item/clothing/under/rank/trek/engsec
name = "Operations Uniform"
@@ -94,6 +95,7 @@
icon = 'modular_citadel/icons/obj/clothing/trek_item_icon.dmi'
icon_state = "trek_ds9_coat"
alternate_worn_icon = 'modular_citadel/icons/mob/clothing/trek_mob_icon.dmi'
force_alternate_icon = TRUE
item_state = "trek_ds9_coat"
body_parts_covered = CHEST|GROIN|ARMS
mutantrace_variation = NO_MUTANTRACE_VARIATION
@@ -138,6 +140,7 @@
desc = "A uniform jacket from the United Federation. Set phasers to awesome."
icon = 'modular_citadel/icons/obj/clothing/trek_item_icon.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/clothing/trek_mob_icon.dmi'
force_alternate_icon = TRUE
icon_state = "fedcoat"
item_state = "fedcoat"
mutantrace_variation = NO_MUTANTRACE_VARIATION
@@ -204,6 +207,7 @@
desc = "A modern uniform jacket from the United Federation."
icon = 'modular_citadel/icons/obj/clothing/trek_item_icon.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/clothing/trek_mob_icon.dmi'
force_alternate_icon = TRUE
icon_state = "fedmodern"
item_state = "fedmodern"
body_parts_covered = CHEST|GROIN|ARMS
@@ -236,6 +240,7 @@
icon = 'modular_citadel/icons/obj/clothing/trek_item_icon.dmi'
icon_state = "fedcapofficer"
alternate_worn_icon = 'modular_citadel/icons/mob/clothing/trek_mob_icon.dmi'
force_alternate_icon = TRUE
item_state = "fedcapofficer"
//Variants
@@ -293,7 +293,7 @@ Creating a chem with a low purity will make you permanently fall in love with so
SSblackbox.record_feedback("tally", "fermi_chem", 1, "Thralls mindbroken")
/datum/reagent/fermi/enthrall/overdose_process(mob/living/carbon/M)
M.adjustBrainLoss(0.2)//should be ~30 in total
M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 0.2)//should be ~30 in total
..()
//Creates a gas cloud when the reaction blows up, causing everyone in it to fall in love with someone/something while it's in their system.
@@ -340,7 +340,7 @@ Creating a chem with a low purity will make you permanently fall in love with so
M.Stun(10)
M.emote("whimper")//does this exist?
to_chat(M, "[(M.client?.prefs.lewdchem?"<span class='love'>":"<span class='warning'>")] You're overcome with a desire to see [love].</span>")
M.adjustBrainLoss(0.5)//I found out why everyone was so damaged!
M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 0.5)//I found out why everyone was so damaged!
..()
/datum/reagent/fermi/enthrallExplo/on_mob_delete(mob/living/carbon/M)
@@ -123,7 +123,7 @@ IMPORTANT FACTORS TO CONSIDER WHILE BALANCING
//Damage the clone
SM.blood_volume = (BLOOD_VOLUME_NORMAL*SM.blood_ratio)/2
SM.adjustCloneLoss(60, 0)
SM.setBrainLoss(40)
SM.setOrganLoss(ORGAN_SLOT_BRAIN, 40)
SM.nutrition = startHunger/2
//Transfer remaining reagent to clone. I think around 30u will make a healthy clone, otherwise they'll have clone damage, blood loss, brain damage and hunger.
@@ -249,7 +249,7 @@ IMPORTANT FACTORS TO CONSIDER WHILE BALANCING
SM.adjustToxLoss(-(bodydamage/10), 0)
SM.blood_volume = (BLOOD_VOLUME_NORMAL*SM.blood_ratio)/1.5
SM.adjustCloneLoss((bodydamage/10), 0)
SM.setBrainLoss((bodydamage/10))
SM.setOrganLoss(ORGAN_SLOT_BRAIN, (bodydamage/10))
SM.nutrition = 400
if(bodydamage>200)
SM.gain_trauma_type(BRAIN_TRAUMA_MILD)
@@ -290,7 +290,7 @@ IMPORTANT FACTORS TO CONSIDER WHILE BALANCING
if(M.blood_volume < (BLOOD_VOLUME_NORMAL*M.blood_ratio))
M.blood_volume += 10
M.adjustCloneLoss(-2, 0)
M.setBrainLoss(-1)
M.setOrganLoss(ORGAN_SLOT_BRAIN, -1)
M.nutrition += 10
..()
@@ -250,8 +250,7 @@
if((method==VAPOR) && (!C.wear_mask))
if(prob(20))
to_chat(C, "<span class='warning'>You can feel your lungs burning!</b></span>")
var/obj/item/organ/lungs/L = C.getorganslot(ORGAN_SLOT_LUNGS)
L.adjustLungLoss(acidstr*2, C)
C.adjustOrganLoss(ORGAN_SLOT_LUNGS, acidstr*2)
C.apply_damage(acidstr/5, BURN, target)
C.acid_act(acidstr, volume)
..()
@@ -16,9 +16,9 @@
var/obj/item/organ/lungs/L = C.getorganslot(ORGAN_SLOT_LUNGS)
if(T)
T.adjustTongueLoss(C, -2)//Fix the inputs me!
T.applyOrganDamage(-2)
if(L)
L.adjustLungLoss(-5, C)
C.adjustOrganLoss(ORGAN_SLOT_LUNGS, -5)
C.adjustOxyLoss(-2)
else
C.adjustOxyLoss(-10)
@@ -65,9 +65,9 @@
holder.remove_reagent(src.id, "10")
if(!C.getorganslot(ORGAN_SLOT_LUNGS))
var/obj/item/organ/lungs/L = new()
var/obj/item/organ/lungs/yamerol/L = new()
L.Insert(C)
to_chat(C, "<span class='notice'>You feel your lungs reform in your chest.</span>")
to_chat(C, "<span class='notice'>You feel the yamerol merge in your chest.</span>")
holder.remove_reagent(src.id, "10")
C.adjustOxyLoss(-3)
@@ -86,10 +86,63 @@
var/obj/item/organ/lungs/L = C.getorganslot(ORGAN_SLOT_LUNGS)
if(T)
T.adjustTongueLoss(C, 1)
T.applyOrganDamage(1)
if(L)
L.adjustLungLoss(4, C)
C.adjustOrganLoss(ORGAN_SLOT_LUNGS, 4)
C.adjustOxyLoss(3)
else
C.adjustOxyLoss(10)
..()
/datum/reagent/synthtissue
name = "Synthtissue"
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
data = list("grown_volume" = 0, "injected_vol" = 0)
/datum/reagent/synthtissue/reaction_mob(mob/living/M, method=TOUCH, reac_volume,show_message = 1)
if(iscarbon(M))
var/target = M.zone_selected
if (M.stat == DEAD)
show_message = 0
if(method in list(PATCH, TOUCH))
M.apply_damage(reac_volume*-1.5, BRUTE, target)
M.apply_damage(reac_volume*-1.5, BURN, target)
if(show_message)
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
..()
/datum/reagent/synthtissue/on_mob_life(mob/living/carbon/C)
if(!iscarbon(C))
return ..()
if(data["injected_vol"] > 14)
if(data["grown_volume"] > 175) //I don't think this is even possible, but damn to I want to see if someone can (bare in mind it takes 2s to grow 0.05u)
if(volume >= 14)
if(C.regenerate_organs(only_one = TRUE))
C.reagents.remove_reagent(id, 15)
to_chat(C, "<span class='notice'>You feel something reform inside of you!</span>")
data["injected_vol"] -= metabolization_rate
..()
/datum/reagent/synthtissue/on_merge(passed_data)
if(!passed_data)
return ..()
if(passed_data["grown_volume"] > data["grown_volume"])
data["grown_volume"] = passed_data["grown_volume"]
..()
/datum/reagent/synthtissue/on_new(passed_data)
if(!passed_data)
return ..()
if(passed_data["grown_volume"] > data["grown_volume"])
data["grown_volume"] = passed_data["grown_volume"]
..()
//NEEDS ON_MOB_DEAD()
@@ -2,7 +2,7 @@
mix_sound = 'sound/effects/bubbles.ogg'
//Called for every reaction step
/datum/chemical_reaction/proc/FermiCreate(holder)
/datum/chemical_reaction/proc/FermiCreate(datum/reagents/holder, added_volume, added_purity)
return
//Called when reaction STOP_PROCESSING
@@ -138,16 +138,16 @@
/datum/reagent/drug/aphrodisiacplus/addiction_act_stage2(mob/living/M)
if(prob(30))
M.adjustBrainLoss(2)
M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 2)
..()
/datum/reagent/drug/aphrodisiacplus/addiction_act_stage3(mob/living/M)
if(prob(30))
M.adjustBrainLoss(3)
M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 3)
..()
/datum/reagent/drug/aphrodisiacplus/addiction_act_stage4(mob/living/M)
if(prob(30))
M.adjustBrainLoss(4)
M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 4)
..()
/datum/reagent/drug/aphrodisiacplus/overdose_process(mob/living/M)
@@ -84,7 +84,7 @@
return
/datum/reagent/medicine/sizeoxadone/overdose_process(mob/living/M)
M.adjustBrainLoss(1)
M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 1)
M.adjustToxLoss(1)
..()
. = 1