Balloon Alerts (#7877)

This commit is contained in:
Guti
2024-03-15 07:40:14 +01:00
committed by GitHub
parent 691c394394
commit 172e1c7c12
40 changed files with 705 additions and 239 deletions

View File

@@ -91,14 +91,14 @@
var/obj/item/device/destTagger/O = W var/obj/item/device/destTagger/O = W
if(O.currTag) if(O.currTag)
if(src.sortTag != O.currTag) if(src.sortTag != O.currTag)
to_chat(user, "<span class='notice'>You have labeled the destination as [O.currTag].</span>") balloon_alert(user, "You have labeled the destination as [O.currTag].")
if(!src.sortTag) if(!src.sortTag)
src.sortTag = O.currTag src.sortTag = O.currTag
playsound(src, 'sound/machines/twobeep.ogg', 50, 1) playsound(src, 'sound/machines/twobeep.ogg', 50, 1)
else else
to_chat(user, "<span class='warning'>The mail is already labeled for [O.currTag].</span>") balloon_alert(user, "The mail is already labeled for [O.currTag].")
else else
to_chat(user, "<span class='warning'>You need to set a destination first!</span>") balloon_alert(user, "You need to set a destination first!")
return return
/obj/item/mail/attack_self(mob/user) /obj/item/mail/attack_self(mob/user)
@@ -108,14 +108,15 @@
/obj/item/mail/proc/unwrap(mob/user) /obj/item/mail/proc/unwrap(mob/user)
if(recipient && user != recipient) if(recipient && user != recipient)
to_chat(user, "<span class='notice'>You can't open somebody's mail! That's <em>illegal</em></span>") balloon_alert(user, "You can't open somebody's mail! That's <em>illegal</em>")
return FALSE return FALSE
if(opening) if(opening)
to_chat(user, "<span class='notice'>You are already opening that!</span>") balloon_alert(user, "You are already opening that!")
return FALSE return FALSE
opening = TRUE opening = TRUE
balloon_alert(user, "Unwrapping...")
if(!do_after(user, 1.5 SECONDS, target = user)) if(!do_after(user, 1.5 SECONDS, target = user))
opening = FALSE opening = FALSE
return FALSE return FALSE

View File

@@ -17,16 +17,16 @@
/obj/item/stack/medical/attack(mob/living/carbon/M as mob, mob/user as mob) /obj/item/stack/medical/attack(mob/living/carbon/M as mob, mob/user as mob)
if (!istype(M)) if (!istype(M))
to_chat(user, "<span class='warning'>\The [src] cannot be applied to [M]!</span>") balloon_alert(user, "\The [src] cannot be applied to [M]!") // CHOMPEdit - Balloon Alerts
return 1 return 1
if (!user.IsAdvancedToolUser()) if (!user.IsAdvancedToolUser())
to_chat(user, "<span class='warning'>You don't have the dexterity to do this!</span>") balloon_alert(user, "You don't have the dexterity to do this!") // CHOMPEdit - Balloon Alerts
return 1 return 1
var/available = get_amount() var/available = get_amount()
if(!available) if(!available)
to_chat(user, "<span class='warning'>There's not enough [uses_charge ? "charge" : "items"] left to use that!</span>") balloon_alert(user, "Not enough [uses_charge ? "charge" : "items"] left to use that!") // CHOMPEdit - Balloon Alerts
return 1 return 1
if (istype(M, /mob/living/carbon/human)) if (istype(M, /mob/living/carbon/human))
@@ -34,24 +34,24 @@
var/obj/item/organ/external/affecting = H.get_organ(user.zone_sel.selecting) var/obj/item/organ/external/affecting = H.get_organ(user.zone_sel.selecting)
if(!affecting) if(!affecting)
to_chat(user, "<span class='warning'>No body part there to work on!</span>") balloon_alert(user, "No body part there to work on!") // CHOMPEdit - Balloon Alerts
return 1 return 1
if(affecting.organ_tag == BP_HEAD) if(affecting.organ_tag == BP_HEAD)
if(H.head && istype(H.head,/obj/item/clothing/head/helmet/space)) if(H.head && istype(H.head,/obj/item/clothing/head/helmet/space))
to_chat(user, "<span class='warning'>You can't apply [src] through [H.head]!</span>") balloon_alert(user, "You can't apply [src] through [H.head]!") // CHOMPEdit - Balloon Alerts
return 1 return 1
else else
if(H.wear_suit && istype(H.wear_suit,/obj/item/clothing/suit/space)) if(H.wear_suit && istype(H.wear_suit,/obj/item/clothing/suit/space))
to_chat(user, "<span class='warning'>You can't apply [src] through [H.wear_suit]!</span>") balloon_alert(user, "You can't apply [src] through [H.wear_suit]!") // CHOMPEdit - Balloon Alerts
return 1 return 1
if(affecting.robotic == ORGAN_ROBOT) if(affecting.robotic == ORGAN_ROBOT)
to_chat(user, "<span class='warning'>This isn't useful at all on a robotic limb.</span>") balloon_alert(user, "This isn't useful at all on a robotic limb.") // CHOMPEdit - Balloon Alerts
return 1 return 1
if(affecting.robotic >= ORGAN_LIFELIKE) if(affecting.robotic >= ORGAN_LIFELIKE)
to_chat(user, "<span class='warning'>You apply the [src], but it seems to have no effect...</span>") balloon_alert(user, "You apply the [src], but it seems to have no effect...") // CHOMPEdit - Balloon Alerts
use(1) use(1)
return 1 return 1
@@ -60,9 +60,9 @@
else else
M.heal_organ_damage((src.heal_brute/2), (src.heal_burn/2)) M.heal_organ_damage((src.heal_brute/2), (src.heal_burn/2))
user.visible_message( \ user.balloon_alert_visible( \
"<span class='notice'>[M] has been applied with [src] by [user].</span>", \ "[M] has been applied with [src] by [user].", \
"<span class='notice'>You apply \the [src] to [M].</span>" \ "You apply \the [src] to [M]." \
) )
use(1) use(1)
@@ -99,16 +99,16 @@
var/obj/item/organ/external/affecting = H.get_organ(user.zone_sel.selecting) var/obj/item/organ/external/affecting = H.get_organ(user.zone_sel.selecting)
if(affecting.open) if(affecting.open)
to_chat(user, "<span class='notice'>The [affecting.name] is cut open, you'll need more than a bandage!</span>") balloon_alert(user, "The [affecting.name] is cut open!") // CHOMPEdit - Balloon Alerts
return return
if(affecting.is_bandaged()) if(affecting.is_bandaged())
to_chat(user, "<span class='warning'>The wounds on [M]'s [affecting.name] have already been bandaged.</span>") balloon_alert(user, "[M]'s [affecting.name] is already bandaged.") // CHOMPEdit - Balloon Alerts
return 1 return 1
else else
var/available = get_amount() var/available = get_amount()
user.visible_message("<b>\The [user]</b> starts bandaging [M]'s [affecting.name].", \ user.balloon_alert_visible("\The [user] starts bandaging [M]'s [affecting.name].", \
"<span class='notice'>You start bandaging [M]'s [affecting.name].</span>" ) "Bandaging [M]'s [affecting.name]." ) // CHOMPEdit - Balloon Alerts
var/used = 0 var/used = 0
for (var/datum/wound/W in affecting.wounds) for (var/datum/wound/W in affecting.wounds)
if(W.internal) if(W.internal)
@@ -118,32 +118,32 @@
if(used == amount) if(used == amount)
break break
if(!do_mob(user, M, W.damage/3, exclusive = TRUE)) if(!do_mob(user, M, W.damage/3, exclusive = TRUE))
to_chat(user, "<span class='notice'>You must stand still to bandage wounds.</span>") balloon_alert(user, "Stand still to bandage wounds.") // CHOMPEdit - Balloon Alerts
break break
if(affecting.is_bandaged()) // We do a second check after the delay, in case it was bandaged after the first check. if(affecting.is_bandaged()) // We do a second check after the delay, in case it was bandaged after the first check.
to_chat(user, "<span class='warning'>The wounds on [M]'s [affecting.name] have already been bandaged.</span>") balloon_alert(user, "[M]'s [affecting.name] is already bandaged.") // CHOMPEdit - Balloon Alerts
return 1 return 1
if(used >= available) if(used >= available)
to_chat(user, "<span class='warning'>You run out of [src]!</span>") balloon_alert(user, "You run out of [src]!") // CHOMPEdit - Balloon Alerts
break break
if (W.current_stage <= W.max_bleeding_stage) if (W.current_stage <= W.max_bleeding_stage)
user.visible_message("<b>\The [user]</b> bandages \a [W.desc] on [M]'s [affecting.name].", \ user.balloon_alert_visible("\The [user] bandages \a [W.desc] on [M]'s [affecting.name].", \
"<span class='notice'>You bandage \a [W.desc] on [M]'s [affecting.name].</span>" ) "You bandage \a [W.desc] on [M]'s [affecting.name]." ) // CHOMPEdit - Balloon Alerts
else else
user.visible_message("<b>\The [user]</b> places a bandage over \a [W.desc] on [M]'s [affecting.name].", \ user.balloon_alert_visible("\The [user] places a bandage over \a [W.desc] on [M]'s [affecting.name].", \
"<span class='notice'>You place a bandage over \a [W.desc] on [M]'s [affecting.name].</span>" ) "You place a bandage over \a [W.desc] on [M]'s [affecting.name]." ) // CHOMPEdit - Balloon Alerts
W.bandage() W.bandage()
playsound(src, pick(apply_sounds), 25) playsound(src, pick(apply_sounds), 25)
used++ used++
affecting.update_damages() affecting.update_damages()
if(used == amount) if(used == amount)
if(affecting.is_bandaged()) if(affecting.is_bandaged())
to_chat(user, "<span class='warning'>\The [src] is used up.</span>") balloon_alert(user, "\The [src] is used up.") // CHOMPEdit - Balloon Alerts
else else
to_chat(user, "<span class='warning'>\The [src] is used up, but there are more wounds to treat on \the [affecting.name].</span>") balloon_alert(user, "\The [src] is used up, but there are more wounds to treat on \the [affecting.name].") // CHOMPEdit - Balloon Alerts
use(used) use(used)
/obj/item/stack/medical/bruise_pack /obj/item/stack/medical/bruise_pack
@@ -168,16 +168,16 @@
var/obj/item/organ/external/affecting = H.get_organ(user.zone_sel.selecting) var/obj/item/organ/external/affecting = H.get_organ(user.zone_sel.selecting)
if(affecting.open) if(affecting.open)
to_chat(user, "<span class='notice'>The [affecting.name] is cut open, you'll need more than a bandage!</span>") balloon_alert(user, "The [affecting.name] is cut open!") // CHOMPEdit - Balloon Alerts
return return
if(affecting.is_bandaged()) if(affecting.is_bandaged())
to_chat(user, "<span class='warning'>The wounds on [M]'s [affecting.name] have already been bandaged.</span>") balloon_alert(user, "[M]'s [affecting.name] is already bandaged.") // CHOMPEdit - Balloon Alerts
return 1 return 1
else else
var/available = get_amount() var/available = get_amount()
user.visible_message("<b>\The [user]</b> starts treating [M]'s [affecting.name].", \ user.balloon_alert_visible("\The [user] starts treating [M]'s [affecting.name].", \
"<span class='notice'>You start treating [M]'s [affecting.name].</span>" ) "Treating [M]'s [affecting.name]." ) // CHOMPEdit - Balloon Alerts
var/used = 0 var/used = 0
for (var/datum/wound/W in affecting.wounds) for (var/datum/wound/W in affecting.wounds)
if (W.internal) if (W.internal)
@@ -187,27 +187,27 @@
if(used == amount) if(used == amount)
break break
if(!do_mob(user, M, W.damage/5, exclusive = TRUE)) if(!do_mob(user, M, W.damage/5, exclusive = TRUE))
to_chat(user, "<span class='notice'>You must stand still to bandage wounds.</span>") balloon_alert(user, "Stand still to bandage wounds.") // CHOMPEdit - Balloon Alerts
break break
if(affecting.is_bandaged()) // We do a second check after the delay, in case it was bandaged after the first check. if(affecting.is_bandaged()) // We do a second check after the delay, in case it was bandaged after the first check.
to_chat(user, "<span class='warning'>The wounds on [M]'s [affecting.name] have already been bandaged.</span>") balloon_alert(user, "[M]'s [affecting.name] is already bandaged.") // CHOMPEdit - Balloon Alerts
return 1 return 1
if(used >= available) if(used >= available)
to_chat(user, "<span class='warning'>You run out of [src]!</span>") balloon_alert(user, "You run out of [src]!") // CHOMPEdit - Balloon Alerts
break break
if (W.current_stage <= W.max_bleeding_stage) if (W.current_stage <= W.max_bleeding_stage)
user.visible_message("<b>\The [user]</b> bandages \a [W.desc] on [M]'s [affecting.name].", \ user.balloon_alert_visible("\The [user] bandages \a [W.desc] on [M]'s [affecting.name].", \
"<span class='notice'>You bandage \a [W.desc] on [M]'s [affecting.name].</span>" ) "Bandaged \a [W.desc] on [M]'s [affecting.name]." ) // CHOMPEdit - Balloon Alerts
//H.add_side_effect("Itch") //H.add_side_effect("Itch")
else if (W.damage_type == BRUISE) else if (W.damage_type == BRUISE)
user.visible_message("<b>\The [user]</b> places a bruise patch over \a [W.desc] on [M]'s [affecting.name].", \ user.balloon_alert_visible("\The [user] places a bruise patch over \a [W.desc] on [M]'s [affecting.name].", \
"<span class='notice'>You place a bruise patch over \a [W.desc] on [M]'s [affecting.name].</span>" ) "Placed bruise patch over \a [W.desc] on [M]'s [affecting.name]." ) // CHOMPEdit - Balloon Alerts
else else
user.visible_message("<b>\The [user]</b> places a bandaid over \a [W.desc] on [M]'s [affecting.name].", \ user.balloon_alert_visible("\The [user] places a bandaid over \a [W.desc] on [M]'s [affecting.name].", \
"<span class='notice'>You place a bandaid over \a [W.desc] on [M]'s [affecting.name].</span>" ) "Placed bandaid over \a [W.desc] on [M]'s [affecting.name]." ) // CHOMPEdit - Balloon Alerts
W.bandage() W.bandage()
// W.disinfect() // VOREStation - Tech1 should not disinfect // W.disinfect() // VOREStation - Tech1 should not disinfect
playsound(src, pick(apply_sounds), 25) playsound(src, pick(apply_sounds), 25)
@@ -215,9 +215,9 @@
affecting.update_damages() affecting.update_damages()
if(used == amount) if(used == amount)
if(affecting.is_bandaged()) if(affecting.is_bandaged())
to_chat(user, "<span class='warning'>\The [src] is used up.</span>") balloon_alert(user, "\The [src] is used up.") // CHOMPEdit - Balloon Alerts
else else
to_chat(user, "<span class='warning'>\The [src] is used up, but there are more wounds to treat on \the [affecting.name].</span>") balloon_alert(user, "\The [src] is used up, but there are more wounds to treat on \the [affecting.name].") // CHOMPEdit - Balloon Alerts
use(used) use(used)
/obj/item/stack/medical/ointment /obj/item/stack/medical/ointment
@@ -242,23 +242,23 @@
var/obj/item/organ/external/affecting = H.get_organ(user.zone_sel.selecting) var/obj/item/organ/external/affecting = H.get_organ(user.zone_sel.selecting)
if(affecting.open) if(affecting.open)
to_chat(user, "<span class='notice'>The [affecting.name] is cut open, you'll need more than a bandage!</span>") balloon_alert(user, "The [affecting.name] is cut open!") // CHOMPEdit - Balloon Alerts // CHOMPEdit - Balloon Alerts
return return
if(affecting.is_salved()) if(affecting.is_salved())
to_chat(user, "<span class='warning'>The wounds on [M]'s [affecting.name] have already been salved.</span>") balloon_alert(user, "The wounds on [M]'s [affecting.name] have already been salved.") // CHOMPEdit - Balloon Alerts // CHOMPEdit - Balloon Alerts
return 1 return 1
else else
user.visible_message("<b>\The [user]</b> starts salving wounds on [M]'s [affecting.name].", \ user.balloon_alert_visible("\The [user] starts salving wounds on [M]'s [affecting.name].", \
"<span class='notice'>You start salving the wounds on [M]'s [affecting.name].</span>" ) "Salving the wounds on [M]'s [affecting.name]." ) // CHOMPEdit - Balloon Alerts // CHOMPEdit - Balloon Alerts
if(!do_mob(user, M, 10, exclusive = TRUE)) if(!do_mob(user, M, 10, exclusive = TRUE))
to_chat(user, "<span class='notice'>You must stand still to salve wounds.</span>") balloon_alert(user, "Stand still to salve wounds.") // CHOMPEdit - Balloon Alerts // CHOMPEdit - Balloon Alerts
return 1 return 1
if(affecting.is_salved()) // We do a second check after the delay, in case it was bandaged after the first check. if(affecting.is_salved()) // We do a second check after the delay, in case it was bandaged after the first check.
to_chat(user, "<span class='warning'>The wounds on [M]'s [affecting.name] have already been salved.</span>") balloon_alert(user, "[M]'s [affecting.name] have already been salved.") // CHOMPEdit - Balloon Alerts // CHOMPEdit - Balloon Alerts
return 1 return 1
user.visible_message("<span class='notice'>[user] salved wounds on [M]'s [affecting.name].</span>", \ user.balloon_alert_visible("[user] salved wounds on [M]'s [affecting.name].", \
"<span class='notice'>You salved wounds on [M]'s [affecting.name].</span>" ) "Salved wounds on [M]'s [affecting.name]." ) // CHOMPEdit - Balloon Alerts // CHOMPEdit - Balloon Alerts
use(1) use(1)
affecting.salve() affecting.salve()
playsound(src, pick(apply_sounds), 25) playsound(src, pick(apply_sounds), 25)
@@ -287,16 +287,16 @@
var/obj/item/organ/external/affecting = H.get_organ(user.zone_sel.selecting) var/obj/item/organ/external/affecting = H.get_organ(user.zone_sel.selecting)
if(affecting.open) if(affecting.open)
to_chat(user, "<span class='notice'>The [affecting.name] is cut open, you'll need more than a bandage!</span>") balloon_alert(user, "The [affecting.name] is cut open!") // CHOMPEdit - Balloon Alerts // CHOMPEdit - Balloon Alerts
return return
if(affecting.is_bandaged() && affecting.is_disinfected()) if(affecting.is_bandaged() && affecting.is_disinfected())
to_chat(user, "<span class='warning'>The wounds on [M]'s [affecting.name] have already been treated.</span>") balloon_alert(user, "[M]'s [affecting.name] have already been treated.") // CHOMPEdit - Balloon Alerts // CHOMPEdit - Balloon Alerts
return 1 return 1
else else
var/available = get_amount() var/available = get_amount()
user.visible_message("<b>\The [user]</b> starts treating [M]'s [affecting.name].", \ user.balloon_alert_visible("\The [user] starts treating [M]'s [affecting.name].", \
"<span class='notice'>You start treating [M]'s [affecting.name].</span>" ) "Treating [M]'s [affecting.name]." ) // CHOMPEdit - Balloon Alerts // CHOMPEdit - Balloon Alerts
var/used = 0 var/used = 0
for (var/datum/wound/W in affecting.wounds) for (var/datum/wound/W in affecting.wounds)
if (W.internal) if (W.internal)
@@ -306,25 +306,25 @@
//if(used == amount) //VOREStation Edit //if(used == amount) //VOREStation Edit
// break //VOREStation Edit // break //VOREStation Edit
if(!do_mob(user, M, W.damage/5, exclusive = TRUE)) if(!do_mob(user, M, W.damage/5, exclusive = TRUE))
to_chat(user, "<span class='notice'>You must stand still to bandage wounds.</span>") balloon_alert(user, "Stand still to bandage wounds.") // CHOMPEdit - Balloon Alerts // CHOMPEdit - Balloon Alerts
break break
if(affecting.is_bandaged() && affecting.is_disinfected()) // We do a second check after the delay, in case it was bandaged after the first check. if(affecting.is_bandaged() && affecting.is_disinfected()) // We do a second check after the delay, in case it was bandaged after the first check.
to_chat(user, "<span class='warning'>The wounds on [M]'s [affecting.name] have already been bandaged.</span>") balloon_alert(user, "[M]'s [affecting.name] is already bandaged.") // CHOMPEdit - Balloon Alerts // CHOMPEdit - Balloon Alerts
return 1 return 1
if(used >= available) if(used >= available)
to_chat(user, "<span class='warning'>You run out of [src]!</span>") balloon_alert(user, "You run out of [src]!") // CHOMPEdit - Balloon Alerts
break break
if (W.current_stage <= W.max_bleeding_stage) if (W.current_stage <= W.max_bleeding_stage)
user.visible_message("<b>\The [user]</b> cleans \a [W.desc] on [M]'s [affecting.name] and seals the edges with bioglue.", \ user.balloon_alert_visible("\The [user] cleans \a [W.desc] on [M]'s [affecting.name] and seals the edges with bioglue.", \
"<span class='notice'>You clean and seal \a [W.desc] on [M]'s [affecting.name].</span>" ) "Cleaning and sealing \a [W.desc] on [M]'s [affecting.name]." ) // CHOMPEdit - Balloon Alerts
else if (W.damage_type == BRUISE) else if (W.damage_type == BRUISE)
user.visible_message("<b>\The [user]</b> places a medical patch over \a [W.desc] on [M]'s [affecting.name].", \ user.balloon_alert_visible("\The [user] places a medical patch over \a [W.desc] on [M]'s [affecting.name].", \
"<span class='notice'>You place a medical patch over \a [W.desc] on [M]'s [affecting.name].</span>" ) "Placed medical patch over \a [W.desc] on [M]'s [affecting.name]." ) // CHOMPEdit - Balloon Alerts
else else
user.visible_message("<b>\The [user]</b> smears some bioglue over \a [W.desc] on [M]'s [affecting.name].", \ user.balloon_alert_visible("\The [user] smears some bioglue over \a [W.desc] on [M]'s [affecting.name].", \
"<span class='notice'>You smear some bioglue over \a [W.desc] on [M]'s [affecting.name].</span>" ) "Smeared bioglue over \a [W.desc] on [M]'s [affecting.name]." ) // CHOMPEdit - Balloon Alerts
W.bandage() W.bandage()
W.disinfect() W.disinfect()
W.heal_damage(heal_brute) W.heal_damage(heal_brute)
@@ -334,9 +334,9 @@
affecting.update_damages() affecting.update_damages()
if(used == amount) if(used == amount)
if(affecting.is_bandaged()) if(affecting.is_bandaged())
to_chat(user, "<span class='warning'>\The [src] is used up.</span>") balloon_alert(user, "\The [src] is used up.") // CHOMPEdit - Balloon Alerts
else else
to_chat(user, "<span class='warning'>\The [src] is used up, but there are more wounds to treat on \the [affecting.name].</span>") balloon_alert(user, "\The [src] is used up, but there are more wounds to treat on \the [affecting.name].") // CHOMPEdit - Balloon Alerts
use(used) use(used)
/obj/item/stack/medical/advanced/ointment /obj/item/stack/medical/advanced/ointment
@@ -357,22 +357,22 @@
var/obj/item/organ/external/affecting = H.get_organ(user.zone_sel.selecting) var/obj/item/organ/external/affecting = H.get_organ(user.zone_sel.selecting)
if(affecting.open) if(affecting.open)
to_chat(user, "<span class='notice'>The [affecting.name] is cut open, you'll need more than a bandage!</span>") balloon_alert(user, "The [affecting.name] is cut open!") // CHOMPEdit - Balloon Alerts
if(affecting.is_salved()) if(affecting.is_salved())
to_chat(user, "<span class='warning'>The wounds on [M]'s [affecting.name] have already been salved.</span>") balloon_alert(user, "[M]'s [affecting.name] has already been salved.") // CHOMPEdit - Balloon Alerts
return 1 return 1
else else
user.visible_message("<b>\The [user]</b> starts salving wounds on [M]'s [affecting.name].", \ user.balloon_alert_visible("\The [user] starts salving wounds on [M]'s [affecting.name].", \
"<span class='notice'>You start salving the wounds on [M]'s [affecting.name].</span>" ) "Salving the wounds on [M]'s [affecting.name]." ) // CHOMPEdit - Balloon Alerts
if(!do_mob(user, M, 10, exclusive = TRUE)) if(!do_mob(user, M, 10, exclusive = TRUE))
to_chat(user, "<span class='notice'>You must stand still to salve wounds.</span>") balloon_alert(user, "Stand still to salve wounds.") // CHOMPEdit - Balloon Alerts
return 1 return 1
if(affecting.is_salved()) // We do a second check after the delay, in case it was bandaged after the first check. if(affecting.is_salved()) // We do a second check after the delay, in case it was bandaged after the first check.
to_chat(user, "<span class='warning'>The wounds on [M]'s [affecting.name] have already been salved.</span>") balloon_alert(user, "[M]'s [affecting.name] have already been salved.") // CHOMPEdit - Balloon Alerts
return 1 return 1
user.visible_message( "<span class='notice'>[user] covers wounds on [M]'s [affecting.name] with regenerative membrane.</span>", \ user.balloon_alert_visible("[user] covers wounds on [M]'s [affecting.name] with regenerative membrane.", \
"<span class='notice'>You cover wounds on [M]'s [affecting.name] with regenerative membrane.</span>" ) "Covered wounds on [M]'s [affecting.name] with regenerative membrane." ) // CHOMPEdit - Balloon Alerts
affecting.heal_damage(0,heal_burn) affecting.heal_damage(0,heal_burn)
use(1) use(1)
affecting.salve() affecting.salve()
@@ -400,25 +400,25 @@
var/obj/item/organ/external/affecting = H.get_organ(user.zone_sel.selecting) var/obj/item/organ/external/affecting = H.get_organ(user.zone_sel.selecting)
var/limb = affecting.name var/limb = affecting.name
if(!(affecting.organ_tag in splintable_organs)) if(!(affecting.organ_tag in splintable_organs))
to_chat(user, "<span class='danger'>You can't use \the [src] to apply a splint there!</span>") balloon_alert(user, "You can't use \the [src] to apply a splint there!") // CHOMPEdit - Balloon Alerts
return return
if(affecting.splinted) if(affecting.splinted)
to_chat(user, "<span class='danger'>[M]'s [limb] is already splinted!</span>") balloon_alert(user, "[M]'s [limb] is already splinted!") // CHOMPEdit - Balloon Alerts
return return
if (M != user) if (M != user)
user.visible_message("<span class='danger'>[user] starts to apply \the [src] to [M]'s [limb].</span>", "<span class='danger'>You start to apply \the [src] to [M]'s [limb].</span>", "<span class='danger'>You hear something being wrapped.</span>") user.balloon_alert_visible("[user] starts to apply \the [src] to [M]'s [limb].", "Applying \the [src] to [M]'s [limb].", "You hear something being wrapped.") // CHOMPEdit - Balloon Alerts
else else
if(( !user.hand && (affecting.organ_tag in list(BP_R_ARM, BP_R_HAND)) || \ if(( !user.hand && (affecting.organ_tag in list(BP_R_ARM, BP_R_HAND)) || \
user.hand && (affecting.organ_tag in list(BP_L_ARM, BP_L_HAND)) )) user.hand && (affecting.organ_tag in list(BP_L_ARM, BP_L_HAND)) ))
to_chat(user, "<span class='danger'>You can't apply a splint to the arm you're using!</span>") balloon_alert(user, "You can't apply a splint to the arm you're using!") // CHOMPEdit - Balloon Alerts
return return
user.visible_message("<span class='danger'>[user] starts to apply \the [src] to their [limb].</span>", "<span class='danger'>You start to apply \the [src] to your [limb].</span>", "<span class='danger'>You hear something being wrapped.</span>") user.balloon_alert_visible("[user] starts to apply \the [src] to their [limb].", "Applying \the [src] to your [limb].", "You hear something being wrapped.") // CHOMPEdit - Balloon Alerts
if(do_after(user, 50, M, exclusive = TASK_USER_EXCLUSIVE)) if(do_after(user, 50, M, exclusive = TASK_USER_EXCLUSIVE))
if(affecting.splinted) if(affecting.splinted)
to_chat(user, "<span class='danger'>[M]'s [limb] is already splinted!</span>") balloon_alert(user, "[M]'s [limb] is already splinted!") // CHOMPEdit - Balloon Alerts
return return
if(M == user && prob(75)) if(M == user && prob(75))
user.visible_message("<span class='danger'>\The [user] fumbles [src].</span>", "<span class='danger'>You fumble [src].</span>", "<span class='danger'>You hear something being wrapped.</span>") user.balloon_alert_visible("\The [user] fumbles [src].", "Fumbling [src].", "You hear something being wrapped.") // CHOMPEdit - Balloon Alerts
return return
if(ishuman(user)) if(ishuman(user))
var/obj/item/stack/medical/splint/S = split(1) var/obj/item/stack/medical/splint/S = split(1)
@@ -426,9 +426,9 @@
if(affecting.apply_splint(S)) if(affecting.apply_splint(S))
S.forceMove(affecting) S.forceMove(affecting)
if (M != user) if (M != user)
user.visible_message("<span class='danger'>\The [user] finishes applying [src] to [M]'s [limb].</span>", "<span class='danger'>You finish applying \the [src] to [M]'s [limb].</span>", "<span class='danger'>You hear something being wrapped.</span>") user.balloon_alert_visible("\The [user] finishes applying [src] to [M]'s [limb].", "Finished applying \the [src] to [M]'s [limb].", "You hear something being wrapped.") // CHOMPEdit - Balloon Alerts
else else
user.visible_message("<span class='danger'>\The [user] successfully applies [src] to their [limb].</span>", "<span class='danger'>You successfully apply \the [src] to your [limb].</span>", "<span class='danger'>You hear something being wrapped.</span>") user.balloon_alert_visible("\The [user] successfully applies [src] to their [limb].", "Successfully applied \the [src] to your [limb].", "You hear something being wrapped.") // CHOMPEdit - Balloon Alerts
return return
S.dropInto(src.loc) //didn't get applied, so just drop it S.dropInto(src.loc) //didn't get applied, so just drop it
if(isrobot(user)) if(isrobot(user))
@@ -436,10 +436,10 @@
if(B) if(B)
if(affecting.apply_splint(B)) if(affecting.apply_splint(B))
B.forceMove(affecting) B.forceMove(affecting)
user.visible_message("<span class='danger'>\The [user] finishes applying [src] to [M]'s [limb].</span>", "<span class='danger'>You finish applying \the [src] to [M]'s [limb].</span>", "<span class='danger'>You hear something being wrapped.</span>") user.balloon_alert_visible("\The [user] finishes applying [src] to [M]'s [limb].", "Finish applying \the [src] to [M]'s [limb].", "You hear something being wrapped.") // CHOMPEdit - Balloon Alerts
B.use(1) B.use(1)
return return
user.visible_message("<span class='danger'>\The [user] fails to apply [src].</span>", "<span class='danger'>You fail to apply [src].</span>", "<span class='danger'>You hear something being wrapped.</span>") user.balloon_alert_visible("\The [user] fails to apply [src].", "Failed to apply [src].", "You hear something being wrapped.") // CHOMPEdit - Balloon Alerts
return return

View File

@@ -21,33 +21,33 @@
R.adjustFireLoss(-15) R.adjustFireLoss(-15)
R.updatehealth() R.updatehealth()
use(1) use(1)
user.visible_message("<span class='notice'>\The [user] applied some [src] on [R]'s damaged areas.</span>",\ user.balloon_alert_visible("\The [user] applied some [src] on [R]'s damaged areas.",\
"<span class='notice'>You apply some [src] at [R]'s damaged areas.</span>") "You apply some [src] at [R]'s damaged areas.") // CHOMPEdit - Balloon Alerts
else else
to_chat(user, "<span class='notice'>All [R]'s systems are nominal.</span>") balloon_alert(user, "All [R]'s systems are nominal.") // CHOMPEdit - Balloon Alerts
if (istype(M,/mob/living/carbon/human)) //Repairing robolimbs if (istype(M,/mob/living/carbon/human)) //Repairing robolimbs
var/mob/living/carbon/human/H = M var/mob/living/carbon/human/H = M
var/obj/item/organ/external/S = H.get_organ(user.zone_sel.selecting) var/obj/item/organ/external/S = H.get_organ(user.zone_sel.selecting)
if(!S) if(!S)
to_chat(user, "<span class='warning'>No body part there to work on!</span>") balloon_alert(user, "No body part there to work on!") // CHOMPEdit - Balloon Alerts
return 1 return 1
if(S.organ_tag == BP_HEAD) if(S.organ_tag == BP_HEAD)
if(H.head && istype(H.head,/obj/item/clothing/head/helmet/space)) if(H.head && istype(H.head,/obj/item/clothing/head/helmet/space))
to_chat(user, "<span class='warning'>You can't apply [src] through [H.head]!</span>") balloon_alert(user, "You can't apply [src] through [H.head]!") // CHOMPEdit - Balloon Alerts
return 1 return 1
else else
if(H.wear_suit && istype(H.wear_suit,/obj/item/clothing/suit/space)) if(H.wear_suit && istype(H.wear_suit,/obj/item/clothing/suit/space))
to_chat(user, "<span class='warning'>You can't apply [src] through [H.wear_suit]!</span>") balloon_alert(user, "You can't apply [src] through [H.wear_suit]!") // CHOMPEdit - Balloon Alerts
return 1 return 1
//VOREStation Edit Start //VOREStation Edit Start
if (S && (S.robotic >= ORGAN_ROBOT)) if (S && (S.robotic >= ORGAN_ROBOT))
if(!S.get_damage()) if(!S.get_damage())
to_chat(user, "<span class='notice'>Nothing to fix here.</span>") balloon_alert(user, "Nothing to fix here.") // CHOMPEdit - Balloon Alerts
else if((S.open < 2) && (S.brute_dam + S.burn_dam >= S.min_broken_damage) && !repair_external) else if((S.open < 2) && (S.brute_dam + S.burn_dam >= S.min_broken_damage) && !repair_external)
to_chat(user, "<span class='notice'>The damage is too extensive for this nanite swarm to handle.</span>") balloon_alert(user, "The damage is too extensive for this nanite swarm to handle.") // CHOMPEdit - Balloon Alerts
else if(can_use(1)) else if(can_use(1))
user.setClickCooldown(user.get_attack_speed(src)) user.setClickCooldown(user.get_attack_speed(src))
if(S.open >= 2) if(S.open >= 2)
@@ -57,6 +57,6 @@
S.heal_damage(restoration_external,restoration_external, robo_repair =1) S.heal_damage(restoration_external,restoration_external, robo_repair =1)
H.updatehealth() H.updatehealth()
use(1) use(1)
user.visible_message("<span class='notice'>\The [user] applies some nanite paste on [user != M ? "[M]'s [S.name]" : "[S]"] with [src].</span>",\ user.balloon_alert_visible("\The [user] applies some nanite paste on [user != M ? "[M]'s [S.name]" : "[S]"] with [src].",\
"<span class='notice'>You apply some nanite paste on [user == M ? "your" : "[M]'s"] [S.name].</span>") "You apply some nanite paste on [user == M ? "your" : "[M]'s"] [S.name].") // CHOMPEdit - Balloon Alerts
//VOREStation Edit End //VOREStation Edit End

View File

@@ -7,7 +7,7 @@
playsound(src,'sound/items/eatfood.ogg', rand(10,50), 1) playsound(src,'sound/items/eatfood.ogg', rand(10,50), 1)
user.drop_item() user.drop_item()
forceMove(H.vore_selected) forceMove(H.vore_selected)
to_chat(H, "<span class='notice'>You can taste the flavor of garbage. Wait what?</span>") balloon_alert(H, "You can taste the flavor of garbage. Wait what?") // CHOMPEdit - Balloon alerts
return return
if(isrobot(M)) if(isrobot(M))
@@ -16,7 +16,7 @@
playsound(src,'sound/items/eatfood.ogg', rand(10,50), 1) playsound(src,'sound/items/eatfood.ogg', rand(10,50), 1)
user.drop_item() user.drop_item()
forceMove(R.vore_selected) forceMove(R.vore_selected)
R.visible_message("<span class='warning'>[user] feeds [R] with [src]!</span>") R.balloon_alert_visible("[user] feeds [R] with [src]!", "You feed [R] \the [src]!") // CHOMPEdit - Balloon alerts
return return
..() ..()

View File

@@ -72,14 +72,17 @@
if(istype(W,/obj/item/stack/cable_coil)) if(istype(W,/obj/item/stack/cable_coil))
var/obj/item/stack/cable_coil/CC = W var/obj/item/stack/cable_coil/CC = W
if(string_attached) if(string_attached)
to_chat(user, "<span class='notice'>There already is a string attached to this coin.</span>") // to_chat(user, "<span class='notice'>There already is a string attached to this coin.</span>")
balloon_alert(user, "There is a string already attached to \the [src]") // CHOMPEdit - Changed to balloon alert
return return
if (CC.use(1)) if (CC.use(1))
add_overlay("coin_string_overlay") add_overlay("coin_string_overlay")
string_attached = 1 string_attached = 1
to_chat(user, "<span class='notice'>You attach a string to the coin.</span>") // to_chat(user, "<span class='notice'>You attach a string to the coin.</span>")
balloon_alert(user, "String attached to \the [src]") // CHOMPEdit - Changed to balloon alert
else else
to_chat(user, "<span class='notice'>This cable coil appears to be empty.</span>") // to_chat(user, "<span class='notice'>This cable coil appears to be empty.</span>")
balloon_alert(user, "The coil seems to be empty...") // CHOMPEdit - Changed to balloon alert
return return
else if(W.has_tool_quality(TOOL_WIRECUTTER)) else if(W.has_tool_quality(TOOL_WIRECUTTER))
if(!string_attached) if(!string_attached)
@@ -90,7 +93,8 @@
CC.update_icon() CC.update_icon()
cut_overlays() cut_overlays()
string_attached = null string_attached = null
to_chat(user, "<span class='notice'>You detach the string from the coin.</span>") // to_chat(user, "<span class='notice'>You detach the string from the coin.</span>")
balloon_alert(user, "String detached") // CHOMPEdit - Changed to balloon alert
else ..() else ..()
/obj/item/weapon/coin/attack_self(mob/user as mob) /obj/item/weapon/coin/attack_self(mob/user as mob)
@@ -102,3 +106,4 @@
comment = "heads" comment = "heads"
user.visible_message("<span class='notice'>[user] has thrown \the [src]. It lands on [comment]! </span>", \ user.visible_message("<span class='notice'>[user] has thrown \the [src]. It lands on [comment]! </span>", \
"<span class='notice'>You throw \the [src]. It lands on [comment]! </span>") "<span class='notice'>You throw \the [src]. It lands on [comment]! </span>")
balloon_alert_visible("\the [src] lands on [comment]!", "\the [src] lands on [comment]!")

View File

@@ -68,7 +68,7 @@
"Advertising is legalized lying! But don't let that put you off our great deals!", \ "Advertising is legalized lying! But don't let that put you off our great deals!", \
"You don't want to buy anything? Yeah, well I didn't want to buy your mom either.")) "You don't want to buy anything? Yeah, well I didn't want to buy your mom either."))
*/ */
originMachine.speak(pick(rampant_speeches)) //VORESTATION Add - Using this pick instead of the above. originMachine.balloon_alert_visible(pick(rampant_speeches)) //VORESTATION Add - Using this pick instead of the above. CHOMPEdit - Make them TALK
/datum/event/brand_intelligence/end() /datum/event/brand_intelligence/end()
for(var/obj/machinery/vending/infectedMachine in infectedVendingMachines) for(var/obj/machinery/vending/infectedMachine in infectedVendingMachines)

View File

@@ -80,7 +80,7 @@
food_inserted_micros -= F food_inserted_micros -= F
if(!reagents.total_volume) if(!reagents.total_volume)
M.visible_message("<span class='notice'>[M] finishes eating \the [src].</span>","<span class='notice'>You finish eating \the [src].</span>") M.balloon_alert_visible("Finishes eating \the [src].","Finished eating \the [src].") // CHOMPEdit - Balloon alert
usr.drop_from_inventory(src) // Drop food from inventory so it doesn't end up staying on the hud after qdel, and so inhands go away usr.drop_from_inventory(src) // Drop food from inventory so it doesn't end up staying on the hud after qdel, and so inhands go away
@@ -98,17 +98,20 @@
/obj/item/weapon/reagent_containers/food/snacks/attack(mob/living/M as mob, mob/living/user as mob, def_zone) //CHOMPEdit /obj/item/weapon/reagent_containers/food/snacks/attack(mob/living/M as mob, mob/living/user as mob, def_zone) //CHOMPEdit
if(reagents && !reagents.total_volume) if(reagents && !reagents.total_volume)
to_chat(user, "<span class='danger'>None of [src] left!</span>") // to_chat(user, "<span class='danger'>None of [src] left!</span>")
balloon_alert(user, "None of [src] left!") // CHOMPEdit - Changed to balloon alert
user.drop_from_inventory(src) user.drop_from_inventory(src)
qdel(src) qdel(src)
return 0 return 0
if(package) if(package)
to_chat(M, "<span class='warning'>How do you expect to eat this with the package still on?</span>") // to_chat(M, "<span class='warning'>How do you expect to eat this with the package still on?</span>")
balloon_alert(user, "The package is in the way.") // CHOMPEdit - Changed to balloon alert
return FALSE return FALSE
if(canned) if(canned)
to_chat(M, "<span class='warning'>How do you expect to eat this without opening it?</span>") // to_chat(M, "<span class='warning'>How do you expect to eat this without opening it?</span>")
balloon_alert(user, "The can is closed.") // CHOMPEdit - Changed to balloon alert
return FALSE return FALSE
if(istype(M, /mob/living/carbon)) if(istype(M, /mob/living/carbon))
@@ -121,7 +124,8 @@
if(istype(M,/mob/living/carbon/human)) if(istype(M,/mob/living/carbon/human))
var/mob/living/carbon/human/H = M var/mob/living/carbon/human/H = M
if(!H.check_has_mouth()) if(!H.check_has_mouth())
to_chat(user, "Where do you intend to put \the [src]? You don't have a mouth!") // to_chat(user, "Where do you intend to put \the [src]? You don't have a mouth!")
balloon_alert(user, "You don't have a mouth!") // CHOMPEdit - Changed to balloon alert
return return
var/obj/item/blocked = null var/obj/item/blocked = null
if(survivalfood) if(survivalfood)
@@ -129,10 +133,12 @@
else else
blocked = H.check_mouth_coverage() blocked = H.check_mouth_coverage()
if(blocked) if(blocked)
to_chat(user, "<span class='warning'>\The [blocked] is in the way!</span>") // to_chat(user, "<span class='warning'>\The [blocked] is in the way!</span>")
balloon_alert(user, "\The [blocked] is in the way!") // CHOMPEdit - Changed to balloon alert
return return
user.setClickCooldown(user.get_attack_speed(src)) //puts a limit on how fast people can eat/drink things user.setClickCooldown(user.get_attack_speed(src)) //puts a limit on how fast people can eat/drink things
// CHOMPEdit Start - Changing a lot of the to_chat ahead
if (fullness <= 50) if (fullness <= 50)
to_chat(M, "<span class='danger'>You hungrily chew out a piece of [src] and gobble it!</span>") to_chat(M, "<span class='danger'>You hungrily chew out a piece of [src] and gobble it!</span>")
if (fullness > 50 && fullness <= 150) if (fullness > 50 && fullness <= 150)
@@ -162,7 +168,8 @@
if(istype(M,/mob/living/carbon/human)) if(istype(M,/mob/living/carbon/human))
var/mob/living/carbon/human/H = M var/mob/living/carbon/human/H = M
if(!H.check_has_mouth()) if(!H.check_has_mouth())
to_chat(user, "Where do you intend to put \the [src]? \The [H] doesn't have a mouth!") // to_chat(user, "Where do you intend to put \the [src]? \The [H] doesn't have a mouth!")
balloon_alert(user, "\The [H] doesn't have a mouth!") // CHOMPEdit
return return
var/obj/item/blocked = null var/obj/item/blocked = null
var/unconcious = FALSE var/unconcious = FALSE
@@ -184,21 +191,22 @@
return return
if(blocked) if(blocked)
to_chat(user, "<span class='warning'>\The [blocked] is in the way!</span>") // to_chat(user, "<span class='warning'>\The [blocked] is in the way!</span>")
balloon_alert(user, "\The [blocked] is in the way!") // CHOMPEdit - Changed to balloon alert
return return
if(swallow_whole) if(swallow_whole)
if(!(M.feeding)) if(!(M.feeding))
to_chat(user, "<span class='warning'>You can't feed [H] a whole [src] as they refuse to be fed whole things!</span>") balloon_alert(user, "You can't feed [H] a whole [src] as they refuse to be fed whole things!") // CHOMPEdit
return return
if(!belly_target) if(!belly_target)
to_chat(user, "<span class='warning'>You can't feed [H] a whole [src] as they don't appear to have a belly to fit it!</span>") balloon_alert(user, "You can't feed [H] a whole [src] as they don't appear to have a belly to fit it!") // CHOMPEdit
return return
if(swallow_whole) if(swallow_whole)
user.visible_message("<span class='danger'>[user] attempts to make [M] consume [src] whole into their [belly_target].</span>") user.balloon_alert_visible("[user] attempts to make [M] consume [src] whole into their [belly_target].") // CHOMPEdit
else else
user.visible_message("<span class='danger'>[user] attempts to feed [M] [src].</span>") user.balloon_alert_visible("[user] attempts to feed [M] [src].") // CHOMPEdit
var/feed_duration = 3 SECONDS var/feed_duration = 3 SECONDS
if(swallow_whole) if(swallow_whole)
@@ -211,13 +219,15 @@
if(swallow_whole) if(swallow_whole)
add_attack_logs(user,M,"Whole-fed with [src.name] containing [reagentlist(src)] into [belly_target]", admin_notify = FALSE) add_attack_logs(user,M,"Whole-fed with [src.name] containing [reagentlist(src)] into [belly_target]", admin_notify = FALSE)
user.visible_message("<span class='danger'>[user] successfully forces [src] into [M]'s [belly_target].</span>") user.visible_message("[user] successfully forces [src] into [M]'s [belly_target].")
user.balloon_alert_visible("Forces [src] into [M]'s [belly_target]") // CHOMPEdit
else else
add_attack_logs(user,M,"Fed with [src.name] containing [reagentlist(src)]", admin_notify = FALSE) add_attack_logs(user,M,"Fed with [src.name] containing [reagentlist(src)]", admin_notify = FALSE)
user.visible_message("<span class='danger'>[user] feeds [M] [src].</span>") user.visible_message("[user] feeds [M] [src].")
user.balloon_alert_visible("Feeds [M] [src].") // CHOMPEdit
else else
to_chat(user, "This creature does not seem to have a mouth!") balloon_alert(user, "This creature does not seem to have a mouth!") // CHOMPEdit
return return
if(swallow_whole) if(swallow_whole)
@@ -246,12 +256,15 @@
if(swallow_whole) if(swallow_whole)
belly_target = tgui_input_list(user, "Choose Belly", "Belly Choice", M.feedable_bellies()) belly_target = tgui_input_list(user, "Choose Belly", "Belly Choice", M.feedable_bellies())
if(!(M.feeding)) if(!(M.feeding))
to_chat(user, "<span class='warning'>You can't feed [M] a whole [src] as they refuse to be fed whole things!</span>") to_chat(user, "You can't feed [M] a whole [src] as they refuse to be fed whole things!")
balloon_alert("They refuse to be fed whole things!") // CHOMPEdit
return return
if(!belly_target) if(!belly_target)
to_chat(user, "<span class='warning'>You can't feed [M] a whole [src] as they don't appear to have a belly to fit it!</span>") to_chat(user, "You can't feed [M] a whole [src] as they don't appear to have a belly to fit it!")
balloon_alert("They don't have a belly to fit it!")// CHOMPEdit
return return
user.visible_message("<span class='danger'>[user] attempts to make [M] consume [src] whole into their [belly_target].</span>") user.visible_message("[user] attempts to make [M] consume [src] whole into their [belly_target].")
user.balloon_alert_visible("Attempts to make [M] consume [src] whole into their [belly_target].")// CHOMPEdit
var/feed_duration = 3 SECONDS var/feed_duration = 3 SECONDS
user.setClickCooldown(user.get_attack_speed(src)) user.setClickCooldown(user.get_attack_speed(src))
if(!do_mob(user, M, feed_duration)) if(!do_mob(user, M, feed_duration))
@@ -259,7 +272,8 @@
if(!belly_target) if(!belly_target)
return return
add_attack_logs(user,M,"Whole-fed with [src.name] containing [reagentlist(src)] into [belly_target]", admin_notify = FALSE) add_attack_logs(user,M,"Whole-fed with [src.name] containing [reagentlist(src)] into [belly_target]", admin_notify = FALSE)
user.visible_message("<span class='danger'>[user] successfully forces [src] into [M]'s [belly_target].</span>") user.visible_message("[user] successfully forces [src] into [M]'s [belly_target].") // CHOMPEdit
user.balloon_alert_visible("Forces [src] into [M]'s [belly_target].") // CHOMPEdit
user.drop_item() user.drop_item()
forceMove(belly_target) forceMove(belly_target)
return 1 //CHOMPAdd End return 1 //CHOMPAdd End
@@ -299,7 +313,8 @@
return return
if(package || canned) if(package || canned)
to_chat(user, "<span class='warning'>You cannot stuff anything into \the [src] without opening it first.</span>") to_chat(user, "You cannot stuff anything into \the [src] without opening it first.") // CHOMPEdit
balloon_alert(user, "Open \the [src] first!") // CHOMPEdit
return return
var/obj/item/weapon/holder/H = W var/obj/item/weapon/holder/H = W
@@ -316,7 +331,8 @@
food_inserted_micros += M food_inserted_micros += M
to_chat(user, "<span class='warning'>You stuff [M] into \the [src].</span>") to_chat(user, "Stuffed [M] into \the [src].")
balloon_alert(user, "Stuffs [M] into \the [src].") // CHOMPEdit
to_chat(M, "<span class='warning'>[user] stuffs you into \the [src].</span>") to_chat(M, "<span class='warning'>[user] stuffs you into \the [src].</span>")
return return
@@ -330,10 +346,12 @@
return return
if(tgui_alert(user,"You can't slice \the [src] here. Would you like to hide \the [W] inside it instead?","No Cutting Surface!",list("Yes","No")) == "No") if(tgui_alert(user,"You can't slice \the [src] here. Would you like to hide \the [W] inside it instead?","No Cutting Surface!",list("Yes","No")) == "No")
to_chat(user, "<span class='warning'>You cannot slice \the [src] here! You need a table or at least a tray to do it.</span>") to_chat(user, "You cannot slice \the [src] here! You need a table or at least a tray to do it.")
balloon_alert(user, "You cannot slice \the [src] here! You need a table or at least a tray to do it.") // CHOMPEdit
return return
else else
to_chat(user, "<span class='warning'>You slip \the [W] inside \the [src].</span>") to_chat(user, "Slipped \the [W] inside \the [src].")
balloon_alert(user, "Slipped \the [W] inside \the [src].") // CHOMPEdit
user.drop_from_inventory(W, src) user.drop_from_inventory(W, src)
add_fingerprint(user) add_fingerprint(user)
contents += W contents += W
@@ -341,16 +359,19 @@
if (has_edge(W)) if (has_edge(W))
if (!can_slice_here) if (!can_slice_here)
to_chat(user, "<span class='warning'>You cannot slice \the [src] here! You need a table or at least a tray to do it.</span>") to_chat(user, "You cannot slice \the [src] here! You need a table or at least a tray to do it.")
balloon_alert(user, "You need a table or at least a tray to slice it.") // CHOMPEdit
return return
var/slices_lost = 0 var/slices_lost = 0
if (W.w_class > 3) if (W.w_class > 3)
user.visible_message("<span class='notice'>\The [user] crudely slices \the [src] with [W]!</span>", "<span class='notice'>You crudely slice \the [src] with your [W]!</span>") user.visible_message("\The [user] crudely slices \the [src] with [W]!", "You crudely slice \the [src] with your [W]!")
user.balloon_alert_visible("Crudely slices \the [src]", "Crudely sliced \the [src]") // CHOMPEdit
slices_lost = rand(1,min(1,round(slices_num/2))) slices_lost = rand(1,min(1,round(slices_num/2)))
else else
user.visible_message("<b>\The [user]</b> slices \the [src]!", "<span class='notice'>You slice \the [src]!</span>") user.visible_message("\The [user] slices \the [src]!", "You slice \the [src]!")
user.balloon_alert_visible("Slices \the [src]", "Sliced \the [src]!") // CHOMPEdit
// CHOMPEdit End - A long list of to_chat to balloon_alert
var/reagents_per_slice = reagents.total_volume/slices_num var/reagents_per_slice = reagents.total_volume/slices_num
for(var/i=1 to (slices_num-slices_lost)) for(var/i=1 to (slices_num-slices_lost))
var/obj/slice = new slice_path (src.loc) var/obj/slice = new slice_path (src.loc)
@@ -396,7 +417,8 @@
/obj/item/weapon/reagent_containers/food/snacks/proc/unpackage(mob/user) /obj/item/weapon/reagent_containers/food/snacks/proc/unpackage(mob/user)
package = FALSE package = FALSE
to_chat(user, "<span class='notice'>You unwrap [src].</span>") to_chat(user, "You unwrap [src].")
balloon_alert(user, "Unwrapped \the [src].") // CHOMPEdit
playsound(user,opening_sound, 15, 1) playsound(user,opening_sound, 15, 1)
if(package_trash) if(package_trash)
var/obj/item/T = new package_trash var/obj/item/T = new package_trash
@@ -408,7 +430,8 @@
/obj/item/weapon/reagent_containers/food/snacks/proc/uncan(mob/user) /obj/item/weapon/reagent_containers/food/snacks/proc/uncan(mob/user)
canned = FALSE canned = FALSE
to_chat(user, "<span class='notice'>You unseal \the [src] with a crack of metal.</span>") to_chat(user, "You unseal \the [src] with a crack of metal.")
balloon_alert(user, "Unsealed \the [src]") // CHOMPEdit
playsound(loc,opening_sound, rand(10,50), 1) playsound(loc,opening_sound, rand(10,50), 1)
if(canned_open_state) if(canned_open_state)
icon_state = canned_open_state icon_state = canned_open_state
@@ -419,7 +442,8 @@
/obj/item/weapon/reagent_containers/food/snacks/attack_generic(var/mob/living/user) /obj/item/weapon/reagent_containers/food/snacks/attack_generic(var/mob/living/user)
if(!isanimal(user) && !isalien(user)) if(!isanimal(user) && !isalien(user))
return return
user.visible_message("<b>[user]</b> nibbles away at \the [src].","You nibble away at \the [src].") user.visible_message("[user] nibbles away at \the [src].","You nibble away at \the [src].")
user.balloon_alert_visible("Nibbles away at \the [src].","Nibbled away at \the [src].") // CHOMPEdit
bitecount++ bitecount++
if(reagents) if(reagents)
reagents.trans_to_mob(user, bitesize, CHEM_INGEST) reagents.trans_to_mob(user, bitesize, CHEM_INGEST)

View File

@@ -242,13 +242,15 @@
if(istype(O, /obj/item/weapon/cell)) if(istype(O, /obj/item/weapon/cell))
if(cell) if(cell)
to_chat(user, "The drill already has a cell installed.") // to_chat(user, "The drill already has a cell installed.")
balloon_alert(user, "The drill already has a cell installed.") // CHOMPEdit - Changed to balloon alert
else else
user.drop_item() user.drop_item()
O.forceMove(src) O.forceMove(src)
cell = O cell = O
component_parts += O component_parts += O
to_chat(user, "You install \the [O].") // to_chat(user, "You install \the [O].")
balloon_alert(user, "You install \the [O]") // CHOMPEdit - Changed to balloon alert
return return
..() ..()
@@ -257,13 +259,15 @@
RefreshParts() RefreshParts()
if (panel_open && cell && user.Adjacent(src)) if (panel_open && cell && user.Adjacent(src))
to_chat(user, "You take out \the [cell].") // to_chat(user, "You take out \the [cell].")
balloon_alert(user, "You take out \the [cell]") // CHOMPEdit - Changed to balloon alert
user.put_in_hands(cell) user.put_in_hands(cell)
component_parts -= cell component_parts -= cell
cell = null cell = null
return return
else if(need_player_check) else if(need_player_check)
to_chat(user, "You hit the manual override and reset the drill's error checking.") // to_chat(user, "You hit the manual override and reset the drill's error checking.")
balloon_alert(user, "Manual override hit, the drill's error checking resets.") // CHOMPEdit - Changed to balloon alert
need_player_check = 0 need_player_check = 0
if(anchored) if(anchored)
get_resource_field() get_resource_field()
@@ -405,9 +409,11 @@
B.stored_ore[ore] += ore_amount // Add the ore to the machine. B.stored_ore[ore] += ore_amount // Add the ore to the machine.
stored_ore[ore] = 0 // Set the value of the ore in the satchel to 0. stored_ore[ore] = 0 // Set the value of the ore in the satchel to 0.
current_capacity = 0 // Set the amount of ore in the drill to 0. current_capacity = 0 // Set the amount of ore in the drill to 0.
to_chat(usr, "<span class='notice'>You unload the drill's storage cache into the ore box.</span>") // to_chat(usr, "<span class='notice'>You unload the drill's storage cache into the ore box.</span>")
balloon_alert(usr, "You onload the drill's storage cache into the ore box.") // CHOMPEdit - Changed to balloon alert
else else
to_chat(usr, "<span class='notice'>You must move an ore box up to the drill before you can unload it.</span>") // to_chat(usr, "<span class='notice'>You must move an ore box up to the drill before you can unload it.</span>")
balloon_alert(usr, "Move an ore box to the droll before unloading it.") // CHOMPEdit - Changed to balloon alert
/obj/machinery/mining/brace /obj/machinery/mining/brace
@@ -435,7 +441,8 @@
/obj/machinery/mining/brace/attackby(obj/item/weapon/W as obj, mob/user as mob) /obj/machinery/mining/brace/attackby(obj/item/weapon/W as obj, mob/user as mob)
if(connected && connected.active) if(connected && connected.active)
to_chat(user, "<span class='notice'>You can't work with the brace of a running drill!</span>") // to_chat(user, "<span class='notice'>You can't work with the brace of a running drill!</span>")
balloon_alert(user, "You can't work with the brace of a running drill.") // CHOMPEdit - Changed to balloon alert
return return
if(default_deconstruction_screwdriver(user, W)) if(default_deconstruction_screwdriver(user, W))
@@ -448,11 +455,13 @@
if(W.has_tool_quality(TOOL_WRENCH)) if(W.has_tool_quality(TOOL_WRENCH))
if(istype(get_turf(src), /turf/space)) if(istype(get_turf(src), /turf/space))
to_chat(user, "<span class='notice'>You can't anchor something to empty space. Idiot.</span>") // to_chat(user, "<span class='notice'>You can't anchor something to empty space. Idiot.</span>")
balloon_alert(user, "You can't anchor something to empty space. Idiot.") // CHOMPEdit - Changed to balloon alert
return return
playsound(src, W.usesound, 100, 1) playsound(src, W.usesound, 100, 1)
to_chat(user, "<span class='notice'>You [anchored ? "un" : ""]anchor the brace.</span>") // to_chat(user, "<span class='notice'>You [anchored ? "un" : ""]anchor the brace.</span>")
balloon_alert(user, "[anchored ? "Una" : "A"]nchored the brace") // CHOMPEdit - Changed to balloon alert
anchored = !anchored anchored = !anchored
if(anchored) if(anchored)
@@ -500,7 +509,8 @@
if(usr.stat) return if(usr.stat) return
if (src.anchored) if (src.anchored)
to_chat(usr, "It is anchored in place!") // to_chat(usr, "It is anchored in place!")
balloon_alert(usr, "It is anchored in place!") // CHOMPEdit - Changed to balloon alert
return 0 return 0
src.set_dir(turn(src.dir, 270)) src.set_dir(turn(src.dir, 270))

View File

@@ -12,14 +12,15 @@
var/obj/belly/b = loc var/obj/belly/b = loc
if(b.mode_flags & DM_FLAG_FORCEPSAY) if(b.mode_flags & DM_FLAG_FORCEPSAY)
var/mes = "but you are affected by forced psay right now, so you will automatically use psay/pme instead of any other option." var/mes = "but you are affected by forced psay right now, so you will automatically use psay/pme instead of any other option."
to_chat(src, "<span class='notice'>Autowhisper has been [autowhisper ? "enabled, [mes]" : "disabled, [mes]"].</span>") to_chat(src, "<span class='notice'>Autowhisper has been [autowhisper ? "enabled, [mes]" : "disabled, [mes]"].</span>") // CHOMPEdit - Balloon alerts
return return
else else
forced_psay = autowhisper forced_psay = autowhisper
to_chat(src, "<span class='notice'>Autowhisper has been [autowhisper ? "enabled. You will now automatically psay/pme when using say/me. As a note, this option will only work if you are in a situation where you can send psay/pme messages! Otherwise it will work as default whisper/subtle" : "disabled"].</span>") // to_chat(src, "<span class='notice'>Autowhisper has been [autowhisper ? "enabled. You will now automatically psay/pme when using say/me. As a note, this option will only work if you are in a situation where you can send psay/pme messages! Otherwise it will work as default whisper/subtle" : "disabled"].</span>") // CHOMPEdit - Balloon alerts
balloon_alert(src, "Autowhisper [autowhisper ? "enabled, using psay/pme" : "disabled"]")
else else
to_chat(src, "<span class='notice'>Autowhisper has been [autowhisper ? "enabled. You will now automatically whisper/subtle when using say/me" : "disabled"].</span>") // to_chat(src, "<span class='notice'>Autowhisper has been [autowhisper ? "enabled. You will now automatically whisper/subtle when using say/me" : "disabled"].</span>") // CHOMPEdit - Balloon alerts
balloon_alert(src, "Autowhisper [autowhisper ? "enabled" : "disabled"]")
/mob/living/verb/autowhisper_mode() /mob/living/verb/autowhisper_mode()
set name = "Autowhisper Mode" set name = "Autowhisper Mode"
@@ -30,7 +31,8 @@
var/choice = tgui_input_list(src, "Select Custom Subtle Mode", "Custom Subtle Mode", list("Adjacent Turfs (Default)", "My Turf", "My Table", "Current Belly (Prey)", "Specific Belly (Pred)", "Specific Person", "Psay/Pme")) var/choice = tgui_input_list(src, "Select Custom Subtle Mode", "Custom Subtle Mode", list("Adjacent Turfs (Default)", "My Turf", "My Table", "Current Belly (Prey)", "Specific Belly (Pred)", "Specific Person", "Psay/Pme"))
if(!choice || choice == "Adjacent Turfs (Default)") if(!choice || choice == "Adjacent Turfs (Default)")
autowhisper_mode = null autowhisper_mode = null
to_chat(src, "<span class='notice'>Your subtles have returned to the default setting.</span>") // to_chat(src, "<span class='notice'>Your subtles have returned to the default setting.</span>")
balloon_alert(src, "Subtles returned to default setting")
return return
if(choice == "Psay/Pme") if(choice == "Psay/Pme")
if(autowhisper) if(autowhisper)
@@ -42,4 +44,5 @@
forced_psay = TRUE forced_psay = TRUE
to_chat(src, "<span class='notice'>As a note, this option will only work if you are in a situation where you can send psay/pme messages! Otherwise it will work as default whisper/subtle.</span>") to_chat(src, "<span class='notice'>As a note, this option will only work if you are in a situation where you can send psay/pme messages! Otherwise it will work as default whisper/subtle.</span>")
autowhisper_mode = choice autowhisper_mode = choice
to_chat(src, "<span class='notice'>Your subtles have been set to <b>[autowhisper_mode]</b>.</span>") // to_chat(src, "<span class='notice'>Your subtles have been set to <b>[autowhisper_mode]</b>.</span>") // CHOMPEdit - Balloon alerts
balloon_alert(src, "Subtles set to [autowhisper_mode]")

View File

@@ -8,9 +8,11 @@
return 1 return 1
if(feedback) if(feedback)
if(status[1] == HUMAN_EATING_NO_MOUTH) if(status[1] == HUMAN_EATING_NO_MOUTH)
to_chat(src, "Where do you intend to put [food]? You don't have a mouth!") // to_chat(src, "Where do you intend to put [food]? You don't have a mouth!")
balloon_alert(src, "You don't have a mouth!") // CHOMPEdit - Changed to balloon alert
else if(status[1] == HUMAN_EATING_BLOCKED_MOUTH) else if(status[1] == HUMAN_EATING_BLOCKED_MOUTH)
to_chat(src, "<span class='warning'>\The [status[2]] is in the way!</span>") // to_chat(src, "<span class='warning'>\The [status[2]] is in the way!</span>")
balloon_alert(src, "\The [status[2]] is in the way!") // CHOMPEdit - Changed to balloon alert
return 0 return 0
/mob/living/carbon/human/can_force_feed(var/feeder, var/food, var/feedback = 1) /mob/living/carbon/human/can_force_feed(var/feeder, var/food, var/feedback = 1)
@@ -19,9 +21,11 @@
return 1 return 1
if(feedback) if(feedback)
if(status[1] == HUMAN_EATING_NO_MOUTH) if(status[1] == HUMAN_EATING_NO_MOUTH)
to_chat(feeder, "Where do you intend to put [food]? \The [src] doesn't have a mouth!") // to_chat(feeder, "Where do you intend to put [food]? \The [src] doesn't have a mouth!")
balloon_alert(src, "\The [src] doesn't have a mouth!") // CHOMPEdit - Changed to balloon alert
else if(status[1] == HUMAN_EATING_BLOCKED_MOUTH) else if(status[1] == HUMAN_EATING_BLOCKED_MOUTH)
to_chat(feeder, "<span class='warning'>\The [status[2]] is in the way!</span>") // to_chat(feeder, "<span class='warning'>\The [status[2]] is in the way!</span>")
balloon_alert(feeder, "\The [status[2]] is in the way!") // CHOMPEdit - Changed to balloon alert
return 0 return 0
/mob/living/carbon/human/proc/can_eat_status() /mob/living/carbon/human/proc/can_eat_status()

View File

@@ -15,7 +15,7 @@
text_output = "nothing" text_output = "nothing"
if(text_output != last_taste_text || last_taste_time + 100 < world.time) //We dont want to spam the same message over and over again at the person. Give it a bit of a buffer. if(text_output != last_taste_text || last_taste_time + 100 < world.time) //We dont want to spam the same message over and over again at the person. Give it a bit of a buffer.
to_chat(src, "<span class='notice'>You can taste [text_output].</span>")//no taste means there are too many tastes and not enough flavor. balloon_alert(src, "You can taste [text_output].")//no taste means there are too many tastes and not enough flavor. CHOMPEdit - Balloon alert
last_taste_time = world.time last_taste_time = world.time
last_taste_text = text_output last_taste_text = text_output

View File

@@ -49,15 +49,18 @@
return 0 return 0
if(!target.reagents || !target.reagents.total_volume) if(!target.reagents || !target.reagents.total_volume)
to_chat(user, "<span class='notice'>[target] is empty.</span>") // to_chat(user, "<span class='notice'>[target] is empty.</span>")
balloon_alert(user, "[target] is empty.") // CHOMPEdit - Changed to balloon alert
return 1 return 1
if(reagents && !reagents.get_free_space()) if(reagents && !reagents.get_free_space())
to_chat(user, "<span class='notice'>[src] is full.</span>") // to_chat(user, "<span class='notice'>[src] is full.</span>")
balloon_alert(user, "[src] is full.") // CHOMPEdit - Changed to balloon alert
return 1 return 1
var/trans = target.reagents.trans_to_obj(src, target:amount_per_transfer_from_this) var/trans = target.reagents.trans_to_obj(src, target:amount_per_transfer_from_this)
to_chat(user, "<span class='notice'>You fill [src] with [trans] units of the contents of [target].</span>") // to_chat(user, "<span class='notice'>You fill [src] with [trans] units of the contents of [target].</span>")
balloon_alert(user, "[trans] units transfered to \the [src]") // CHOMPEdit - Changed to balloon alert
return 1 return 1
/obj/item/weapon/reagent_containers/proc/standard_splash_mob(var/mob/user, var/mob/target) // This goes into afterattack /obj/item/weapon/reagent_containers/proc/standard_splash_mob(var/mob/user, var/mob/target) // This goes into afterattack
@@ -65,27 +68,33 @@
return return
if(!reagents || !reagents.total_volume) if(!reagents || !reagents.total_volume)
to_chat(user, "<span class='notice'>[src] is empty.</span>") // to_chat(user, "<span class='notice'>[src] is empty.</span>")
balloon_alert(user, "[src] is empty.") // CHOMPEdit - Changed to balloon alert
return 1 return 1
if(target.reagents && !target.reagents.get_free_space()) if(target.reagents && !target.reagents.get_free_space())
to_chat(user, "<span class='notice'>[target] is full.</span>") // to_chat(user, "<span class='notice'>[target] is full.</span>")
balloon_alert(user, "\the [target] is full.") // CHOMPEdit - Changed to balloon alert
return 1 return 1
var/contained = reagentlist() var/contained = reagentlist()
add_attack_logs(user,target,"Splashed with [src.name] containing [contained]") add_attack_logs(user,target,"Splashed with [src.name] containing [contained]")
user.visible_message("<span class='danger'>[target] has been splashed with something by [user]!</span>", "<span class = 'notice'>You splash the solution onto [target].</span>") // user.visible_message("<span class='danger'>[target] has been splashed with something by [user]!</span>", "<span class = 'notice'>You splash the solution onto [target].</span>")
balloon_alert_visible("[target] has been splashed with something by [user]!", "Splashed the solution onto [target]") // CHOMPEdit - Changed to balloon_alert
reagents.splash(target, reagents.total_volume) reagents.splash(target, reagents.total_volume)
return 1 return 1
/obj/item/weapon/reagent_containers/proc/self_feed_message(var/mob/user) /obj/item/weapon/reagent_containers/proc/self_feed_message(var/mob/user)
to_chat(user, "<span class='notice'>You eat \the [src]</span>") // to_chat(user, "<span class='notice'>You eat \the [src]</span>")
balloon_alert(user, "You eat \the [src]") // CHOMPEdit - Changed to balloon alert
/obj/item/weapon/reagent_containers/proc/other_feed_message_start(var/mob/user, var/mob/target) /obj/item/weapon/reagent_containers/proc/other_feed_message_start(var/mob/user, var/mob/target)
user.visible_message("<span class='warning'>[user] is trying to feed [target] \the [src]!</span>") // user.visible_message("<span class='warning'>[user] is trying to feed [target] \the [src]!</span>")
balloon_alert_visible(user, "[user] is trying to feed [target] \the [src]!") // CHOMPEdit - Changed to balloon alert
/obj/item/weapon/reagent_containers/proc/other_feed_message_finish(var/mob/user, var/mob/target) /obj/item/weapon/reagent_containers/proc/other_feed_message_finish(var/mob/user, var/mob/target)
user.visible_message("<span class='warning'>[user] has fed [target] \the [src]!</span>") // user.visible_message("<span class='warning'>[user] has fed [target] \the [src]!</span>")
balloon_alert_visible(user, "[user] has fed [target] \the [src]!") // CHOMPEdit - Changed to balloon alert
/obj/item/weapon/reagent_containers/proc/feed_sound(var/mob/user) /obj/item/weapon/reagent_containers/proc/feed_sound(var/mob/user)
return return
@@ -95,17 +104,20 @@
return FALSE return FALSE
if(!reagents || !reagents.total_volume) if(!reagents || !reagents.total_volume)
to_chat(user, "<span class='notice'>\The [src] is empty.</span>") // to_chat(user, "<span class='notice'>\The [src] is empty.</span>")
balloon_alert(user, "\The [src] is empty.") // CHOMPEdit - Changed to balloon alert
return TRUE return TRUE
if(ishuman(target)) if(ishuman(target))
var/mob/living/carbon/human/H = target var/mob/living/carbon/human/H = target
if(!H.check_has_mouth()) if(!H.check_has_mouth())
to_chat(user, "Where do you intend to put \the [src]? [user == target ? "You don't" : "\The [H] doesn't"] have a mouth!") // to_chat(user, "Where do you intend to put \the [src]? [user == target ? "You don't" : "\The [H] doesn't"] have a mouth!")
balloon_alert(user, "[user == target ? "You don't" : "\The [H] doesn't"] have a mouth!")
return FALSE return FALSE
var/obj/item/blocked = H.check_mouth_coverage() var/obj/item/blocked = H.check_mouth_coverage()
if(blocked) if(blocked)
to_chat(user, "<span class='warning'>\The [blocked] is in the way!</span>") // to_chat(user, "<span class='warning'>\The [blocked] is in the way!</span>")
balloon_alert(user, "\The [blocked] is in the way!") // CHOMPEdit - Changed to balloon alert
return FALSE return FALSE
user.setClickCooldown(user.get_attack_speed(src)) //puts a limit on how fast people can eat/drink things user.setClickCooldown(user.get_attack_speed(src)) //puts a limit on how fast people can eat/drink things
@@ -132,13 +144,16 @@
return 0 return 0
if(!reagents || !reagents.total_volume) if(!reagents || !reagents.total_volume)
to_chat(user, "<span class='notice'>[src] is empty.</span>") // to_chat(user, "<span class='notice'>[src] is empty.</span>")
balloon_alert(usr, "[src] is empty.") // CHOMPEdit - Changed to balloon alert
return 1 return 1
if(!target.reagents.get_free_space()) if(!target.reagents.get_free_space())
to_chat(user, "<span class='notice'>[target] is full.</span>") // to_chat(user, "<span class='notice'>[target] is full.</span>")
balloon_alert(usr, "[target] is full.") // CHOMPEdit - Changed to balloon alert
return 1 return 1
var/trans = reagents.trans_to(target, amount_per_transfer_from_this) var/trans = reagents.trans_to(target, amount_per_transfer_from_this)
to_chat(user, "<span class='notice'>You transfer [trans] units of the solution to [target].</span>") // to_chat(user, "<span class='notice'>You transfer [trans] units of the solution to [target].</span>")
balloon_alert(user, "Transfered [trans] units to [target]") // CHOMPEdit - Balloon alerts! They're the future, I tell you.
return 1 return 1

View File

@@ -70,14 +70,16 @@
return return
if(!reagent_volumes[reagent_ids[mode]]) if(!reagent_volumes[reagent_ids[mode]])
to_chat(user, "<span class='warning'>The injector is empty.</span>") // to_chat(user, "<span class='warning'>The injector is empty.</span>")
balloon_alert(user, "The injector is empty.") // CHOMPEdit - Changed to balloon alert
return return
var/mob/living/carbon/human/H = M var/mob/living/carbon/human/H = M
if(istype(H)) if(istype(H))
var/obj/item/organ/external/affected = H.get_organ(user.zone_sel.selecting) var/obj/item/organ/external/affected = H.get_organ(user.zone_sel.selecting)
if(!affected) if(!affected)
to_chat(user, "<span class='danger'>\The [H] is missing that limb!</span>") // to_chat(user, "<span class='danger'>\The [H] is missing that limb!</span>")
balloon_alert("\The [H] is missing that limb.") // CHOMPEdit - Changed to balloon alert
return return
/* since synths have oil/coolant streams now, it only makes sense that you should be able to inject stuff. preserved for posterity. /* since synths have oil/coolant streams now, it only makes sense that you should be able to inject stuff. preserved for posterity.
else if(affected.robotic >= ORGAN_ROBOT) else if(affected.robotic >= ORGAN_ROBOT)
@@ -86,8 +88,11 @@
*/ */
if(M.can_inject(user, 1, ignore_thickness = bypass_protection)) if(M.can_inject(user, 1, ignore_thickness = bypass_protection))
to_chat(user, "<span class='notice'>You inject [M] with the injector.</span>") // CHOMPEdit - Changed to balloon alert
to_chat(M, "<span class='notice'>You feel a tiny prick!</span>") // to_chat(user, "<span class='notice'>You inject [M] with the injector.</span>")
// to_chat(M, "<span class='notice'>You feel a tiny prick!</span>")
balloon_alert(user, "You inject [M] with the injector.")
balloon_alert(user, "You feel a tiny prick!")
if(M.reagents) if(M.reagents)
var/t = min(amount_per_transfer_from_this, reagent_volumes[reagent_ids[mode]]) var/t = min(amount_per_transfer_from_this, reagent_volumes[reagent_ids[mode]])
@@ -118,7 +123,8 @@
playsound(src, 'sound/effects/pop.ogg', 50, 0) playsound(src, 'sound/effects/pop.ogg', 50, 0)
mode = t mode = t
var/datum/reagent/R = SSchemistry.chemical_reagents[reagent_ids[mode]] var/datum/reagent/R = SSchemistry.chemical_reagents[reagent_ids[mode]]
to_chat(usr, "<span class='notice'>Synthesizer is now producing '[R.name]'.</span>") // to_chat(usr, "<span class='notice'>Synthesizer is now producing '[R.name]'.</span>")
balloon_alert(usr, "Synthesizer producing is now producing '[R.name]'")
/obj/item/weapon/reagent_containers/borghypo/examine(mob/user) /obj/item/weapon/reagent_containers/borghypo/examine(mob/user)
. = ..() . = ..()
@@ -195,11 +201,13 @@
return return
if(!target.reagents.get_free_space()) if(!target.reagents.get_free_space())
to_chat(user, "<span class='notice'>[target] is full.</span>") // to_chat(user, "<span class='notice'>[target] is full.</span>")
balloon_alert(user, "[target] is full.") // CHOMPEdit - Changed to balloon alert
return return
var/t = min(amount_per_transfer_from_this, reagent_volumes[reagent_ids[mode]]) var/t = min(amount_per_transfer_from_this, reagent_volumes[reagent_ids[mode]])
target.reagents.add_reagent(reagent_ids[mode], t) target.reagents.add_reagent(reagent_ids[mode], t)
reagent_volumes[reagent_ids[mode]] -= t reagent_volumes[reagent_ids[mode]] -= t
to_chat(user, "<span class='notice'>You transfer [t] units of the solution to [target].</span>") // to_chat(user, "<span class='notice'>You transfer [t] units of the solution to [target].</span>")
balloon_alert(user, "Transfered [t] units to [target].") // CHOMPEdit - Changed to balloon alert
return return

View File

@@ -77,10 +77,12 @@
/obj/item/weapon/reagent_containers/glass/attack_self() /obj/item/weapon/reagent_containers/glass/attack_self()
..() ..()
if(is_open_container()) if(is_open_container())
to_chat(usr, "<span class = 'notice'>You put the lid on \the [src].</span>") // to_chat(usr, "<span class = 'notice'>You put the lid on \the [src].</span>")
balloon_alert(usr, "Lid put on \the [src]")
flags ^= OPENCONTAINER flags ^= OPENCONTAINER
else else
to_chat(usr, "<span class = 'notice'>You take the lid off \the [src].</span>") // to_chat(usr, "<span class = 'notice'>You take the lid off \the [src].</span>")
balloon_alert(usr, "Lid removed off \the [src]") // CHOMPEdit - Changed to ballopn alert
flags |= OPENCONTAINER flags |= OPENCONTAINER
update_icon() update_icon()
@@ -102,7 +104,8 @@
return ..() return ..()
/obj/item/weapon/reagent_containers/glass/self_feed_message(var/mob/user) /obj/item/weapon/reagent_containers/glass/self_feed_message(var/mob/user)
to_chat(user, "<span class='notice'>You swallow a gulp from \the [src].</span>") // to_chat(user, "<span class='notice'>You swallow a gulp from \the [src].</span>")
balloon_alert(user, "Swallowed from \the [src]") // CHOMPEdit - Changed to balloon alert
/obj/item/weapon/reagent_containers/glass/afterattack(var/obj/target, var/mob/user, var/proximity) /obj/item/weapon/reagent_containers/glass/afterattack(var/obj/target, var/mob/user, var/proximity)
if(!is_open_container() || !proximity) //Is the container open & are they next to whatever they're clicking? if(!is_open_container() || !proximity) //Is the container open & are they next to whatever they're clicking?
@@ -118,7 +121,8 @@
if(standard_splash_mob(user,target)) if(standard_splash_mob(user,target))
return 1 return 1
if(reagents && reagents.total_volume) if(reagents && reagents.total_volume)
to_chat(user, "<span class='notice'>You splash the solution onto [target].</span>") //They are on harm intent, aka wanting to spill it. // to_chat(user, "<span class='notice'>You splash the solution onto [target].</span>") //They are on harm intent, aka wanting to spill it.
balloon_alert(user, "Splashed the solution onto [target]")
reagents.splash(target, reagents.total_volume) reagents.splash(target, reagents.total_volume)
return 1 return 1
..() ..()
@@ -129,17 +133,20 @@
if(length(tmp_label) > 50) if(length(tmp_label) > 50)
to_chat(user, "<span class='notice'>The label can be at most 50 characters long.</span>") to_chat(user, "<span class='notice'>The label can be at most 50 characters long.</span>")
else if(length(tmp_label) > 10) else if(length(tmp_label) > 10)
to_chat(user, "<span class='notice'>You set the label.</span>") // to_chat(user, "<span class='notice'>You set the label.</span>")
balloon_alert(user, "Label set.") // CHOMPEdit - Changed to balloon alert
label_text = tmp_label label_text = tmp_label
update_name_label() update_name_label()
else else
to_chat(user, "<span class='notice'>You set the label to \"[tmp_label]\".</span>") // to_chat(user, "<span class='notice'>You set the label to \"[tmp_label]\".</span>")
balloon_alert(user, "Label set to \"[tmp_label]\"") // CHOMPEdit - Changed to balloon alert
label_text = tmp_label label_text = tmp_label
update_name_label() update_name_label()
if(istype(W,/obj/item/weapon/storage/bag)) if(istype(W,/obj/item/weapon/storage/bag))
..() ..()
if(W && W.w_class <= w_class && (flags & OPENCONTAINER) && user.a_intent != I_HELP) if(W && W.w_class <= w_class && (flags & OPENCONTAINER) && user.a_intent != I_HELP)
to_chat(user, "<span class='notice'>You dip \the [W] into \the [src].</span>") // to_chat(user, "<span class='notice'>You dip \the [W] into \the [src].</span>")
balloon_alert(user, "[W] dipped into \the [src].") // CHOMPEdit - Changed to balloon alert
reagents.touch_obj(W, reagents.total_volume) reagents.touch_obj(W, reagents.total_volume)
/obj/item/weapon/reagent_containers/glass/proc/update_name_label() /obj/item/weapon/reagent_containers/glass/proc/update_name_label()
@@ -300,7 +307,8 @@
qdel(src) qdel(src)
return return
else if(D.has_tool_quality(TOOL_WIRECUTTER)) else if(D.has_tool_quality(TOOL_WIRECUTTER))
to_chat(user, "<span class='notice'>You cut a big hole in \the [src] with \the [D]. It's kinda useless as a bucket now.</span>") // to_chat(user, "<span class='notice'>You cut a big hole in \the [src] with \the [D]. It's kinda useless as a bucket now.</span>")
balloon_alert(user, "You cut a big hole in \the [src] with \the [D]. It's kinda useless now.") // CHOMPEdit - Changed to balloon alert
user.put_in_hands(new /obj/item/clothing/head/helmet/bucket) user.put_in_hands(new /obj/item/clothing/head/helmet/bucket)
user.drop_from_inventory(src) user.drop_from_inventory(src)
qdel(src) qdel(src)
@@ -310,16 +318,19 @@
if (M.use(1)) if (M.use(1))
var/obj/item/weapon/secbot_assembly/edCLN_assembly/B = new /obj/item/weapon/secbot_assembly/edCLN_assembly var/obj/item/weapon/secbot_assembly/edCLN_assembly/B = new /obj/item/weapon/secbot_assembly/edCLN_assembly
B.loc = get_turf(src) B.loc = get_turf(src)
to_chat(user, "<span class='notice'>You armed the robot frame.</span>") // to_chat(user, "<span class='notice'>You armed the robot frame.</span>")
balloon_alert(user, "Armed the robot frame.")
if (user.get_inactive_hand()==src) if (user.get_inactive_hand()==src)
user.remove_from_mob(src) user.remove_from_mob(src)
user.put_in_inactive_hand(B) user.put_in_inactive_hand(B)
qdel(src) qdel(src)
else else
to_chat(user, "<span class='warning'>You need one sheet of metal to arm the robot frame.</span>") // to_chat(user, "<span class='warning'>You need one sheet of metal to arm the robot frame.</span>")
balloon_alert(user, "One sheet of metal is needed to arm the robot frame.") // CHOMPEdit - Changed to balloon alert
else if(istype(D, /obj/item/weapon/mop) || istype(D, /obj/item/weapon/soap) || istype(D, /obj/item/weapon/reagent_containers/glass/rag)) //VOREStation Edit - "Allows soap and rags to be used on buckets" else if(istype(D, /obj/item/weapon/mop) || istype(D, /obj/item/weapon/soap) || istype(D, /obj/item/weapon/reagent_containers/glass/rag)) //VOREStation Edit - "Allows soap and rags to be used on buckets"
if(reagents.total_volume < 1) if(reagents.total_volume < 1)
to_chat(user, "<span class='warning'>\The [src] is empty!</span>") // to_chat(user, "<span class='warning'>\The [src] is empty!</span>")
balloon_alert(user, "\The [src] is empty!") // CHOMPEdit - Changed to balloon alert
else else
reagents.trans_to_obj(D, 5) reagents.trans_to_obj(D, 5)
to_chat(user, "<span class='notice'>You wet \the [D] in \the [src].</span>") to_chat(user, "<span class='notice'>You wet \the [D] in \the [src].</span>")

View File

@@ -31,7 +31,8 @@
/obj/item/weapon/reagent_containers/hypospray/attack(mob/living/M as mob, mob/user as mob) /obj/item/weapon/reagent_containers/hypospray/attack(mob/living/M as mob, mob/user as mob)
if(!reagents.total_volume) if(!reagents.total_volume)
to_chat(user, "<span class='warning'>[src] is empty.</span>") // to_chat(user, "<span class='warning'>[src] is empty.</span>")
balloon_alert(user, "\The [src] is empty.") // CHOMPEdit - Changed to balloon alert
return return
if (!istype(M)) if (!istype(M))
return return
@@ -40,7 +41,8 @@
if(istype(H)) if(istype(H))
var/obj/item/organ/external/affected = H.get_organ(user.zone_sel.selecting) var/obj/item/organ/external/affected = H.get_organ(user.zone_sel.selecting)
if(!affected) if(!affected)
to_chat(user, "<span class='danger'>\The [H] is missing that limb!</span>") // to_chat(user, "<span class='danger'>\The [H] is missing that limb!</span>")
balloon_alert(user, "\The [H] is missing that limb!") // CHOMPEdit - Changed to balloon alert
return return
/* since synths have oil/coolant streams now, it only makes sense that you should be able to inject stuff. preserved for posterity. /* since synths have oil/coolant streams now, it only makes sense that you should be able to inject stuff. preserved for posterity.
else if(affected.robotic >= ORGAN_ROBOT) else if(affected.robotic >= ORGAN_ROBOT)
@@ -50,16 +52,20 @@
//VOREStation Add Start - Adds Prototype Hypo functionality //VOREStation Add Start - Adds Prototype Hypo functionality
if(H != user && prototype) if(H != user && prototype)
to_chat(user, "<span class='notice'>You begin injecting [H] with \the [src].</span>") // to_chat(user, "<span class='notice'>You begin injecting [H] with \the [src].</span>")
to_chat(H, "<span class='danger'> [user] is trying to inject you with \the [src]!</span>") // to_chat(H, "<span class='danger'> [user] is trying to inject you with \the [src]!</span>")
balloon_alert(user, "Injecting [H] with \the [src]") // CHOMPEdit - Changed to balloon alert
balloon_alert(H, "[user] is trying to inject you with \the [src]")
if(!do_after(user, 30, H)) if(!do_after(user, 30, H))
return return
//VOREstation Add End //VOREstation Add End
else if(!H.stat && !prototype) //VOREStation Edit else if(!H.stat && !prototype) //VOREStation Edit
if(H != user) if(H != user)
if(H.a_intent != I_HELP) if(H.a_intent != I_HELP) // CHOMPEdit - Changed to balloon alert
to_chat(user, "<span class='notice'>[H] is resisting your attempt to inject them with \the [src].</span>") // to_chat(user, "<span class='notice'>[H] is resisting your attempt to inject them with \the [src].</span>")
to_chat(H, "<span class='danger'> [user] is trying to inject you with \the [src]!</span>") // to_chat(H, "<span class='danger'> [user] is trying to inject you with \the [src]!</span>")
balloon_alert(user, "[H] resists your attempt to inject them with \the [src].")
balloon_alert(H, "[user] is trying to inject you with \the [src]")
if(!do_after(user, 30, H)) if(!do_after(user, 30, H))
return return
@@ -71,9 +77,11 @@
if(!istype(H) || !istype(user)) if(!istype(H) || !istype(user))
return FALSE return FALSE
user.setClickCooldown(DEFAULT_QUICK_COOLDOWN) user.setClickCooldown(DEFAULT_QUICK_COOLDOWN) // CHOMPEdit - Changed to balloon alert
to_chat(user, span("notice", "You inject \the [H] with \the [src].")) // to_chat(user, span("notice", "You inject \the [H] with \the [src]."))
to_chat(H, span("warning", "You feel a tiny prick!")) // to_chat(H, span("warning", "You feel a tiny prick!"))
balloon_alert(user, "Injected \the [H] with \the [src]")
balloon_alert(H, "You feel a tiny prick!")
if(hyposound) if(hyposound)
playsound(src, hyposound, 25) playsound(src, hyposound, 25)
@@ -109,7 +117,8 @@
loaded_vial.update_icon() loaded_vial.update_icon()
user.put_in_hands(loaded_vial) user.put_in_hands(loaded_vial)
loaded_vial = null loaded_vial = null
to_chat(user, "<span class='notice'>You remove the vial from the [src].</span>") // to_chat(user, "<span class='notice'>You remove the vial from the [src].</span>")
balloon_alert(user, "Vial removed from \the [src]")
update_icon() update_icon()
playsound(src, 'sound/weapons/flipblade.ogg', 50, 1) playsound(src, 'sound/weapons/flipblade.ogg', 50, 1)
return return
@@ -127,7 +136,8 @@
/obj/item/weapon/reagent_containers/hypospray/vial/attackby(obj/item/weapon/W, mob/user as mob) /obj/item/weapon/reagent_containers/hypospray/vial/attackby(obj/item/weapon/W, mob/user as mob)
if(istype(W, /obj/item/weapon/reagent_containers/glass/beaker/vial)) if(istype(W, /obj/item/weapon/reagent_containers/glass/beaker/vial))
if(!loaded_vial) if(!loaded_vial)
user.visible_message("<span class='notice'>[user] begins loading [W] into \the [src].</span>","<span class='notice'>You start loading [W] into \the [src].</span>") // user.visible_message("<span class='notice'>[user] begins loading [W] into \the [src].</span>","<span class='notice'>You start loading [W] into \the [src].</span>")
balloon_alert_visible("[user] begins loading [W] into \the [src].", "Loading [W] into \the [src].") // CHOMPEdit - Changed to balloon alert
if(!do_after(user,30) || loaded_vial || !(W in user)) if(!do_after(user,30) || loaded_vial || !(W in user))
return 0 return 0
if(W.is_open_container()) if(W.is_open_container())
@@ -138,11 +148,13 @@
loaded_vial = W loaded_vial = W
reagents.maximum_volume = loaded_vial.reagents.maximum_volume reagents.maximum_volume = loaded_vial.reagents.maximum_volume
loaded_vial.reagents.trans_to_holder(reagents,volume) loaded_vial.reagents.trans_to_holder(reagents,volume)
user.visible_message("<span class='notice'>[user] has loaded [W] into \the [src].</span>","<span class='notice'>You have loaded [W] into \the [src].</span>") // user.visible_message("<span class='notice'>[user] has loaded [W] into \the [src].</span>","<span class='notice'>You have loaded [W] into \the [src].</span>")
balloon_alert_visible("[user] has loaded [W] into \the [src].", "Loaded [W] into \the [src].") // CHOMPEdit - Changed to balloon alert
update_icon() update_icon()
playsound(src, 'sound/weapons/empty.ogg', 50, 1) playsound(src, 'sound/weapons/empty.ogg', 50, 1)
else else
to_chat(user, "<span class='notice'>\The [src] already has a vial.</span>") // to_chat(user, "<span class='notice'>\The [src] already has a vial.</span>")
balloon_alert("\The [src] already has a vial.") // CHOMPEdit - Changed to balloon alert
else else
..() ..()

View File

@@ -31,10 +31,12 @@
return return
var/obj/item/blocked = H.check_mouth_coverage() var/obj/item/blocked = H.check_mouth_coverage()
if(blocked) if(blocked)
to_chat(user, "<span class='warning'>\The [blocked] is in the way!</span>") // to_chat(user, "<span class='warning'>\The [blocked] is in the way!</span>")
balloon_alert(user, "\The [blocked] is in the way!") // CHOMPEdit - Changed to balloon alert
return return
to_chat(M, "<span class='notice'>You swallow \the [src].</span>") // to_chat(M, "<span class='notice'>You swallow \the [src].</span>")
balloon_alert(user, "Swallowed \the [src]") // CHOMPEdit - Changed to balloon alert
M.drop_from_inventory(src) //icon update M.drop_from_inventory(src) //icon update
if(reagents.total_volume) if(reagents.total_volume)
reagents.trans_to_mob(M, reagents.total_volume, CHEM_INGEST) reagents.trans_to_mob(M, reagents.total_volume, CHEM_INGEST)
@@ -45,21 +47,25 @@
var/mob/living/carbon/human/H = M var/mob/living/carbon/human/H = M
if(!H.check_has_mouth()) if(!H.check_has_mouth())
to_chat(user, "Where do you intend to put \the [src]? \The [H] doesn't have a mouth!") // to_chat(user, "Where do you intend to put \the [src]? \The [H] doesn't have a mouth!")
balloon_alert(user, "\The [H] doesn't have a mouth.") // CHOMPEdit - Changed to balloon alert
return return
var/obj/item/blocked = H.check_mouth_coverage() var/obj/item/blocked = H.check_mouth_coverage()
if(blocked) if(blocked)
to_chat(user, "<span class='warning'>\The [blocked] is in the way!</span>") // to_chat(user, "<span class='warning'>\The [blocked] is in the way!</span>")
balloon_alert(user, "\The [blocked] is in the way!") // CHOMPEdit - Changed to balloon alert
return return
user.visible_message("<span class='warning'>[user] attempts to force [M] to swallow \the [src].</span>") // user.visible_message("<span class='warning'>[user] attempts to force [M] to swallow \the [src].</span>")
balloon_alert_visible("[user] attempts to force [M] to swallow \the [src].") // CHOMPEdit - Changed to balloon alert
user.setClickCooldown(user.get_attack_speed(src)) user.setClickCooldown(user.get_attack_speed(src))
if(!do_mob(user, M)) if(!do_mob(user, M))
return return
user.drop_from_inventory(src) //icon update user.drop_from_inventory(src) //icon update
user.visible_message("<span class='warning'>[user] forces [M] to swallow \the [src].</span>") // user.visible_message("<span class='warning'>[user] forces [M] to swallow \the [src].</span>")
balloon_alert_visible("[user] forces [M] to swallow \the [src].") // CHOMPEdit - Changed to balloon alert
var/contained = reagentlist() var/contained = reagentlist()
add_attack_logs(user,M,"Fed a pill containing [contained]") add_attack_logs(user,M,"Fed a pill containing [contained]")
@@ -77,16 +83,18 @@
if(target.is_open_container() && target.reagents) if(target.is_open_container() && target.reagents)
if(!target.reagents.total_volume) if(!target.reagents.total_volume)
to_chat(user, "<span class='notice'>[target] is empty. Can't dissolve \the [src].</span>") // to_chat(user, "<span class='notice'>[target] is empty. Can't dissolve \the [src].</span>")
balloon_alert(user, "[target] is empty.") // CHOMPEdit - Changed to balloon alert
return return
to_chat(user, "<span class='notice'>You dissolve \the [src] in [target].</span>") // to_chat(user, "<span class='notice'>You dissolve \the [src] in [target].</span>")
balloon_alert_visible("[user] puts something in \the [target]", "[target] dissolves in \the [src]", 2) // CHOMPEdit - Changed to balloon alert
add_attack_logs(user,null,"Spiked [target.name] with a pill containing [reagentlist()]") add_attack_logs(user,null,"Spiked [target.name] with a pill containing [reagentlist()]")
reagents.trans_to(target, reagents.total_volume) reagents.trans_to(target, reagents.total_volume)
for(var/mob/O in viewers(2, user)) /* for(var/mob/O in viewers(2, user)) // CHOMPEdit - balloon_alert_visible handles this
O.show_message("<span class='warning'>[user] puts something in \the [target].</span>", 1) O.show_message("<span class='warning'>[user] puts something in \the [target].</span>", 1)
*/
qdel(src) qdel(src)
return return
@@ -94,7 +102,8 @@
/obj/item/weapon/reagent_containers/pill/attackby(obj/item/weapon/W as obj, mob/user as mob) /obj/item/weapon/reagent_containers/pill/attackby(obj/item/weapon/W as obj, mob/user as mob)
if(is_sharp(W)) if(is_sharp(W))
var/obj/item/weapon/reagent_containers/powder/J = new /obj/item/weapon/reagent_containers/powder(src.loc) var/obj/item/weapon/reagent_containers/powder/J = new /obj/item/weapon/reagent_containers/powder(src.loc)
user.visible_message("<span class='warning'>[user] gently cuts up [src] with [W]!</span>") // user.visible_message("<span class='warning'>[user] gently cuts up [src] with [W]!</span>")
balloon_alert_visible("[user] gently cuts up [src] with [W]!", "You gently cut up \the [src] with [W]") // CHOMPEdit - Changed to balloon alert
playsound(src.loc, 'sound/effects/chop.ogg', 50, 1) playsound(src.loc, 'sound/effects/chop.ogg', 50, 1)
if(reagents) if(reagents)
@@ -104,7 +113,8 @@
if(istype(W, /obj/item/weapon/card/id)) if(istype(W, /obj/item/weapon/card/id))
var/obj/item/weapon/reagent_containers/powder/J = new /obj/item/weapon/reagent_containers/powder(src.loc) var/obj/item/weapon/reagent_containers/powder/J = new /obj/item/weapon/reagent_containers/powder(src.loc)
user.visible_message("<span class='warning'>[user] clumsily chops up [src] with [W]!</span>") // user.visible_message("<span class='warning'>[user] clumsily cuts up [src] with [W]!</span>")
balloon_alert_visible("[user] clumsily cuts up [src] with [W]!", "You clumsily cut up \the [src] with [W]") // CHOMPEdit - Changed to balloon alert
playsound(src.loc, 'sound/effects/chop.ogg', 50, 1) playsound(src.loc, 'sound/effects/chop.ogg', 50, 1)
if(reagents) if(reagents)

View File

@@ -35,7 +35,8 @@
return return
if(reagents.total_volume < amount_per_transfer_from_this) if(reagents.total_volume < amount_per_transfer_from_this)
to_chat(user, "<span class='notice'>\The [src] is empty!</span>") // to_chat(user, "<span class='notice'>\The [src] is empty!</span>")
balloon_alert(user, "\The [src] is empty!") // CHOMPEdit - Changed to balloon alert
return return
Spray_at(A, user, proximity) Spray_at(A, user, proximity)
@@ -75,7 +76,8 @@
return return
amount_per_transfer_from_this = next_in_list(amount_per_transfer_from_this, possible_transfer_amounts) amount_per_transfer_from_this = next_in_list(amount_per_transfer_from_this, possible_transfer_amounts)
spray_size = next_in_list(spray_size, spray_sizes) spray_size = next_in_list(spray_size, spray_sizes)
to_chat(user, "<span class='notice'>You adjusted the pressure nozzle. You'll now use [amount_per_transfer_from_this] units per spray.</span>") // to_chat(user, "<span class='notice'>You adjusted the pressure nozzle. You'll now use [amount_per_transfer_from_this] units per spray.</span>")
balloon_alert(user, "Pressure nozzle adjusted to [amount_per_transfer_from_this] units per spray.") // CHOMPEdit - Changed to balloon alert
/obj/item/weapon/reagent_containers/spray/examine(mob/user) /obj/item/weapon/reagent_containers/spray/examine(mob/user)
. = ..() . = ..()
@@ -91,7 +93,8 @@
if (tgui_alert(usr, "Are you sure you want to empty that?", "Empty Bottle:", list("Yes", "No")) != "Yes") if (tgui_alert(usr, "Are you sure you want to empty that?", "Empty Bottle:", list("Yes", "No")) != "Yes")
return return
if(isturf(usr.loc)) if(isturf(usr.loc))
to_chat(usr, "<span class='notice'>You empty \the [src] onto the floor.</span>") // to_chat(usr, "<span class='notice'>You empty \the [src] onto the floor.</span>")
balloon_alert(usr, "Empted \the [src] onto the floor.") // CHOMPEdit - Changed to balloon alert
reagents.splash(usr.loc, reagents.total_volume) reagents.splash(usr.loc, reagents.total_volume)
//space cleaner //space cleaner
@@ -138,7 +141,8 @@
/obj/item/weapon/reagent_containers/spray/pepper/attack_self(var/mob/user) /obj/item/weapon/reagent_containers/spray/pepper/attack_self(var/mob/user)
safety = !safety safety = !safety
to_chat(usr, "<span class = 'notice'>You switch the safety [safety ? "on" : "off"].</span>") // to_chat(usr, "<span class = 'notice'>You switch the safety [safety ? "on" : "off"].</span>")
balloon_alert(usr, "Safety [safety ? "on" : "off"].") // CHOMPEdit - Changed to balloon alert
/obj/item/weapon/reagent_containers/spray/pepper/Spray_at(atom/A as mob|obj) /obj/item/weapon/reagent_containers/spray/pepper/Spray_at(atom/A as mob|obj)
if(safety) if(safety)
@@ -245,7 +249,8 @@
/obj/item/weapon/reagent_containers/spray/chemsprayer/hosed/AltClick(mob/living/carbon/user) /obj/item/weapon/reagent_containers/spray/chemsprayer/hosed/AltClick(mob/living/carbon/user)
if(++spray_particles > 3) spray_particles = 1 if(++spray_particles > 3) spray_particles = 1
to_chat(user, "<span class='notice'>You turn the dial on \the [src] to [spray_particles].</span>") // to_chat(user, "<span class='notice'>You turn the dial on \the [src] to [spray_particles].</span>")
balloon_alert(user, "Dial turned to [spray_particles].")
return return
/obj/item/weapon/reagent_containers/spray/chemsprayer/hosed/CtrlClick(var/mob/user) /obj/item/weapon/reagent_containers/spray/chemsprayer/hosed/CtrlClick(var/mob/user)
@@ -264,7 +269,8 @@
var/list/the_targets = list(T, T1, T2) var/list/the_targets = list(T, T1, T2)
if(src.reagents.total_volume < 1) if(src.reagents.total_volume < 1)
to_chat(usr, "<span class='notice'>\The [src] is empty.</span>") // to_chat(usr, "<span class='notice'>\The [src] is empty.</span>")
balloon_alert(usr, "\The [src] is empty.")
return return
if(!heavy_spray) if(!heavy_spray)

View File

@@ -268,7 +268,7 @@
var/obj/item/organ/external/affecting = H.get_organ(target_zone) var/obj/item/organ/external/affecting = H.get_organ(target_zone)
if (!affecting || affecting.is_stump()) if (!affecting || affecting.is_stump())
to_chat(user, "<span class='danger'>They are missing that limb!</span>") balloon_alert(user, "They are missing that limb!") // CHOMPEdit - Changed to balloon_alert
return return
var/hit_area = affecting.name var/hit_area = affecting.name
@@ -286,13 +286,15 @@
return return
user.visible_message("<span class='danger'>[user] stabs [target] in \the [hit_area] with [src.name]!</span>") // user.visible_message("<span class='danger'>[user] stabs [target] in \the [hit_area] with [src.name]!</span>")
balloon_alert_visible("Stabs [target] in \the [hit_area] with [src.name]!") // CHOMPEdit - Changed to balloon alert
if(affecting.take_damage(3)) if(affecting.take_damage(3))
H.UpdateDamageIcon() H.UpdateDamageIcon()
else else
user.visible_message("<span class='danger'>[user] stabs [target] with [src.name]!</span>") // user.visible_message("<span class='danger'>[user] stabs [target] with [src.name]!</span>")
balloon_alert_visible("Stabs [user] in \the [target] with [src.name]!") // CHOMPEdit - Changed to balloon alert
target.take_organ_damage(3)// 7 is the same as crowbar punch target.take_organ_damage(3)// 7 is the same as crowbar punch

View File

@@ -74,7 +74,8 @@
switch(mode) switch(mode)
if(SYRINGE_CAPPED) if(SYRINGE_CAPPED)
mode = SYRINGE_DRAW mode = SYRINGE_DRAW
to_chat(user,"<span class='notice'>You uncap the syringe.</span>") // to_chat(user,"<span class='notice'>You uncap the syringe.</span>")
balloon_alert(user, "[src] uncapped") // CHOMPEdit - Changed to balloon_alert
if(SYRINGE_DRAW) if(SYRINGE_DRAW)
mode = SYRINGE_INJECT mode = SYRINGE_INJECT
if(SYRINGE_INJECT) if(SYRINGE_INJECT)

View File

@@ -34,6 +34,7 @@
if (affected.stage == 0) if (affected.stage == 0)
user.visible_message("<span class='notice'>[user] starts applying medication to the damaged bones in [target]'s [affected.name] with \the [tool].</span>" , \ user.visible_message("<span class='notice'>[user] starts applying medication to the damaged bones in [target]'s [affected.name] with \the [tool].</span>" , \
"<span class='notice'>You start applying medication to the damaged bones in [target]'s [affected.name] with \the [tool].</span>") "<span class='notice'>You start applying medication to the damaged bones in [target]'s [affected.name] with \the [tool].</span>")
user.balloon_alert_visible("Applies medication to the damaged bones.", "Applying medication to the damaged bones.") // CHOMPEdit
target.custom_pain("Something in your [affected.name] is causing you a lot of pain!", 50) target.custom_pain("Something in your [affected.name] is causing you a lot of pain!", 50)
..() ..()
@@ -41,12 +42,14 @@
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='notice'>[user] applies some [tool] to [target]'s bone in [affected.name]</span>", \ user.visible_message("<span class='notice'>[user] applies some [tool] to [target]'s bone in [affected.name]</span>", \
"<span class='notice'>You apply some [tool] to [target]'s bone in [affected.name] with \the [tool].</span>") "<span class='notice'>You apply some [tool] to [target]'s bone in [affected.name] with \the [tool].</span>")
user.balloon_alert_visible("Applies [tool] to [target]'s bone.", "Applying [tool] to [target]'s bone.") // CHOMPEdit
affected.stage = 1 affected.stage = 1
/datum/surgery_step/glue_bone/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/glue_bone/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='danger'>[user]'s hand slips, smearing [tool] in the incision in [target]'s [affected.name]!</span>" , \ user.visible_message("<span class='danger'>[user]'s hand slips, smearing [tool] in the incision in [target]'s [affected.name]!</span>" , \
"<span class='danger'>Your hand slips, smearing [tool] in the incision in [target]'s [affected.name]!</span>") "<span class='danger'>Your hand slips, smearing [tool] in the incision in [target]'s [affected.name]!</span>")
user.balloon_alert_visible("Slips, damaging [target]'s [affected.name]", "Your hand slips.") // CHOMPEdit
/////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////
// Bone Setting Surgery // Bone Setting Surgery
@@ -75,6 +78,7 @@
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='notice'>[user] is beginning to set the bone in [target]'s [affected.name] in place with \the [tool].</span>" , \ user.visible_message("<span class='notice'>[user] is beginning to set the bone in [target]'s [affected.name] in place with \the [tool].</span>" , \
"<span class='notice'>You are beginning to set the bone in [target]'s [affected.name] in place with \the [tool].</span>") "<span class='notice'>You are beginning to set the bone in [target]'s [affected.name] in place with \the [tool].</span>")
user.balloon_alert_visible("Begins to set the bone in place.", "Setting the bone in place.") // CHOMPEdit - Balloon alert
target.custom_pain("The pain in your [affected.name] is going to make you pass out!", 50) target.custom_pain("The pain in your [affected.name] is going to make you pass out!", 50)
..() ..()
@@ -83,16 +87,19 @@
if (affected.status & ORGAN_BROKEN) if (affected.status & ORGAN_BROKEN)
user.visible_message("<span class='notice'>[user] sets the bone in [target]'s [affected.name] in place with \the [tool].</span>", \ user.visible_message("<span class='notice'>[user] sets the bone in [target]'s [affected.name] in place with \the [tool].</span>", \
"<span class='notice'>You set the bone in [target]'s [affected.name] in place with \the [tool].</span>") "<span class='notice'>You set the bone in [target]'s [affected.name] in place with \the [tool].</span>")
user.balloon_alert_visible("Sets the bone in place.", "Bone set in place.") // CHOMPEdit - Balloon alert
affected.stage = 2 affected.stage = 2
else else
user.visible_message("[user] sets the bone in [target]'s [affected.name]<span class='danger'> in the WRONG place with \the [tool].</span>", \ user.visible_message("[user] sets the bone in [target]'s [affected.name]<span class='danger'> in the WRONG place with \the [tool].</span>", \
"You set the bone in [target]'s [affected.name]<span class='danger'> in the WRONG place with \the [tool].</span>") "You set the bone in [target]'s [affected.name]<span class='danger'> in the WRONG place with \the [tool].</span>")
user.balloon_alert_visible("Sets the bone in the WRONG place.", "Bone set in the WRONG place.") // CHOMPEdit - Balloon alert
affected.fracture() affected.fracture()
/datum/surgery_step/set_bone/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/set_bone/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='danger'>[user]'s hand slips, damaging the bone in [target]'s [affected.name] with \the [tool]!</span>" , \ user.visible_message("<span class='danger'>[user]'s hand slips, damaging the bone in [target]'s [affected.name] with \the [tool]!</span>" , \
"<span class='danger'>Your hand slips, damaging the bone in [target]'s [affected.name] with \the [tool]!</span>") "<span class='danger'>Your hand slips, damaging the bone in [target]'s [affected.name] with \the [tool]!</span>")
user.balloon_alert_visible("Slips, damaging the bone.", "Your hand slips, damaging the bone") // CHOMPEdit - Balloon alert
affected.createwound(BRUISE, 5) affected.createwound(BRUISE, 5)
/////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////
@@ -121,18 +128,21 @@
/datum/surgery_step/mend_skull/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/mend_skull/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
user.visible_message("<span class='notice'>[user] is beginning to piece together [target]'s skull with \the [tool].</span>" , \ user.visible_message("<span class='notice'>[user] is beginning to piece together [target]'s skull with \the [tool].</span>" , \
"<span class='notice'>You are beginning to piece together [target]'s skull with \the [tool].</span>") "<span class='notice'>You are beginning to piece together [target]'s skull with \the [tool].</span>")
user.balloon_alert_visible("Pieces the skull together", "Piecing skull together.") // CHOMPEdit
..() ..()
/datum/surgery_step/mend_skull/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/mend_skull/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='notice'>[user] sets [target]'s skull with \the [tool].</span>" , \ user.visible_message("<span class='notice'>[user] sets [target]'s skull with \the [tool].</span>" , \
"<span class='notice'>You set [target]'s skull with \the [tool].</span>") "<span class='notice'>You set [target]'s skull with \the [tool].</span>")
user.balloon_alert_visible("Sets the skull back.", "Skull set back.") // CHOMPEdit
affected.stage = 2 affected.stage = 2
/datum/surgery_step/mend_skull/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/mend_skull/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='danger'>[user]'s hand slips, damaging [target]'s face with \the [tool]!</span>" , \ user.visible_message("<span class='danger'>[user]'s hand slips, damaging [target]'s face with \the [tool]!</span>" , \
"<span class='danger'>Your hand slips, damaging [target]'s face with \the [tool]!</span>") "<span class='danger'>Your hand slips, damaging [target]'s face with \the [tool]!</span>")
user.balloon_alert_visible("Slips, damaging [target]'s face", "Your hand slips, damaging [target]'s face") // CHOMPEdit
var/obj/item/organ/external/head/h = affected var/obj/item/organ/external/head/h = affected
h.createwound(BRUISE, 10) h.createwound(BRUISE, 10)
h.disfigured = 1 h.disfigured = 1
@@ -167,12 +177,14 @@
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='notice'>[user] starts to finish mending the damaged bones in [target]'s [affected.name] with \the [tool].</span>", \ user.visible_message("<span class='notice'>[user] starts to finish mending the damaged bones in [target]'s [affected.name] with \the [tool].</span>", \
"<span class='notice'>You start to finish mending the damaged bones in [target]'s [affected.name] with \the [tool].</span>") "<span class='notice'>You start to finish mending the damaged bones in [target]'s [affected.name] with \the [tool].</span>")
user.balloon_alert_visible("Begins mending damaged bones.", "Mending damaged bones.") // CHOMPEdit
..() ..()
/datum/surgery_step/finish_bone/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/finish_bone/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='notice'>[user] has mended the damaged bones in [target]'s [affected.name] with \the [tool].</span>" , \ user.visible_message("<span class='notice'>[user] has mended the damaged bones in [target]'s [affected.name] with \the [tool].</span>" , \
"<span class='notice'>You have mended the damaged bones in [target]'s [affected.name] with \the [tool].</span>" ) "<span class='notice'>You have mended the damaged bones in [target]'s [affected.name] with \the [tool].</span>" )
user.balloon_alert_visible("Mends damaged bones.", "Mended damaged bones.") // CHOMPEdit
affected.status &= ~ORGAN_BROKEN affected.status &= ~ORGAN_BROKEN
affected.stage = 0 affected.stage = 0
@@ -180,6 +192,7 @@
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='danger'>[user]'s hand slips, smearing [tool] in the incision in [target]'s [affected.name]!</span>" , \ user.visible_message("<span class='danger'>[user]'s hand slips, smearing [tool] in the incision in [target]'s [affected.name]!</span>" , \
"<span class='danger'>Your hand slips, smearing [tool] in the incision in [target]'s [affected.name]!</span>") "<span class='danger'>Your hand slips, smearing [tool] in the incision in [target]'s [affected.name]!</span>")
user.balloon_alert_visible("Slips, smearing [tool] in the incision.", "Your hand slips, smearing [tool].") // CHOMPEdit
/////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////
// Bone Clamp Surgery // Bone Clamp Surgery
@@ -210,6 +223,7 @@
if (affected.stage == 0) if (affected.stage == 0)
user.visible_message("<span class='notice'>[user] starts repairing the damaged bones in [target]'s [affected.name] with \the [tool].</span>" , \ user.visible_message("<span class='notice'>[user] starts repairing the damaged bones in [target]'s [affected.name] with \the [tool].</span>" , \
"<span class='notice'>You starts repairing the damaged bones in [target]'s [affected.name] with \the [tool].</span>") "<span class='notice'>You starts repairing the damaged bones in [target]'s [affected.name] with \the [tool].</span>")
user.balloon_alert_visible("Begins repairing damaged bones.", "Repairing damaged bones.") // CHOMPEdit
target.custom_pain("Something in your [affected.name] is causing you a lot of pain!", 50) target.custom_pain("Something in your [affected.name] is causing you a lot of pain!", 50)
..() ..()
@@ -217,10 +231,12 @@
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='notice'>[user] sets the bone in [target]'s [affected.name] with \the [tool].</span>", \ user.visible_message("<span class='notice'>[user] sets the bone in [target]'s [affected.name] with \the [tool].</span>", \
"<span class='notice'>You sets [target]'s bone in [affected.name] with \the [tool].</span>") "<span class='notice'>You sets [target]'s bone in [affected.name] with \the [tool].</span>")
user.balloon_alert_visible("Sets the bone back in.", "Bone set in.") // CHOMPEdit
affected.status &= ~ORGAN_BROKEN affected.status &= ~ORGAN_BROKEN
/datum/surgery_step/clamp_bone/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/clamp_bone/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='danger'>[user]'s hand slips, damaging the bone in [target]'s [affected.name] with \the [tool]!</span>" , \ user.visible_message("<span class='danger'>[user]'s hand slips, damaging the bone in [target]'s [affected.name] with \the [tool]!</span>" , \
"<span class='danger'>Your hand slips, damaging the bone in [target]'s [affected.name] with \the [tool]!</span>") "<span class='danger'>Your hand slips, damaging the bone in [target]'s [affected.name] with \the [tool]!</span>")
user.balloon_alert_visible("Slips, damaging [target]'s [affected.name]", "Your hand slips, damaging the bone.") // CHOMPEdit
affected.createwound(BRUISE, 5) affected.createwound(BRUISE, 5)

View File

@@ -44,6 +44,7 @@
user.visible_message("<span class='filter_notice'>[user] begins to cut through [target]'s [affected.encased] with \the [tool].</span>", \ user.visible_message("<span class='filter_notice'>[user] begins to cut through [target]'s [affected.encased] with \the [tool].</span>", \
"<span class='filter_notice'>You begin to cut through [target]'s [affected.encased] with \the [tool].</span>") "<span class='filter_notice'>You begin to cut through [target]'s [affected.encased] with \the [tool].</span>")
user.balloon_alert_visible("Begins to cut", "Cutting through the [affected.encased]'s ") // CHOMPEdit
target.custom_pain("Something hurts horribly in your [affected.name]!", 60) target.custom_pain("Something hurts horribly in your [affected.name]!", 60)
..() ..()
@@ -54,6 +55,7 @@
user.visible_message("<span class='notice'>[user] has cut [target]'s [affected.encased] open with \the [tool].</span>", \ user.visible_message("<span class='notice'>[user] has cut [target]'s [affected.encased] open with \the [tool].</span>", \
"<span class='notice'>You have cut [target]'s [affected.encased] open with \the [tool].</span>") "<span class='notice'>You have cut [target]'s [affected.encased] open with \the [tool].</span>")
user.balloon_alert_visible("Cuts [target]'s [affected.encased] open.", "[affected.encased] cut open.") // CHOMPEdit
affected.open = 2.5 affected.open = 2.5
/datum/surgery_step/open_encased/saw/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/open_encased/saw/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
@@ -63,6 +65,7 @@
user.visible_message("<span class='danger'>[user]'s hand slips, cracking [target]'s [affected.encased] with \the [tool]!</span>" , \ user.visible_message("<span class='danger'>[user]'s hand slips, cracking [target]'s [affected.encased] with \the [tool]!</span>" , \
"<span class='danger'>Your hand slips, cracking [target]'s [affected.encased] with \the [tool]!</span>" ) "<span class='danger'>Your hand slips, cracking [target]'s [affected.encased] with \the [tool]!</span>" )
user.balloon_alert_visible("Slips, crackng [target]'s [affected.encased]","Your hand slips.") // CHOMPEdit
affected.createwound(CUT, 20) affected.createwound(CUT, 20)
affected.fracture() affected.fracture()
@@ -96,6 +99,7 @@
var/msg = "<span class='filter_notice'>[user] starts to force open the [affected.encased] in [target]'s [affected.name] with \the [tool].</span>" var/msg = "<span class='filter_notice'>[user] starts to force open the [affected.encased] in [target]'s [affected.name] with \the [tool].</span>"
var/self_msg = "<span class='filter_notice'>You start to force open the [affected.encased] in [target]'s [affected.name] with \the [tool].</span>" var/self_msg = "<span class='filter_notice'>You start to force open the [affected.encased] in [target]'s [affected.name] with \the [tool].</span>"
user.visible_message(msg, self_msg) user.visible_message(msg, self_msg)
user.balloon_alert_visible("Starts to force open [target]'s [affected.encased]", "Forcing open \the [affected.encased]") // CHOMPEdit
target.custom_pain("Something hurts horribly in your [affected.name]!", 40) target.custom_pain("Something hurts horribly in your [affected.name]!", 40)
..() ..()
@@ -106,6 +110,7 @@
var/msg = "<span class='notice'>[user] forces open [target]'s [affected.encased] with \the [tool].</span>" var/msg = "<span class='notice'>[user] forces open [target]'s [affected.encased] with \the [tool].</span>"
var/self_msg = "<span class='notice'>You force open [target]'s [affected.encased] with \the [tool].</span>" var/self_msg = "<span class='notice'>You force open [target]'s [affected.encased] with \the [tool].</span>"
user.visible_message(msg, self_msg) user.visible_message(msg, self_msg)
user.balloon_alert_visible("Forces open the [affected.encased]", "Forced open the [affected.encased]") // CHOMPEdit
affected.open = 3 affected.open = 3
@@ -117,6 +122,7 @@
var/msg = "<span class='danger'>[user]'s hand slips, cracking [target]'s [affected.encased]!</span>" var/msg = "<span class='danger'>[user]'s hand slips, cracking [target]'s [affected.encased]!</span>"
var/self_msg = "<span class='danger'>Your hand slips, cracking [target]'s [affected.encased]!</span>" var/self_msg = "<span class='danger'>Your hand slips, cracking [target]'s [affected.encased]!</span>"
user.visible_message(msg, self_msg) user.visible_message(msg, self_msg)
user.balloon_alert_visible("Slips, cracking [affected.encased]", "You hand slips, cracking [affected.encased]") // CHOMPEdit
affected.createwound(BRUISE, 20) affected.createwound(BRUISE, 20)
affected.fracture() affected.fracture()
@@ -150,6 +156,7 @@
var/msg = "<span class='filter_notice'>[user] starts bending [target]'s [affected.encased] back into place with \the [tool].</span>" var/msg = "<span class='filter_notice'>[user] starts bending [target]'s [affected.encased] back into place with \the [tool].</span>"
var/self_msg = "<span class='filter_notice'>You start bending [target]'s [affected.encased] back into place with \the [tool].</span>" var/self_msg = "<span class='filter_notice'>You start bending [target]'s [affected.encased] back into place with \the [tool].</span>"
user.visible_message(msg, self_msg) user.visible_message(msg, self_msg)
user.balloon_alert_visible("Starts bending [affected.encased] into place.", "Bending [affected.encased] into place") // CHOMPEdit
target.custom_pain("Something hurts horribly in your [affected.name]!", 100) target.custom_pain("Something hurts horribly in your [affected.name]!", 100)
..() ..()
@@ -161,6 +168,7 @@
var/msg = "<span class='notice'>[user] bends [target]'s [affected.encased] back into place with \the [tool].</span>" var/msg = "<span class='notice'>[user] bends [target]'s [affected.encased] back into place with \the [tool].</span>"
var/self_msg = "<span class='notice'>You bend [target]'s [affected.encased] back into place with \the [tool].</span>" var/self_msg = "<span class='notice'>You bend [target]'s [affected.encased] back into place with \the [tool].</span>"
user.visible_message(msg, self_msg) user.visible_message(msg, self_msg)
user.balloon_alert_visible("Bends [affected.encased] into place", "[affected.encased] bend into place.") // CHOMPEdit
affected.open = 2.5 affected.open = 2.5
@@ -172,6 +180,7 @@
var/msg = "<span class='danger'>[user]'s hand slips, bending [target]'s [affected.encased] the wrong way!</span>" var/msg = "<span class='danger'>[user]'s hand slips, bending [target]'s [affected.encased] the wrong way!</span>"
var/self_msg = "<span class='danger'>Your hand slips, bending [target]'s [affected.encased] the wrong way!</span>" var/self_msg = "<span class='danger'>Your hand slips, bending [target]'s [affected.encased] the wrong way!</span>"
user.visible_message(msg, self_msg) user.visible_message(msg, self_msg)
user.balloon_alert_visible("Slips, bending [affected.encased] the wrong way.", "Your hand slips, bending [affected.encased] the wrong way.") // CHOMPEdit
affected.createwound(BRUISE, 20) affected.createwound(BRUISE, 20)
affected.fracture() affected.fracture()
@@ -209,6 +218,7 @@
var/msg = "<span class='filter_notice'>[user] starts applying \the [tool] to [target]'s [affected.encased].</span>" var/msg = "<span class='filter_notice'>[user] starts applying \the [tool] to [target]'s [affected.encased].</span>"
var/self_msg = "<span class='filter_notice'>You start applying \the [tool] to [target]'s [affected.encased].</span>" var/self_msg = "<span class='filter_notice'>You start applying \the [tool] to [target]'s [affected.encased].</span>"
user.visible_message(msg, self_msg) user.visible_message(msg, self_msg)
user.balloon_alert_visible("Starts applying [tool] to \the [affected.encased]", "Applying [tool] to \the [affected.encased]") // CHOMPEdit
target.custom_pain("Something hurts horribly in your [affected.name]!", 100) target.custom_pain("Something hurts horribly in your [affected.name]!", 100)
..() ..()
@@ -220,6 +230,7 @@
var/msg = "<span class='notice'>[user] applied \the [tool] to [target]'s [affected.encased].</span>" var/msg = "<span class='notice'>[user] applied \the [tool] to [target]'s [affected.encased].</span>"
var/self_msg = "<span class='notice'>You applied \the [tool] to [target]'s [affected.encased].</span>" var/self_msg = "<span class='notice'>You applied \the [tool] to [target]'s [affected.encased].</span>"
user.visible_message(msg, self_msg) user.visible_message(msg, self_msg)
user.balloon_alert_visible("Applies \the [tool] to [affected.encased]", "Applied \the [tool] to [affected.encased]") // CHOMPEdit
affected.open = 2 affected.open = 2
@@ -251,6 +262,7 @@
user.visible_message("<span class='filter_notice'>[user] begins to open [target]'s [affected.encased] with \the [tool].</span>", \ user.visible_message("<span class='filter_notice'>[user] begins to open [target]'s [affected.encased] with \the [tool].</span>", \
"<span class='filter_notice'>You begin to open [target]'s [affected.encased] with \the [tool].</span>") "<span class='filter_notice'>You begin to open [target]'s [affected.encased] with \the [tool].</span>")
user.balloon_alert_visible("Begins to open \the [affected.encased]", "Opening \the [affected.encased]") // CHOMPEdit
target.custom_pain("Something hurts horribly in your [affected.name]!", 60) target.custom_pain("Something hurts horribly in your [affected.name]!", 60)
..() ..()
@@ -261,6 +273,7 @@
user.visible_message("<span class='notice'>[user] has cut [target]'s [affected.encased] wide open with \the [tool].</span>", \ user.visible_message("<span class='notice'>[user] has cut [target]'s [affected.encased] wide open with \the [tool].</span>", \
"<span class='notice'>You have cut [target]'s [affected.encased] wide open with \the [tool].</span>") "<span class='notice'>You have cut [target]'s [affected.encased] wide open with \the [tool].</span>")
user.balloon_alert_visible("Cuts \the [affected.encased] wide open.", "Cut \the [affected.encased] wide open.") // CHOMPEdit
affected.open = 3 affected.open = 3
/datum/surgery_step/open_encased/advancedsaw_open/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/open_encased/advancedsaw_open/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
@@ -270,6 +283,7 @@
user.visible_message("<span class='danger'>[user]'s hand slips, searing [target]'s [affected.encased] with \the [tool]!</span>" , \ user.visible_message("<span class='danger'>[user]'s hand slips, searing [target]'s [affected.encased] with \the [tool]!</span>" , \
"<span class='danger'>Your hand slips, searing [target]'s [affected.encased] with \the [tool]!</span>" ) "<span class='danger'>Your hand slips, searing [target]'s [affected.encased] with \the [tool]!</span>" )
user.balloon_alert_visible("Slips, searing \the [affected.encased]", "Your hand slips, searing [affected.encased]") // CHOMPEdit
affected.createwound(CUT, 20) affected.createwound(CUT, 20)
affected.createwound(BURN, 15) affected.createwound(BURN, 15)
@@ -302,6 +316,7 @@
var/msg = "<span class='filter_notice'>[user] starts sealing \the [target]'s [affected.encased] with \the [tool].</span>" var/msg = "<span class='filter_notice'>[user] starts sealing \the [target]'s [affected.encased] with \the [tool].</span>"
var/self_msg = "<span class='filter_notice'>You start sealing \the [target]'s [affected.encased] with \the [tool].</span>" var/self_msg = "<span class='filter_notice'>You start sealing \the [target]'s [affected.encased] with \the [tool].</span>"
user.visible_message(msg, self_msg) user.visible_message(msg, self_msg)
user.balloon_alert_visible("Starts sealing \the [affected.encased]", "Sealing \the [affected.encased]") // CHOMPEdit
target.custom_pain("Something hurts horribly in your [affected.name]!", 100) target.custom_pain("Something hurts horribly in your [affected.name]!", 100)
..() ..()
@@ -313,5 +328,6 @@
var/msg = "<span class='notice'>[user] sealed \the [target]'s [affected.encased] with \the [tool].</span>" var/msg = "<span class='notice'>[user] sealed \the [target]'s [affected.encased] with \the [tool].</span>"
var/self_msg = "<span class='notice'>You sealed \the [target]'s [affected.encased] with \the [tool].</span>" var/self_msg = "<span class='notice'>You sealed \the [target]'s [affected.encased] with \the [tool].</span>"
user.visible_message(msg, self_msg) user.visible_message(msg, self_msg)
user.balloon_alert_visible("Seals \the [affected.encased]", "Sealed \the [affected.encased]") // CHOMPEdit
affected.open = 2 affected.open = 2

View File

@@ -62,12 +62,14 @@
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='notice'>[user] begins scanning [target]'s [affected] with \the [tool].</span>", \ user.visible_message("<span class='notice'>[user] begins scanning [target]'s [affected] with \the [tool].</span>", \
"<span class='notice'>You begin scanning [target]'s [affected] with \the [tool].</span>") "<span class='notice'>You begin scanning [target]'s [affected] with \the [tool].</span>")
user.balloon_alert_visible("Begins scanning [target]'s [affected]", "Scaning \the [affected]") // CHOMPEdit
..() ..()
/datum/surgery_step/repairflesh/scan_injury/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/repairflesh/scan_injury/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='notice'>[user] finishes scanning [target]'s [affected].</span>", \ user.visible_message("<span class='notice'>[user] finishes scanning [target]'s [affected].</span>", \
"<span class='notice'>You finish scanning [target]'s [affected].</span>") "<span class='notice'>You finish scanning [target]'s [affected].</span>")
user.balloon_alert_visible("Finishes scanning [target]'s [affected]", "Finished scanning \the [affected]") // CHOMPEdit
if(affected.brute_dam) if(affected.brute_dam)
to_chat(user, "<span class='notice'>The muscle in [target]'s [affected] is notably bruised.</span>") to_chat(user, "<span class='notice'>The muscle in [target]'s [affected] is notably bruised.</span>")
if(affected.status & ORGAN_BROKEN) if(affected.status & ORGAN_BROKEN)
@@ -81,6 +83,7 @@
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='warning'>[user]'s hand slips, dropping \the [tool] onto [target]'s [affected]!</span>" , \ user.visible_message("<span class='warning'>[user]'s hand slips, dropping \the [tool] onto [target]'s [affected]!</span>" , \
"<span class='warning'>Your hand slips, dropping \the [tool] onto [target]'s [affected]!</span>" ) "<span class='warning'>Your hand slips, dropping \the [tool] onto [target]'s [affected]!</span>" )
user.balloon_alert_visible("Slips, dropping \the [tool].", "Your hand slips, dropping \the [tool] onto \the [affected].") // CHOMPEdit
affected.createwound(BRUISE, 10) affected.createwound(BRUISE, 10)
////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////
@@ -114,13 +117,16 @@
if(istype(tool, /obj/item/weapon/tape_roll) || istype(tool, /obj/item/taperoll)) if(istype(tool, /obj/item/weapon/tape_roll) || istype(tool, /obj/item/taperoll))
user.visible_message("<span class='warning'>[user] begins taping up [target]'s [affected] with \the [tool].</span>", \ user.visible_message("<span class='warning'>[user] begins taping up [target]'s [affected] with \the [tool].</span>", \
"<span class='notice'>You begin taping up [target]'s [affected] with \the [tool].</span>") "<span class='notice'>You begin taping up [target]'s [affected] with \the [tool].</span>")
user.balloon_alert_visible("Begins taping up \the [target]", "Taping up \the [affected]") // CHOMPEdit
affected.jostle_bone(10) affected.jostle_bone(10)
else if(istype(tool, /obj/item/weapon/surgical/hemostat) || istype(tool, /obj/item/weapon/surgical/FixOVein)) else if(istype(tool, /obj/item/weapon/surgical/hemostat) || istype(tool, /obj/item/weapon/surgical/FixOVein))
user.visible_message("<span class='notice'>[user] begins mending the charred blood vessels in [target]'s [affected] with \the [tool].</span>", \ user.visible_message("<span class='notice'>[user] begins mending the charred blood vessels in [target]'s [affected] with \the [tool].</span>", \
"<span class='notice'>You begin mending the charred blood vessels in [target]'s [affected] with \the [tool].</span>") "<span class='notice'>You begin mending the charred blood vessels in [target]'s [affected] with \the [tool].</span>")
user.balloon_alert_visible("Begins mending the charred blood vessels in [affected].", "Mends the charred blood vessels in [affected].") // CHOMPEdit
else else
user.visible_message("<span class='notice'>[user] begins coating the charred tissue in [target]'s [affected] with \the [tool].</span>", \ user.visible_message("<span class='notice'>[user] begins coating the charred tissue in [target]'s [affected] with \the [tool].</span>", \
"<span class='notice'>You begin coating the charred tissue in [target]'s [affected] with \the [tool].</span>") "<span class='notice'>You begin coating the charred tissue in [target]'s [affected] with \the [tool].</span>")
user.balloon_alert_visible("Begins coating the charred tissue in \the [affected]", "Coating the charred tssue in \the [affected]") // CHOMPEdit
..() ..()
/datum/surgery_step/repairflesh/repair_burns/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/repairflesh/repair_burns/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
@@ -128,6 +134,7 @@
if(istype(tool, /obj/item/weapon/tape_roll) || istype(tool, /obj/item/taperoll)) if(istype(tool, /obj/item/weapon/tape_roll) || istype(tool, /obj/item/taperoll))
user.visible_message("<span class='notice'>[user] finishes taping up [target]'s [affected] with \the [tool].</span>", \ user.visible_message("<span class='notice'>[user] finishes taping up [target]'s [affected] with \the [tool].</span>", \
"<span class='notice'>You finish taping up [target]'s [affected] with \the [tool].</span>") "<span class='notice'>You finish taping up [target]'s [affected] with \the [tool].</span>")
user.balloon_alert_visible("Tapes up \the [affected]", "Taped up \the [affected]") // CHOMPEdit
affected.createwound(BRUISE, 10) affected.createwound(BRUISE, 10)
affected.heal_damage(0, 25, 0, 0) affected.heal_damage(0, 25, 0, 0)
if(!(affected.burn_dam)) if(!(affected.burn_dam))
@@ -141,6 +148,7 @@
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='danger'>[user]'s hand slips, tearing up [target]'s [affected] with \the [tool].</span>", \ user.visible_message("<span class='danger'>[user]'s hand slips, tearing up [target]'s [affected] with \the [tool].</span>", \
"<span class='danger'>Your hand slips, tearing up [target]'s [affected] with \the [tool].</span>") "<span class='danger'>Your hand slips, tearing up [target]'s [affected] with \the [tool].</span>")
user.balloon_alert_visible("Slips, tearing up \the [affected]", "You slip, tearing up \the [affected]") // CHOMPEdit
affected.createwound(BRUISE, 10) affected.createwound(BRUISE, 10)
affected.createwound(CUT, 5) affected.createwound(CUT, 5)
if(istype(tool, /obj/item/stack) && prob(30)) if(istype(tool, /obj/item/stack) && prob(30))
@@ -179,13 +187,16 @@
if(istype(tool, /obj/item/weapon/tape_roll) || istype(tool, /obj/item/taperoll)) if(istype(tool, /obj/item/weapon/tape_roll) || istype(tool, /obj/item/taperoll))
user.visible_message("<span class='warning'>[user] begins taping up [target]'s [affected] with \the [tool].</span>", \ user.visible_message("<span class='warning'>[user] begins taping up [target]'s [affected] with \the [tool].</span>", \
"<span class='notice'>You begin taping up [target]'s [affected] with \the [tool].</span>") "<span class='notice'>You begin taping up [target]'s [affected] with \the [tool].</span>")
user.balloon_alert_visible("Begins to tape up \the [affected].", "Taping up \the [affected].") // CHOMPEdit
affected.jostle_bone(10) affected.jostle_bone(10)
else if(istype(tool, /obj/item/weapon/surgical/FixOVein) || istype(tool, /obj/item/weapon/surgical/bonesetter)) else if(istype(tool, /obj/item/weapon/surgical/FixOVein) || istype(tool, /obj/item/weapon/surgical/bonesetter))
user.visible_message("<span class='notice'>[user] begins mending the torn tissue in [target]'s [affected] with \the [tool].</span>", \ user.visible_message("<span class='notice'>[user] begins mending the torn tissue in [target]'s [affected] with \the [tool].</span>", \
"<span class='notice'>You begin mending the torn tissue in [target]'s [affected] with \the [tool].</span>") "<span class='notice'>You begin mending the torn tissue in [target]'s [affected] with \the [tool].</span>")
user.balloon_alert_visible("Begins mending torn tissue in \the [affected]", "Mending torn issue in \the [affected]") // CHOMPEdit
else else
user.visible_message("<span class='notice'>[user] begins coating the tissue in [target]'s [affected] with \the [tool].</span>", \ user.visible_message("<span class='notice'>[user] begins coating the tissue in [target]'s [affected] with \the [tool].</span>", \
"<span class='notice'>You begin coating the tissue in [target]'s [affected] with \the [tool].</span>") "<span class='notice'>You begin coating the tissue in [target]'s [affected] with \the [tool].</span>")
user.balloon_alert_visible("Begins coating tissue in \the [affected]", "Coating tissue in \the [affected]") // CHOMPEdit
..() ..()
/datum/surgery_step/repairflesh/repair_brute/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/repairflesh/repair_brute/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
@@ -193,6 +204,7 @@
if(istype(tool, /obj/item/weapon/tape_roll) || istype(tool, /obj/item/taperoll)) if(istype(tool, /obj/item/weapon/tape_roll) || istype(tool, /obj/item/taperoll))
user.visible_message("<span class='notice'>[user] finishes taping up [target]'s [affected] with \the [tool].</span>", \ user.visible_message("<span class='notice'>[user] finishes taping up [target]'s [affected] with \the [tool].</span>", \
"<span class='notice'>You finish taping up [target]'s [affected] with \the [tool].</span>") "<span class='notice'>You finish taping up [target]'s [affected] with \the [tool].</span>")
user.balloon_alert_visible("Tapes up \the [affected]", "Taped up \the [affected]") // CHOMPEdit
affected.createwound(BRUISE, 10) affected.createwound(BRUISE, 10)
affected.heal_damage(25, 0, 0, 0) affected.heal_damage(25, 0, 0, 0)
if(!(affected.brute_dam)) if(!(affected.brute_dam))
@@ -206,6 +218,7 @@
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='danger'>[user]'s hand slips, tearing up [target]'s [affected] with \the [tool].</span>", \ user.visible_message("<span class='danger'>[user]'s hand slips, tearing up [target]'s [affected] with \the [tool].</span>", \
"<span class='danger'>Your hand slips, tearing up [target]'s [affected] with \the [tool].</span>") "<span class='danger'>Your hand slips, tearing up [target]'s [affected] with \the [tool].</span>")
user.balloon_alert_visible("Slips, tearing up \the [affected]", "Your hand slips, tearing up \the [affected]") // CHOMPEdit
affected.createwound(BRUISE, 10) affected.createwound(BRUISE, 10)
affected.createwound(CUT, 5) affected.createwound(CUT, 5)
if(istype(tool, /obj/item/stack) && prob(30)) if(istype(tool, /obj/item/stack) && prob(30))

View File

@@ -40,17 +40,20 @@
/datum/surgery_step/generic/cut_face/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/generic/cut_face/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
user.visible_message("<span class='filter_notice'>[user] starts to cut open [target]'s face and neck with \the [tool].</span>", \ user.visible_message("<span class='filter_notice'>[user] starts to cut open [target]'s face and neck with \the [tool].</span>", \
"<span class='filter_notice'>You start to cut open [target]'s face and neck with \the [tool].</span>") "<span class='filter_notice'>You start to cut open [target]'s face and neck with \the [tool].</span>")
user.balloon_alert_visible("Begins to cut open [target]'s face and neck.", "Cutting open face and neck.") // CHOMPEdit
..() ..()
/datum/surgery_step/generic/cut_face/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/generic/cut_face/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
user.visible_message("<span class='notice'>[user] has cut open [target]'s face and neck with \the [tool].</span>" , \ user.visible_message("<span class='notice'>[user] has cut open [target]'s face and neck with \the [tool].</span>" , \
"<span class='notice'> You have cut open[target]'s face and neck with \the [tool].</span>",) "<span class='notice'> You have cut open[target]'s face and neck with \the [tool].</span>",)
user.balloon_alert_visible("Cuts up [target]'s face and neck.", "Face and neck cut open.") // CHOMPEdit
target.op_stage.face = 1 target.op_stage.face = 1
/datum/surgery_step/generic/cut_face/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/generic/cut_face/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='danger'>[user]'s hand slips, slicing [target]'s throat wth \the [tool]!</span>" , \ user.visible_message("<span class='danger'>[user]'s hand slips, slicing [target]'s throat with \the [tool]!</span>" , \
"<span class='danger'>Your hand slips, slicing [target]'s throat wth \the [tool]!</span>" ) "<span class='danger'>Your hand slips, slicing [target]'s throat wth \the [tool]!</span>" )
user.balloon_alert_visible("Slips, slicing [target]'s throat.", "Your hand slips, slicing [target]'s throat.") // CHOMPEdit
affected.createwound(CUT, 60) affected.createwound(CUT, 60)
target.AdjustLosebreath(10) target.AdjustLosebreath(10)
@@ -75,16 +78,19 @@
/datum/surgery_step/face/mend_vocal/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/face/mend_vocal/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
user.visible_message("<span class='filter_notice'>[user] starts mending [target]'s vocal cords with \the [tool].</span>", \ user.visible_message("<span class='filter_notice'>[user] starts mending [target]'s vocal cords with \the [tool].</span>", \
"<span class='filter_notice'>You start mending [target]'s vocal cords with \the [tool].</span>") "<span class='filter_notice'>You start mending [target]'s vocal cords with \the [tool].</span>")
user.balloon_alert_visible("Starts mending [target]'s vocal cords.", "Mending vocal cords.") // CHOMPEdit
..() ..()
/datum/surgery_step/face/mend_vocal/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/face/mend_vocal/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
user.visible_message("<span class='notice'>[user] mends [target]'s vocal cords with \the [tool].</span>", \ user.visible_message("<span class='notice'>[user] mends [target]'s vocal cords with \the [tool].</span>", \
"<span class='notice'>You mend [target]'s vocal cords with \the [tool].</span>") "<span class='notice'>You mend [target]'s vocal cords with \the [tool].</span>")
user.balloon_alert_visible("[target]'s vocal cords mended", "Vocal cords mended") // CHOMPEdit
target.op_stage.face = 2 target.op_stage.face = 2
/datum/surgery_step/face/mend_vocal/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/face/mend_vocal/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
user.visible_message("<span class='danger'>[user]'s hand slips, clamping [target]'s trachea shut for a moment with \the [tool]!</span>", \ user.visible_message("<span class='danger'>[user]'s hand slips, clamping [target]'s trachea shut for a moment with \the [tool]!</span>", \
"<span class='danger'>Your hand slips, clamping [user]'s trachea shut for a moment with \the [tool]!</span>") "<span class='danger'>Your hand slips, clamping [target]'s trachea shut for a moment with \the [tool]!</span>")
user.balloon_alert_visible("Slips, clamping [target]'s trachea", "Your hand slips, clamping [target]'s trachea.") // CHOMPEdit
target.AdjustLosebreath(10) target.AdjustLosebreath(10)
/////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////
@@ -109,17 +115,20 @@
/datum/surgery_step/face/fix_face/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/face/fix_face/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
user.visible_message("<span class='filter_notice'>[user] starts pulling the skin on [target]'s face back in place with \the [tool].</span>", \ user.visible_message("<span class='filter_notice'>[user] starts pulling the skin on [target]'s face back in place with \the [tool].</span>", \
"<span class='filter_notice'>You start pulling the skin on [target]'s face back in place with \the [tool].</span>") "<span class='filter_notice'>You start pulling the skin on [target]'s face back in place with \the [tool].</span>")
user.balloon_alert_visible("Starts pulling the skin on [target]'s face back in place.", "Pulling the skin back in place.") // CHOMPEdit
..() ..()
/datum/surgery_step/face/fix_face/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/face/fix_face/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
user.visible_message("<span class='notice'>[user] pulls the skin on [target]'s face back in place with \the [tool].</span>", \ user.visible_message("<span class='notice'>[user] pulls the skin on [target]'s face back in place with \the [tool].</span>", \
"<span class='notice'>You pull the skin on [target]'s face back in place with \the [tool].</span>") "<span class='notice'>You pull the skin on [target]'s face back in place with \the [tool].</span>")
user.balloon_alert_visible("Pulls the skin on [target]'s face back in place", "Skin pulled back in place.") // CHOMPEdit
target.op_stage.face = 3 target.op_stage.face = 3
/datum/surgery_step/face/fix_face/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/face/fix_face/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='danger'>[user]'s hand slips, tearing skin on [target]'s face with \the [tool]!</span>", \ user.visible_message("<span class='danger'>[user]'s hand slips, tearing skin on [target]'s face with \the [tool]!</span>", \
"<span class='danger'>Your hand slips, tearing skin on [target]'s face with \the [tool]!</span>") "<span class='danger'>Your hand slips, tearing skin on [target]'s face with \the [tool]!</span>")
user.balloon_alert_visible("Slips, tearing skin on [target]'s face.", "Your hand slips, tearing skin on the face.") // CHOMPEdit
target.apply_damage(10, BRUTE, affected, sharp = TRUE, sharp = TRUE) target.apply_damage(10, BRUTE, affected, sharp = TRUE, sharp = TRUE)
/////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////
@@ -144,12 +153,14 @@
/datum/surgery_step/face/cauterize/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/face/cauterize/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
user.visible_message("<span class='notice'>[user] is beginning to cauterize the incision on [target]'s face and neck with \the [tool].</span>" , \ user.visible_message("<span class='notice'>[user] is beginning to cauterize the incision on [target]'s face and neck with \the [tool].</span>" , \
"<span class='notice'>You are beginning to cauterize the incision on [target]'s face and neck with \the [tool].</span>") "<span class='notice'>You are beginning to cauterize the incision on [target]'s face and neck with \the [tool].</span>")
user.balloon_alert_visible("Begins to cauterize the incision on [target]'s face and neck", "Cauterizing the incision on face and neck.") // CHOMPEdit
..() ..()
/datum/surgery_step/face/cauterize/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/face/cauterize/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='notice'>[user] cauterizes the incision on [target]'s face and neck with \the [tool].</span>", \ user.visible_message("<span class='notice'>[user] cauterizes the incision on [target]'s face and neck with \the [tool].</span>", \
"<span class='notice'>You cauterize the incision on [target]'s face and neck with \the [tool].</span>") "<span class='notice'>You cauterize the incision on [target]'s face and neck with \the [tool].</span>")
user.balloon_alert_visible("Cauterizes the incision on [target]'s face and neck", "Cauterized the incision on the face and neck.") // CHOMPEdit
affected.open = 0 affected.open = 0
affected.status &= ~ORGAN_BLEEDING affected.status &= ~ORGAN_BLEEDING
if (target.op_stage.face == 3) if (target.op_stage.face == 3)
@@ -161,4 +172,5 @@
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='danger'>[user]'s hand slips, leaving a small burn on [target]'s face with \the [tool]!</span>", \ user.visible_message("<span class='danger'>[user]'s hand slips, leaving a small burn on [target]'s face with \the [tool]!</span>", \
"<span class='danger'>Your hand slips, leaving a small burn on [target]'s face with \the [tool]!</span>") "<span class='danger'>Your hand slips, leaving a small burn on [target]'s face with \the [tool]!</span>")
user.balloon_alert_visible("Slips, leaving a small burn on the face.", "Your hand slips, leaving a small burn on the face.") // CHOMPEdit
target.apply_damage(4, BURN, affected) target.apply_damage(4, BURN, affected)

View File

@@ -50,12 +50,14 @@
user.visible_message("<span class='filter_notice'>[user] starts the incision on [target]'s [affected.name] with \the [tool].</span>", \ user.visible_message("<span class='filter_notice'>[user] starts the incision on [target]'s [affected.name] with \the [tool].</span>", \
"<span class='filter_notice'>You start the incision on [target]'s [affected.name] with \the [tool].</span>") "<span class='filter_notice'>You start the incision on [target]'s [affected.name] with \the [tool].</span>")
target.custom_pain("You feel a horrible pain as if from a sharp knife in your [affected.name]!", 40) target.custom_pain("You feel a horrible pain as if from a sharp knife in your [affected.name]!", 40)
user.balloon_alert_visible("Starts to open an incision on [target]", "Opening incision on \the [affected.name]") // CHOMPEdit
..() ..()
/datum/surgery_step/generic/cut_open/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/generic/cut_open/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='notice'>[user] has made an incision on [target]'s [affected.name] with \the [tool].</span>", \ user.visible_message("<span class='notice'>[user] has made an incision on [target]'s [affected.name] with \the [tool].</span>", \
"<span class='notice'>You have made an incision on [target]'s [affected.name] with \the [tool].</span>",) "<span class='notice'>You have made an incision on [target]'s [affected.name] with \the [tool].</span>",)
user.balloon_alert_visible("Opens an incision on [target]'s [affected.name]", "Incision open on \the [affected.name]") // CHOMPEdit
affected.open = 1 affected.open = 1
if(istype(target) && target.should_have_organ(O_HEART)) if(istype(target) && target.should_have_organ(O_HEART))
@@ -67,6 +69,7 @@
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='danger'>[user]'s hand slips, slicing open [target]'s [affected.name] in the wrong place with \the [tool]!</span>", \ user.visible_message("<span class='danger'>[user]'s hand slips, slicing open [target]'s [affected.name] in the wrong place with \the [tool]!</span>", \
"<span class='danger'>Your hand slips, slicing open [target]'s [affected.name] in the wrong place with \the [tool]!</span>") "<span class='danger'>Your hand slips, slicing open [target]'s [affected.name] in the wrong place with \the [tool]!</span>")
user.balloon_alert_visible("Slips, slicing open \the [affected.name]", "Your hand slips, slicing open [affected.name] in the wrong place.") // CHOMPEdit
affected.createwound(CUT, 10) affected.createwound(CUT, 10)
/////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////
@@ -96,6 +99,7 @@
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='filter_notice'>[user] starts the bloodless incision on [target]'s [affected.name] with \the [tool].</span>", \ user.visible_message("<span class='filter_notice'>[user] starts the bloodless incision on [target]'s [affected.name] with \the [tool].</span>", \
"<span class='filter_notice'>You start the bloodless incision on [target]'s [affected.name] with \the [tool].</span>") "<span class='filter_notice'>You start the bloodless incision on [target]'s [affected.name] with \the [tool].</span>")
user.balloon_alert_visible("Starts to open a bloodless incision on [target]", "Opening a blodless incision on \the [affected.name]") // CHOMPEdit
target.custom_pain("You feel a horrible, searing pain in your [affected.name]!", 50) target.custom_pain("You feel a horrible, searing pain in your [affected.name]!", 50)
..() ..()
@@ -115,9 +119,11 @@
affected.organ_clamp() affected.organ_clamp()
user.visible_message("<span class='notice'>[user] has made a bloodless incision on [target]'s [affected.name] with \the [tool].</span>", \ user.visible_message("<span class='notice'>[user] has made a bloodless incision on [target]'s [affected.name] with \the [tool].</span>", \
"<span class='notice'>You have made a bloodless incision on [target]'s [affected.name] with \the [tool].</span>",) "<span class='notice'>You have made a bloodless incision on [target]'s [affected.name] with \the [tool].</span>",)
user.balloon_alert_visible("Opens a bloodless incision on [target]'s [affected.name]", "Bloodless incision open on \the [affected.name]") // CHOMPEdit
else else
user.visible_message("<span class='notice'>[user] has made an incision on [target]'s [affected.name] with \the [tool], but blood is still escaping from the wound.</span>", \ user.visible_message("<span class='notice'>[user] has made an incision on [target]'s [affected.name] with \the [tool], but blood is still escaping from the wound.</span>", \
"<span class='notice'>You have made an incision on [target]'s [affected.name] with \the [tool], but blood is still coming from the wound..</span>",) "<span class='notice'>You have made an incision on [target]'s [affected.name] with \the [tool], but blood is still coming from the wound..</span>",)
user.balloon_alert_visible("Opens an incision on [target]'s [affected.name], blood still flowing", "Incision open on \the [affected.name], but blood still flows") // CHOMPEdit
//Could be cleaner ... //Could be cleaner ...
spread_germs_to_organ(affected, user) spread_germs_to_organ(affected, user)
@@ -126,6 +132,7 @@
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='danger'>[user]'s hand slips as the blade sputters, searing a long gash in [target]'s [affected.name] with \the [tool]!</span>", \ user.visible_message("<span class='danger'>[user]'s hand slips as the blade sputters, searing a long gash in [target]'s [affected.name] with \the [tool]!</span>", \
"<span class='danger'>Your hand slips as the blade sputters, searing a long gash in [target]'s [affected.name] with \the [tool]!</span>") "<span class='danger'>Your hand slips as the blade sputters, searing a long gash in [target]'s [affected.name] with \the [tool]!</span>")
user.balloon_alert_visible("Slips, searing a long gash on \the [affected.name]", "Your hand slips, searing a long gash on [affected.name].") // CHOMPEdit
affected.createwound(CUT, 7.5) affected.createwound(CUT, 7.5)
affected.createwound(BURN, 12.5) affected.createwound(BURN, 12.5)
@@ -154,6 +161,7 @@
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='filter_notice'>[user] starts to construct a prepared incision on and within [target]'s [affected.name] with \the [tool].</span>", \ user.visible_message("<span class='filter_notice'>[user] starts to construct a prepared incision on and within [target]'s [affected.name] with \the [tool].</span>", \
"<span class='filter_notice'>You start to construct a prepared incision on and within [target]'s [affected.name] with \the [tool].</span>") "<span class='filter_notice'>You start to construct a prepared incision on and within [target]'s [affected.name] with \the [tool].</span>")
user.balloon_alert_visible("Begins constructing a prepared incsion on [target]'s [affected.name]", "Contructing prepared incision on \the [affected.name]") // CHOMPEdit
target.custom_pain("You feel a horrible, searing pain in your [affected.name] as it is pushed apart!", 50) target.custom_pain("You feel a horrible, searing pain in your [affected.name] as it is pushed apart!", 50)
..() ..()
@@ -161,6 +169,7 @@
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='notice'>[user] has constructed a prepared incision on and within [target]'s [affected.name] with \the [tool].</span>", \ user.visible_message("<span class='notice'>[user] has constructed a prepared incision on and within [target]'s [affected.name] with \the [tool].</span>", \
"<span class='notice'>You have constructed a prepared incision on and within [target]'s [affected.name] with \the [tool].</span>",) "<span class='notice'>You have constructed a prepared incision on and within [target]'s [affected.name] with \the [tool].</span>",)
user.balloon_alert_visible("Constructs a prepared incision", "Constructed prepared incision") // CHOMPEdit
affected.open = 1 affected.open = 1
if(istype(target) && target.should_have_organ(O_HEART)) if(istype(target) && target.should_have_organ(O_HEART))
@@ -174,6 +183,7 @@
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='danger'>[user]'s hand jolts as the system sparks, ripping a gruesome hole in [target]'s [affected.name] with \the [tool]!</span>", \ user.visible_message("<span class='danger'>[user]'s hand jolts as the system sparks, ripping a gruesome hole in [target]'s [affected.name] with \the [tool]!</span>", \
"<span class='danger'>Your hand jolts as the system sparks, ripping a gruesome hole in [target]'s [affected.name] with \the [tool]!</span>") "<span class='danger'>Your hand jolts as the system sparks, ripping a gruesome hole in [target]'s [affected.name] with \the [tool]!</span>")
user.balloon_alert_visible("Hand slips as the system sparks, ripping a gruesome hole in [target]'s [affected.name]", "Your hand jolts as the system sparks, ripping a gruesome hole in \the [affected.name]") // CHOMPEdit
affected.createwound(CUT, 20) affected.createwound(CUT, 20)
affected.createwound(BURN, 15) affected.createwound(BURN, 15)
@@ -201,6 +211,7 @@
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='filter_notice'>[user] starts clamping bleeders in [target]'s [affected.name] with \the [tool].</span>", \ user.visible_message("<span class='filter_notice'>[user] starts clamping bleeders in [target]'s [affected.name] with \the [tool].</span>", \
"<span class='filter_notice'>You start clamping bleeders in [target]'s [affected.name] with \the [tool].</span>") "<span class='filter_notice'>You start clamping bleeders in [target]'s [affected.name] with \the [tool].</span>")
user.balloon_alert_visible("Starts clamping bleeders", "Clamping bleders") // CHOMPEdit
target.custom_pain("The pain in your [affected.name] is maddening!", 40) target.custom_pain("The pain in your [affected.name] is maddening!", 40)
..() ..()
@@ -208,13 +219,15 @@
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='notice'>[user] clamps bleeders in [target]'s [affected.name] with \the [tool].</span>", \ user.visible_message("<span class='notice'>[user] clamps bleeders in [target]'s [affected.name] with \the [tool].</span>", \
"<span class='notice'>You clamp bleeders in [target]'s [affected.name] with \the [tool].</span>") "<span class='notice'>You clamp bleeders in [target]'s [affected.name] with \the [tool].</span>")
user.balloon_alert_visible("Clamps bleeders", "Clamped bleeders") // CHOMPEdit
affected.organ_clamp() affected.organ_clamp()
spread_germs_to_organ(affected, user) spread_germs_to_organ(affected, user)
/datum/surgery_step/generic/clamp_bleeders/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/generic/clamp_bleeders/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='danger'>[user]'s hand slips, tearing blood vessals and causing massive bleeding in [target]'s [affected.name] with \the [tool]!</span>", \ user.visible_message("<span class='danger'>[user]'s hand slips, tearing blood vessels and causing massive bleeding in [target]'s [affected.name] with \the [tool]!</span>", \
"<span class='danger'>Your hand slips, tearing blood vessels and causing massive bleeding in [target]'s [affected.name] with \the [tool]!</span>",) "<span class='danger'>Your hand slips, tearing blood vessels and causing massive bleeding in [target]'s [affected.name] with \the [tool]!</span>",)
user.balloon_alert_visible("Slips, tearing blood vessels and causing massive bleedings in [target]'s [affected.name]", "Your hand slips, tearing blood vessels and causing massive bleedings in \the [affected.name]") // CHOMPEdit
affected.createwound(CUT, 10) affected.createwound(CUT, 10)
/////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////
@@ -242,13 +255,19 @@
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
var/msg = "[user] starts to pry open the incision on [target]'s [affected.name] with \the [tool]." var/msg = "[user] starts to pry open the incision on [target]'s [affected.name] with \the [tool]."
var/self_msg = "You start to pry open the incision on [target]'s [affected.name] with \the [tool]." var/self_msg = "You start to pry open the incision on [target]'s [affected.name] with \the [tool]."
var/msgBall = "Starts to pry open the incision on [target]'s [affected.name]" // CHOMPEdit
var/self_msgBall = "Prying open the incision on [affected.name]" // CHOMPEdit
if (target_zone == BP_TORSO) if (target_zone == BP_TORSO)
msg = "[user] starts to separate the ribcage and rearrange the organs in [target]'s torso with \the [tool]." msg = "[user] starts to separate the ribcage and rearrange the organs in [target]'s torso with \the [tool]."
self_msg = "You start to separate the ribcage and rearrange the organs in [target]'s torso with \the [tool]." self_msg = "You start to separate the ribcage and rearrange the organs in [target]'s torso with \the [tool]."
msgBall = "Starts to separate the ribcage and rearrange the organs in [target]'s torso."
self_msgBall = "Separating ribcage and rearranging organs."
if (target_zone == BP_GROIN) if (target_zone == BP_GROIN)
msg = "[user] starts to pry open the incision and rearrange the organs in [target]'s lower abdomen with \the [tool]." msg = "[user] starts to pry open the incision and rearrange the organs in [target]'s lower abdomen with \the [tool]."
self_msg = "You start to pry open the incision and rearrange the organs in [target]'s lower abdomen with \the [tool]." self_msg = "You start to pry open the incision and rearrange the organs in [target]'s lower abdomen with \the [tool]."
msgBall = "Starts to pry open the incison and rearrange the organs in [target]'s lower abdomen"
user.visible_message("<span class='filter_notice'>[msg]</span>", "<span class='filter_notice'>[self_msg]</span>") user.visible_message("<span class='filter_notice'>[msg]</span>", "<span class='filter_notice'>[self_msg]</span>")
user.balloon_alert_visible(msgBall, self_msgBall) // CHOMPEdit
target.custom_pain("It feels like the skin on your [affected.name] is on fire!", 40) target.custom_pain("It feels like the skin on your [affected.name] is on fire!", 40)
..() ..()
@@ -256,26 +275,40 @@
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
var/msg = "<span class='notice'>[user] keeps the incision open on [target]'s [affected.name] with \the [tool].</span>" var/msg = "<span class='notice'>[user] keeps the incision open on [target]'s [affected.name] with \the [tool].</span>"
var/self_msg = "<span class='notice'>You keep the incision open on [target]'s [affected.name] with \the [tool].</span>" var/self_msg = "<span class='notice'>You keep the incision open on [target]'s [affected.name] with \the [tool].</span>"
var/msgBall = "Keeps the incision open on [target]'s [affected.name]"
var/self_msgBall = "Keeping the incision open on \the [affected.name]"
if (target_zone == BP_TORSO) if (target_zone == BP_TORSO)
msg = "<span class='notice'>[user] keeps the ribcage open on [target]'s torso with \the [tool].</span>" msg = "<span class='notice'>[user] keeps the ribcage open on [target]'s torso with \the [tool].</span>"
self_msg = "<span class='notice'>You keep the ribcage open on [target]'s torso with \the [tool].</span>" self_msg = "<span class='notice'>You keep the ribcage open on [target]'s torso with \the [tool].</span>"
msgBall = "Keeps the ribcage open on [target]'s torso."
self_msgBall = "Keeping the ribcage open."
if (target_zone == BP_GROIN) if (target_zone == BP_GROIN)
msg = "<span class='notice'>[user] keeps the incision open on [target]'s lower abdomen with \the [tool].</span>" msg = "<span class='notice'>[user] keeps the incision open on [target]'s lower abdomen with \the [tool].</span>"
self_msg = "<span class='notice'>You keep the incision open on [target]'s lower abdomen with \the [tool].</span>" self_msg = "<span class='notice'>You keep the incision open on [target]'s lower abdomen with \the [tool].</span>"
msgBall = "Keeps the incision open on [target]'s lower abdomen."
self_msgBall = "Keeping the incision open on the lower abdomen."
user.visible_message(msg, self_msg) user.visible_message(msg, self_msg)
user.balloon_alert_visible(msgBall, self_msgBall) // CHOMPEdit
affected.open = 2 affected.open = 2
/datum/surgery_step/generic/retract_skin/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/generic/retract_skin/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
var/msg = "<span class='danger'>[user]'s hand slips, tearing the edges of the incision on [target]'s [affected.name] with \the [tool]!</span>" var/msg = "<span class='danger'>[user]'s hand slips, tearing the edges of the incision on [target]'s [affected.name] with \the [tool]!</span>"
var/self_msg = "<span class='danger'>Your hand slips, tearing the edges of the incision on [target]'s [affected.name] with \the [tool]!</span>" var/self_msg = "<span class='danger'>Your hand slips, tearing the edges of the incision on [target]'s [affected.name] with \the [tool]!</span>"
var/msgBall = "Slips, tearing the edges of the incision."
var/self_msgBall = "Your hand slips, tearing the edges of the incision."
if (target_zone == BP_TORSO) if (target_zone == BP_TORSO)
msg = "<span class='danger'>[user]'s hand slips, damaging several organs in [target]'s torso with \the [tool]!</span>" msg = "<span class='danger'>[user]'s hand slips, damaging several organs in [target]'s torso with \the [tool]!</span>"
self_msg = "<span class='danger'>Your hand slips, damaging several organs in [target]'s torso with \the [tool]!</span>" self_msg = "<span class='danger'>Your hand slips, damaging several organs in [target]'s torso with \the [tool]!</span>"
msgBall = "Slips, damaging several organs in [target]'s torso."
self_msgBall = "Your hand slips, damaging several organs in the torso."
if (target_zone == BP_GROIN) if (target_zone == BP_GROIN)
msg = "<span class='danger'>[user]'s hand slips, damaging several organs in [target]'s lower abdomen with \the [tool]!</span>" msg = "<span class='danger'>[user]'s hand slips, damaging several organs in [target]'s lower abdomen with \the [tool]!</span>"
self_msg = "<span class='danger'>Your hand slips, damaging several organs in [target]'s lower abdomen with \the [tool]!</span>" self_msg = "<span class='danger'>Your hand slips, damaging several organs in [target]'s lower abdomen with \the [tool]!</span>"
msgBall = "Slips, damaging several organs in [target]'s lower abdomen."
self_msgBall = "Your hand slips, damaging several organs in the torso."
user.visible_message(msg, self_msg) user.visible_message(msg, self_msg)
user.balloon_alert_visible(msgBall, self_msgBall) // CHOMPEdit
target.apply_damage(12, BRUTE, affected, sharp = TRUE) target.apply_damage(12, BRUTE, affected, sharp = TRUE)
/////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////
@@ -303,6 +336,7 @@
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='filter_notice'>[user] is beginning to cauterize the incision on [target]'s [affected.name] with \the [tool].</span>" , \ user.visible_message("<span class='filter_notice'>[user] is beginning to cauterize the incision on [target]'s [affected.name] with \the [tool].</span>" , \
"<span class='filter_notice'>You are beginning to cauterize the incision on [target]'s [affected.name] with \the [tool].</span>") "<span class='filter_notice'>You are beginning to cauterize the incision on [target]'s [affected.name] with \the [tool].</span>")
user.balloon_alert_visible("Begins to cauterize the incision on [target]'s [affected.name]", "Cauterizing \the [affected.name]") // CHOMPEdit
target.custom_pain("Your [affected.name] is being burned!", 40) target.custom_pain("Your [affected.name] is being burned!", 40)
..() ..()
@@ -310,6 +344,7 @@
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='notice'>[user] cauterizes the incision on [target]'s [affected.name] with \the [tool].</span>", \ user.visible_message("<span class='notice'>[user] cauterizes the incision on [target]'s [affected.name] with \the [tool].</span>", \
"<span class='notice'>You cauterize the incision on [target]'s [affected.name] with \the [tool].</span>") "<span class='notice'>You cauterize the incision on [target]'s [affected.name] with \the [tool].</span>")
user.balloon_alert_visible("Cauterizes the incision on [target]'s [affected.name]", "Incison cauterized on \the [affected.name]") // CHOMPEdit
affected.open = 0 affected.open = 0
affected.germ_level = 0 affected.germ_level = 0
affected.status &= ~ORGAN_BLEEDING affected.status &= ~ORGAN_BLEEDING
@@ -318,6 +353,7 @@
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='danger'>[user]'s hand slips, leaving a small burn on [target]'s [affected.name] with \the [tool]!</span>", \ user.visible_message("<span class='danger'>[user]'s hand slips, leaving a small burn on [target]'s [affected.name] with \the [tool]!</span>", \
"<span class='danger'>Your hand slips, leaving a small burn on [target]'s [affected.name] with \the [tool]!</span>") "<span class='danger'>Your hand slips, leaving a small burn on [target]'s [affected.name] with \the [tool]!</span>")
user.balloon_alert_visible("Slips, leaving a small burn on [target]'s [affected.name]", "Your hand slips, leaving a small burn on \the [affected.name]") // CHOMPEdit
target.apply_damage(3, BURN, affected) target.apply_damage(3, BURN, affected)
/////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////
@@ -349,6 +385,7 @@
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='filter_notice'>[user] is beginning to amputate [target]'s [affected.name] with \the [tool].</span>" , \ user.visible_message("<span class='filter_notice'>[user] is beginning to amputate [target]'s [affected.name] with \the [tool].</span>" , \
"<span class='filter_notice'>You are beginning to cut through [target]'s [affected.amputation_point] with \the [tool].</span>") "<span class='filter_notice'>You are beginning to cut through [target]'s [affected.amputation_point] with \the [tool].</span>")
user.balloon_alert_visible("Begins to amputate [target]'s [affected.name]", "Amputating \the [affected.name]") // CHOMPEdit
target.custom_pain("Your [affected.amputation_point] is being ripped apart!", 100) target.custom_pain("Your [affected.amputation_point] is being ripped apart!", 100)
..() ..()
@@ -356,11 +393,13 @@
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='notice'>[user] amputates [target]'s [affected.name] at the [affected.amputation_point] with \the [tool].</span>", \ user.visible_message("<span class='notice'>[user] amputates [target]'s [affected.name] at the [affected.amputation_point] with \the [tool].</span>", \
"<span class='notice'>You amputate [target]'s [affected.name] with \the [tool].</span>") "<span class='notice'>You amputate [target]'s [affected.name] with \the [tool].</span>")
user.balloon_alert_visible("Amputates [target]'s [affected.name] at the [affected.amputation_point]", "Amputated \the [affected.name]") // CHOMPEdit
affected.droplimb(1,DROPLIMB_EDGE) affected.droplimb(1,DROPLIMB_EDGE)
/datum/surgery_step/generic/amputate/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/generic/amputate/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='danger'>[user]'s hand slips, sawing through the bone in [target]'s [affected.name] with \the [tool]!</span>", \ user.visible_message("<span class='danger'>[user]'s hand slips, sawing through the bone in [target]'s [affected.name] with \the [tool]!</span>", \
"<span class='danger'>Your hand slips, sawwing through the bone in [target]'s [affected.name] with \the [tool]!</span>") "<span class='danger'>Your hand slips, sawwing through the bone in [target]'s [affected.name] with \the [tool]!</span>")
user.balloon_alert_visible("Slips, sawing through the bone in [target]'s [affected.name]", "Your hand slips, sawng through the bone in \the [affected.name]") // CHOMPEdit
affected.createwound(CUT, 30) affected.createwound(CUT, 30)
affected.fracture() affected.fracture()

View File

@@ -40,6 +40,7 @@
var/obj/item/organ/external/chest/affected = target.get_organ(target_zone) var/obj/item/organ/external/chest/affected = target.get_organ(target_zone)
user.visible_message("<span class='danger'>[user]'s hand slips, scraping around inside [target]'s [affected.name] with \the [tool]!</span>", \ user.visible_message("<span class='danger'>[user]'s hand slips, scraping around inside [target]'s [affected.name] with \the [tool]!</span>", \
"<span class='danger'>Your hand slips, scraping around inside [target]'s [affected.name] with \the [tool]!</span>") "<span class='danger'>Your hand slips, scraping around inside [target]'s [affected.name] with \the [tool]!</span>")
user.balloon_alert_visible("Slips, scraping around inside [target]'s [affected.name]", "Your hand slips, scraping around inside \the [affected.name]") // CHOMPEdit
affected.createwound(CUT, 20) affected.createwound(CUT, 20)
/////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////
@@ -66,6 +67,7 @@
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='filter_notice'>[user] starts making some space inside [target]'s [get_cavity(affected)] cavity with \the [tool].</span>", \ user.visible_message("<span class='filter_notice'>[user] starts making some space inside [target]'s [get_cavity(affected)] cavity with \the [tool].</span>", \
"<span class='filter_notice'>You start making some space inside [target]'s [get_cavity(affected)] cavity with \the [tool].</span>" ) "<span class='filter_notice'>You start making some space inside [target]'s [get_cavity(affected)] cavity with \the [tool].</span>" )
user.balloon_alert_visible("Starts making space inside [target]'s [get_cavity(affected)]", "Making space inside [get_cavity(affected)]") // CHOMPEdit
target.custom_pain("The pain in your chest is living hell!",1) target.custom_pain("The pain in your chest is living hell!",1)
affected.cavity = 1 affected.cavity = 1
..() ..()
@@ -74,6 +76,7 @@
var/obj/item/organ/external/chest/affected = target.get_organ(target_zone) var/obj/item/organ/external/chest/affected = target.get_organ(target_zone)
user.visible_message("<span class='notice'>[user] makes some space inside [target]'s [get_cavity(affected)] cavity with \the [tool].</span>", \ user.visible_message("<span class='notice'>[user] makes some space inside [target]'s [get_cavity(affected)] cavity with \the [tool].</span>", \
"<span class='notice'>You make some space inside [target]'s [get_cavity(affected)] cavity with \the [tool].</span>" ) "<span class='notice'>You make some space inside [target]'s [get_cavity(affected)] cavity with \the [tool].</span>" )
user.balloon_alert_visible("Makes space inside [target]'s [get_cavity(affected)]", "Made space inside \the [get_cavity(affected)]") // CHOMPEdit
/////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////
// Cavity Closing Surgery // Cavity Closing Surgery
@@ -101,6 +104,7 @@
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='filter_notice'>[user] starts mending [target]'s [get_cavity(affected)] cavity wall with \the [tool].</span>", \ user.visible_message("<span class='filter_notice'>[user] starts mending [target]'s [get_cavity(affected)] cavity wall with \the [tool].</span>", \
"<span class='filter_notice'>You start mending [target]'s [get_cavity(affected)] cavity wall with \the [tool].</span>" ) "<span class='filter_notice'>You start mending [target]'s [get_cavity(affected)] cavity wall with \the [tool].</span>" )
user.balloon_alert_visible("Starts mending [target]'s [get_cavity(affected)] cavity wall.", "Mending \the [get_cavity(affected)] cavity wall.") // CHOMPEdit
target.custom_pain("The pain in your chest is living hell!",1) target.custom_pain("The pain in your chest is living hell!",1)
affected.cavity = 0 affected.cavity = 0
..() ..()
@@ -109,6 +113,7 @@
var/obj/item/organ/external/chest/affected = target.get_organ(target_zone) var/obj/item/organ/external/chest/affected = target.get_organ(target_zone)
user.visible_message("<span class='notice'>[user] mends [target]'s [get_cavity(affected)] cavity walls with \the [tool].</span>", \ user.visible_message("<span class='notice'>[user] mends [target]'s [get_cavity(affected)] cavity walls with \the [tool].</span>", \
"<span class='notice'> You mend [target]'s [get_cavity(affected)] cavity walls with \the [tool].</span>" ) "<span class='notice'> You mend [target]'s [get_cavity(affected)] cavity walls with \the [tool].</span>" )
user.balloon_alert_visible("Mends [target]'s [get_cavity(affected)] cavity walls", "Mended [get_cavity(affected)] cavity walls.") // CHOMPEdit
/////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////
// Item Implantation Surgery // Item Implantation Surgery
@@ -151,6 +156,7 @@
tool = G.wrapped tool = G.wrapped
user.visible_message("<span class='notice'>[user] starts putting \the [tool] inside [target]'s [get_cavity(affected)] cavity.</span>", \ user.visible_message("<span class='notice'>[user] starts putting \the [tool] inside [target]'s [get_cavity(affected)] cavity.</span>", \
"<span class='notice'>You start putting \the [tool] inside [target]'s [get_cavity(affected)] cavity.</span>" ) //Nobody will probably ever see this, but I made these two blue. ~CK "<span class='notice'>You start putting \the [tool] inside [target]'s [get_cavity(affected)] cavity.</span>" ) //Nobody will probably ever see this, but I made these two blue. ~CK
user.balloon_alert_visible("Starts putting \the [tool] inside [target]'s [get_cavity(affected)]", "Putting \the [tool] inside \the [get_cavity(affected)]") // CHOMPEdit
target.custom_pain("The pain in your chest is living hell!",1) target.custom_pain("The pain in your chest is living hell!",1)
..() ..()
@@ -164,6 +170,7 @@
user.drop_item() user.drop_item()
user.visible_message("<span class='notice'>[user] puts \the [tool] inside [target]'s [get_cavity(affected)] cavity.</span>", \ user.visible_message("<span class='notice'>[user] puts \the [tool] inside [target]'s [get_cavity(affected)] cavity.</span>", \
"<span class='notice'>You put \the [tool] inside [target]'s [get_cavity(affected)] cavity.</span>" ) "<span class='notice'>You put \the [tool] inside [target]'s [get_cavity(affected)] cavity.</span>" )
user.balloon_alert_visible("Puts \the [tool] inside [target]'s [get_cavity(affected)]", "\the [tool] placed inside [get_cavity(affected)]") // CHOMPEdit
if (tool.w_class > get_max_wclass(affected)/2 && prob(50) && (affected.robotic < ORGAN_ROBOT)) if (tool.w_class > get_max_wclass(affected)/2 && prob(50) && (affected.robotic < ORGAN_ROBOT))
to_chat(user, "<span class='danger'> You tear some blood vessels trying to fit such a big object in this cavity.</span>") to_chat(user, "<span class='danger'> You tear some blood vessels trying to fit such a big object in this cavity.</span>")
var/datum/wound/internal_bleeding/I = new (10) var/datum/wound/internal_bleeding/I = new (10)
@@ -202,6 +209,7 @@
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='notice'>[user] starts poking around inside [target]'s [affected.name] with \the [tool].</span>", \ user.visible_message("<span class='notice'>[user] starts poking around inside [target]'s [affected.name] with \the [tool].</span>", \
"<span class='notice'>You start poking around inside [target]'s [affected.name] with \the [tool].</span>" ) "<span class='notice'>You start poking around inside [target]'s [affected.name] with \the [tool].</span>" )
user.balloon_alert_visible("Pokes inside [target]'s [affected.name]", "Poking around inside [affected.name]") // CHOMPEdit
target.custom_pain("The pain in your [affected.name] is living hell!",1) target.custom_pain("The pain in your [affected.name] is living hell!",1)
..() ..()
@@ -214,11 +222,13 @@
if(isnull(obj)) //They clicked cancel. if(isnull(obj)) //They clicked cancel.
user.visible_message("<span class='notice'>[user] takes \the [tool] out of [target]'s [affected.name].</span>", \ user.visible_message("<span class='notice'>[user] takes \the [tool] out of [target]'s [affected.name].</span>", \
"<span class='notice'>You take \the [tool] out of the incision on [target]'s [affected.name].</span>" ) "<span class='notice'>You take \the [tool] out of the incision on [target]'s [affected.name].</span>" )
user.balloon_alert_visible("Takes \the [tool] out of [target]'s [affected.name]", "\the [tool] taken out of the incison on \the [affected.name]") // CHOMPEdit
return return
if(!do_mob(user, target, 1)) //They moved away if(!do_mob(user, target, 1)) //They moved away
to_chat(user, "<span class='warning'>You must remain close to and keep focused on your patient to conduct surgery.</span>") to_chat(user, "<span class='warning'>You must remain close to and keep focused on your patient to conduct surgery.</span>")
user.visible_message("<span class='notice'>[user] fails to remove anything from [target]'s [affected.name] with \the [tool]!</span>", \ user.visible_message("<span class='notice'>[user] fails to remove anything from [target]'s [affected.name] with \the [tool]!</span>", \
"<span class='notice'>You fail to remove the [obj] from [target]'s [affected.name]s with \the [tool]!</span>" ) "<span class='notice'>You fail to remove the [obj] from [target]'s [affected.name]s with \the [tool]!</span>" )
user.balloon_alert_visible("Fails to remove anything from [target]'s [affected.name]", "Failed to remove \the [obj] from \the [affected.name]") // CHOMPEdit
return return
if(istype(obj,/obj/item/weapon/implant)) if(istype(obj,/obj/item/weapon/implant))
@@ -226,14 +236,17 @@
if (!imp.islegal()) //ILLEGAL IMPLANT ALERT!!!!!!!!!! if (!imp.islegal()) //ILLEGAL IMPLANT ALERT!!!!!!!!!!
user.visible_message("<span class='notice'>[user] seems to be intently working on something within [target]'s [affected.name] with \the [tool]!</span>", \ user.visible_message("<span class='notice'>[user] seems to be intently working on something within [target]'s [affected.name] with \the [tool]!</span>", \
"<span class='notice'>You intently begin to take [obj] out of the incision on [target]'s [affected.name]s with \the [tool]!</span>" ) "<span class='notice'>You intently begin to take [obj] out of the incision on [target]'s [affected.name]s with \the [tool]!</span>" )
user.balloon_alert_visible("Intently works on something within [target]'s [affected.name]", "Intently taking \the [obj] out of the incision in \the [affected.name]") // CHOMPEdit
if(!do_after(user, min_duration, target)) if(!do_after(user, min_duration, target))
user.visible_message("<span class='notice'>[user] fails to remove anything from [target]'s [affected.name] with \the [tool]!</span>", \ user.visible_message("<span class='notice'>[user] fails to remove anything from [target]'s [affected.name] with \the [tool]!</span>", \
"<span class='notice'>You fail to remove the [obj] from [target]'s [affected.name]s with \the [tool]!</span>" ) "<span class='notice'>You fail to remove the [obj] from [target]'s [affected.name]s with \the [tool]!</span>" )
user.balloon_alert_visible("Fails to remove anything from [target]'s [affected.name]", "Failed to remove \the [obj] from \the [affected.name]") // CHOMPEdit
return return
user.visible_message("<span class='notice'>[user] takes something out of the incision on [target]'s [affected.name] with \the [tool]!</span>", \ user.visible_message("<span class='notice'>[user] takes something out of the incision on [target]'s [affected.name] with \the [tool]!</span>", \
"<span class='notice'>You take [obj] out of the incision on [target]'s [affected.name]s with \the [tool]!</span>" ) "<span class='notice'>You take [obj] out of the incision on [target]'s [affected.name]s with \the [tool]!</span>" )
user.balloon_alert_visible("Takes something out of the incision on [target]'s [affected.name]", "[obj] taken out of the incision on [affected.name]") // CHOMPEdit
affected.implants -= obj affected.implants -= obj
if(!target.has_embedded_objects()) if(!target.has_embedded_objects())
target.clear_alert("embeddedobject") target.clear_alert("embeddedobject")
@@ -259,6 +272,7 @@
else else
user.visible_message("<span class='notice'>[user] could not find anything inside [target]'s [affected.name], and pulls \the [tool] out.</span>", \ user.visible_message("<span class='notice'>[user] could not find anything inside [target]'s [affected.name], and pulls \the [tool] out.</span>", \
"<span class='notice'>You could not find anything inside [target]'s [affected.name].</span>" ) "<span class='notice'>You could not find anything inside [target]'s [affected.name].</span>" )
user.balloon_alert_visible("Could not find anything inside", "Nothing found inside") // CHOMPEdit
/datum/surgery_step/cavity/implant_removal/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/cavity/implant_removal/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
..() ..()

View File

@@ -37,15 +37,19 @@
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
if (affected) if (affected)
to_chat(user, "<span class='warning'>Something is in the way! You can't attach [E] here!</span>") to_chat(user, "<span class='warning'>Something is in the way! You can't attach [E] here!</span>")
user.balloon_alert("Something is in the way!") // CHOMPEdit
return 0 return 0
if(!P) if(!P)
to_chat(user, "<span class='warning'>There's nothing to attach [E] to!</span>") to_chat(user, "<span class='warning'>There's nothing to attach [E] to!</span>")
user.balloon_alert("There's nothing to attach [E] to!") // CHOMPEdit
return 0 return 0
else if((P.robotic >= ORGAN_ROBOT) && (E.robotic < ORGAN_ROBOT)) else if((P.robotic >= ORGAN_ROBOT) && (E.robotic < ORGAN_ROBOT))
to_chat(user, "<span class='warning'>Attaching [E] to [P] wouldn't work well.</span>") to_chat(user, "<span class='warning'>Attaching [E] to [P] wouldn't work well.</span>")
user.balloon_alert("Attaching [E] to [P] wouldn't work well") // CHOMPEdit
return 0 return 0
else if(istype(E, /obj/item/organ/external/head) && E.robotic >= ORGAN_ROBOT && P.robotic < ORGAN_ROBOT) else if(istype(E, /obj/item/organ/external/head) && E.robotic >= ORGAN_ROBOT && P.robotic < ORGAN_ROBOT)
to_chat(user, "<span class='warning'>Attaching [E] to [P] might break [E].</span>") to_chat(user, "<span class='warning'>Attaching [E] to [P] might break [E].</span>")
user.balloon_alert("Attaching [E] to [P] might break [E]") // CHOMPEdit
return 0 return 0
else else
return 1 return 1
@@ -54,11 +58,13 @@
var/obj/item/organ/external/E = tool var/obj/item/organ/external/E = tool
user.visible_message("<span class='filter_notice'>[user] starts attaching [E.name] to [target]'s [E.amputation_point].</span>", \ user.visible_message("<span class='filter_notice'>[user] starts attaching [E.name] to [target]'s [E.amputation_point].</span>", \
"<span class='filter_notice'>You start attaching [E.name] to [target]'s [E.amputation_point].</span>") "<span class='filter_notice'>You start attaching [E.name] to [target]'s [E.amputation_point].</span>")
user.balloon_alert_visible("Starts attaching [E.name] to [target]'s [E.amputation_point]", "Attaching [E.name] to [E.amputation_point]") // CHOMPEdit
/datum/surgery_step/limb/attach/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/limb/attach/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
var/obj/item/organ/external/E = tool var/obj/item/organ/external/E = tool
user.visible_message("<span class='notice'>[user] has attached [target]'s [E.name] to the [E.amputation_point].</span>", \ user.visible_message("<span class='notice'>[user] has attached [target]'s [E.name] to the [E.amputation_point].</span>", \
"<span class='notice'>You have attached [target]'s [E.name] to the [E.amputation_point].</span>") "<span class='notice'>You have attached [target]'s [E.name] to the [E.amputation_point].</span>")
user.balloon_alert_visible("Attaches [target]'s [E.name] to \the [E.amputation_point]", "Attached \the [E.name] to the [E.amputation_point]") // CHOMPEdit
user.drop_from_inventory(E) user.drop_from_inventory(E)
E.replaced(target) E.replaced(target)
@@ -76,6 +82,7 @@
var/obj/item/organ/external/E = tool var/obj/item/organ/external/E = tool
user.visible_message("<span class='warning'> [user]'s hand slips, damaging [target]'s [E.amputation_point]!</span>", \ user.visible_message("<span class='warning'> [user]'s hand slips, damaging [target]'s [E.amputation_point]!</span>", \
"<span class='warning'> Your hand slips, damaging [target]'s [E.amputation_point]!</span>") "<span class='warning'> Your hand slips, damaging [target]'s [E.amputation_point]!</span>")
user.balloon_alert_visible("Slips, damaging [target]'s [E.amputation_point]", "Your hand slips, damaging [E.amputation_point]") // CHOMPEdit
target.apply_damage(10, BRUTE, null, sharp = TRUE) target.apply_damage(10, BRUTE, null, sharp = TRUE)
/////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////
@@ -102,11 +109,13 @@
var/obj/item/organ/external/E = target.get_organ(target_zone) var/obj/item/organ/external/E = target.get_organ(target_zone)
user.visible_message("<span class='filter_notice'>[user] starts connecting tendons and muscles in [target]'s [E.amputation_point] with [tool].</span>", \ user.visible_message("<span class='filter_notice'>[user] starts connecting tendons and muscles in [target]'s [E.amputation_point] with [tool].</span>", \
"<span class='filter_notice'>You start connecting tendons and muscle in [target]'s [E.amputation_point].</span>") "<span class='filter_notice'>You start connecting tendons and muscle in [target]'s [E.amputation_point].</span>")
user.balloon_alert_visible("Starts connecting tendons and muscles in [target]'s [E.amputation_point]", "Connecting tendons and muscle in \the [E.amputation_point]") // CHOMPEdit
/datum/surgery_step/limb/connect/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/limb/connect/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
var/obj/item/organ/external/E = target.get_organ(target_zone) var/obj/item/organ/external/E = target.get_organ(target_zone)
user.visible_message("<span class='notice'>[user] has connected tendons and muscles in [target]'s [E.amputation_point] with [tool].</span>", \ user.visible_message("<span class='notice'>[user] has connected tendons and muscles in [target]'s [E.amputation_point] with [tool].</span>", \
"<span class='notice'>You have connected tendons and muscles in [target]'s [E.amputation_point] with [tool].</span>") "<span class='notice'>You have connected tendons and muscles in [target]'s [E.amputation_point] with [tool].</span>")
user.balloon_alert_visible("Connected tendons and muscles in [target]'s [E.amputation_point]", "Connected tendons and muscles in \the [E.amputation_point]") // CHOMPEdit
E.status &= ~ORGAN_CUT_AWAY E.status &= ~ORGAN_CUT_AWAY
target.update_icons_body() target.update_icons_body()
target.updatehealth() target.updatehealth()
@@ -116,6 +125,7 @@
var/obj/item/organ/external/E = tool var/obj/item/organ/external/E = tool
user.visible_message("<span class='warning'> [user]'s hand slips, damaging [target]'s [E.amputation_point]!</span>", \ user.visible_message("<span class='warning'> [user]'s hand slips, damaging [target]'s [E.amputation_point]!</span>", \
"<span class='warning'> Your hand slips, damaging [target]'s [E.amputation_point]!</span>") "<span class='warning'> Your hand slips, damaging [target]'s [E.amputation_point]!</span>")
user.balloon_alert_visible("Slips, damaging [target]'s [E.amputation_point]", "Your hand slips, damaging \the [E.amputation_point]") // CHOMPEdit
target.apply_damage(10, BRUTE, null, sharp = TRUE) target.apply_damage(10, BRUTE, null, sharp = TRUE)
/////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////
@@ -140,11 +150,13 @@
/datum/surgery_step/limb/mechanize/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/limb/mechanize/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
user.visible_message("<span class='filter_notice'>[user] starts attaching \the [tool] to [target].</span>", \ user.visible_message("<span class='filter_notice'>[user] starts attaching \the [tool] to [target].</span>", \
"<span class='filter_notice'>You start attaching \the [tool] to [target].</span>") "<span class='filter_notice'>You start attaching \the [tool] to [target].</span>")
user.balloon_alert_visible("Starts attaching \the [tool] to [target]", "Attachng \the [tool]") // CHOMPEdit
/datum/surgery_step/limb/mechanize/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/limb/mechanize/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
var/obj/item/robot_parts/L = tool var/obj/item/robot_parts/L = tool
user.visible_message("<span class='notice'>[user] has attached \the [tool] to [target].</span>", \ user.visible_message("<span class='notice'>[user] has attached \the [tool] to [target].</span>", \
"<span class='notice'>You have attached \the [tool] to [target].</span>") "<span class='notice'>You have attached \the [tool] to [target].</span>")
user.balloon_alert_visible("Attaches \the [tool] to [target]", "Attached \the [tool]") // CHOMPEdit
if(L.part) if(L.part)
for(var/part_name in L.part) for(var/part_name in L.part)
@@ -168,4 +180,5 @@
/datum/surgery_step/limb/mechanize/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/limb/mechanize/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
user.visible_message("<span class='warning'> [user]'s hand slips, damaging [target]'s flesh!</span>", \ user.visible_message("<span class='warning'> [user]'s hand slips, damaging [target]'s flesh!</span>", \
"<span class='warning'> Your hand slips, damaging [target]'s flesh!</span>") "<span class='warning'> Your hand slips, damaging [target]'s flesh!</span>")
user.balloon_alert_visible("Slips, damaging [target]'s flesh", "Your hand slips, damaging the flesh") // CHOMPEdit
target.apply_damage(10, BRUTE, null, sharp = TRUE) target.apply_damage(10, BRUTE, null, sharp = TRUE)

View File

@@ -40,17 +40,20 @@
/datum/surgery_step/brainstem/mend_vessels/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/brainstem/mend_vessels/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
user.visible_message("<span class='filter_notice'>[user] starts to mend the blood vessels on [target]'s brainstem with \the [tool].</span>", \ user.visible_message("<span class='filter_notice'>[user] starts to mend the blood vessels on [target]'s brainstem with \the [tool].</span>", \
"<span class='filter_notice'>You start to mend the blood vessels on [target]'s brainstem with \the [tool].</span>") "<span class='filter_notice'>You start to mend the blood vessels on [target]'s brainstem with \the [tool].</span>")
user.balloon_alert_visible("Starts mending blood vessels on [target]'s brainstem", "Mending blood vessels on the brainstem.") // CHOMPEdit
..() ..()
/datum/surgery_step/brainstem/mend_vessels/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/brainstem/mend_vessels/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
user.visible_message("<span class='notice'>[user] has mended the blood vessels on [target]'s brainstem with \the [tool].</span>" , \ user.visible_message("<span class='notice'>[user] has mended the blood vessels on [target]'s brainstem with \the [tool].</span>" , \
"<span class='notice'> You have mended the blood vessels on [target]'s brainstem with \the [tool].</span>",) "<span class='notice'> You have mended the blood vessels on [target]'s brainstem with \the [tool].</span>",)
user.balloon_alert_visible("Mended the blood vessels on [target]'s brainstem", "Mended the blood vessels on the brainstem.") // CHOMPEdit
target.op_stage.brainstem = 1 target.op_stage.brainstem = 1
/datum/surgery_step/brainstem/mend_vessels/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/brainstem/mend_vessels/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='danger'>[user]'s hand slips, tearing at [target]'s brainstem with \the [tool]!</span>" , \ user.visible_message("<span class='danger'>[user]'s hand slips, tearing at [target]'s brainstem with \the [tool]!</span>" , \
"<span class='danger'>Your hand slips, tearing at [target]'s brainstem with \the [tool]!</span>" ) "<span class='danger'>Your hand slips, tearing at [target]'s brainstem with \the [tool]!</span>" )
user.balloon_alert_visible("Slips, tearing at [target]'s brainstem", "Your hand slips, tearing at the brainstem") // CHOMPEdit
affected.createwound(PIERCE, 10) affected.createwound(PIERCE, 10)
target.AdjustParalysis(10) target.AdjustParalysis(10)
@@ -78,12 +81,14 @@
/datum/surgery_step/brainstem/drill_vertebrae/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/brainstem/drill_vertebrae/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
user.visible_message("<span class='filter_notice'>[user] starts to drill around [target]'s brainstem with \the [tool].</span>", \ user.visible_message("<span class='filter_notice'>[user] starts to drill around [target]'s brainstem with \the [tool].</span>", \
"<span class='filter_notice'>You start to drill around [target]'s brainstem with \the [tool].</span>") "<span class='filter_notice'>You start to drill around [target]'s brainstem with \the [tool].</span>")
user.balloon_alert_visible("Starts drilling around [target]'s brainstem", "Drilling around the brainstem") // CHOMPEdit
..() ..()
/datum/surgery_step/brainstem/drill_vertebrae/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/brainstem/drill_vertebrae/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='notice'>[user] has drilled around [target]'s brainstem with \the [tool].</span>" , \ user.visible_message("<span class='notice'>[user] has drilled around [target]'s brainstem with \the [tool].</span>" , \
"<span class='notice'> You have drilled around [target]'s brainstem with \the [tool].</span>",) "<span class='notice'> You have drilled around [target]'s brainstem with \the [tool].</span>",)
user.balloon_alert_visible("Drilled around [target]'s brainstem", "Drilled around the brainstem") // CHOMPEdit
target.AdjustParalysis(10) //We're getting Invasive here. This only ticks down when the person is alive, so it's a good side-effect for this step. Rattling the braincase with a drill is not optimal. target.AdjustParalysis(10) //We're getting Invasive here. This only ticks down when the person is alive, so it's a good side-effect for this step. Rattling the braincase with a drill is not optimal.
target.op_stage.brainstem = 2 target.op_stage.brainstem = 2
affected.fracture() //Does not apply damage, simply breaks it if it wasn't already. Doesn't stop a defib on its own. affected.fracture() //Does not apply damage, simply breaks it if it wasn't already. Doesn't stop a defib on its own.
@@ -92,6 +97,7 @@
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='danger'>[user]'s hand slips, shredding [target]'s brainstem with \the [tool]!</span>" , \ user.visible_message("<span class='danger'>[user]'s hand slips, shredding [target]'s brainstem with \the [tool]!</span>" , \
"<span class='danger'>Your hand slips, shredding [target]'s brainstem with \the [tool]!</span>" ) "<span class='danger'>Your hand slips, shredding [target]'s brainstem with \the [tool]!</span>" )
user.balloon_alert_visible("Slips, shredding [target]'s brainstem", "Your hand slips, shredding the brainstem.") // CHOMPEdit
affected.createwound(PIERCE, 10) affected.createwound(PIERCE, 10)
target.AdjustParalysis(15) target.AdjustParalysis(15)
spawn() spawn()
@@ -120,11 +126,13 @@
/datum/surgery_step/brainstem/clean_chips/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/brainstem/clean_chips/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
user.visible_message("<span class='filter_notice'>[user] starts to pick around [target]'s brainstem for bone chips with \the [tool].</span>", \ user.visible_message("<span class='filter_notice'>[user] starts to pick around [target]'s brainstem for bone chips with \the [tool].</span>", \
"<span class='filter_notice'>You start to pick around [target]'s brainstem for bone chips with \the [tool].</span>") "<span class='filter_notice'>You start to pick around [target]'s brainstem for bone chips with \the [tool].</span>")
user.balloon_alert_visible("Starts to pick around [target]'s brainstem for bone chips.", "Picking around the brainstem for bone chips.") // CHOMPEdit
..() ..()
/datum/surgery_step/brainstem/clean_chips/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/brainstem/clean_chips/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
user.visible_message("<span class='notice'>[user] has cleaned around [target]'s brainstem with \the [tool].</span>" , \ user.visible_message("<span class='notice'>[user] has cleaned around [target]'s brainstem with \the [tool].</span>" , \
"<span class='notice'> You have cleaned around [target]'s brainstem with \the [tool].</span>",) "<span class='notice'> You have cleaned around [target]'s brainstem with \the [tool].</span>",)
user.balloon_alert_visible("Cleaned around [target]'s brainstem") // CHOMPEdit
target.AdjustParalysis(10) //Still invasive. target.AdjustParalysis(10) //Still invasive.
target.op_stage.brainstem = 3 target.op_stage.brainstem = 3
@@ -132,6 +140,7 @@
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='danger'>[user]'s hand slips, gouging [target]'s brainstem with \the [tool]!</span>" , \ user.visible_message("<span class='danger'>[user]'s hand slips, gouging [target]'s brainstem with \the [tool]!</span>" , \
"<span class='danger'>Your hand slips, gouging [target]'s brainstem with \the [tool]!</span>" ) "<span class='danger'>Your hand slips, gouging [target]'s brainstem with \the [tool]!</span>" )
user.balloon_alert_visible("Slips, gouging [target]'s brainstem", "Your hand slips, gouging the brainstem") // CHOMPEdit
affected.createwound(CUT, 5) affected.createwound(CUT, 5)
target.AdjustParalysis(10) target.AdjustParalysis(10)
spawn() spawn()
@@ -160,11 +169,13 @@
/datum/surgery_step/brainstem/mend_cord/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/brainstem/mend_cord/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
user.visible_message("<span class='filter_notice'>[user] starts to fuse [target]'s spinal cord with \the [tool].</span>", \ user.visible_message("<span class='filter_notice'>[user] starts to fuse [target]'s spinal cord with \the [tool].</span>", \
"<span class='filter_notice'>You start to fuse [target]'s spinal cord with \the [tool].</span>") "<span class='filter_notice'>You start to fuse [target]'s spinal cord with \the [tool].</span>")
user.balloon_alert_visible("Starts fusing [target]'s spinal cord", "Fusing the spinal cord") // CHOMPEdit
..() ..()
/datum/surgery_step/brainstem/mend_cord/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/brainstem/mend_cord/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
user.visible_message("<span class='notice'>[user] has fused [target]'s spinal cord with \the [tool].</span>" , \ user.visible_message("<span class='notice'>[user] has fused [target]'s spinal cord with \the [tool].</span>" , \
"<span class='notice'> You have fused [target]'s spinal cord with \the [tool].</span>",) "<span class='notice'> You have fused [target]'s spinal cord with \the [tool].</span>",)
user.balloon_alert_visible("Fused [target]'s spinal cord", "Fused the spinal cord") // CHOMPEdit
target.op_stage.brainstem = 4 target.op_stage.brainstem = 4
target.AdjustParalysis(5) target.AdjustParalysis(5)
target.add_modifier(/datum/modifier/franken_sickness, 20 MINUTES) target.add_modifier(/datum/modifier/franken_sickness, 20 MINUTES)
@@ -173,6 +184,7 @@
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='danger'>[user]'s hand slips, tearing at [target]'s spinal cord with \the [tool]!</span>" , \ user.visible_message("<span class='danger'>[user]'s hand slips, tearing at [target]'s spinal cord with \the [tool]!</span>" , \
"<span class='danger'>Your hand slips, tearing at [target]'s spinal cord with \the [tool]!</span>" ) "<span class='danger'>Your hand slips, tearing at [target]'s spinal cord with \the [tool]!</span>" )
user.balloon_alert_visible("Slips, tearing [target]'s spinal cord", "Your hand slips, tearing at the spinal cord") // CHOMPEdit
affected.createwound(PIERCE, 5) affected.createwound(PIERCE, 5)
target.AdjustParalysis(20) target.AdjustParalysis(20)
spawn() spawn()
@@ -200,11 +212,13 @@
/datum/surgery_step/brainstem/mend_vertebrae/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/brainstem/mend_vertebrae/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
user.visible_message("<span class='filter_notice'>[user] starts to mend [target]'s opened vertebrae with \the [tool].</span>", \ user.visible_message("<span class='filter_notice'>[user] starts to mend [target]'s opened vertebrae with \the [tool].</span>", \
"<span class='filter_notice'>You start to mend [target]'s opened vertebrae with \the [tool].</span>") "<span class='filter_notice'>You start to mend [target]'s opened vertebrae with \the [tool].</span>")
user.balloon_alert_visible("Starts mending [target]'s opened vertebrae", "Mending opened vertebrae") // CHOMPEdit
..() ..()
/datum/surgery_step/brainstem/mend_vertebrae/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/brainstem/mend_vertebrae/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
user.visible_message("<span class='notice'>[user] has mended [target]'s vertebrae with \the [tool].</span>" , \ user.visible_message("<span class='notice'>[user] has mended [target]'s vertebrae with \the [tool].</span>" , \
"<span class='notice'> You have mended [target]'s vertebrae with \the [tool].</span>",) "<span class='notice'> You have mended [target]'s vertebrae with \the [tool].</span>",)
user.balloon_alert_visible("Mended [target]'s vertebrae", "Mended the vertebrae") // CHOMPEdit
target.can_defib = 1 target.can_defib = 1
target.op_stage.brainstem = 5 target.op_stage.brainstem = 5
@@ -212,6 +226,7 @@
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='danger'>[user]'s hand slips, tearing at [target]'s spinal cord with \the [tool]!</span>" , \ user.visible_message("<span class='danger'>[user]'s hand slips, tearing at [target]'s spinal cord with \the [tool]!</span>" , \
"<span class='danger'>Your hand slips, tearing at [target]'s spinal cord with \the [tool]!</span>" ) "<span class='danger'>Your hand slips, tearing at [target]'s spinal cord with \the [tool]!</span>" )
user.balloon_alert_visible("Slips, tearing at [target]'s spinal cord", "Your hand slips, tearing at the spinal cord") // CHOMPEdit
affected.createwound(PIERCE, 5) affected.createwound(PIERCE, 5)
target.AdjustParalysis(15) target.AdjustParalysis(15)
spawn() spawn()
@@ -240,11 +255,13 @@
/datum/surgery_step/brainstem/realign_tissue/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/brainstem/realign_tissue/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
user.visible_message("<span class='filter_notice'>[user] starts to realign the tissues in [target]'s skull with \the [tool].</span>", \ user.visible_message("<span class='filter_notice'>[user] starts to realign the tissues in [target]'s skull with \the [tool].</span>", \
"<span class='filter_notice'>You start to realign the tissues in [target]'s skull with \the [tool].</span>") "<span class='filter_notice'>You start to realign the tissues in [target]'s skull with \the [tool].</span>")
user.balloon_alert_visible("Starts to realign the tissues in [target]'s skull", "Realigning the tissues in the skull") // CHOMPEdit
..() ..()
/datum/surgery_step/brainstem/realign_tissue/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/brainstem/realign_tissue/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
user.visible_message("<span class='notice'>[user] has realigned the tissues in [target]'s skull back into place with \the [tool].</span>" , \ user.visible_message("<span class='notice'>[user] has realigned the tissues in [target]'s skull back into place with \the [tool].</span>" , \
"<span class='notice'> You have realigned the tissues in [target]'s skull back into place with \the [tool].</span>",) "<span class='notice'> You have realigned the tissues in [target]'s skull back into place with \the [tool].</span>",)
user.balloon_alert_visible("Realigned the tissues in [target]'s skull back in place", "Realigned the tissues in the skull back into place") // CHOMPEdit
target.AdjustParalysis(5) //I n v a s i v e target.AdjustParalysis(5) //I n v a s i v e
target.op_stage.brainstem = 0 //The cycle begins anew. target.op_stage.brainstem = 0 //The cycle begins anew.
@@ -252,6 +269,7 @@
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='danger'>[user]'s hand slips, gouging [target]'s brainstem with \the [tool]!</span>" , \ user.visible_message("<span class='danger'>[user]'s hand slips, gouging [target]'s brainstem with \the [tool]!</span>" , \
"<span class='danger'>Your hand slips, gouging [target]'s brainstem with \the [tool]!</span>") "<span class='danger'>Your hand slips, gouging [target]'s brainstem with \the [tool]!</span>")
user.balloon_alert_visible("Slips, gounging at [target]'s brainstem", "Your hand slips, gouging at the brainstem") // CHOMPEdit
affected.createwound(CUT, 5) affected.createwound(CUT, 5)
target.AdjustParalysis(30) target.AdjustParalysis(30)
spawn() spawn()

View File

@@ -36,6 +36,7 @@
/datum/surgery_step/generic/ripper/tear_vessel/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/generic/ripper/tear_vessel/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
user.visible_message("[user] starts ripping into [target] with \the [tool].", \ user.visible_message("[user] starts ripping into [target] with \the [tool].", \
"You start ripping into [target] with \the [tool].") "You start ripping into [target] with \the [tool].")
user.balloon_alert_visible("Starts ripping into [target]", "Ripping into [target]") // CHOMPEdit
target.custom_pain("[user] is ripping into your [target.op_stage.current_organ]!", 100) target.custom_pain("[user] is ripping into your [target.op_stage.current_organ]!", 100)
..() ..()
@@ -43,6 +44,7 @@
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='notice'>[user] has ripped [target]'s [affected] \the [tool], blood and viscera spraying everywhere!</span>", \ user.visible_message("<span class='notice'>[user] has ripped [target]'s [affected] \the [tool], blood and viscera spraying everywhere!</span>", \
"<span class='notice'>You have ripped [target]'s [target.op_stage.current_organ] out with \the [tool], spraying blood all through the room!</span>") "<span class='notice'>You have ripped [target]'s [target.op_stage.current_organ] out with \the [tool], spraying blood all through the room!</span>")
user.balloon_alert_visible("Rips into [target]'s [affected], blood and viscera everywhere!", "Ripped into [target]'s [affected], blood and viscera everywhere!") // CHOMPEdit
var/datum/wound/internal_bleeding/I = new (30) //splurt. New severed artery. var/datum/wound/internal_bleeding/I = new (30) //splurt. New severed artery.
affected.wounds += I affected.wounds += I
affected.owner.custom_pain("You feel something rip in your [affected.name]!", 1) affected.owner.custom_pain("You feel something rip in your [affected.name]!", 1)
@@ -54,6 +56,7 @@
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='warning'>[user]'s hand slips, damaging [target]'s [affected.name] with \the [tool]!</span>", \ user.visible_message("<span class='warning'>[user]'s hand slips, damaging [target]'s [affected.name] with \the [tool]!</span>", \
"<span class='warning'>Your hand slips, damaging [target]'s [affected.name] with \the [tool]!</span>") "<span class='warning'>Your hand slips, damaging [target]'s [affected.name] with \the [tool]!</span>")
user.balloon_alert_visible("Slips, damaging [target]'s [affected.name]", "Your hand slips, damaging \the [affected.name]") // CHOMPEdit
affected.createwound(BRUISE, 20) //Only bruised...Sad. affected.createwound(BRUISE, 20) //Only bruised...Sad.
@@ -68,6 +71,7 @@
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("[user] starts violently shifting \the [tool] in [target]'s [affected.name]!", \ user.visible_message("[user] starts violently shifting \the [tool] in [target]'s [affected.name]!", \
"You start violently moving the [tool] in [target]'s [affected.name]!") "You start violently moving the [tool] in [target]'s [affected.name]!")
user.balloon_alert_visible("Starts violently shifting \the [tool] in [target]'s [affected.name]!", "Violently moving \the [tool] in \the [affected.name]") // CHOMPEdit
target.custom_pain("[user] is ripping into your [target.op_stage.current_organ]!", 100) target.custom_pain("[user] is ripping into your [target.op_stage.current_organ]!", 100)
..() ..()

View File

@@ -60,6 +60,7 @@
if(!(I.robotic >= ORGAN_ROBOT)) if(!(I.robotic >= ORGAN_ROBOT))
user.visible_message("<span class='filter_notice'>[user] starts treating damage to [target]'s [I.name] with [tool_name].</span>", \ user.visible_message("<span class='filter_notice'>[user] starts treating damage to [target]'s [I.name] with [tool_name].</span>", \
"<span class='filter_notice'>You start treating damage to [target]'s [I.name] with [tool_name].</span>" ) "<span class='filter_notice'>You start treating damage to [target]'s [I.name] with [tool_name].</span>" )
user.balloon_alert_visible("Starts treating damage to [target]'s [I.name]", "Treating damage on \the [I.name]") // CHOMPEdit
target.custom_pain("The pain in your [affected.name] is living hell!", 100) target.custom_pain("The pain in your [affected.name] is living hell!", 100)
..() ..()
@@ -80,8 +81,10 @@
if(!(I.robotic >= ORGAN_ROBOT)) if(!(I.robotic >= ORGAN_ROBOT))
user.visible_message("<span class='notice'>[user] treats damage to [target]'s [I.name] with [tool_name].</span>", \ user.visible_message("<span class='notice'>[user] treats damage to [target]'s [I.name] with [tool_name].</span>", \
"<span class='notice'>You treat damage to [target]'s [I.name] with [tool_name].</span>" ) "<span class='notice'>You treat damage to [target]'s [I.name] with [tool_name].</span>" )
user.balloon_alert_visible("Starts treating damage to [target]'s [I.name]", "Treating damage to \the [I.name]") // CHOMPEdit
if(I.organ_tag == O_BRAIN && I.status == ORGAN_DEAD && target.can_defib == 0) //Let people know they still got more work to get the brain back into working order. if(I.organ_tag == O_BRAIN && I.status == ORGAN_DEAD && target.can_defib == 0) //Let people know they still got more work to get the brain back into working order.
to_chat(user, "<span class='warning'>You fix their [I] but the neurological structure is still heavily damaged and in need of repair.</span>") to_chat(user, "<span class='warning'>You fix their [I] but the neurological structure is still heavily damaged and in need of repair.</span>")
user.balloon_alert("Fixed \the [I], neurological structure still in neeed of repair.") // CHOMPEdit
I.damage = 0 I.damage = 0
I.status = 0 I.status = 0
if(I.organ_tag == O_EYES) if(I.organ_tag == O_EYES)
@@ -96,6 +99,7 @@
user.visible_message("<span class='warning'>[user]'s hand slips, getting mess and tearing the inside of [target]'s [affected.name] with \the [tool]!</span>", \ user.visible_message("<span class='warning'>[user]'s hand slips, getting mess and tearing the inside of [target]'s [affected.name] with \the [tool]!</span>", \
"<span class='warning'>Your hand slips, getting mess and tearing the inside of [target]'s [affected.name] with \the [tool]!</span>") "<span class='warning'>Your hand slips, getting mess and tearing the inside of [target]'s [affected.name] with \the [tool]!</span>")
user.balloon_alert_visible("Slips, gettng mess and tearing the inside of [target]'s [affected.name]", "Your hand slips, getting mess and tearng the [affected.name]'s insides") // CHOMPEdit
var/dam_amt = 2 var/dam_amt = 2
if (istype(tool, /obj/item/stack/medical/advanced/bruise_pack)) if (istype(tool, /obj/item/stack/medical/advanced/bruise_pack))
@@ -150,6 +154,7 @@
if(I.robotic >= ORGAN_ROBOT) if(I.robotic >= ORGAN_ROBOT)
user.visible_message("[user] starts mending the damage to [target]'s [I.name]'s mechanisms.", \ user.visible_message("[user] starts mending the damage to [target]'s [I.name]'s mechanisms.", \
"You start mending the damage to [target]'s [I.name]'s mechanisms." ) "You start mending the damage to [target]'s [I.name]'s mechanisms." )
user.balloon_alert_visible("Mends damage to [target]'s [I.name]'s mechanisms.", "Mending damage to [I.name]'s mechanisms") // CHOMPEdit
target.custom_pain("The pain in your [affected.name] is living hell!",1) target.custom_pain("The pain in your [affected.name] is living hell!",1)
..() ..()
@@ -164,6 +169,7 @@
if(I.robotic >= ORGAN_ROBOT) if(I.robotic >= ORGAN_ROBOT)
user.visible_message("<span class='notice'>[user] repairs [target]'s [I.name] with [tool].</span>", \ user.visible_message("<span class='notice'>[user] repairs [target]'s [I.name] with [tool].</span>", \
"<span class='notice'>You repair [target]'s [I.name] with [tool].</span>" ) "<span class='notice'>You repair [target]'s [I.name] with [tool].</span>" )
user.balloon_alert_visible("Repairs [target]'s [I.name]", "Repaired \the [I.name]") // CHOMPEdit
I.damage = 0 I.damage = 0
if(I.organ_tag == O_EYES) if(I.organ_tag == O_EYES)
target.sdisabilities &= ~BLIND target.sdisabilities &= ~BLIND
@@ -175,6 +181,7 @@
user.visible_message("<span class='warning'>[user]'s hand slips, gumming up the mechanisms inside of [target]'s [affected.name] with \the [tool]!</span>", \ user.visible_message("<span class='warning'>[user]'s hand slips, gumming up the mechanisms inside of [target]'s [affected.name] with \the [tool]!</span>", \
"<span class='warning'>Your hand slips, gumming up the mechanisms inside of [target]'s [affected.name] with \the [tool]!</span>") "<span class='warning'>Your hand slips, gumming up the mechanisms inside of [target]'s [affected.name] with \the [tool]!</span>")
user.balloon_alert_visible("Slips, gumming up the mechanisms inside of [target]'s [affected.name]", "Your hand slips, gumming up the mechanisms inside \the [affected.name]") // CHOMPEdit
target.adjustBruteLoss(5) target.adjustBruteLoss(5)
@@ -235,12 +242,14 @@
user.visible_message("<span class='filter_notice'>[user] starts to separate [target]'s [target.op_stage.current_organ] with \the [tool].</span>", \ user.visible_message("<span class='filter_notice'>[user] starts to separate [target]'s [target.op_stage.current_organ] with \the [tool].</span>", \
"<span class='filter_notice'>You start to separate [target]'s [target.op_stage.current_organ] with \the [tool].</span>" ) "<span class='filter_notice'>You start to separate [target]'s [target.op_stage.current_organ] with \the [tool].</span>" )
user.balloon_alert_visible("Starts to separate [target]'s [target.op_stage.current_organ]", "Separating \the [target.op_stage.current_organ]") // CHOMPEdit
target.custom_pain("The pain in your [affected.name] is living hell!", 100) target.custom_pain("The pain in your [affected.name] is living hell!", 100)
..() ..()
/datum/surgery_step/internal/detatch_organ/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/internal/detatch_organ/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
user.visible_message("<span class='notice'>[user] has separated [target]'s [target.op_stage.current_organ] with \the [tool].</span>" , \ user.visible_message("<span class='notice'>[user] has separated [target]'s [target.op_stage.current_organ] with \the [tool].</span>" , \
"<span class='notice'>You have separated [target]'s [target.op_stage.current_organ] with \the [tool].</span>") "<span class='notice'>You have separated [target]'s [target.op_stage.current_organ] with \the [tool].</span>")
user.balloon_alert_visible("Separates [target]'s [target.op_stage.current_organ]", "Separated \the [target.op_stage.current_organ]") // CHOMPEdit
var/obj/item/organ/I = target.internal_organs_by_name[target.op_stage.current_organ] var/obj/item/organ/I = target.internal_organs_by_name[target.op_stage.current_organ]
if(I && istype(I)) if(I && istype(I))
@@ -250,6 +259,7 @@
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='warning'>[user]'s hand slips, slicing an artery inside [target]'s [affected.name] with \the [tool]!</span>", \ user.visible_message("<span class='warning'>[user]'s hand slips, slicing an artery inside [target]'s [affected.name] with \the [tool]!</span>", \
"<span class='warning'>Your hand slips, slicing an artery inside [target]'s [affected.name] with \the [tool]!</span>") "<span class='warning'>Your hand slips, slicing an artery inside [target]'s [affected.name] with \the [tool]!</span>")
user.balloon_alert_visible("Slips, slicing an artery inside [target]'s [affected.name]", "Your hand slips, slicing anrtery inside [affected.name]") // CHOMPEdit
affected.createwound(CUT, rand(30,50), 1) affected.createwound(CUT, rand(30,50), 1)
/////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////
@@ -300,11 +310,13 @@
to_chat(user, "<span class='notice'>You decide against preparing any organs for removal.</span>") to_chat(user, "<span class='notice'>You decide against preparing any organs for removal.</span>")
user.visible_message("<span class='filter_notice'>[user] starts pulling \the [tool] from [target]'s [affected].</span>", \ user.visible_message("<span class='filter_notice'>[user] starts pulling \the [tool] from [target]'s [affected].</span>", \
"<span class='filter_notice'>You start pulling \the [tool] from [target]'s [affected].</span>") "<span class='filter_notice'>You start pulling \the [tool] from [target]'s [affected].</span>")
user.balloon_alert_visible("Starts pulling \the [tool] from [target]'s [affected]", "Pulling \the [tool] from \the [affected]") // CHOMPEdit
target.op_stage.current_organ = organ_to_remove target.op_stage.current_organ = organ_to_remove
user.visible_message("<span class='filter_notice'>[user] starts removing [target]'s [target.op_stage.current_organ] with \the [tool].</span>", \ user.visible_message("<span class='filter_notice'>[user] starts removing [target]'s [target.op_stage.current_organ] with \the [tool].</span>", \
"<span class='filter_notice'>You start removing [target]'s [target.op_stage.current_organ] with \the [tool].</span>") "<span class='filter_notice'>You start removing [target]'s [target.op_stage.current_organ] with \the [tool].</span>")
user.balloon_alert_visible("Starts removing [target]'s [target.op_stage.current_organ]", "Removing \the [target.op_stage.current_organ]") // CHOMPEdit
target.custom_pain("Someone's ripping out your [target.op_stage.current_organ]!", 100) target.custom_pain("Someone's ripping out your [target.op_stage.current_organ]!", 100)
..() ..()
@@ -313,11 +325,13 @@
if(!target.op_stage.current_organ) //They chose to remove their tool instead. if(!target.op_stage.current_organ) //They chose to remove their tool instead.
user.visible_message("<span class='notice'>[user] has removed \the [tool] from [target]'s [affected].</span>", \ user.visible_message("<span class='notice'>[user] has removed \the [tool] from [target]'s [affected].</span>", \
"<span class='notice'>You have removed \the [tool] from [target]'s [affected].</span>") "<span class='notice'>You have removed \the [tool] from [target]'s [affected].</span>")
user.balloon_alert_visible("Removes \the [tool] from [target]'s [affected]", "Removed \the [tool] from \the [affected]") // CHOMPEdit
// Extract the organ! // Extract the organ!
if(target.op_stage.current_organ) if(target.op_stage.current_organ)
user.visible_message("<span class='notice'>[user] has removed [target]'s [target.op_stage.current_organ] with \the [tool].</span>", \ user.visible_message("<span class='notice'>[user] has removed [target]'s [target.op_stage.current_organ] with \the [tool].</span>", \
"<span class='notice'>You have removed [target]'s [target.op_stage.current_organ] with \the [tool].</span>") "<span class='notice'>You have removed [target]'s [target.op_stage.current_organ] with \the [tool].</span>")
user.balloon_alert_visible("Removes [target]'s [target.op_stage.current_organ]", "Removed \the [target.op_stage.current_organ]") // CHOMPEdit
var/obj/item/organ/O = target.internal_organs_by_name[target.op_stage.current_organ] var/obj/item/organ/O = target.internal_organs_by_name[target.op_stage.current_organ]
if(O && istype(O)) if(O && istype(O))
O.removed(user) O.removed(user)
@@ -327,6 +341,7 @@
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='warning'>[user]'s hand slips, damaging [target]'s [affected.name] with \the [tool]!</span>", \ user.visible_message("<span class='warning'>[user]'s hand slips, damaging [target]'s [affected.name] with \the [tool]!</span>", \
"<span class='warning'>Your hand slips, damaging [target]'s [affected.name] with \the [tool]!</span>") "<span class='warning'>Your hand slips, damaging [target]'s [affected.name] with \the [tool]!</span>")
user.balloon_alert_visible("Slips, damaging [target]'s [affected.name]", "Your hand slips, damaging \the [affected.name]") // CHOMPEdit
affected.createwound(BRUISE, 20) affected.createwound(BRUISE, 20)
/////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////
@@ -357,6 +372,7 @@
if((affected.robotic >= ORGAN_ROBOT) && !(O.robotic >= ORGAN_ROBOT)) if((affected.robotic >= ORGAN_ROBOT) && !(O.robotic >= ORGAN_ROBOT))
to_chat(user, "<span class='danger'>You cannot install a naked organ into a robotic body.</span>") to_chat(user, "<span class='danger'>You cannot install a naked organ into a robotic body.</span>")
user.balloon_alert("You cannot install a naked organ into a robotic body.") // CHOMPEdit
return SURGERY_FAILURE return SURGERY_FAILURE
if(!target.species) if(!target.species)
@@ -376,6 +392,7 @@
organ_missing = 1 organ_missing = 1
else else
to_chat(user, "<span class='warning'>\The [target] already has [o_a][O.organ_tag].</span>") to_chat(user, "<span class='warning'>\The [target] already has [o_a][O.organ_tag].</span>")
user.balloon_alert("There is a [o_a][O.organ_tag] already!") // CHOMPEdit
return SURGERY_FAILURE return SURGERY_FAILURE
if(O && affected.organ_tag == O.parent_organ) if(O && affected.organ_tag == O.parent_organ)
@@ -383,6 +400,7 @@
else else
to_chat(user, "<span class='warning'>\The [O.organ_tag] [o_do] normally go in \the [affected.name].</span>") to_chat(user, "<span class='warning'>\The [O.organ_tag] [o_do] normally go in \the [affected.name].</span>")
user.balloon_alert("\The [O.organ_tag] [o_do] normally go in \the [affected.name]") // CHOMPEdit
return SURGERY_FAILURE return SURGERY_FAILURE
return ..() && organ_missing && organ_compatible return ..() && organ_missing && organ_compatible
@@ -391,6 +409,7 @@
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='filter_notice'>[user] starts transplanting \the [tool] into [target]'s [affected.name].</span>", \ user.visible_message("<span class='filter_notice'>[user] starts transplanting \the [tool] into [target]'s [affected.name].</span>", \
"<span class='filter_notice'>You start transplanting \the [tool] into [target]'s [affected.name].</span>") "<span class='filter_notice'>You start transplanting \the [tool] into [target]'s [affected.name].</span>")
user.balloon_alert_visible("Strats transplanting \the [tool] into [target]'s [affected.name]", "Transplanting \the [tool] into \the [affected.name]") // CHOMPEdit
target.custom_pain("Someone's rooting around in your [affected.name]!", 100) target.custom_pain("Someone's rooting around in your [affected.name]!", 100)
..() ..()
@@ -398,6 +417,7 @@
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='notice'>[user] has transplanted \the [tool] into [target]'s [affected.name].</span>", \ user.visible_message("<span class='notice'>[user] has transplanted \the [tool] into [target]'s [affected.name].</span>", \
"<span class='notice'>You have transplanted \the [tool] into [target]'s [affected.name].</span>") "<span class='notice'>You have transplanted \the [tool] into [target]'s [affected.name].</span>")
user.balloon_alert_visible("Transplants \the [tool] into [target]'s [affected.name]", "Transplanted \the [tool] into [affected.name]") // CHOMPEdit
var/obj/item/organ/O = tool var/obj/item/organ/O = tool
if(istype(O)) if(istype(O))
user.remove_from_mob(O) user.remove_from_mob(O)
@@ -406,6 +426,7 @@
/datum/surgery_step/internal/replace_organ/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/internal/replace_organ/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
user.visible_message("<span class='warning'>[user]'s hand slips, damaging \the [tool]!</span>", \ user.visible_message("<span class='warning'>[user]'s hand slips, damaging \the [tool]!</span>", \
"<span class='warning'>Your hand slips, damaging \the [tool]!</span>") "<span class='warning'>Your hand slips, damaging \the [tool]!</span>")
user.balloon_alert_visible("Slips, damaging \the [tool]", "Your hand slips, damaging \the [tool]") // CHOMPEdit
var/obj/item/organ/I = tool var/obj/item/organ/I = tool
if(istype(I)) if(istype(I))
I.take_damage(rand(3,5),0) I.take_damage(rand(3,5),0)
@@ -449,12 +470,14 @@
/datum/surgery_step/internal/attach_organ/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/internal/attach_organ/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
user.visible_message("<span class='filter_notice'>[user] begins reattaching [target]'s [target.op_stage.current_organ] with \the [tool].</span>", \ user.visible_message("<span class='filter_notice'>[user] begins reattaching [target]'s [target.op_stage.current_organ] with \the [tool].</span>", \
"<span class='filter_notice'>You start reattaching [target]'s [target.op_stage.current_organ] with \the [tool].</span>") "<span class='filter_notice'>You start reattaching [target]'s [target.op_stage.current_organ] with \the [tool].</span>")
user.balloon_alert_visible("Begins reattaching [target]'s [target.op_stage.current_organ]", "Reattaching [target.op_stage.current_organ]") // CHOMPEdit
target.custom_pain("Someone's digging needles into your [target.op_stage.current_organ]!", 100) target.custom_pain("Someone's digging needles into your [target.op_stage.current_organ]!", 100)
..() ..()
/datum/surgery_step/internal/attach_organ/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/internal/attach_organ/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
user.visible_message("<span class='notice'>[user] has reattached [target]'s [target.op_stage.current_organ] with \the [tool].</span>" , \ user.visible_message("<span class='notice'>[user] has reattached [target]'s [target.op_stage.current_organ] with \the [tool].</span>" , \
"<span class='notice'>You have reattached [target]'s [target.op_stage.current_organ] with \the [tool].</span>") "<span class='notice'>You have reattached [target]'s [target.op_stage.current_organ] with \the [tool].</span>")
user.balloon_alert_visible("Reattached [target]'s [target.op_stage.current_organ]", "Reattached [target.op_stage.current_organ]") // CHOMPEdit
var/obj/item/organ/I = target.internal_organs_by_name[target.op_stage.current_organ] var/obj/item/organ/I = target.internal_organs_by_name[target.op_stage.current_organ]
if(I && istype(I)) if(I && istype(I))
@@ -464,4 +487,5 @@
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='warning'>[user]'s hand slips, damaging the flesh in [target]'s [affected.name] with \the [tool]!</span>", \ user.visible_message("<span class='warning'>[user]'s hand slips, damaging the flesh in [target]'s [affected.name] with \the [tool]!</span>", \
"<span class='warning'>Your hand slips, damaging the flesh in [target]'s [affected.name] with \the [tool]!</span>") "<span class='warning'>Your hand slips, damaging the flesh in [target]'s [affected.name] with \the [tool]!</span>")
user.balloon_alert_visible("Slips, damaging the flesh in [target]'s [affected.name]", "Your hand slips, damaging the flesh in [affected.name]") // CHOMPEdit
affected.createwound(BRUISE, 20) affected.createwound(BRUISE, 20)

View File

@@ -39,6 +39,7 @@
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='filter_notice'>[user] starts patching the damaged vein in [target]'s [affected.name] with \the [tool].</span>" , \ user.visible_message("<span class='filter_notice'>[user] starts patching the damaged vein in [target]'s [affected.name] with \the [tool].</span>" , \
"<span class='filter_notice'>You start patching the damaged vein in [target]'s [affected.name] with \the [tool].</span>") "<span class='filter_notice'>You start patching the damaged vein in [target]'s [affected.name] with \the [tool].</span>")
user.balloon_alert_visible("Starts patching the damaged ven in [target]'s [affected.name]", "Patching the damaged vein in \the [affected.name]") // CHOMPEdit
target.custom_pain("The pain in [affected.name] is unbearable!", 100) target.custom_pain("The pain in [affected.name] is unbearable!", 100)
..() ..()
@@ -46,6 +47,7 @@
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='notice'>[user] has patched the damaged vein in [target]'s [affected.name] with \the [tool].</span>", \ user.visible_message("<span class='notice'>[user] has patched the damaged vein in [target]'s [affected.name] with \the [tool].</span>", \
"<span class='notice'>You have patched the damaged vein in [target]'s [affected.name] with \the [tool].</span>") "<span class='notice'>You have patched the damaged vein in [target]'s [affected.name] with \the [tool].</span>")
user.balloon_alert_visible("Patches the damaged vein in [target]'s [affected.name]", "Patched the damaged vein in \the [affected.name]") // CHOMPEdit
for(var/datum/wound/W in affected.wounds) if(W.internal) for(var/datum/wound/W in affected.wounds) if(W.internal)
affected.wounds -= W affected.wounds -= W
@@ -56,6 +58,7 @@
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='danger'>[user]'s hand slips, smearing [tool] in the incision in [target]'s [affected.name]!</span>" , \ user.visible_message("<span class='danger'>[user]'s hand slips, smearing [tool] in the incision in [target]'s [affected.name]!</span>" , \
"<span class='danger'>Your hand slips, smearing [tool] in the incision in [target]'s [affected.name]!</span>") "<span class='danger'>Your hand slips, smearing [tool] in the incision in [target]'s [affected.name]!</span>")
user.balloon_alert_visible("Slips, smearing [tool] in the incision in [target]'s [affected.name]", "Your hand slips, smearing [tool] in the incisiom in [affected.name]") // CHOMPEdit
affected.take_damage(5, 0) affected.take_damage(5, 0)
/////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////
@@ -93,6 +96,7 @@
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='filter_notice'>[user] starts cutting away necrotic tissue in [target]'s [affected.name] with \the [tool].</span>" , \ user.visible_message("<span class='filter_notice'>[user] starts cutting away necrotic tissue in [target]'s [affected.name] with \the [tool].</span>" , \
"<span class='filter_notice'>You start cutting away necrotic tissue in [target]'s [affected.name] with \the [tool].</span>") "<span class='filter_notice'>You start cutting away necrotic tissue in [target]'s [affected.name] with \the [tool].</span>")
user.balloon_alert_visible("Starts cutting away necrotic tissue in [target]'s [affected.name]", "Cutting away necrotic issue in \the [affected.name]") // CHOMPEdit
target.custom_pain("The pain in [affected.name] is unbearable!", 100) target.custom_pain("The pain in [affected.name] is unbearable!", 100)
..() ..()
@@ -100,12 +104,14 @@
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='notice'>[user] has cut away necrotic tissue in [target]'s [affected.name] with \the [tool].</span>", \ user.visible_message("<span class='notice'>[user] has cut away necrotic tissue in [target]'s [affected.name] with \the [tool].</span>", \
"<span class='notice'>You have cut away necrotic tissue in [target]'s [affected.name] with \the [tool].</span>") "<span class='notice'>You have cut away necrotic tissue in [target]'s [affected.name] with \the [tool].</span>")
user.balloon_alert_visible("Cuts away necrotic tissue in [target]'s [affected.name]", "Cut away necrotic tissue in \the [affected.name]") // CHOMPEdit
affected.open = 3 affected.open = 3
/datum/surgery_step/fix_dead_tissue/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/fix_dead_tissue/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='danger'>[user]'s hand slips, slicing an artery inside [target]'s [affected.name] with \the [tool]!</span>", \ user.visible_message("<span class='danger'>[user]'s hand slips, slicing an artery inside [target]'s [affected.name] with \the [tool]!</span>", \
"<span class='danger'>Your hand slips, slicing an artery inside [target]'s [affected.name] with \the [tool]!</span>") "<span class='danger'>Your hand slips, slicing an artery inside [target]'s [affected.name] with \the [tool]!</span>")
user.balloon_alert_visible("Slips, slicing an artery inside [target]'s [affected.name]", "Your hand slips, slicing an artery inside \the [affected.name]") // CHOMPEdit
affected.createwound(CUT, 20, 1) affected.createwound(CUT, 20, 1)
/////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////
@@ -151,6 +157,7 @@
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='filter_notice'>[user] starts applying medication to the affected tissue in [target]'s [affected.name] with \the [tool].</span>" , \ user.visible_message("<span class='filter_notice'>[user] starts applying medication to the affected tissue in [target]'s [affected.name] with \the [tool].</span>" , \
"<span class='filter_notice'>You start applying medication to the affected tissue in [target]'s [affected.name] with \the [tool].</span>") "<span class='filter_notice'>You start applying medication to the affected tissue in [target]'s [affected.name] with \the [tool].</span>")
user.balloon_alert_visible("Starts applying medication to the affected tissue in [target]'s [affected.name]", "Applying medication to the affected tissue in \the [affected.name]") // CHOMPEdit
target.custom_pain("Something in your [affected.name] is causing you a lot of pain!", 50) target.custom_pain("Something in your [affected.name] is causing you a lot of pain!", 50)
..() ..()
@@ -169,6 +176,7 @@
user.visible_message("<span class='notice'>[user] applies [trans] units of the solution to affected tissue in [target]'s [affected.name].</span>", \ user.visible_message("<span class='notice'>[user] applies [trans] units of the solution to affected tissue in [target]'s [affected.name].</span>", \
"<span class='notice'>You apply [trans] units of the solution to affected tissue in [target]'s [affected.name] with \the [tool].</span>") "<span class='notice'>You apply [trans] units of the solution to affected tissue in [target]'s [affected.name] with \the [tool].</span>")
user.balloon_alert_visible("Applies [trans] units of the solution to affected tissue in [target]'s [affected.name]", "Applied [trans] units of the solution to afected tissue in [affected.name]") // CHOMPEdit
/datum/surgery_step/treat_necrosis/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/treat_necrosis/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
@@ -182,6 +190,8 @@
user.visible_message("<span class='danger'>[user]'s hand slips, applying [trans] units of the solution to the wrong place in [target]'s [affected.name] with the [tool]!</span>" , \ user.visible_message("<span class='danger'>[user]'s hand slips, applying [trans] units of the solution to the wrong place in [target]'s [affected.name] with the [tool]!</span>" , \
"<span class='danger'>Your hand slips, applying [trans] units of the solution to the wrong place in [target]'s [affected.name] with the [tool]!</span>") "<span class='danger'>Your hand slips, applying [trans] units of the solution to the wrong place in [target]'s [affected.name] with the [tool]!</span>")
user.balloon_alert_visible("Slips, applying [trans] units of the solution to the wrong place in [target]'s [affected.name]",
"Your hand slips, applying [trans] units of the solution to the wrong place in \the [affected.name]") // CHOMPEdit
//no damage or anything, just wastes medicine //no damage or anything, just wastes medicine
@@ -221,6 +231,7 @@
return return
user.visible_message("<span class='filter_notice'>[user] starts cutting through the support systems of \the [rig] on [target] with \the [tool].</span>" , \ user.visible_message("<span class='filter_notice'>[user] starts cutting through the support systems of \the [rig] on [target] with \the [tool].</span>" , \
"<span class='filter_notice'>You start cutting through the support systems of \the [rig] on [target] with \the [tool].</span>") "<span class='filter_notice'>You start cutting through the support systems of \the [rig] on [target] with \the [tool].</span>")
user.balloon_alert_visible("Starts cutting through the support systems of \the [rig] on [target]", "Cutting through the support systems of \the [rig] on [target]") // CHOMPEdit
..() ..()
/datum/surgery_step/hardsuit/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/hardsuit/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
@@ -232,10 +243,12 @@
rig.cut_suit() rig.cut_suit()
user.visible_message("<span class='notice'>[user] has cut through the support systems of \the [rig] on [target] with \the [tool].</span>", \ user.visible_message("<span class='notice'>[user] has cut through the support systems of \the [rig] on [target] with \the [tool].</span>", \
"<span class='notice'>You have cut through the support systems of \the [rig] on [target] with \the [tool].</span>") "<span class='notice'>You have cut through the support systems of \the [rig] on [target] with \the [tool].</span>")
user.balloon_alert_visible("Cuts through the support systems of \the [rig] on [target]", "Cut through the support systems of \the [rig]") // CHOMPEdit
/datum/surgery_step/hardsuit/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/hardsuit/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
user.visible_message("<span class='danger'>[user]'s [tool] can't quite seem to get through the metal...</span>", \ user.visible_message("<span class='danger'>[user]'s [tool] can't quite seem to get through the metal...</span>", \
"<span class='danger'>\The [tool] can't quite seem to get through the metal. It's weakening, though - try again.</span>") "<span class='danger'>\The [tool] can't quite seem to get through the metal. It's weakening, though - try again.</span>")
user.balloon_alert_visible("[tool] can't quite seem to get through the metal", "\The [tool] can't quite seem to get through the metal.") // CHOMPEdit
/////////////////////////////////////////// ///////////////////////////////////////////
// De-Husking Surgery // // De-Husking Surgery //
@@ -274,11 +287,13 @@
/datum/surgery_step/dehusk/structinitial/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/dehusk/structinitial/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
user.visible_message("<span class='notice'>[user] begins to create a fleshy but rigid looking mesh over gaps in [target]'s flesh with \the [tool].</span>", \ user.visible_message("<span class='notice'>[user] begins to create a fleshy but rigid looking mesh over gaps in [target]'s flesh with \the [tool].</span>", \
"<span class='notice'>You begin to create a fleshy but rigid looking mesh over gaps in [target]'s flesh with \the [tool].</span>") "<span class='notice'>You begin to create a fleshy but rigid looking mesh over gaps in [target]'s flesh with \the [tool].</span>")
user.balloon_alert_visible("Begins to create a fleshy mesh over gaps in [target]'s flesh.", "Creating a flesh mesh over gaps") // CHOMPEdit
..() ..()
/datum/surgery_step/dehusk/structinitial/end_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/dehusk/structinitial/end_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
user.visible_message("<span class='notice'>[user] creates a fleshy but rigid looking mesh over gaps in [target]'s flesh with \the [tool].</span>", \ user.visible_message("<span class='notice'>[user] creates a fleshy but rigid looking mesh over gaps in [target]'s flesh with \the [tool].</span>", \
"<span class='notice'>You create a fleshy but rigid looking mesh over gaps in [target]'s flesh with \the [tool].</span>") "<span class='notice'>You create a fleshy but rigid looking mesh over gaps in [target]'s flesh with \the [tool].</span>")
user.balloon_alert_visible("Creates a fleshy mesh over gaps in [target]'s flesh", "Created a fleshy mesh over gaps in the flesh") // CHOMPEdit
target.op_stage.dehusk = 1 target.op_stage.dehusk = 1
..() ..()
@@ -286,6 +301,7 @@
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='danger'>[user]'s hand slips, and the mesh falls, with \the [tool] scraping [target]'s body.</span>", \ user.visible_message("<span class='danger'>[user]'s hand slips, and the mesh falls, with \the [tool] scraping [target]'s body.</span>", \
"<span class='danger'>Your hand slips, and the mesh falls, with \the [tool] scraping [target]'s body.</span>") "<span class='danger'>Your hand slips, and the mesh falls, with \the [tool] scraping [target]'s body.</span>")
user.balloon_alert_visible("Slips, the mesh falls and scrapes [target]'s body", "Your hand slips, the mesh falls and scrapes the body") // CHOMPEdit
affected.createwound(CUT, 15) affected.createwound(CUT, 15)
affected.createwound(BRUISE, 10) affected.createwound(BRUISE, 10)
..() ..()
@@ -306,11 +322,13 @@
/datum/surgery_step/dehusk/relocateflesh/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/dehusk/relocateflesh/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
user.visible_message("<span class='notice'>[user] begins to relocate some of [target]'s flesh with \the [tool], using it to fill in gaps.</span>", \ user.visible_message("<span class='notice'>[user] begins to relocate some of [target]'s flesh with \the [tool], using it to fill in gaps.</span>", \
"<span class='notice'>You begin to relocate some of [target]'s flesh with \the [tool], using it to fill in gaps.</span>") "<span class='notice'>You begin to relocate some of [target]'s flesh with \the [tool], using it to fill in gaps.</span>")
user.balloon_alert_visible("Begins relocating [target]'s flesh", "Relocating the flesh") // CHOMPEdit
..() ..()
/datum/surgery_step/dehusk/relocateflesh/end_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/dehusk/relocateflesh/end_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
user.visible_message("<span class='notice'>[user] relocates some of [target]'s flesh with \the [tool], using it to fill in gaps.</span>", \ user.visible_message("<span class='notice'>[user] relocates some of [target]'s flesh with \the [tool], using it to fill in gaps.</span>", \
"<span class='notice'>You relocate some of [target]'s flesh with \the [tool], using it to fill in gaps.</span>") "<span class='notice'>You relocate some of [target]'s flesh with \the [tool], using it to fill in gaps.</span>")
user.balloon_alert_visible("Relocates [target]'s flesh", "Relocated the flesh") // CHOMPEdit
target.op_stage.dehusk = 2 target.op_stage.dehusk = 2
..() ..()
@@ -318,6 +336,8 @@
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='danger'>[user] accidentally rips a massive chunk out of [target]'s flesh with \the [tool], causing massive damage.</span>", \ user.visible_message("<span class='danger'>[user] accidentally rips a massive chunk out of [target]'s flesh with \the [tool], causing massive damage.</span>", \
"<span class='danger'>You accidentally rip a massive chunk out of [target]'s flesh with \the [tool], causing massive damage.</span>") "<span class='danger'>You accidentally rip a massive chunk out of [target]'s flesh with \the [tool], causing massive damage.</span>")
user.balloon_alert_visible("Accidentally rips a massive chunk out of [target]'s flesh, causing massive damage",
"You accidentally rip a massive chunk out of the flesh, causing massive damage") // CHOMPEdit
affected.createwound(CUT, 25) affected.createwound(CUT, 25)
affected.createwound(BRUISE, 10) affected.createwound(BRUISE, 10)
..() ..()
@@ -338,14 +358,17 @@
if(istype(tool,/obj/item/weapon/surgical/bioregen)) if(istype(tool,/obj/item/weapon/surgical/bioregen))
user.visible_message("<span class='notice'>[user] begins to recreate blood vessels and fill in the gaps in [target]'s flesh with \the [tool].</span>", \ user.visible_message("<span class='notice'>[user] begins to recreate blood vessels and fill in the gaps in [target]'s flesh with \the [tool].</span>", \
"<span class='notice'>You begin to recreate blood vessels and fill in the gaps in [target]'s flesh with \the [tool].</span>") "<span class='notice'>You begin to recreate blood vessels and fill in the gaps in [target]'s flesh with \the [tool].</span>")
user.balloon_alert_visible("Begins recreating blood vessels and filing gaps in [target]'s flesh", "Recreating blood vessels and filling gaps in the flesh") // CHOMPEdit
else if(istype(tool,/obj/item/weapon/surgical/FixOVein)) else if(istype(tool,/obj/item/weapon/surgical/FixOVein))
user.visible_message("<span class='notice'>[user] attempts to recreate blood vessels and fill in the gaps in [target]'s flesh with \the [tool].</span>", \ user.visible_message("<span class='notice'>[user] attempts to recreate blood vessels and fill in the gaps in [target]'s flesh with \the [tool].</span>", \
"<span class='notice'>You attempt to recreate blood vessels and fill in the gaps in [target]'s flesh with \the [tool].</span>") "<span class='notice'>You attempt to recreate blood vessels and fill in the gaps in [target]'s flesh with \the [tool].</span>")
user.balloon_alert_visible("Attempts to recreate blood vessesl and fill the gaps in [target]'s flesh", "Attempting to recreate blood vessels and fill gaps in the flesh") // CHOMPEdit
..() ..()
/datum/surgery_step/dehusk/structfinish/end_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/dehusk/structfinish/end_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
user.visible_message("<span class='notice'>[user] finishes recreating the missing biological structures and filling in gaps in [target]'s flesh with \the [tool].</span>", \ user.visible_message("<span class='notice'>[user] finishes recreating the missing biological structures and filling in gaps in [target]'s flesh with \the [tool].</span>", \
"<span class='notice'>You finish recreating the missing biological structures and filling in gaps in [target]'s flesh with \the [tool].</span>") "<span class='notice'>You finish recreating the missing biological structures and filling in gaps in [target]'s flesh with \the [tool].</span>")
user.balloon_alert_visible("Recreates the missing biological structures and gaps in [target]'s flesh", "Recreated the missing bological structures and gaps in the flesh") // CHOMPEdit
target.op_stage.dehusk = 0 target.op_stage.dehusk = 0
target.mutations.Remove(HUSK) target.mutations.Remove(HUSK)
target.status_flags &= ~DISFIGURED target.status_flags &= ~DISFIGURED
@@ -357,9 +380,12 @@
if(istype(tool,/obj/item/weapon/surgical/bioregen)) if(istype(tool,/obj/item/weapon/surgical/bioregen))
user.visible_message("<span class='danger'>[user]'s hand slips, causing \the [tool] to scrape [target]'s body.</span>", \ user.visible_message("<span class='danger'>[user]'s hand slips, causing \the [tool] to scrape [target]'s body.</span>", \
"<span class='danger'>Your hand slips, causing \the [tool] to scrape [target]'s body.</span>") "<span class='danger'>Your hand slips, causing \the [tool] to scrape [target]'s body.</span>")
user.balloon_alert_visible("Slips, scraping [target]'s body", "You slip, scraping the body.") // CHOMPEdit
else if(istype(tool,/obj/item/weapon/surgical/FixOVein)) else if(istype(tool,/obj/item/weapon/surgical/FixOVein))
user.visible_message("<span class='danger'>[user] fails to finish the structure over the gaps in [target]'s flesh, doing more damage than good.</span>", \ user.visible_message("<span class='danger'>[user] fails to finish the structure over the gaps in [target]'s flesh, doing more damage than good.</span>", \
"<span class='danger'>You fail to finish the structure over the gaps in [target]'s flesh, doing more damage than good.</span>") "<span class='danger'>You fail to finish the structure over the gaps in [target]'s flesh, doing more damage than good.</span>")
user.balloon_alert_visible("Fails to finish the structure in [target]'s flesh, doing more damage", "You fail to finish the structur, doing more damage") // CHOMPEdit
affected.createwound(CUT, 15) affected.createwound(CUT, 15)
affected.createwound(BRUISE, 10) affected.createwound(BRUISE, 10)
..() ..()
@@ -377,11 +403,13 @@
/datum/surgery_step/internal/detoxify/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/internal/detoxify/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
user.visible_message("<span class='notice'>[user] begins to pull toxins from, and restore oxygen to [target]'s musculature and organs with \the [tool].</span>", \ user.visible_message("<span class='notice'>[user] begins to pull toxins from, and restore oxygen to [target]'s musculature and organs with \the [tool].</span>", \
"<span class='notice'>You begin to pull toxins from, and restore oxygen to [target]'s musculature and organs with \the [tool].</span>") "<span class='notice'>You begin to pull toxins from, and restore oxygen to [target]'s musculature and organs with \the [tool].</span>")
user.balloon_alert_visible("Begins pulling from, and restoring oxygen to [target]'s organs", "Pulling toxins from and restoring oxygen to the organs") // CHOMPEdit
..() ..()
/datum/surgery_step/internal/detoxify/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/internal/detoxify/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
user.visible_message("<span class='notice'>[user] finishes pulling toxins from, and restoring oxygen to [target]'s musculature and organs with \the [tool].</span>", \ user.visible_message("<span class='notice'>[user] finishes pulling toxins from, and restoring oxygen to [target]'s musculature and organs with \the [tool].</span>", \
"<span class='notice'>You finish pulling toxins from, and restoring oxygen to [target]'s musculature and organs with \the [tool].</span>") "<span class='notice'>You finish pulling toxins from, and restoring oxygen to [target]'s musculature and organs with \the [tool].</span>")
user.balloon_alert_visible("Finishes pulling toxins and restoring oxygen to [target]'s organs", "Pulled toxins from and restored oxygen to the organs") // CHOMPEdit
if(target.toxloss>25) if(target.toxloss>25)
target.adjustToxLoss(-20) target.adjustToxLoss(-20)
if(target.oxyloss>25) if(target.oxyloss>25)
@@ -392,6 +420,7 @@
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='danger'>[user]'s hand slips, failing to finish the surgery, and damaging [target] with \the [tool].</span>", \ user.visible_message("<span class='danger'>[user]'s hand slips, failing to finish the surgery, and damaging [target] with \the [tool].</span>", \
"<span class='danger'>Your hand slips, failing to finish the surgery, and damaging [target] with \the [tool].</span>") "<span class='danger'>Your hand slips, failing to finish the surgery, and damaging [target] with \the [tool].</span>")
user.balloon_alert_visible("Slips, failing to finish the surgery and damaging [target]", "Your hand slips, failing to finish the surgery and damaging [target]") // CHOMPEdit
affected.createwound(CUT, 15) affected.createwound(CUT, 15)
affected.createwound(BRUISE, 10) affected.createwound(BRUISE, 10)
..() ..()

View File

@@ -52,18 +52,21 @@
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='filter_notice'>[user] starts to unscrew the maintenance hatch on [target]'s [affected.name] with \the [tool].</span>", \ user.visible_message("<span class='filter_notice'>[user] starts to unscrew the maintenance hatch on [target]'s [affected.name] with \the [tool].</span>", \
"<span class='filter_notice'>You start to unscrew the maintenance hatch on [target]'s [affected.name] with \the [tool].</span>") "<span class='filter_notice'>You start to unscrew the maintenance hatch on [target]'s [affected.name] with \the [tool].</span>")
user.balloon_alert_visible("Starts to unscrew the maintenance hatch on [target]'s [affected.name]", "Unscrewing the maintenance hatch on \the [affected.name]") // CHOMPEdit
..() ..()
/datum/surgery_step/robotics/unscrew_hatch/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/robotics/unscrew_hatch/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='notice'>[user] has opened the maintenance hatch on [target]'s [affected.name] with \the [tool].</span>", \ user.visible_message("<span class='notice'>[user] has opened the maintenance hatch on [target]'s [affected.name] with \the [tool].</span>", \
"<span class='notice'>You have opened the maintenance hatch on [target]'s [affected.name] with \the [tool].</span>",) "<span class='notice'>You have opened the maintenance hatch on [target]'s [affected.name] with \the [tool].</span>",)
user.balloon_alert_visible("Opens the maintenance hatch on [target]'s [affected.name]", "Maintenance hatch opened on \the [affected.name]") // CHOMPEdit
affected.open = 1 affected.open = 1
/datum/surgery_step/robotics/unscrew_hatch/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/robotics/unscrew_hatch/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='warning'>[user]'s [tool.name] slips, failing to unscrew [target]'s [affected.name].</span>", \ user.visible_message("<span class='warning'>[user]'s [tool.name] slips, failing to unscrew [target]'s [affected.name].</span>", \
"<span class='warning'>Your [tool] slips, failing to unscrew [target]'s [affected.name].</span>") "<span class='warning'>Your [tool] slips, failing to unscrew [target]'s [affected.name].</span>")
user.balloon_alert_visible("Slips, failing to unscrew [target]'s [affected.name]", "Your [tool] slips, failing to unscrew \the [affected.name]") // CHOMPEdit
/////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////
// Open Hatch Surgery // Open Hatch Surgery
@@ -90,18 +93,21 @@
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='filter_notice'>[user] starts to pry open the maintenance hatch on [target]'s [affected.name] with \the [tool].</span>", user.visible_message("<span class='filter_notice'>[user] starts to pry open the maintenance hatch on [target]'s [affected.name] with \the [tool].</span>",
"<span class='filter_notice'>You start to pry open the maintenance hatch on [target]'s [affected.name] with \the [tool].</span>") "<span class='filter_notice'>You start to pry open the maintenance hatch on [target]'s [affected.name] with \the [tool].</span>")
user.balloon_alert_visible("Starts to pry open the maintenance hatch on [target]'s [affected.name]", "Prying open the maintenance hatch on \the [affected.name]") // CHOMPEdit
..() ..()
/datum/surgery_step/robotics/open_hatch/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/robotics/open_hatch/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='notice'>[user] opens the maintenance hatch on [target]'s [affected.name] with \the [tool].</span>", \ user.visible_message("<span class='notice'>[user] opens the maintenance hatch on [target]'s [affected.name] with \the [tool].</span>", \
"<span class='notice'>You open the maintenance hatch on [target]'s [affected.name] with \the [tool].</span>") "<span class='notice'>You open the maintenance hatch on [target]'s [affected.name] with \the [tool].</span>")
user.balloon_alert_visible("Opens the maintenance hatch on [target]'s [affected.name]", "Maintenance hatch on \the [affected.name] open") // CHOMPEdit
affected.open = 3 affected.open = 3
/datum/surgery_step/robotics/open_hatch/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/robotics/open_hatch/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='warning'>[user]'s [tool.name] slips, failing to open the hatch on [target]'s [affected.name].</span>", user.visible_message("<span class='warning'>[user]'s [tool.name] slips, failing to open the hatch on [target]'s [affected.name].</span>",
"<span class='warning'>Your [tool] slips, failing to open the hatch on [target]'s [affected.name].</span>") "<span class='warning'>Your [tool] slips, failing to open the hatch on [target]'s [affected.name].</span>")
user.balloon_alert_visible("Slips, failing to open the hatch on [target]'s [affected.name]", "Your [tool] slips, fialing to open the hatch on \the [affected.name]") // CHOMPEdit
/////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////
// Close Hatch Surgery // Close Hatch Surgery
@@ -128,12 +134,14 @@
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='filter_notice'>[user] begins to close and secure the hatch on [target]'s [affected.name] with \the [tool].</span>" , \ user.visible_message("<span class='filter_notice'>[user] begins to close and secure the hatch on [target]'s [affected.name] with \the [tool].</span>" , \
"<span class='filter_notice'>You begin to close and secure the hatch on [target]'s [affected.name] with \the [tool].</span>") "<span class='filter_notice'>You begin to close and secure the hatch on [target]'s [affected.name] with \the [tool].</span>")
user.balloon_alert_visible("Begins closing and securing the hatch on [target]'s [affected.name]", "Closing and securing the hatch on \the [affected.name]") // CHOMPEdit
..() ..()
/datum/surgery_step/robotics/close_hatch/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/robotics/close_hatch/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='notice'>[user] closes and secures the hatch on [target]'s [affected.name] with \the [tool].</span>", \ user.visible_message("<span class='notice'>[user] closes and secures the hatch on [target]'s [affected.name] with \the [tool].</span>", \
"<span class='notice'>You close and secure the hatch on [target]'s [affected.name] with \the [tool].</span>") "<span class='notice'>You close and secure the hatch on [target]'s [affected.name] with \the [tool].</span>")
user.balloon_alert_visible("Closes and secures the hatch on [target]'s [affected.name]", "Closed and secured the hatch on \the [affected.name]") // CHOMPEdit
affected.open = 0 affected.open = 0
affected.germ_level = 0 affected.germ_level = 0
@@ -141,6 +149,7 @@
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='warning'>[user]'s [tool.name] slips, failing to close the hatch on [target]'s [affected.name].</span>", user.visible_message("<span class='warning'>[user]'s [tool.name] slips, failing to close the hatch on [target]'s [affected.name].</span>",
"<span class='warning'>Your [tool.name] slips, failing to close the hatch on [target]'s [affected.name].</span>") "<span class='warning'>Your [tool.name] slips, failing to close the hatch on [target]'s [affected.name].</span>")
user.balloon_alert_visible("[tool.name] slips, failing to close the htach on [target]'s [affected.name]", "[tool.name] slips, failing to close the htach on [target]'s [affected.name]") // CHOMPEdit
/////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////
// Brute Repair Surgery // Brute Repair Surgery
@@ -173,12 +182,14 @@
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='filter_notice'>[user] begins to patch damage to [target]'s [affected.name]'s support structure with \the [tool].</span>" , \ user.visible_message("<span class='filter_notice'>[user] begins to patch damage to [target]'s [affected.name]'s support structure with \the [tool].</span>" , \
"<span class='filter_notice'>You begin to patch damage to [target]'s [affected.name]'s support structure with \the [tool].</span>") "<span class='filter_notice'>You begin to patch damage to [target]'s [affected.name]'s support structure with \the [tool].</span>")
user.balloon_alert_visible("Begins patching damage to [target]'s [affected.name]'s support structure", "Beggining to patch damage to \the [affected.name] support structure") // CHOMPEdit
..() ..()
/datum/surgery_step/robotics/repair_brute/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/robotics/repair_brute/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='notice'>[user] finishes patching damage to [target]'s [affected.name] with \the [tool].</span>", \ user.visible_message("<span class='notice'>[user] finishes patching damage to [target]'s [affected.name] with \the [tool].</span>", \
"<span class='notice'>You finish patching damage to [target]'s [affected.name] with \the [tool].</span>") "<span class='notice'>You finish patching damage to [target]'s [affected.name] with \the [tool].</span>")
user.balloon_alert_visible("Finishes patching damage to [target]'s [affected.name]", "Patched samage to \the [affected.name]") // CHOMPEdit
affected.heal_damage(rand(30,50),0,1,1) affected.heal_damage(rand(30,50),0,1,1)
affected.disfigured = 0 affected.disfigured = 0
@@ -186,6 +197,7 @@
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='warning'>[user]'s [tool.name] slips, damaging the internal structure of [target]'s [affected.name].</span>", user.visible_message("<span class='warning'>[user]'s [tool.name] slips, damaging the internal structure of [target]'s [affected.name].</span>",
"<span class='warning'>Your [tool.name] slips, damaging the internal structure of [target]'s [affected.name].</span>") "<span class='warning'>Your [tool.name] slips, damaging the internal structure of [target]'s [affected.name].</span>")
user.balloon_alert_visible("Slips, damaging the internal structure of [target]'s [affected.name]", "Your [tool.name] slips, damaging the internal structure of \the [affected.name]") // CHOMPEdit
target.apply_damage(rand(5,10), BURN, affected) target.apply_damage(rand(5,10), BURN, affected)
/////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////
@@ -207,11 +219,13 @@
if(istype(tool, /obj/item/stack/cable_coil)) if(istype(tool, /obj/item/stack/cable_coil))
var/obj/item/stack/cable_coil/C = tool var/obj/item/stack/cable_coil/C = tool
if(affected.burn_dam == 0) if(affected.burn_dam == 0)
user.balloon_alert_visible("There are no burnt wires here!") // CHOMPEdit
to_chat(user, "<span class='notice'>There are no burnt wires here!</span>") to_chat(user, "<span class='notice'>There are no burnt wires here!</span>")
return SURGERY_FAILURE return SURGERY_FAILURE
else else
if(!C.can_use(5)) if(!C.can_use(5))
to_chat(user, "<span class='danger'>You need at least five cable pieces to repair this part.</span>") //usage amount made more consistent with regular cable repair to_chat(user, "<span class='danger'>You need at least five cable pieces to repair this part.</span>") //usage amount made more consistent with regular cable repair
user.balloon_alert_visible("You need at least five cable pieces to repair this part.") // CHOMPEdit
return SURGERY_FAILURE return SURGERY_FAILURE
else else
C.use(5) C.use(5)
@@ -222,12 +236,14 @@
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='filter_notice'>[user] begins to splice new cabling into [target]'s [affected.name].</span>" , \ user.visible_message("<span class='filter_notice'>[user] begins to splice new cabling into [target]'s [affected.name].</span>" , \
"<span class='filter_notice'>You begin to splice new cabling into [target]'s [affected.name].</span>") "<span class='filter_notice'>You begin to splice new cabling into [target]'s [affected.name].</span>")
user.balloon_alert_visible("Begins to splice new cabling into [target]'s [affected.name]", "Splcing new cabling into \the [affected.name]") // CHOMPEdit
..() ..()
/datum/surgery_step/robotics/repair_burn/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/robotics/repair_burn/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='notice'>[user] finishes splicing cable into [target]'s [affected.name].</span>", \ user.visible_message("<span class='notice'>[user] finishes splicing cable into [target]'s [affected.name].</span>", \
"<span class='notice'>You finishes splicing new cable into [target]'s [affected.name].</span>") "<span class='notice'>You finishes splicing new cable into [target]'s [affected.name].</span>")
user.balloon_alert_visible("Finishes splicing cable into [target]'s [affected.name]", "Finished splicing new cable into [target]'s [affected.name]") // CHOMPEdit
affected.heal_damage(0,rand(30,50),1,1) affected.heal_damage(0,rand(30,50),1,1)
affected.disfigured = 0 affected.disfigured = 0
@@ -235,6 +251,7 @@
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='warning'>[user] causes a short circuit in [target]'s [affected.name]!</span>", user.visible_message("<span class='warning'>[user] causes a short circuit in [target]'s [affected.name]!</span>",
"<span class='warning'>You cause a short circuit in [target]'s [affected.name]!</span>") "<span class='warning'>You cause a short circuit in [target]'s [affected.name]!</span>")
user.balloon_alert_visible("Causes a short circuit in [target]'s [affected.name]", "You cause a short circuit in \the [affected.name]") // CHOMPEdit
target.apply_damage(rand(5,10), BURN, affected) target.apply_damage(rand(5,10), BURN, affected)
/////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////
@@ -275,6 +292,7 @@
if(I.robotic >= ORGAN_ROBOT) if(I.robotic >= ORGAN_ROBOT)
user.visible_message("<span class='filter_notice'>[user] starts mending the damage to [target]'s [I.name]'s mechanisms.</span>", \ user.visible_message("<span class='filter_notice'>[user] starts mending the damage to [target]'s [I.name]'s mechanisms.</span>", \
"<span class='filter_notice'>You start mending the damage to [target]'s [I.name]'s mechanisms.</span>" ) "<span class='filter_notice'>You start mending the damage to [target]'s [I.name]'s mechanisms.</span>" )
user.balloon_alert_visible("Starts mending the damage to [target]'s [I.name]'s mechanisms.", "Mending the damage to \the [I.name]'s mechanism") // CHOMPEdit
target.custom_pain("The pain in your [affected.name] is living hell!",1) target.custom_pain("The pain in your [affected.name] is living hell!",1)
..() ..()
@@ -289,6 +307,7 @@
if(I.robotic >= ORGAN_ROBOT) if(I.robotic >= ORGAN_ROBOT)
user.visible_message("<span class='notice'>[user] repairs [target]'s [I.name] with [tool].</span>", \ user.visible_message("<span class='notice'>[user] repairs [target]'s [I.name] with [tool].</span>", \
"<span class='notice'>You repair [target]'s [I.name] with [tool].</span>" ) "<span class='notice'>You repair [target]'s [I.name] with [tool].</span>" )
user.balloon_alert_visible("Repairs [target]'s [I.name]", "Repaired \the [I.name]") // CHOMPEdit
I.damage = 0 I.damage = 0
if(I.organ_tag == O_EYES) if(I.organ_tag == O_EYES)
target.sdisabilities &= ~BLIND target.sdisabilities &= ~BLIND
@@ -300,6 +319,7 @@
user.visible_message("<span class='warning'>[user]'s hand slips, gumming up the mechanisms inside of [target]'s [affected.name] with \the [tool]!</span>", \ user.visible_message("<span class='warning'>[user]'s hand slips, gumming up the mechanisms inside of [target]'s [affected.name] with \the [tool]!</span>", \
"<span class='warning'>Your hand slips, gumming up the mechanisms inside of [target]'s [affected.name] with \the [tool]!</span>") "<span class='warning'>Your hand slips, gumming up the mechanisms inside of [target]'s [affected.name] with \the [tool]!</span>")
user.balloon_alert_visible("Slips, gumming up the mechanisms inside [target]'s [affected.name]", "Your hand slips, gumming up the mechanisms inside of \the [affected.name]") // CHOMPEdit
target.adjustToxLoss(5) target.adjustToxLoss(5)
affected.createwound(CUT, 5) affected.createwound(CUT, 5)
@@ -355,11 +375,13 @@
user.visible_message("<span class='filter_notice'>[user] starts to decouple [target]'s [target.op_stage.current_organ] with \the [tool].</span>", \ user.visible_message("<span class='filter_notice'>[user] starts to decouple [target]'s [target.op_stage.current_organ] with \the [tool].</span>", \
"<span class='filter_notice'>You start to decouple [target]'s [target.op_stage.current_organ] with \the [tool].</span>" ) "<span class='filter_notice'>You start to decouple [target]'s [target.op_stage.current_organ] with \the [tool].</span>" )
user.balloon_alert_visible("Starts to decouple [target]'s [target.op_stage.current_organ]", "Decoupling \the [target.op_stage.current_organ]") // CHOMPEdit
..() ..()
/datum/surgery_step/robotics/detatch_organ_robotic/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/robotics/detatch_organ_robotic/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
user.visible_message("<span class='notice'>[user] has decoupled [target]'s [target.op_stage.current_organ] with \the [tool].</span>" , \ user.visible_message("<span class='notice'>[user] has decoupled [target]'s [target.op_stage.current_organ] with \the [tool].</span>" , \
"<span class='notice'>You have decoupled [target]'s [target.op_stage.current_organ] with \the [tool].</span>") "<span class='notice'>You have decoupled [target]'s [target.op_stage.current_organ] with \the [tool].</span>")
user.balloon_alert_visible("Decoupled [target]'s [target.op_stage.current_organ]", "Decouple \the [target.op_stage.current_organ]") // CHOMPEdit
var/obj/item/organ/internal/I = target.internal_organs_by_name[target.op_stage.current_organ] var/obj/item/organ/internal/I = target.internal_organs_by_name[target.op_stage.current_organ]
if(I && istype(I)) if(I && istype(I))
@@ -369,6 +391,7 @@
/datum/surgery_step/robotics/detatch_organ_robotic/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/robotics/detatch_organ_robotic/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
user.visible_message("<span class='warning'>[user]'s hand slips, disconnecting \the [tool].</span>", \ user.visible_message("<span class='warning'>[user]'s hand slips, disconnecting \the [tool].</span>", \
"<span class='warning'>Your hand slips, disconnecting \the [tool].</span>") "<span class='warning'>Your hand slips, disconnecting \the [tool].</span>")
user.balloon_alert_visible("Slips, disconnecting \the [tool]", "Your hand slips, disconnecting \the [tool]") // CHOMPEdit
/////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////
// Robot Organ Attaching Surgery // Robot Organ Attaching Surgery
@@ -417,11 +440,13 @@
user.visible_message("<span class='filter_notice'>[user] begins reattaching [target]'s [target.op_stage.current_organ] with \the [tool].</span>", \ user.visible_message("<span class='filter_notice'>[user] begins reattaching [target]'s [target.op_stage.current_organ] with \the [tool].</span>", \
"<span class='filter_notice'>You start reattaching [target]'s [target.op_stage.current_organ] with \the [tool].</span>") "<span class='filter_notice'>You start reattaching [target]'s [target.op_stage.current_organ] with \the [tool].</span>")
user.balloon_alert_visible("Begins reattaching [target]'s [target.op_stage.current_organ]", "Reattaching \the [target.op_stage.current_organ]") // CHOMPEdit
..() ..()
/datum/surgery_step/robotics/attach_organ_robotic/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/robotics/attach_organ_robotic/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
user.visible_message("<span class='notice'>[user] has reattached [target]'s [target.op_stage.current_organ] with \the [tool].</span>" , \ user.visible_message("<span class='notice'>[user] has reattached [target]'s [target.op_stage.current_organ] with \the [tool].</span>" , \
"<span class='notice'>You have reattached [target]'s [target.op_stage.current_organ] with \the [tool].</span>") "<span class='notice'>You have reattached [target]'s [target.op_stage.current_organ] with \the [tool].</span>")
user.balloon_alert_visible("Reattaches [target]'s [target.op_stage.current_organ]", "Reattached \the [target.op_stage.current_organ]") // CHOMPEdit
var/obj/item/organ/I = target.internal_organs_by_name[target.op_stage.current_organ] var/obj/item/organ/I = target.internal_organs_by_name[target.op_stage.current_organ]
if(I && istype(I)) if(I && istype(I))
@@ -431,6 +456,7 @@
/datum/surgery_step/robotics/attach_organ_robotic/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/robotics/attach_organ_robotic/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
user.visible_message("<span class='warning'>[user]'s hand slips, disconnecting \the [tool].</span>", \ user.visible_message("<span class='warning'>[user]'s hand slips, disconnecting \the [tool].</span>", \
"<span class='warning'>Your hand slips, disconnecting \the [tool].</span>") "<span class='warning'>Your hand slips, disconnecting \the [tool].</span>")
user.balloon_alert_visible("Slips, disconnecting \the [tool]", "Your hand slips, disonnectng \the [tool]") // CHOMPEdit
/////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////
// MMI Insertion Surgery // MMI Insertion Surgery
@@ -465,14 +491,17 @@
if(!(affected.robotic >= ORGAN_ROBOT)) if(!(affected.robotic >= ORGAN_ROBOT))
to_chat(user, "<span class='danger'>You cannot install a computer brain into a meat skull.</span>") to_chat(user, "<span class='danger'>You cannot install a computer brain into a meat skull.</span>")
user.balloon_alert("You cannot install a computer brain into a meat skull") // CHOMPEdit
return SURGERY_FAILURE return SURGERY_FAILURE
if(!target.should_have_organ("brain")) if(!target.should_have_organ("brain"))
to_chat(user, "<span class='danger'>You're pretty sure [target.species.name_plural] don't normally have a brain.</span>") to_chat(user, "<span class='danger'>You're pretty sure [target.species.name_plural] don't normally have a brain.</span>")
user.balloon_alert("You're pertty sure [target.species.name_plural] don't normall have a brain") // CHOMPEdit
return SURGERY_FAILURE return SURGERY_FAILURE
if(!isnull(target.internal_organs["brain"])) if(!isnull(target.internal_organs["brain"]))
to_chat(user, "<span class='danger'>Your subject already has a brain.</span>") to_chat(user, "<span class='danger'>Your subject already has a brain.</span>")
user.balloon_alert("Your subject already has a brain") // CHOMPEdit
return SURGERY_FAILURE return SURGERY_FAILURE
return 1 return 1
@@ -481,12 +510,14 @@
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='filter_notice'>[user] starts installing \the [tool] into [target]'s [affected.name].</span>", \ user.visible_message("<span class='filter_notice'>[user] starts installing \the [tool] into [target]'s [affected.name].</span>", \
"<span class='filter_notice'>You start installing \the [tool] into [target]'s [affected.name].</span>") "<span class='filter_notice'>You start installing \the [tool] into [target]'s [affected.name].</span>")
user.balloon_alert_visible("Starts installing \the [tool] into [target]'s [affected.name]", "Installing \the [tool] into \the [affected.name]") // CHOMPEdit
..() ..()
/datum/surgery_step/robotics/install_mmi/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/robotics/install_mmi/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='notice'>[user] has installed \the [tool] into [target]'s [affected.name].</span>", \ user.visible_message("<span class='notice'>[user] has installed \the [tool] into [target]'s [affected.name].</span>", \
"<span class='notice'>You have installed \the [tool] into [target]'s [affected.name].</span>") "<span class='notice'>You have installed \the [tool] into [target]'s [affected.name].</span>")
user.balloon_alert_visible("Installed \the [tool] into [target]'s [affected.name]", "Installed \the [tool] into \the [affected.name]") // CHOMPEdit
var/obj/item/device/mmi/M = tool var/obj/item/device/mmi/M = tool
var/obj/item/organ/internal/mmi_holder/holder = new(target, 1) var/obj/item/organ/internal/mmi_holder/holder = new(target, 1)
@@ -519,6 +550,7 @@
/datum/surgery_step/robotics/install_mmi/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/robotics/install_mmi/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
user.visible_message("<span class='warning'>[user]'s hand slips.</span>", \ user.visible_message("<span class='warning'>[user]'s hand slips.</span>", \
"<span class='warning'>Your hand slips.</span>") "<span class='warning'>Your hand slips.</span>")
user.balloon_alert_visible("Slips", "Your hand slips") // CHOMPEdit
/* /*
* Install a Diona Nymph into a Nymph Mech * Install a Diona Nymph into a Nymph Mech
@@ -548,22 +580,27 @@
if(!N.held_mob.client || N.held_mob.stat >= DEAD) if(!N.held_mob.client || N.held_mob.stat >= DEAD)
to_chat(user, "<span class='danger'>That nymph is not viable.</span>") to_chat(user, "<span class='danger'>That nymph is not viable.</span>")
user.balloon_alert("That nymph is not viable") // CHOMPEdit
return SURGERY_FAILURE return SURGERY_FAILURE
if(!(affected.robotic >= ORGAN_ROBOT)) if(!(affected.robotic >= ORGAN_ROBOT))
to_chat(user, "<span class='danger'>You cannot install a nymph into a meat puppet.</span>") to_chat(user, "<span class='danger'>You cannot install a nymph into a meat puppet.</span>")
user.balloon_alert("You cannot install a nymph into a meat puppet") // CHOMPEdit
return SURGERY_FAILURE return SURGERY_FAILURE
if(!(affected.model != "Skrellian Exoskeleton")) if(!(affected.model != "Skrellian Exoskeleton"))
to_chat(user, "<span class='dangerou'>You're fairly certain a nymph can't pilot a normal robot.</span>") to_chat(user, "<span class='dangerou'>You're fairly certain a nymph can't pilot a normal robot.</span>")
user.balloon_alert("You're fairly certain a nymph can't pilot a normal robot") // CHOMPEdit
return SURGERY_FAILURE return SURGERY_FAILURE
if(!target.should_have_organ("brain")) if(!target.should_have_organ("brain"))
to_chat(user, "<span class='danger'>You're pretty sure [target.species.name_plural] don't normally have a brain.</span>") to_chat(user, "<span class='danger'>You're pretty sure [target.species.name_plural] don't normally have a brain.</span>")
user.balloon_alert("You're pretty sure [target.species.name_plural] don't normall have a brain") // CHOMPEdit
return SURGERY_FAILURE return SURGERY_FAILURE
if(!isnull(target.internal_organs["brain"])) if(!isnull(target.internal_organs["brain"]))
to_chat(user, "<span class='danger'>Your subject already has a cephalon.</span>") to_chat(user, "<span class='danger'>Your subject already has a cephalon.</span>")
user.balloon_alert("Your subject already has a cephalon") // CHOMPEdit
return SURGERY_FAILURE return SURGERY_FAILURE
return 1 return 1
@@ -572,12 +609,14 @@
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='filter_notice'>[user] starts setting \the [tool] into [target]'s [affected.name].</span>", \ user.visible_message("<span class='filter_notice'>[user] starts setting \the [tool] into [target]'s [affected.name].</span>", \
"<span class='filter_notice'>You start setting \the [tool] into [target]'s [affected.name].</span>") "<span class='filter_notice'>You start setting \the [tool] into [target]'s [affected.name].</span>")
user.balloon_alert_visible("Stars setting \the [tool] into [target]'s [affected.name]", "Setting \the into \the [affected.name]") // CHOMPEdit
..() ..()
/datum/surgery_step/robotics/install_nymph/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/robotics/install_nymph/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='notice'>[user] has installed \the [tool] into [target]'s [affected.name].</span>", \ user.visible_message("<span class='notice'>[user] has installed \the [tool] into [target]'s [affected.name].</span>", \
"<span class='notice'>You have installed \the [tool] into [target]'s [affected.name].</span>") "<span class='notice'>You have installed \the [tool] into [target]'s [affected.name].</span>")
user.balloon_alert_visible("Installed \the [tool] into [target]'s [affected.name]", "Installed \the [tool] into \the [affected.name]") // CHOMPEdit
var/obj/item/weapon/holder/diona/N = tool var/obj/item/weapon/holder/diona/N = tool
var/obj/item/organ/internal/brain/cephalon/cephalon = new(target, 1) var/obj/item/organ/internal/brain/cephalon/cephalon = new(target, 1)
@@ -613,3 +652,4 @@
/datum/surgery_step/robotics/install_nymph/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) /datum/surgery_step/robotics/install_nymph/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
user.visible_message("<span class='warning'>[user]'s hand slips.</span>", \ user.visible_message("<span class='warning'>[user]'s hand slips.</span>", \
"<span class='warning'>Your hand slips.</span>") "<span class='warning'>Your hand slips.</span>")
user.balloon_alert_visible("Slips", "Your hand slips") // CHOMPEdit

View File

@@ -211,6 +211,7 @@
if(!do_mob(user, M, calc_duration * toolspeed, zone, exclusive = TRUE)) if(!do_mob(user, M, calc_duration * toolspeed, zone, exclusive = TRUE))
success = FALSE success = FALSE
to_chat(user, "<span class='warning'>You must remain close to and keep focused on your patient to conduct surgery.</span>") to_chat(user, "<span class='warning'>You must remain close to and keep focused on your patient to conduct surgery.</span>")
user.balloon_alert("You must remain close to and keep focused on your patent to conduct surgery") // CHOMPEdit
if(success) if(success)
selected_surgery.end_step(user, M, zone, src) selected_surgery.end_step(user, M, zone, src)

View File

@@ -15,7 +15,7 @@
pixel_y = rand(-5, 5) pixel_y = rand(-5, 5)
/obj/item/weapon/bluespace_crystal/attack_self(mob/user) /obj/item/weapon/bluespace_crystal/attack_self(mob/user)
user.visible_message("<span class='warning'>[user] crushes [src]!</span>", "<span class='danger'>You crush [src]!</span>") user.balloon_alert_visible("[user] crushes [src]!", "Crushed [src]!") // CHOMPEdit - Balloon alert
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread() var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread()
s.set_up(5, 1, get_turf(src)) s.set_up(5, 1, get_turf(src))
s.start() s.start()
@@ -28,7 +28,7 @@
/obj/item/weapon/bluespace_crystal/throw_impact(atom/hit_atom) /obj/item/weapon/bluespace_crystal/throw_impact(atom/hit_atom)
if(!..()) // not caught in mid-air if(!..()) // not caught in mid-air
visible_message("<span class='notice'>[src] fizzles and disappears upon impact!</span>") balloon_alert_visible("[src] fizzles and disappears upon impact!") // CHOMPEdit - Balloon alert
var/turf/T = get_turf(hit_atom) var/turf/T = get_turf(hit_atom)
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread() var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread()
s.set_up(5, 1, T) s.set_up(5, 1, T)

View File

@@ -404,9 +404,12 @@
setClickCooldown(DEFAULT_ATTACK_COOLDOWN) setClickCooldown(DEFAULT_ATTACK_COOLDOWN)
if(tasted == src) //CHOMPEdit Start if(tasted == src) //CHOMPEdit Start
visible_message("<span class='vwarning'>[src] licks themself!</span>","<span class='notice'>You lick yourself. You taste rather like [tasted.get_taste_message()].</span>","<b>Slurp!</b>") visible_message("[src] licks themself!","You lick yourself. You taste rather like [tasted.get_taste_message()].")
balloon_alert_visible("Licks themself!", "Tastes like [tasted.get_taste_message()]")
else else
visible_message("<span class='vwarning'>[src] licks [tasted]!</span>","<span class='notice'>You lick [tasted]. They taste rather like [tasted.get_taste_message()].</span>","<b>Slurp!</b>") //CHOMPEdit End to_chat("[src] licks [tasted]!","You lick [tasted]. They taste rather like [tasted.get_taste_message()].")
balloon_alert_visible("Licks [tasted]!", "Tastes like [tasted.get_taste_message()]")
//CHOMPEdit End
/mob/living/proc/get_taste_message(allow_generic = 1) /mob/living/proc/get_taste_message(allow_generic = 1)
@@ -447,8 +450,11 @@
setClickCooldown(DEFAULT_ATTACK_COOLDOWN) setClickCooldown(DEFAULT_ATTACK_COOLDOWN)
if(smelled == src) //CHOMPEdit Start if(smelled == src) //CHOMPEdit Start
visible_message("<span class='vwarning'>[src] smells themself!</span>","<span class='notice'>You smell yourself. You smell like [smelled.get_smell_message()].</span>","<b>Sniff!</b>") visible_message("<span class='vwarning'>[src] smells themself!</span>","<span class='notice'>You smell yourself. You smell like [smelled.get_smell_message()].</span>","<b>Sniff!</b>")
balloon_alert_visible("Smells themself!", "Smells like [smelled.get_smell_message()]")
else else
visible_message("<span class='vwarning'>[src] smells [smelled]!</span>","<span class='notice'>You smell [smelled]. They smell like [smelled.get_smell_message()].</span>","<b>Sniff!</b>") //CHOMPEdit End visible_message("<span class='vwarning'>[src] smells [smelled]!</span>","<span class='notice'>You smell [smelled]. They smell like [smelled.get_smell_message()].</span>","<b>Sniff!</b>")
balloon_alert_visible("Smells [smelled]!", "Smells like [smelled.get_smell_message()]")
//CHOMPEdit End
/mob/living/proc/get_smell_message(allow_generic = 1) /mob/living/proc/get_smell_message(allow_generic = 1)
if(!vore_smell && !allow_generic) if(!vore_smell && !allow_generic)

View File

@@ -0,0 +1,2 @@
/proc/remove_image_from_client(image/image, client/remove_from)
remove_from?.images -= image

View File

@@ -0,0 +1 @@
#define BALLOON_CHAT_PLANE 251

View File

@@ -0,0 +1,3 @@
#define MAPTEXT(text) {"<span class='maptext'>[##text]</span>"}
#define WXH_TO_HEIGHT(measurem) text2num(copytext(x, findtextEx(x, "x") + 1))

View File

@@ -7,6 +7,10 @@
*/ */
var/list/atom_colours var/list/atom_colours
/// Lazylist of all images to update when we change z levels
/// You will need to manage adding/removing from this yourself, but I'll do the updating for you
var/list/image/update_on_z
//! ## Atom Colour Priority System //! ## Atom Colour Priority System
/** /**
* A System that gives finer control over which atom colour to colour the atom with. * A System that gives finer control over which atom colour to colour the atom with.

View File

@@ -0,0 +1,95 @@
#define BALLOON_TEXT_WIDTH 200
#define BALLOON_TEXT_SPAWN_TIME (0.2 SECONDS)
#define BALLOON_TEXT_FADE_TIME (0.1 SECONDS)
#define BALLOON_TEXT_FULLY_VISIBLE_TIME (0.7 SECONDS)
#define BALLOON_TEXT_TOTAL_LIFETIME(mult) (BALLOON_TEXT_SPAWN_TIME + BALLOON_TEXT_FULLY_VISIBLE_TIME*mult + BALLOON_TEXT_FADE_TIME)
#define BALLOON_TEXT_CHAR_LIFETIME_INCREASE_MULT (0.05)
#define BALLOON_TEXT_CHAR_LIFETIME_INCREASE_MIN 10
/// Creates text that will float from the atom upwards to the viewer.
/atom/proc/balloon_alert(mob/viewer, text)
SHOULD_NOT_SLEEP(TRUE)
INVOKE_ASYNC(src, PROC_REF(balloon_alert_perform), viewer, text)
/atom/proc/balloon_alert_visible(message, self_message, blind_message, range = world.view, list/exclude_mobs = null)
SHOULD_NOT_SLEEP(TRUE)
var/runechat_enabled
var/list/hearers = get_mobs_in_view(range, src)
hearers -= exclude_mobs
for(var/mob/M in hearers)
runechat_enabled = M.client?.is_preference_enabled(/datum/client_preference/runechat_mob)
if(M.client && !runechat_enabled)
continue
if(M.is_blind())
continue
balloon_alert(M, (M == src && self_message) || message)
/atom/proc/balloon_alert_perform(mob/viewer, text)
var/client/viewer_client = viewer?.client
if (isnull(viewer_client))
return
if (isbelly(src.loc))
return
var/bound_width = world.icon_size
if (ismovable(src))
var/atom/movable/movable_source = src
bound_width = movable_source.bound_width
var/image/balloon_alert = image(loc = isturf(src) ? src : get_atom_on_turf(src), layer = ABOVE_MOB_LAYER)
balloon_alert.plane = PLANE_RUNECHAT
balloon_alert.alpha = 0
balloon_alert.appearance_flags = RESET_ALPHA|RESET_COLOR|RESET_TRANSFORM
balloon_alert.maptext = MAPTEXT("<span style='text-align: center; -dm-text-outline: 1px #0005'>[text]</span>")
balloon_alert.maptext_x = (BALLOON_TEXT_WIDTH - bound_width) * -0.5
balloon_alert.maptext_height = WXH_TO_HEIGHT(viewer_client?.MeasureText(text, null, BALLOON_TEXT_WIDTH))
balloon_alert.maptext_width = BALLOON_TEXT_WIDTH
viewer_client?.images += balloon_alert
var/length_mult = 1 + max(0, length(strip_html_simple(text)) - BALLOON_TEXT_CHAR_LIFETIME_INCREASE_MIN) * BALLOON_TEXT_CHAR_LIFETIME_INCREASE_MULT
animate(
balloon_alert,
pixel_y = world.icon_size * 1.2,
time = BALLOON_TEXT_TOTAL_LIFETIME(length_mult),
easing = SINE_EASING | EASE_OUT,
)
animate(
alpha = 255,
time = BALLOON_TEXT_SPAWN_TIME,
easing = CUBIC_EASING | EASE_OUT,
flags = ANIMATION_PARALLEL,
)
animate(
alpha = 0,
time = BALLOON_TEXT_FULLY_VISIBLE_TIME * length_mult,
easing = CUBIC_EASING | EASE_IN,
)
LAZYADD(update_on_z, balloon_alert)
addtimer(CALLBACK(balloon_alert.loc, PROC_REF(forget_balloon_alert), balloon_alert), BALLOON_TEXT_TOTAL_LIFETIME(length_mult))
addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(remove_image_from_client), balloon_alert, viewer_client), BALLOON_TEXT_TOTAL_LIFETIME(length_mult))
/atom/proc/forget_balloon_alert(image/balloon_alert)
LAZYREMOVE(update_on_z, balloon_alert)
#undef BALLOON_TEXT_FADE_TIME
#undef BALLOON_TEXT_FULLY_VISIBLE_TIME
#undef BALLOON_TEXT_SPAWN_TIME
#undef BALLOON_TEXT_TOTAL_LIFETIME
#undef BALLOON_TEXT_WIDTH
#undef BALLOON_TEXT_CHAR_LIFETIME_INCREASE_MULT
#undef BALLOON_TEXT_CHAR_LIFETIME_INCREASE_MIN

View File

@@ -4606,8 +4606,11 @@
#include "maps\~map_system\maps.dm" #include "maps\~map_system\maps.dm"
#include "modular_chomp\code\coalesce_ch.dm" #include "modular_chomp\code\coalesce_ch.dm"
#include "modular_chomp\code\global.dm" #include "modular_chomp\code\global.dm"
#include "modular_chomp\code\__defines\_planes+layers.dm"
#include "modular_chomp\code\__defines\text.dm"
#include "modular_chomp\code\_global_vars\tgui.dm" #include "modular_chomp\code\_global_vars\tgui.dm"
#include "modular_chomp\code\_global_vars\list\names.dm" #include "modular_chomp\code\_global_vars\list\names.dm"
#include "modular_chomp\code\_HELPERS\game.dm"
#include "modular_chomp\code\_HELPERS\mobs.dm" #include "modular_chomp\code\_HELPERS\mobs.dm"
#include "modular_chomp\code\_HELPERS\type2type.dm" #include "modular_chomp\code\_HELPERS\type2type.dm"
#include "modular_chomp\code\_HELPERS\icons\flatten.dm" #include "modular_chomp\code\_HELPERS\icons\flatten.dm"
@@ -4693,6 +4696,7 @@
#include "modular_chomp\code\modules\admin\functions\modify_traits.dm" #include "modular_chomp\code\modules\admin\functions\modify_traits.dm"
#include "modular_chomp\code\modules\admin\verbs\randomverbs.dm" #include "modular_chomp\code\modules\admin\verbs\randomverbs.dm"
#include "modular_chomp\code\modules\artifice\deadringer.dm" #include "modular_chomp\code\modules\artifice\deadringer.dm"
#include "modular_chomp\code\modules\balloon_alert\balloon_alert.dm"
#include "modular_chomp\code\modules\casino\casino_map_atoms.dm" #include "modular_chomp\code\modules\casino\casino_map_atoms.dm"
#include "modular_chomp\code\modules\client\preferences.dm" #include "modular_chomp\code\modules\client\preferences.dm"
#include "modular_chomp\code\modules\client\preferences_spawnpoints.dm" #include "modular_chomp\code\modules\client\preferences_spawnpoints.dm"