mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-02-05 22:09:05 +00:00
About The Pull Request Converts every single usage of playsound's vary parameter to use the boolean define instead of 1 or 0. I'm tired of people copypasting the incorrect usage. Also changes a couple of places where a list was picked from instead of using get_sfx internal calls This was done via regex: (playsound\(.+,.+,.+, ?)1( ?\)| ?,.+\)) to match 1 (playsound\(.+,.+,.+, ?)0( ?\)| ?,.+\)) to match 0 full sed commands: /(playsound\(.+,.+,.+, ?)1( ?\)| ?,.+\))/\1TRUE\2/ 1 to TRUE /(playsound\(.+,.+,.+, ?)0( ?\)| ?,.+\))/\1FALSE\2/ 0 to FALSE I'm not very good with regex and these could probably be optimized, but they worked. Why It's Good For The Game Code usability
92 lines
3.4 KiB
Plaintext
92 lines
3.4 KiB
Plaintext
|
|
/obj/item/bodybag
|
|
name = "body bag"
|
|
desc = "A folded bag designed for the storage and transportation of cadavers."
|
|
icon = 'icons/obj/bodybag.dmi'
|
|
icon_state = "bodybag_folded"
|
|
w_class = WEIGHT_CLASS_SMALL
|
|
var/unfoldedbag_path = /obj/structure/closet/body_bag
|
|
|
|
/obj/item/bodybag/attack_self(mob/user)
|
|
deploy_bodybag(user, user.loc)
|
|
|
|
/obj/item/bodybag/afterattack(atom/target, mob/user, proximity)
|
|
. = ..()
|
|
if(proximity)
|
|
if(isopenturf(target))
|
|
deploy_bodybag(user, target)
|
|
|
|
/obj/item/bodybag/proc/deploy_bodybag(mob/user, atom/location)
|
|
var/obj/structure/closet/body_bag/R = new unfoldedbag_path(location)
|
|
R.open(user)
|
|
R.add_fingerprint(user)
|
|
R.foldedbag_instance = src
|
|
moveToNullspace()
|
|
|
|
/obj/item/bodybag/suicide_act(mob/user)
|
|
if(isopenturf(user.loc))
|
|
user.visible_message("<span class='suicide'>[user] is crawling into [src]! It looks like [user.p_theyre()] trying to commit suicide!</span>")
|
|
var/obj/structure/closet/body_bag/R = new unfoldedbag_path(user.loc)
|
|
R.add_fingerprint(user)
|
|
qdel(src)
|
|
user.forceMove(R)
|
|
playsound(src, 'sound/items/zip.ogg', 15, TRUE, -3)
|
|
return (OXYLOSS)
|
|
..()
|
|
|
|
// Bluespace bodybag
|
|
|
|
/obj/item/bodybag/bluespace
|
|
name = "bluespace body bag"
|
|
desc = "A folded bluespace body bag designed for the storage and transportation of cadavers."
|
|
icon = 'icons/obj/bodybag.dmi'
|
|
icon_state = "bluebodybag_folded"
|
|
unfoldedbag_path = /obj/structure/closet/body_bag/bluespace
|
|
w_class = WEIGHT_CLASS_SMALL
|
|
item_flags = NO_MAT_REDEMPTION
|
|
|
|
/obj/item/bodybag/bluespace/Initialize()
|
|
. = ..()
|
|
RegisterSignal(src, COMSIG_ATOM_CANREACH, .proc/CanReachReact)
|
|
|
|
/obj/item/bodybag/bluespace/examine(mob/user)
|
|
. = ..()
|
|
if(contents.len)
|
|
var/s = contents.len == 1 ? "" : "s"
|
|
. += "<span class='notice'>You can make out the shape[s] of [contents.len] object[s] through the fabric.</span>"
|
|
|
|
/obj/item/bodybag/bluespace/Destroy()
|
|
for(var/atom/movable/A in contents)
|
|
A.forceMove(get_turf(src))
|
|
if(isliving(A))
|
|
to_chat(A, "<span class='notice'>You suddenly feel the space around you torn apart! You're free!</span>")
|
|
return ..()
|
|
|
|
/obj/item/bodybag/bluespace/proc/CanReachReact(atom/movable/source, list/next)
|
|
return COMPONENT_BLOCK_REACH
|
|
|
|
/obj/item/bodybag/bluespace/deploy_bodybag(mob/user, atom/location)
|
|
var/obj/structure/closet/body_bag/R = new unfoldedbag_path(location)
|
|
for(var/atom/movable/A in contents)
|
|
A.forceMove(R)
|
|
if(isliving(A))
|
|
to_chat(A, "<span class='notice'>You suddenly feel air around you! You're free!</span>")
|
|
R.open(user)
|
|
R.add_fingerprint(user)
|
|
R.foldedbag_instance = src
|
|
moveToNullspace()
|
|
|
|
/obj/item/bodybag/bluespace/container_resist(mob/living/user)
|
|
if(user.incapacitated())
|
|
to_chat(user, "<span class='warning'>You can't get out while you're restrained like this!</span>")
|
|
return
|
|
user.changeNext_move(CLICK_CD_BREAKOUT)
|
|
user.last_special = world.time + CLICK_CD_BREAKOUT
|
|
to_chat(user, "<span class='notice'>You claw at the fabric of [src], trying to tear it open...</span>")
|
|
to_chat(loc, "<span class='warning'>Someone starts trying to break free of [src]!</span>")
|
|
if(!do_after(user, 200, target = src))
|
|
to_chat(loc, "<span class='warning'>The pressure subsides. It seems that they've stopped resisting...</span>")
|
|
return
|
|
loc.visible_message("<span class='warning'>[user] suddenly appears in front of [loc]!</span>", "<span class='userdanger'>[user] breaks free of [src]!</span>")
|
|
qdel(src)
|