Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions code/__DEFINES/mobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@
#define MOVE_INTENT_RUN "run"

/// Normal baseline blood volume
#define BLOOD_VOLUME_NORMAL 1000
#define BLOOD_VOLUME_NORMAL 560
/// The amount blood typically regenerates to on its own
#define BLOOD_VOLUME_SAFE (BLOOD_VOLUME_NORMAL * 0.95)
#define BLOOD_VOLUME_SAFE (BLOOD_VOLUME_NORMAL * 0.90)
/// First stage of bloodloss, mostly warnings
#define BLOOD_VOLUME_SYMPTOMS_WARN (BLOOD_VOLUME_NORMAL * 0.70)
/// Second stage of bloodloss, minor harmless symptoms
Expand Down
2 changes: 1 addition & 1 deletion code/datums/elements/_element.dm
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@

/// Deactivates the functionality defines by the element on the given datum
/datum/element/proc/Detach(datum/source, force)
SEND_SIGNAL(source, COMSIG_ELEMENT_DETACH, src)
SHOULD_CALL_PARENT(1)
SEND_SIGNAL(source, COMSIG_ELEMENT_DETACH, src)
UnregisterSignal(source, COMSIG_PARENT_QDELETING)

/datum/element/Destroy(force)
Expand Down
4 changes: 2 additions & 2 deletions code/datums/wounds/bleed.dm
Original file line number Diff line number Diff line change
Expand Up @@ -201,7 +201,7 @@

/datum/wound/bleed/receive_damage(wounding_type, wounding_dmg, wound_bonus)
if(victim.stat != DEAD && wounding_type == WOUND_SLASH) // can't stab dead bodies to make it bleed faster this way
blood_flow += 0.05 * wounding_dmg
blood_flow += 0.5 * wounding_dmg
if(victim.get_blood(TRUE) && prob(internal_bleeding_chance + wounding_dmg))
if(limb.current_gauze && limb.current_gauze.splint_factor)
wounding_dmg *= (1 - limb.current_gauze.splint_factor)
Expand Down Expand Up @@ -253,7 +253,7 @@
limb.check_gauze_time()
limb.check_suture_time()

reduce_bloodflow()
// reduce_bloodflow()

/* if(get_blood_flow(FALSE) < minimum_flow)
to_chat(victim, span_green("The cut on your [limb.name] has stopped bleeding!"))
Expand Down
7 changes: 5 additions & 2 deletions code/datums/wounds/loss.dm
Original file line number Diff line number Diff line change
@@ -1,16 +1,19 @@
/datum/wound/loss
/datum/wound/bleed/loss
name = "Dismembered"
desc = "oof ouch!!"

sound_effect = 'sound/effects/dismember.ogg'
initial_flow = 30
minimum_flow = 10
clot_rate = 0.2
severity = WOUND_SEVERITY_LOSS
threshold_minimum = 180
status_effect_type = null
scar_keyword = "dismember"
wound_flags = null

/// Our special proc for our special dismembering, the wounding type only matters for what text we have
/datum/wound/loss/proc/apply_dismember(obj/item/bodypart/dismembered_part, wounding_type=WOUND_SLASH)
/datum/wound/bleed/loss/proc/apply_dismember(obj/item/bodypart/dismembered_part, wounding_type=WOUND_SLASH)
if(!istype(dismembered_part) || !dismembered_part.owner || !(dismembered_part.body_zone in viable_zones) || isalien(dismembered_part.owner) || !dismembered_part.can_dismember())
qdel(src)
return
Expand Down
2 changes: 1 addition & 1 deletion code/datums/wounds/pierce.dm
Original file line number Diff line number Diff line change
Expand Up @@ -89,4 +89,4 @@
demotes_to = /datum/wound/bleed/pierce/severe
status_effect_type = /datum/status_effect/wound/pierce/critical
scar_keyword = "piercecritical"
wound_flags = (FLESH_WOUND | ACCEPTS_GAUZE | MANGLES_FLESH | ACCEPTS_SUTURE)
wound_flags = (FLESH_WOUND | ACCEPTS_GAUZE | ACCEPTS_SUTURE)
2 changes: 1 addition & 1 deletion code/datums/wounds/slash.dm
Original file line number Diff line number Diff line change
Expand Up @@ -86,4 +86,4 @@
demotes_to = /datum/wound/bleed/slash/severe
status_effect_type = /datum/status_effect/wound/slash/critical
scar_keyword = "slashcritical"
wound_flags = (FLESH_WOUND | ACCEPTS_GAUZE | MANGLES_FLESH | ACCEPTS_SUTURE)
wound_flags = (FLESH_WOUND | ACCEPTS_GAUZE | ACCEPTS_SUTURE)
2 changes: 1 addition & 1 deletion code/game/objects/effects/wanted_poster.dm
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@
var/textLen = min(length(text), 7)
var/startX = 16 - (2*textLen)
var/i
for(i=1; i <= textLen, i++)
for(i=1; i <= textLen; i++)
var/letter = uppertext(text[i])
var/icon/letter_icon = icon("icon" = 'icons/Font_Minimal.dmi', "icon_state" = letter)
letter_icon.Shift(EAST, startX) //16 - (2*n)
Expand Down
2 changes: 1 addition & 1 deletion code/modules/arousal/genitals.dm
Original file line number Diff line number Diff line change
Expand Up @@ -614,7 +614,7 @@ GLOBAL_LIST_INIT(genital_layers, list(
// set the sprite's layer
genital_overlay.layer = -layer_to_put_it
//gross_image.layer = -layer_to_put_it
genital_overlay.loc = src
// genital_overlay.loc = src
gross_image.loc = src
gross_image.layer = SSpornhud.get_layer(src, nad.pornhud_slot, position)
// and then add it to the genital_sprites layer list thing
Expand Down
6 changes: 3 additions & 3 deletions code/modules/projectiles/projectile/bullets.dm
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,9 @@
sharpness = SHARP_POINTY
//gotta figure out if this was a good idea later -vide
embedding = list(
embed_chance=5,
fall_chance=4,
jostle_chance=1,
embed_chance=90,
fall_chance=0.5,
jostle_chance=20,
ignore_throwspeed_threshold=TRUE,
pain_stam_pct=0.5,
pain_mult=4,
Expand Down
5 changes: 3 additions & 2 deletions code/modules/surgery/bodyparts/dismemberment.dm
Original file line number Diff line number Diff line change
Expand Up @@ -197,11 +197,12 @@
if(!prob(base_chance))
return

var/datum/wound/loss/dismembering = new
var/datum/wound/bleed/loss/dismembering = new
dismembering.apply_dismember(src, wounding_type)

return TRUE


//when a limb is dropped, the internal organs are removed from the mob and put into the limb
/obj/item/organ/proc/transfer_to_limb(obj/item/bodypart/LB, mob/living/carbon/C)
Remove()
Expand Down Expand Up @@ -434,7 +435,7 @@
L.brutestate = 0
L.burnstate = 0
var/datum/scar/scaries = new
var/datum/wound/loss/phantom_loss = new // stolen valor, really
var/datum/wound/bleed/loss/phantom_loss = new // stolen valor, really
scaries.generate(L, phantom_loss)
//if(HAS_TRAIT(src, ROBOTIC_LIMBS)) //Snowflake trait moment, but needed.
// L.render_like_organic = TRUE
Expand Down
6 changes: 4 additions & 2 deletions code/modules/surgery/bodyparts/head.dm
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
desc = "Didn't make sense not to live for fun, your brain gets smart but your head gets dumb."
icon = 'icons/mob/human_parts.dmi'
icon_state = "default_human_head"
max_damage = 300
max_damage = 200
body_zone = BODY_ZONE_HEAD
body_part = HEAD
w_class = WEIGHT_CLASS_BULKY //Quite a hefty load
Expand Down Expand Up @@ -35,15 +35,17 @@
//If the head is a special sprite
var/custom_head

wound_resistance = 10
// wound_resistance = 10
scars_covered_by_clothes = FALSE
dismemberable = 1 //Can be dismembered

/obj/item/bodypart/head/can_dismember(obj/item/I)
// Can't decap people alive or with some kind of headgear. Balance reasons.
if(owner && (owner.stat != DEAD || owner.head))
return FALSE
return ..()


/obj/item/bodypart/head/drop_organs(mob/user)
var/turf/T = get_turf(src)
if(status != BODYPART_ROBOTIC)
Expand Down
4 changes: 2 additions & 2 deletions config/game_options.txt
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@ OOC_DURING_ROUND
## To speed things up make the number negative, to slow things down, make the number positive.

## These modify the run/walk speed of all mobs before the mob-specific modifiers are applied.
RUN_DELAY 1.8
WALK_DELAY 2.8
RUN_DELAY 2
WALK_DELAY 3

## This is subtracted from the run speed to get the final sprint speed.
SPRINT_SPEED_INCREASE 0.65
Expand Down
Loading