mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-22 20:48:56 +01:00
## About The Pull Request <details> - renamed ai folder to announcer -- announcer -- - moved vox_fem to announcer - moved approachingTG to announcer - separated the ambience folder into ambience and instrumental -- ambience -- - created holy folder moved all related sounds there - created engineering folder and moved all related sounds there - created security folder and moved ambidet there - created general folder and moved ambigen there - created icemoon folder and moved all icebox-related ambience there - created medical folder and moved all medbay-related ambi there - created ruin folder and moves all ruins ambi there - created beach folder and moved seag and shore there - created lavaland folder and moved related ambi there - created aurora_caelus folder and placed its ambi there - created misc folder and moved the rest of the files that don't have a specific category into it -- instrumental -- - moved traitor folder here - created lobby_music folder and placed our songs there (title0 not used anywhere? - server-side modification?) -- items -- - moved secdeath to hailer - moved surgery to handling -- effects -- - moved chemistry into effects - moved hallucinations into effects - moved health into effects - moved magic into effects -- vehicles -- - moved mecha into vehicles created mobs folder -- mobs -- - moved creatures folder into mobs - moved voice into mobs renamed creatures to non-humanoids renamed voice to humanoids -- non-humanoids-- created cyborg folder created hiss folder moved harmalarm.ogg to cyborg -- humanoids -- -- misc -- moved ghostwhisper to misc moved insane_low_laugh to misc I give up trying to document this. </details> - [X] ambience - [x] announcer - [x] effects - [X] instrumental - [x] items - [x] machines - [x] misc - [X] mobs - [X] runtime - [X] vehicles - [ ] attributions ## Why It's Good For The Game This folder is so disorganized that it's vomit inducing, will make it easier to find and add new sounds, providng a minor structure to the sound folder. ## Changelog 🆑 grungussuss refactor: the sound folder in the source code has been reorganized, please report any oddities with sounds playing or not playing server: lobby music has been repathed to sound/music/lobby_music /🆑
84 lines
3.4 KiB
Plaintext
84 lines
3.4 KiB
Plaintext
/datum/surgery/cavity_implant
|
|
name = "Cavity implant"
|
|
possible_locs = list(BODY_ZONE_CHEST)
|
|
steps = list(
|
|
/datum/surgery_step/incise,
|
|
/datum/surgery_step/retract_skin,
|
|
/datum/surgery_step/clamp_bleeders,
|
|
/datum/surgery_step/incise,
|
|
/datum/surgery_step/handle_cavity,
|
|
/datum/surgery_step/close)
|
|
|
|
GLOBAL_LIST_INIT(heavy_cavity_implants, typecacheof(list(/obj/item/transfer_valve)))
|
|
|
|
//handle cavity
|
|
/datum/surgery_step/handle_cavity
|
|
name = "implant item"
|
|
accept_hand = 1
|
|
implements = list(/obj/item = 100)
|
|
repeatable = TRUE
|
|
time = 32
|
|
preop_sound = 'sound/items/handling/surgery/organ1.ogg'
|
|
success_sound = 'sound/items/handling/surgery/organ2.ogg'
|
|
var/obj/item/item_for_cavity
|
|
|
|
/datum/surgery_step/handle_cavity/tool_check(mob/user, obj/item/tool)
|
|
if(tool.tool_behaviour == TOOL_CAUTERY || istype(tool, /obj/item/gun/energy/laser))
|
|
return FALSE
|
|
return !tool.get_temperature()
|
|
|
|
/datum/surgery_step/handle_cavity/preop(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
|
var/obj/item/bodypart/chest/target_chest = target.get_bodypart(BODY_ZONE_CHEST)
|
|
item_for_cavity = target_chest.cavity_item
|
|
if(tool)
|
|
display_results(
|
|
user,
|
|
target,
|
|
span_notice("You begin to insert [tool] into [target]'s [target_zone]..."),
|
|
span_notice("[user] begins to insert [tool] into [target]'s [target_zone]."),
|
|
span_notice("[user] begins to insert [tool.w_class > WEIGHT_CLASS_SMALL ? tool : "something"] into [target]'s [target_zone]."),
|
|
)
|
|
display_pain(target, "You can feel something being inserted into your [target_zone], it hurts like hell!")
|
|
else
|
|
display_results(
|
|
user,
|
|
target,
|
|
span_notice("You check for items in [target]'s [target_zone]..."),
|
|
span_notice("[user] checks for items in [target]'s [target_zone]."),
|
|
span_notice("[user] looks for something in [target]'s [target_zone]."),
|
|
)
|
|
|
|
/datum/surgery_step/handle_cavity/success(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery = FALSE)
|
|
var/obj/item/bodypart/chest/target_chest = target.get_bodypart(BODY_ZONE_CHEST)
|
|
if(tool)
|
|
if(item_for_cavity || ((tool.w_class > WEIGHT_CLASS_NORMAL) && !is_type_in_typecache(tool, GLOB.heavy_cavity_implants)) || HAS_TRAIT(tool, TRAIT_NODROP) || isorgan(tool))
|
|
to_chat(user, span_warning("You can't seem to fit [tool] in [target]'s [target_zone]!"))
|
|
return FALSE
|
|
else
|
|
display_results(
|
|
user,
|
|
target,
|
|
span_notice("You stuff [tool] into [target]'s [target_zone]."),
|
|
span_notice("[user] stuffs [tool] into [target]'s [target_zone]!"),
|
|
span_notice("[user] stuffs [tool.w_class > WEIGHT_CLASS_SMALL ? tool : "something"] into [target]'s [target_zone]."),
|
|
)
|
|
user.transferItemToLoc(tool, target, TRUE)
|
|
target_chest.cavity_item = tool
|
|
return ..()
|
|
else
|
|
if(item_for_cavity)
|
|
display_results(
|
|
user,
|
|
target,
|
|
span_notice("You pull [item_for_cavity] out of [target]'s [target_zone]."),
|
|
span_notice("[user] pulls [item_for_cavity] out of [target]'s [target_zone]!"),
|
|
span_notice("[user] pulls [item_for_cavity.w_class > WEIGHT_CLASS_SMALL ? item_for_cavity : "something"] out of [target]'s [target_zone]."),
|
|
)
|
|
display_pain(target, "Something is pulled out of your [target_zone]! It hurts like hell!")
|
|
user.put_in_hands(item_for_cavity)
|
|
target_chest.cavity_item = null
|
|
return ..()
|
|
else
|
|
to_chat(user, span_warning("You don't find anything in [target]'s [target_zone]."))
|
|
return FALSE
|