Skip to content
Open
2 changes: 1 addition & 1 deletion code/game/jobs/job/civilian_chaplain.dm
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,7 @@ var/global/Inquisitor_Type = "Null"

/mob/living/carbon/human/proc/free_sins()
clear_event("epitemia")
to_chat(src, "<span class='passive'>Finaly, I free from my sins!</span>")
to_chat(src, "<span class='passive'>Finally, I'm free from my sins!</span>")
gainWP(TRUE, 3)
return

Expand Down
14 changes: 13 additions & 1 deletion code/game/objects/items/weapons/kitchen.dm
Original file line number Diff line number Diff line change
Expand Up @@ -215,6 +215,18 @@
/obj/item/kitchen/utensil/knife/flaying/attack(mob/living/carbon/human/H as mob, mob/user as mob)
if (dedick(H, user))
return
if(ishuman(H) && user.zone_sel.selecting == "face")
var/datum/organ/external/affecting = H.get_organ(ran_zone(user.zone_sel.selecting))
H.visible_message("<span class='danger'>[user] starts to flay [H]'s face off with [src]!</span>")
H.custom_pain("[pick("OH [uppertext(H.god_text())] MY FACE!!", "OH [uppertext(H.god_text())] WHY!")]", 100)
H.emote("agonyscream")
if(do_after(user, 66))
H.visible_message("<span class='danger'>[user] flays [H]'s face off with [src]!</span>")
H.custom_pain("[pick("OH IT HURTS SO MUCH!!", "WHAT HAVE I DONE!")]", 100)
H.apply_damage(rand(10, 15), BRUTE, affecting)
H.emote("agonyscream")
affecting.droplimb()
return

if(ishuman(H) && user.zone_sel.selecting != "groin")
var/datum/organ/external/affecting = H.get_organ(ran_zone(user.zone_sel.selecting))
Expand Down Expand Up @@ -465,7 +477,7 @@
user.bloody_hands()
user.apply_damage(5, BRUTE, "r_hand")
user.apply_damage(5, BRUTE, "l_hand")


/obj/item/kitchenknife/tanning
name = "tanning knife"
Expand Down
4 changes: 2 additions & 2 deletions code/game/turfs/simulated/water_lw.dm
Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,7 @@
M.adjustStaminaLoss(rand(0,2))
M.overlays += /obj/effect/water/waterlay
var/obj/item/flame/torch/F
M.bodytemperature = 200
M.bodytemperature = 300
if(ishuman(M))
if(M?.special == "sailor")
M.rotate_plane()
Expand Down Expand Up @@ -319,7 +319,7 @@
return
var/mob/living/carbon/human/M = AM
var/obj/item/flame/torch/F
M.bodytemperature = 200
M.bodytemperature = 300
for(F in M.contents)
if(F.lit)
F.turn_off()
Expand Down
5 changes: 5 additions & 0 deletions code/modules/medical/external_organs/_organ_external.dm
Original file line number Diff line number Diff line change
Expand Up @@ -959,6 +959,11 @@ Note that amputating the affected organ does in fact remove the infection from t
organ = new/obj/item/organ/jaw(owner.loc)
owner.drop_from_inventory(owner.wear_mask)
if(FACE)
if(!no_organ_item)
if(skellybones)
organ = new/obj/item/bone(owner.loc, owner)
else
organ = new/obj/item/organ/face(owner.loc, owner)
owner.drop_from_inventory(owner.glasses)

if(!amputated)
Expand Down
8 changes: 8 additions & 0 deletions code/modules/medical/organ_objects.dm
Original file line number Diff line number Diff line change
Expand Up @@ -197,6 +197,14 @@
body_part = MOUTH
icon = 'icons/obj/surgery.dmi'

/obj/item/organ/face
name = "face"
icon_state = "face"
gender = PLURAL
item_worth = 0
body_part = FACE
icon = 'icons/obj/surgery.dmi'

/obj/item/reagent_containers/food/snacks/organ/eyes
name = "eyeballs"
icon_state = "eyes"
Expand Down
44 changes: 44 additions & 0 deletions code/modules/surgery/face.dm
Original file line number Diff line number Diff line change
Expand Up @@ -46,3 +46,47 @@
"<span class='combat'>Your hand slips, damaging the [target]'s [affected.display_name] with \the [tool]!</span>")
affected.createwound(BRUISE, 5)
..()

/datum/surgery_step/mouth
allowed_tools = list(
/obj/item/surgery_tool/bonesetter = 100, \
/obj/item/wrench = 75
)

difficulty = 1
min_duration = 20
max_duration = 40
priority = 1

can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
if (!hasorgans(target))
return 0
if(target_zone != "mouth")
return 0
var/datum/organ/external/mouth/F = target.get_organ(target_zone)
if (!F)
return 0
if (F.status & ORGAN_DESTROYED)
return 0
return F.status & ORGAN_BROKEN

begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
var/datum/organ/external/affected = target.get_organ(target_zone)
user.visible_message("[user] is beginning to set the bones in [target]'s [affected.display_name] in place with \the [tool]." , \
"You are beginning to set the bones in [target]'s [affected.display_name] in place with \the [tool].")
..()

end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
var/datum/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='passive'>[user] sets the bone in [target]'s [affected.display_name] in place with \the [tool].</span>", \
"<span class='passive'>You set the bones in [target]'s [affected.display_name] in place with \the [tool].</span>")
affected.status &= ~ORGAN_BROKEN
affected.status &= ~ORGAN_SPLINTED
..()

fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
var/datum/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='combat'>[user]'s hand slips, damaging the [target]'s [affected.display_name] with \the [tool]!</span>" , \
"<span class='combat'>Your hand slips, damaging the [target]'s [affected.display_name] with \the [tool]!</span>")
affected.createwound(BRUISE, 5)
..()
Binary file modified icons/obj/surgery.dmi
Binary file not shown.
Loading