Merge branch 'master' into xantholne-christmas01
This commit is contained in:
@@ -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)
|
||||
. = ..()
|
||||
|
||||
Reference in New Issue
Block a user