Merge branch 'master' into xantholne-christmas01

This commit is contained in:
Unknown
2019-12-06 17:21:08 -07:00
269 changed files with 10257 additions and 7157 deletions
@@ -63,16 +63,6 @@
category = SLOT_IN_BACKPACK
path = /obj/item/dildo/custom
/datum/gear/paperbin
name = "Paper Bin"
category = SLOT_IN_BACKPACK
path = /obj/item/paper_bin
/datum/gear/crayons
name = "Box of crayons"
category = SLOT_IN_BACKPACK
path = /obj/item/storage/crayons
/datum/gear/toykatana
name = "Toy Katana"
category = SLOT_IN_BACKPACK
@@ -99,4 +89,30 @@
/datum/gear/tape
name = "Spare cassette tape"
category = SLOT_IN_BACKPACK
path = /obj/item/tape/random
path = /obj/item/tape/random
/datum/gear/newspaper
name = "Newspaper"
category = SLOT_IN_BACKPACK
path = /obj/item/newspaper
/datum/gear/paperbin
name = "Paper Bin"
category = SLOT_IN_BACKPACK
path = /obj/item/paper_bin
/datum/gear/crayons
name = "Box of crayons"
category = SLOT_IN_BACKPACK
path = /obj/item/storage/crayons
/datum/gear/multipen
name = "A multicolored pen"
category = SLOT_IN_BACKPACK
path = /obj/item/pen/fourcolor
/datum/gear/fountainpen
name = "A fancy pen"
category = SLOT_IN_BACKPACK
path = /obj/item/pen/fountain
cost = 2
@@ -7,3 +7,10 @@
name = "Fake moustache"
category = SLOT_WEAR_MASK
path = /obj/item/clothing/mask/fakemoustache
/datum/gear/joy
name = "Joy mask"
category = SLOT_WEAR_MASK
path = /obj/item/clothing/mask/joy
cost = 9
@@ -64,6 +64,11 @@
category = SLOT_WEAR_SUIT
path = /obj/item/clothing/suit/hooded/wintercoat
/datum/gear/coat/aformal
name = "Assistant's formal winter coat"
category = SLOT_WEAR_SUIT
path = /obj/item/clothing/suit/hooded/wintercoat/aformal
/* Commented out until it is "balanced"
/datum/gear/coat/sec
name = "Security winter coat"
@@ -78,13 +83,11 @@
path = /obj/item/clothing/suit/hooded/wintercoat/medical
restricted_roles = list("Chief Medical Officer", "Medical Doctor") // Reserve it to Medical Doctors and their boss, the Chief Medical Officer
/* Commented out until there is a Chemistry Winter Coat
/datum/gear/coat/med/chem
name = "Chemistry winter coat"
/datum/gear/coat/robotics
name = "Robotics winter coat"
category = SLOT_WEAR_SUIT
path = /obj/item/clothing/suit/hooded/wintercoat/medical/chemistry
restricted_roles = list("Chief Medical Officer", "Chemist") // Reserve it to Chemists and their boss, the Chief Medical Officer
*/
path = /obj/item/clothing/suit/hooded/wintercoat/robotics
restricted_roles = list("Research Director", "Roboticist")
/datum/gear/coat/sci
name = "Science winter coat"
@@ -73,6 +73,11 @@
category = SLOT_W_UNIFORM
path = /obj/item/clothing/under/skirt/purple
/datum/gear/skirtplaid
name = "Plaid skirt"
category = SLOT_W_UNIFORM
path = /obj/item/clothing/under/plaid_skirt
/datum/gear/schoolgirlblue
name = "Blue Schoolgirl Uniform"
category = SLOT_W_UNIFORM
@@ -108,6 +113,11 @@
category = SLOT_W_UNIFORM
path = /obj/item/clothing/under/pants/camo
/datum/gear/athleticshorts
name = "Athletic Shorts"
category = SLOT_W_UNIFORM
path = /obj/item/clothing/under/shorts
/datum/gear/bjeans
name = "Black Jeans"
category = SLOT_W_UNIFORM
@@ -180,6 +190,11 @@
category = SLOT_W_UNIFORM
path = /obj/item/clothing/under/bb_sweater/blue
/datum/gear/keyholesweater
name = "Keyhole Sweater"
category = SLOT_W_UNIFORM
path = /obj/item/clothing/under/keyholesweater
/datum/gear/polykilt
name = "Polychromic Kilt"
category = SLOT_W_UNIFORM
@@ -334,4 +349,17 @@
/datum/gear/christmasfemaleg
name = "Green Feminine Christmas Suit"
category = SLOT_W_UNIFORM
path = /obj/item/clothing/under/christmas/christmasfemaleg
path = /obj/item/clothing/under/christmas/christmasfemaleg
/datum/gear/pinkstripper
name = "Pink stripper outfit"
category = SLOT_W_UNIFORM
path = /obj/item/clothing/under/stripper_pink
cost = 3
/datum/gear/greenstripper
name = "Green stripper outfit"
category = SLOT_W_UNIFORM
path = /obj/item/clothing/under/stripper_green
cost = 3
@@ -1,4 +1,4 @@
/mob/living/carbon/adjustStaminaLossBuffered(amount, updating_stamina = 1)
/mob/living/carbon/adjustStaminaLossBuffered(amount, updating_health = 1)
if(status_flags & GODMODE)
return 0
if(CONFIG_GET(flag/disable_stambuffer))
@@ -8,7 +8,7 @@
adjustStaminaLoss(directstamloss)
bufferedstam = CLAMP(bufferedstam + amount, 0, stambuffer)
stambufferregentime = world.time + 10
if(updating_stamina)
if(updating_health)
update_health_hud()
/mob/living/carbon/adjustStaminaLoss(amount, updating_health = TRUE, forced = FALSE, affected_zone = BODY_ZONE_CHEST)
@@ -5,7 +5,8 @@
var/oldpseudoheight = pseudo_z_axis
. = ..()
if(. && sprinting && !(movement_type & FLYING) && canmove && !resting && m_intent == MOVE_INTENT_RUN && has_gravity(loc) && !pulledby)
doSprintLossTiles(1)
if(!HAS_TRAIT(src, TRAIT_FREESPRINT))
doSprintLossTiles(1)
if((oldpseudoheight - pseudo_z_axis) >= 8)
to_chat(src, "<span class='warning'>You trip off of the elevated surface!</span>")
for(var/obj/item/I in held_items)
@@ -1,4 +1,4 @@
/mob/living/proc/adjustStaminaLossBuffered(amount, updating_stamina = TRUE, forced = FALSE)
/mob/living/proc/adjustStaminaLossBuffered(amount, updating_health = TRUE, forced = FALSE)
return
/mob/living/proc/doSprintLossTiles(amount)
@@ -101,20 +101,39 @@
pH = 7.6
metabolization_rate = 0.05 //Give them time to graft
data = list("grown_volume" = 0, "injected_vol" = 0)
var/borrowed_health
color = "#FFDADA"
/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
var/mob/living/carbon/C = M
var/healing_factor = (((data["grown_volume"] / 100) + 1)*reac_volume)
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>")
if (M.stat == DEAD)
M.visible_message("The synthetic tissue rapidly grafts into [M]'s wounds, attemping to repair the damage as quickly as possible.")
borrowed_health += healing_factor
M.adjustBruteLoss(-healing_factor*2)
M.adjustFireLoss(-healing_factor*2)
M.adjustToxLoss(-healing_factor)
M.adjustCloneLoss(-healing_factor)
M.updatehealth()
if(data["grown_volume"] > 135 && ((C.health + C.oxyloss)>=80))
if(M.revive())
M.emote("gasp")
borrowed_health *= 2
if(borrowed_health < 100)
borrowed_health = 100
log_combat(M, M, "revived", src)
else
M.adjustBruteLoss(-healing_factor)
M.adjustFireLoss(-healing_factor)
to_chat(M, "<span class='danger'>You feel your flesh merge with the synthetic tissue! 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"] = reac_volume
if(method==INJECT)
data["injected_vol"] = reac_volume
var/obj/item/organ/heart/H = C.getorganslot(ORGAN_SLOT_HEART)
if(data["grown_volume"] > 50 && H.organ_flags & ORGAN_FAILING)
H.applyOrganDamage(-20)
..()
/datum/reagent/synthtissue/on_mob_life(mob/living/carbon/C)
@@ -128,6 +147,10 @@
to_chat(C, "<span class='notice'>You feel something reform inside of you!</span>")
data["injected_vol"] -= metabolization_rate
if(borrowed_health)
C.adjustToxLoss(1)
C.adjustCloneLoss(1)
borrowed_health -= 1
..()
/datum/reagent/synthtissue/on_merge(passed_data)
@@ -138,6 +161,7 @@
if(iscarbon(holder.my_atom))
data["injected_vol"] = data["injected_vol"] + passed_data["injected_vol"]
passed_data["injected_vol"] = 0
update_name()
..()
/datum/reagent/synthtissue/on_new(passed_data)
@@ -145,6 +169,32 @@
return ..()
if(passed_data["grown_volume"] > data["grown_volume"])
data["grown_volume"] = passed_data["grown_volume"]
update_name()
..()
/datum/reagent/synthtissue/proc/update_name() //They are but babes on creation and have to grow unto godhood
switch(data["grown_volume"])
if(-INFINITY to 50)
name = "Induced Synthtissue Colony"
if(50 to 80)
name = "Oligopotent Synthtissue Colony"
if(80 to 135)
name = "Pluripotent Synthtissue Colony"
if(135 to 175)
name = "SuperSomatic Synthtissue Colony"
if(175 to INFINITY)
name = "Omnipotent Synthtissue Colony"
/datum/reagent/synthtissue/on_mob_delete(mob/living/M)
if(!iscarbon(M))
return
var/mob/living/carbon/C = M
C.adjustBruteLoss(borrowed_health*1.25)
C.adjustToxLoss(borrowed_health*1.25)
C.adjustCloneLoss(borrowed_health*1.25)
C.adjustAllOrganLoss(borrowed_health*0.25)
M.updatehealth()
if(borrowed_health && C.health < -20)
M.stat = DEAD
M.visible_message("The synthetic tissue degrades off [M]'s wounds as they collapse to the floor.")
//NEEDS ON_MOB_DEAD()
@@ -34,7 +34,6 @@
if(src == C.head)
C.emote("me",1,"tips their hat.",TRUE)
return
..()
/obj/item/clothing/head/hattip/equipped(mob/M, slot)
. = ..()