mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-31 09:08:30 +01:00
Merge pull request #9256 from astralenigma/cradesbypaprka
Crates are mailed with manifests taped to the outside by paprka Merge Conflict resolution
This commit is contained in:
@@ -10,16 +10,21 @@
|
||||
var/rigged = 0
|
||||
var/sound_effect_open = 'sound/machines/click.ogg'
|
||||
var/sound_effect_close = 'sound/machines/click.ogg'
|
||||
|
||||
var/obj/item/weapon/paper/manifest/manifest
|
||||
|
||||
/obj/structure/closet/crate/New()
|
||||
..()
|
||||
update_icon()
|
||||
|
||||
|
||||
/obj/structure/closet/crate/update_icon()
|
||||
overlays.Cut()
|
||||
if(opened)
|
||||
icon_state = "[icon_crate]open"
|
||||
else
|
||||
icon_state = icon_crate
|
||||
if(manifest)
|
||||
overlays += "manifest"
|
||||
|
||||
/obj/structure/closet/crate/internals
|
||||
desc = "A internals crate."
|
||||
@@ -143,12 +148,13 @@
|
||||
name = "secure hydroponics crate"
|
||||
icon_crate = "hydrosecurecrate"
|
||||
icon_state = "hydrosecurecrate"
|
||||
|
||||
/obj/structure/closet/crate/secure/New()
|
||||
|
||||
/obj/structure/closet/crate/secure/update_icon()
|
||||
..()
|
||||
overlays.Cut()
|
||||
if(locked)
|
||||
overlays += redlight
|
||||
else if(broken)
|
||||
overlays += emag
|
||||
else
|
||||
overlays += greenlight
|
||||
|
||||
@@ -188,7 +194,19 @@
|
||||
AM.loc = src
|
||||
return 1
|
||||
|
||||
/obj/structure/closet/crate/proc/tear_manifest(mob/user as mob)
|
||||
user << "<span class='notice'>You tear the manifest off of the crate.</span>"
|
||||
playsound(src.loc, 'sound/items/poster_ripped.ogg', 75, 1)
|
||||
manifest.loc = loc
|
||||
if(ishuman(user))
|
||||
user.put_in_hands(manifest)
|
||||
manifest = null
|
||||
overlays-="manifest"
|
||||
|
||||
/obj/structure/closet/crate/attack_hand(mob/user as mob)
|
||||
if(manifest)
|
||||
tear_manifest(user)
|
||||
return
|
||||
if(opened)
|
||||
close()
|
||||
else
|
||||
@@ -204,12 +222,14 @@
|
||||
return
|
||||
|
||||
/obj/structure/closet/crate/secure/attack_hand(mob/user as mob)
|
||||
if(manifest)
|
||||
tear_manifest(user)
|
||||
return
|
||||
if(locked && !broken)
|
||||
if (allowed(user))
|
||||
user << "<span class='notice'>You unlock [src].</span>"
|
||||
src.locked = 0
|
||||
overlays.Cut()
|
||||
overlays += greenlight
|
||||
update_icon()
|
||||
add_fingerprint(user)
|
||||
return
|
||||
else
|
||||
@@ -222,8 +242,7 @@
|
||||
if(istype(W, /obj/item/weapon/card) && src.allowed(user) && !locked && !opened && !broken)
|
||||
user << "<span class='notice'>You lock \the [src].</span>"
|
||||
src.locked = 1
|
||||
overlays.Cut()
|
||||
overlays += redlight
|
||||
update_icon()
|
||||
add_fingerprint(user)
|
||||
return
|
||||
|
||||
@@ -231,13 +250,12 @@
|
||||
|
||||
/obj/structure/closet/crate/secure/emag_act(mob/user as mob)
|
||||
if(locked && !broken)
|
||||
overlays.Cut()
|
||||
overlays += emag
|
||||
src.locked = 0
|
||||
src.broken = 1
|
||||
update_icon()
|
||||
overlays += sparks
|
||||
spawn(6) overlays -= sparks //Tried lots of stuff but nothing works right. so i have to use this *sadface*
|
||||
playsound(src.loc, "sparks", 60, 1)
|
||||
src.locked = 0
|
||||
src.broken = 1
|
||||
user << "<span class='notice'>You unlock \the [src].</span>"
|
||||
add_fingerprint(user)
|
||||
|
||||
@@ -287,15 +305,14 @@
|
||||
if(!broken && !opened && prob(50/severity))
|
||||
if(!locked)
|
||||
src.locked = 1
|
||||
overlays.Cut()
|
||||
overlays += redlight
|
||||
update_icon()
|
||||
else
|
||||
overlays.Cut()
|
||||
overlays += emag
|
||||
src.locked = 0
|
||||
src.broken = 1
|
||||
update_icon()
|
||||
overlays += sparks
|
||||
spawn(6) overlays -= sparks //Tried lots of stuff but nothing works right. so i have to use this *sadface*
|
||||
playsound(src.loc, 'sound/effects/sparks4.ogg', 75, 1)
|
||||
src.locked = 0
|
||||
if(!opened && prob(20/severity))
|
||||
if(!locked)
|
||||
open()
|
||||
|
||||
@@ -4,13 +4,38 @@
|
||||
icon = 'icons/obj/crates.dmi'
|
||||
icon_state = "densecrate"
|
||||
density = 1
|
||||
var/obj/item/weapon/paper/manifest/manifest
|
||||
|
||||
/obj/structure/largecrate/New()
|
||||
..()
|
||||
update_icon()
|
||||
|
||||
/obj/structure/largecrate/update_icon()
|
||||
..()
|
||||
overlays.Cut()
|
||||
if(manifest)
|
||||
overlays += "manifest"
|
||||
|
||||
/obj/structure/largecrate/attack_hand(mob/user as mob)
|
||||
user << "<span class='warning'>You need a crowbar to pry this open!</span>"
|
||||
return
|
||||
if(manifest)
|
||||
user << "<span class='notice'>You tear the manifest off of the crate.</span>"
|
||||
playsound(src.loc, 'sound/items/poster_ripped.ogg', 75, 1)
|
||||
manifest.loc = loc
|
||||
if(ishuman(user))
|
||||
user.put_in_hands(manifest)
|
||||
manifest = null
|
||||
update_icon()
|
||||
return
|
||||
else
|
||||
user << "<span class='warning'>You need a crowbar to pry this open!</span>"
|
||||
return
|
||||
|
||||
/obj/structure/largecrate/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
|
||||
if(istype(W, /obj/item/weapon/crowbar))
|
||||
if(manifest)
|
||||
manifest.loc = loc
|
||||
manifest = null
|
||||
update_icon()
|
||||
new /obj/item/stack/sheet/mineral/wood(src)
|
||||
var/turf/T = get_turf(src)
|
||||
for(var/obj/O in contents)
|
||||
@@ -18,6 +43,7 @@
|
||||
user.visible_message("[user] pries \the [src] open.", \
|
||||
"<span class='notice'>You pry open \the [src].</span>", \
|
||||
"<span class='italics'>You hear splitting wood.</span>")
|
||||
playsound(src.loc, 'sound/items/Deconstruct.ogg', 75, 1)
|
||||
qdel(src)
|
||||
else
|
||||
return attack_hand(user)
|
||||
|
||||
Reference in New Issue
Block a user