New Content Update (#43)
* New Content Update * readded shuttle autocall
This commit is contained in:
committed by
TalkingCactus
parent
8a9bbcf97d
commit
24c10b1b7f
@@ -95,6 +95,13 @@
|
||||
if(colour)
|
||||
color = colour
|
||||
|
||||
/obj/effect/overlay/temp/kinetic_blast
|
||||
name = "kinetic explosion"
|
||||
icon = 'icons/obj/projectiles.dmi'
|
||||
icon_state = "kinetic_blast"
|
||||
layer = ABOVE_ALL_MOB_LAYER
|
||||
duration = 4
|
||||
|
||||
/obj/effect/overlay/temp/explosion
|
||||
name = "explosion"
|
||||
icon = 'icons/effects/96x96.dmi'
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
var/list/runes = list("rune1","rune2","rune3","rune4","rune5","rune6")
|
||||
var/list/randoms = list(RANDOM_ANY, RANDOM_RUNE, RANDOM_ORIENTED,
|
||||
RANDOM_NUMBER, RANDOM_GRAFFITI, RANDOM_LETTER)
|
||||
var/list/graffiti_large_h = list("yiffhell", "secborg", "paint")
|
||||
var/list/graffiti_large_h = list("yiffhell", "secborg", "paint", "madworld1", "madworld2")
|
||||
|
||||
var/list/all_drawables
|
||||
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
/obj/item/device/boobytrap
|
||||
name = "booby trap"
|
||||
desc = null //Different examine for traitors
|
||||
item_state = "electronic"
|
||||
icon_state = "boobytrap"
|
||||
w_class = 1
|
||||
throw_range = 4
|
||||
throw_speed = 1
|
||||
flags = NOBLUDGEON
|
||||
force = 3
|
||||
attack_verb = list("trapped", "rused", "tricked")
|
||||
materials = list(MAT_METAL=50, MAT_GLASS=30)
|
||||
origin_tech = "syndicate=1;combat=3;engineering=3"
|
||||
|
||||
/obj/item/device/boobytrap/proc/blow()
|
||||
explosion(src.loc,0,0,2,4,flame_range = 4)
|
||||
qdel(src)
|
||||
|
||||
/obj/item/device/boobytrap/examine(mob/user)
|
||||
..()
|
||||
if(user.mind in ticker.mode.traitors) //No nuke ops because the device is excluded from nuclear
|
||||
user << "A small device used to rig lockers and boxes with an explosive surprise. \
|
||||
To use, simply attach it to a box or a locker."
|
||||
else
|
||||
user << "A suspicious array of delicate wires and parts."
|
||||
@@ -187,6 +187,22 @@
|
||||
else
|
||||
return ..()
|
||||
|
||||
/obj/item/weapon/twohanded/attackby(obj/item/weapon/W, mob/living/user, params)
|
||||
if(istype(W, /obj/item/weapon/melee/energy/sword/saber))
|
||||
switch(alert(user, "You feel like the sword might be a bit more dangerous to yourself than to others if you do this.", "Combine?", "Proceed", "Abort"))
|
||||
if("Abort" || !in_range(src, user) || !src || !W || user.incapacitated())
|
||||
return
|
||||
user << "<span class='notice'>You attach the energy sword to the double \
|
||||
bladed energy sword, making a single triple-bladed weapon! \
|
||||
You're a genius!</span>"
|
||||
var/obj/item/weapon/trisword/newSaber = new(user.loc)
|
||||
user.unEquip(W)
|
||||
user.unEquip(src)
|
||||
qdel(W)
|
||||
qdel(src)
|
||||
user.put_in_hands(newSaber)
|
||||
return
|
||||
|
||||
/obj/item/weapon/melee/energy/sword/pirate
|
||||
name = "energy cutlass"
|
||||
desc = "Arrrr matey."
|
||||
@@ -221,3 +237,67 @@
|
||||
|
||||
/obj/item/weapon/melee/energy/blade/attack_self(mob/user)
|
||||
return
|
||||
|
||||
/* Triple Esword! [joke weapon] */
|
||||
/obj/item/weapon/trisword
|
||||
name = "triple-bladed energy sword"
|
||||
desc = "Wow, an energy sword with THREE blades! This must be a REALLY good weapon."
|
||||
force = 3
|
||||
throwforce = 5
|
||||
w_class = 2
|
||||
icon_state = "trisaber_off"
|
||||
item_state = "sword0"
|
||||
var/progress = 0
|
||||
var/on = 0
|
||||
|
||||
/obj/item/weapon/trisword/attack_self(mob/living/carbon/user)
|
||||
if(on || progress > 5)
|
||||
return
|
||||
if(progress == 0)
|
||||
user << "<span class='notice'>You extend the... Hey, wait a second, how do you turn this thing on?</span>"
|
||||
progress = 1
|
||||
return
|
||||
if(progress == 1)
|
||||
user << "<span class='notice'>No, seriously, what the fuck? Does this thing even have a button on it?</span>"
|
||||
progress = 2
|
||||
return
|
||||
if(progress == 2)
|
||||
user << "<span class='danger'>Okay, you're getting sick of this. You mash random panels on [src], trying to find a way to activate it.</span>"
|
||||
progress = 3
|
||||
return
|
||||
if(progress == 3)
|
||||
user << "<span class='danger'>God dammit, how the fuck do you turn this shit on?</span>"
|
||||
progress = 4
|
||||
return
|
||||
if(progress == 4)
|
||||
user << "<span class='notice'>You find what feels like a button on [src]! Now you just need to press it.</span>"
|
||||
progress = 5
|
||||
return
|
||||
if(progress == 5)
|
||||
user << "<span class='userdanger'>The third blade on [src] extends straight into your gut! God fucking dammit.</span>"
|
||||
playsound(user, 'sound/weapons/saberon.ogg', 35, 1)
|
||||
playsound(user, 'sound/weapons/blade1.ogg', 35, 1)
|
||||
on = 1
|
||||
icon_state = "trisaber"
|
||||
if(!remove_item_from_storage(user))
|
||||
user.unEquip(src)
|
||||
user.adjustBruteLoss(110)
|
||||
|
||||
/obj/item/weapon/trisword/dropped()
|
||||
..()
|
||||
if(!on)
|
||||
progress = 0
|
||||
|
||||
/obj/item/weapon/trisword/attack_hand(mob/living/carbon/user)
|
||||
if(on)
|
||||
user << "<span class='userdanger'>You try to pick up [src], but accidentally grab one of the blades, and quickly drop the whole thing out of pain.</span>"
|
||||
user.adjustBruteLoss(15)
|
||||
playsound(user, 'sound/weapons/blade1.ogg', 35, 1)
|
||||
else
|
||||
..()
|
||||
|
||||
/obj/item/weapon/trisword/attack_tk(mob/living/carbon/user)
|
||||
user << "<span class='danger'>You try to comprehend \the [src].</span>"
|
||||
user << "<span class='userdanger'>Your head hurts.</span>"
|
||||
user.adjustBrainLoss(50)
|
||||
user.confused += 15
|
||||
@@ -182,7 +182,10 @@
|
||||
/obj/item/weapon/reagent_containers/pill,
|
||||
/obj/item/weapon/storage/pill_bottle,
|
||||
/obj/item/weapon/ore,
|
||||
/obj/item/weapon/reagent_containers/food/drinks
|
||||
/obj/item/weapon/reagent_containers/food/drinks,
|
||||
/obj/item/organ/hivelord_core,
|
||||
/obj/item/device/wormhole_jaunter
|
||||
|
||||
)
|
||||
|
||||
|
||||
|
||||
@@ -27,7 +27,100 @@
|
||||
item_state = "syringe_kit"
|
||||
burn_state = FLAMMABLE
|
||||
var/foldable = /obj/item/stack/sheet/cardboard
|
||||
var/obj/item/device/boobytrap/trap = null
|
||||
|
||||
/obj/item/weapon/storage/box/examine(mob/user)
|
||||
..()
|
||||
|
||||
if(trap && in_range(user, src))
|
||||
user << "<span class='warning'>Something seems to be wired to the inside of the box!</span>"
|
||||
return
|
||||
|
||||
|
||||
/obj/item/weapon/storage/box/attackby(obj/item/C, mob/user, params)
|
||||
|
||||
if(!istype(C, /obj/item/device/boobytrap) && trap && !istype(C, /obj/item/weapon/wirecutters))
|
||||
visible_message("<span class='warning'>[src] blows up in a spray of deadly shrapnel!</span>")
|
||||
trap.loc = get_turf(src)
|
||||
trap.blow()
|
||||
trap = null
|
||||
for(var/mob/living/carbon/human/H in orange(2,src))
|
||||
H.Paralyse(8)
|
||||
H.adjust_fire_stacks(1)
|
||||
H.IgniteMob()
|
||||
qdel(src)
|
||||
|
||||
if(istype(C, /obj/item/device/boobytrap))
|
||||
if(trap)
|
||||
user << "<span class='warning'>There's already a booby trap hooked up to this box!</span>"
|
||||
return
|
||||
user << "<span class='warning'>You apply [C]. Next time someone opens the box, it will explode.</span>"
|
||||
C.loc = src
|
||||
trap = C
|
||||
qdel(C)
|
||||
user.drop_item()
|
||||
|
||||
if(istype(C, /obj/item/weapon/wirecutters) && trap)
|
||||
user << "<span class='notice'>You begin attempting to disarm the booby trap...</span>"
|
||||
visible_message("<span class='warning'>[user] begins attempting to disarm the booby trap.</span>")
|
||||
if(do_after(user, 80, target = src))
|
||||
if(prob(75))
|
||||
user << "<span class='notice'>You disarm the booby trap, destroying it in the process.</span>"
|
||||
visible_message("<span class='notice'>[user] disarms the booby trap!</span>")
|
||||
trap = null
|
||||
|
||||
else
|
||||
user << "<span class='warning'>You accidentally bump the sensor and set off the booby trap!</span>"
|
||||
visible_message("<span class='warning'>[user] fails to disarm the booby trap!</span>")
|
||||
visible_message("<span class='warning'>[src] blows up in a spray of deadly shrapnel!</span>")
|
||||
trap.loc = get_turf(src)
|
||||
trap.blow()
|
||||
trap = null
|
||||
for(var/mob/living/carbon/human/H in orange(2,src))
|
||||
H.Paralyse(8)
|
||||
H.adjust_fire_stacks(1)
|
||||
H.IgniteMob()
|
||||
qdel(src)
|
||||
else
|
||||
..()
|
||||
|
||||
/obj/item/weapon/storage/box/MouseDrop(atom/over_object)
|
||||
if(iscarbon(usr) || isdrone(usr))
|
||||
var/mob/M = usr
|
||||
|
||||
if(!over_object)
|
||||
return
|
||||
|
||||
if (istype(usr.loc,/obj/mecha)) // stops inventory actions in a mech
|
||||
return
|
||||
|
||||
if(over_object == M && Adjacent(M))
|
||||
if(trap)
|
||||
visible_message("<span class='warning'>[src] blows up in a spray of deadly shrapnel!</span>")
|
||||
trap.loc = get_turf(src)
|
||||
trap.blow()
|
||||
trap = null
|
||||
for(var/mob/living/carbon/human/H in orange(2,src))
|
||||
H.Paralyse(8)
|
||||
H.adjust_fire_stacks(1)
|
||||
H.IgniteMob()
|
||||
qdel(src)
|
||||
..()
|
||||
|
||||
/obj/item/weapon/storage/box/attack_hand(mob/user)
|
||||
..()
|
||||
|
||||
if(trap)
|
||||
visible_message("<span class='warning'>[src] blows up in a spray of deadly shrapnel!</span>")
|
||||
trap.loc = get_turf(src)
|
||||
trap.blow()
|
||||
trap = null
|
||||
for(var/mob/living/carbon/human/H in orange(2,src))
|
||||
H.Paralyse(8)
|
||||
H.adjust_fire_stacks(1)
|
||||
H.IgniteMob()
|
||||
qdel(src)
|
||||
return ..()
|
||||
|
||||
/obj/item/weapon/storage/box/attack_self(mob/user)
|
||||
..()
|
||||
|
||||
@@ -374,8 +374,8 @@
|
||||
|
||||
if(!can_be_inserted(W, 0 , user))
|
||||
return
|
||||
|
||||
handle_item_insertion(W, 0 , user)
|
||||
if(!istype(W, /obj/item/device/boobytrap))
|
||||
handle_item_insertion(W, 0 , user)
|
||||
|
||||
|
||||
/obj/item/weapon/storage/attack_hand(mob/user)
|
||||
|
||||
@@ -283,3 +283,8 @@
|
||||
for(var/i in 1 to 3)
|
||||
new/obj/item/cardboard_cutout/adaptive(src)
|
||||
new/obj/item/toy/crayon/rainbow(src)
|
||||
|
||||
/obj/item/weapon/storage/box/syndie_kit/thermite/New()
|
||||
..()
|
||||
new /obj/item/weapon/reagent_containers/spray/thermite(src)
|
||||
new /obj/item/weapon/lighter(src)
|
||||
|
||||
@@ -83,13 +83,6 @@
|
||||
user.put_in_inactive_hand(O)
|
||||
return
|
||||
|
||||
/obj/item/weapon/twohanded/mob_can_equip(mob/M, slot)
|
||||
//Cannot equip wielded items.
|
||||
if(wielded)
|
||||
M << "<span class='warning'>Unwield the [name] first!</span>"
|
||||
return 0
|
||||
return ..()
|
||||
|
||||
/obj/item/weapon/twohanded/dropped(mob/user)
|
||||
..()
|
||||
//handles unwielding a twohanded weapon when dropped as well as clearing up the offhand
|
||||
@@ -109,6 +102,11 @@
|
||||
else //Trying to wield it
|
||||
wield(user)
|
||||
|
||||
/obj/item/weapon/twohanded/equip_to_best_slot(mob/M)
|
||||
if(..())
|
||||
unwield(M)
|
||||
return
|
||||
|
||||
///////////OFFHAND///////////////
|
||||
/obj/item/weapon/twohanded/offhand
|
||||
name = "offhand"
|
||||
@@ -131,7 +129,7 @@
|
||||
return
|
||||
|
||||
/obj/item/weapon/twohanded/required/mob_can_equip(mob/M, slot)
|
||||
if(wielded)
|
||||
if(wielded && !slot_flags)
|
||||
M << "<span class='warning'>\The [src] is too cumbersome to carry with anything but your hands!</span>"
|
||||
return 0
|
||||
return ..()
|
||||
@@ -143,9 +141,17 @@
|
||||
if(H != null)
|
||||
user << "<span class='notice'>\The [src] is too cumbersome to carry in one hand!</span>"
|
||||
return
|
||||
wield(user)
|
||||
if(src.loc != user)
|
||||
wield(user)
|
||||
..()
|
||||
|
||||
/obj/item/weapon/twohanded/required/equipped(mob/user, slot)
|
||||
..()
|
||||
if(slot == slot_l_hand || slot == slot_r_hand)
|
||||
wield(user)
|
||||
else
|
||||
unwield(user)
|
||||
|
||||
|
||||
/obj/item/weapon/twohanded/
|
||||
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
var/close_sound = 'sound/machines/click.ogg'
|
||||
var/cutting_sound = 'sound/items/Welder.ogg'
|
||||
var/material_drop = /obj/item/stack/sheet/metal
|
||||
var/obj/item/device/boobytrap/trap = null
|
||||
|
||||
/obj/structure/closet/New()
|
||||
..()
|
||||
@@ -73,6 +74,8 @@
|
||||
user << "<span class='notice'>It appears to be broken.</span>"
|
||||
else if(secure && !opened)
|
||||
user << "<span class='notice'>Alt-click to [locked ? "unlock" : "lock"].</span>"
|
||||
if(trap && in_range(user, src))
|
||||
user << "<span class='warning'>Something seems to be wired to the inside of the closet!</span>"
|
||||
|
||||
/obj/structure/closet/alter_health()
|
||||
return get_turf(src)
|
||||
@@ -130,6 +133,17 @@
|
||||
climb_time *= 0.5 //it's faster to climb onto an open thing
|
||||
dump_contents()
|
||||
update_icon()
|
||||
if(trap)
|
||||
visible_message("<span class='warning'>[src] blows up in a spray of deadly shrapnel!</span>")
|
||||
trap.loc = get_turf(src)
|
||||
trap.blow()
|
||||
trap = null
|
||||
for(var/mob/living/carbon/human/H in orange(2,src))
|
||||
H.Paralyse(8)
|
||||
H.adjust_fire_stacks(1)
|
||||
H.IgniteMob()
|
||||
qdel(src)
|
||||
return ..()
|
||||
return 1
|
||||
|
||||
/obj/structure/closet/proc/insert(atom/movable/AM)
|
||||
@@ -213,9 +227,20 @@
|
||||
qdel(src)
|
||||
|
||||
/obj/structure/closet/attackby(obj/item/weapon/W, mob/user, params)
|
||||
|
||||
if(user in src)
|
||||
return
|
||||
if(opened)
|
||||
if(istype(W, /obj/item/device/boobytrap))
|
||||
if(trap)
|
||||
user << "<span class='warning'>There's already a booby trap hooked up to this closet!</span>"
|
||||
..()
|
||||
user << "<span class='warning'>You apply [W]. Next time someone opens the closet, it will explode.</span>"
|
||||
W.loc = src
|
||||
trap = W
|
||||
qdel(W)
|
||||
..()
|
||||
|
||||
if(istype(W, cutting_tool))
|
||||
if(istype(W, /obj/item/weapon/weldingtool))
|
||||
var/obj/item/weapon/weldingtool/WT = W
|
||||
@@ -237,6 +262,10 @@
|
||||
else if(user.drop_item())
|
||||
W.forceMove(loc)
|
||||
return 1
|
||||
if(!opened && istype(W, /obj/item/device/boobytrap))
|
||||
user << "<span class='warning'>You must open the closet first!</span>"
|
||||
..()
|
||||
|
||||
else if(istype(W, /obj/item/weapon/weldingtool) && can_weld_shut)
|
||||
var/obj/item/weapon/weldingtool/WT = W
|
||||
if(!WT.remove_fuel(0, user))
|
||||
@@ -252,10 +281,33 @@
|
||||
"<span class='notice'>You [welded ? "weld" : "unwelded"] \the [src] with \the [WT].</span>",
|
||||
"<span class='italics'>You hear welding.</span>")
|
||||
update_icon()
|
||||
else if(istype(W, /obj/item/weapon/wirecutters) && !opened && trap)
|
||||
user << "<span class='notice'>You begin attempting to disarm the booby trap...</span>"
|
||||
visible_message("<span class='warning'>[user] begins attempting to disarm the booby trap.</span>")
|
||||
if(do_after(user, 80, target = src))
|
||||
if(prob(75))
|
||||
user << "<span class='notice'>You disarm the booby trap, destroying it in the process.</span>"
|
||||
visible_message("<span class='notice'>[user] disarms the booby trap!</span>")
|
||||
trap = null
|
||||
|
||||
else
|
||||
user << "<span class='warning'>You accidentally bump the sensor and set off the booby trap!</span>"
|
||||
visible_message("<span class='warning'>[user] fails to disarm the booby trap!</span>")
|
||||
visible_message("<span class='warning'>[src] blows up in a spray of deadly shrapnel!</span>")
|
||||
trap.loc = get_turf(src)
|
||||
trap.blow()
|
||||
trap = null
|
||||
for(var/mob/living/carbon/human/H in orange(2,src))
|
||||
H.Paralyse(8)
|
||||
H.adjust_fire_stacks(1)
|
||||
H.IgniteMob()
|
||||
qdel(src)
|
||||
|
||||
else if(user.a_intent != "harm" && !(W.flags & NOBLUDGEON))
|
||||
if(W.GetID() || !toggle(user))
|
||||
togglelock(user)
|
||||
return 1
|
||||
|
||||
else
|
||||
return ..()
|
||||
|
||||
|
||||
@@ -103,16 +103,19 @@
|
||||
else
|
||||
return ..()
|
||||
|
||||
|
||||
|
||||
/obj/structure/urinal
|
||||
name = "urinal"
|
||||
desc = "The HU-452, an experimental urinal."
|
||||
desc = "The HU-452, an experimental urinal. Comes complete with experimental urinal cake."
|
||||
icon = 'icons/obj/watercloset.dmi'
|
||||
icon_state = "urinal"
|
||||
density = 0
|
||||
anchored = 1
|
||||
var/exposed = 0 // can you currently put an item inside
|
||||
var/obj/item/hiddenitem = null // what's in the urinal
|
||||
|
||||
/obj/structure/urinal/New()
|
||||
..()
|
||||
hiddenitem = new /obj/item/weapon/reagent_containers/food/urinalcake
|
||||
|
||||
/obj/structure/urinal/attack_hand(mob/user)
|
||||
if(user.pulling && user.a_intent == "grab" && isliving(user.pulling))
|
||||
@@ -126,9 +129,50 @@
|
||||
GM.adjustBruteLoss(8)
|
||||
else
|
||||
user << "<span class='warning'>You need a tighter grip!</span>"
|
||||
|
||||
else if(exposed)
|
||||
if(!hiddenitem)
|
||||
user << "<span class='notice'>There is nothing in the drain holder.</span>"
|
||||
else
|
||||
if(ishuman(user))
|
||||
user.put_in_hands(hiddenitem)
|
||||
else
|
||||
hiddenitem.forceMove(get_turf(src))
|
||||
user << "<span class='notice'>You fish [hiddenitem] out of the drain enclosure.</span>"
|
||||
src.hiddenitem = null
|
||||
else
|
||||
..()
|
||||
|
||||
/obj/structure/urinal/attackby(obj/item/I, mob/living/user, params)
|
||||
if(istype(I, /obj/item/weapon/screwdriver))
|
||||
user << "<span class='notice'>You start to [exposed ? "screw the cap back into place" : "unscrew the cap to the drain protector"]...</span>"
|
||||
playsound(loc, 'sound/effects/stonedoor_openclose.ogg', 50, 1)
|
||||
if(do_after(user, 20/I.toolspeed, target = src))
|
||||
user.visible_message("[user] [exposed ? "screws the cap back into place" : "unscrew the cap to the drain protector"]!", "<span class='notice'>You [exposed ? "screw the cap back into place" : "unscrew the cap on the drain"]!</span>", "<span class='italics'>You hear metal and squishing noises.</span>")
|
||||
exposed = !exposed
|
||||
else if(exposed)
|
||||
if (hiddenitem)
|
||||
user << "<span class='warning'>There is already something in the drain enclosure.</span>"
|
||||
return
|
||||
if(I.w_class > 1)
|
||||
user << "<span class='warning'>[I] is too large for the drain enclosure.</span>"
|
||||
return
|
||||
if(!user.drop_item())
|
||||
user << "<span class='warning'>\[I] is stuck to your hand, you cannot put it in the drain enclosure!</span>"
|
||||
return
|
||||
I.forceMove(src)
|
||||
hiddenitem = I
|
||||
user << "<span class='notice'>You place [I] into the drain enclosure.</span>"
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/urinalcake
|
||||
name = "urinal cake"
|
||||
desc = "The noble urinal cake, protecting the station's pipes from the station's pee. Do not eat."
|
||||
icon = 'icons/obj/items.dmi'
|
||||
icon_state = "urinalcake"
|
||||
w_class = 1
|
||||
list_reagents = list("chlorine" = 3, "ammonia" = 1)
|
||||
|
||||
/obj/machinery/shower
|
||||
name = "shower"
|
||||
desc = "The HS-451. Installed in the 2550s by the Nanotrasen Hygiene Division."
|
||||
@@ -376,7 +420,7 @@
|
||||
var/washing_face = 0
|
||||
if(selected_area in list("head", "mouth", "eyes"))
|
||||
washing_face = 1
|
||||
user.visible_message("<span class='notice'>[user] start washing their [washing_face ? "face" : "hands"]...</span>", \
|
||||
user.visible_message("<span class='notice'>[user] starts washing their [washing_face ? "face" : "hands"]...</span>", \
|
||||
"<span class='notice'>You start washing your [washing_face ? "face" : "hands"]...</span>")
|
||||
busy = 1
|
||||
|
||||
@@ -478,3 +522,44 @@
|
||||
icon_state = "puddle-splash"
|
||||
. = ..()
|
||||
icon_state = "puddle"
|
||||
|
||||
|
||||
//Shower Curtains//
|
||||
//Defines used are pre-existing in layers.dm//
|
||||
|
||||
|
||||
/obj/structure/curtain
|
||||
name = "curtain"
|
||||
desc = "Contains less than 1% mercury."
|
||||
icon = 'icons/obj/watercloset.dmi'
|
||||
icon_state = "open"
|
||||
color = "#ACD1E9" //Default color, didn't bother hardcoding other colors, mappers can and should easily change it.
|
||||
alpha = 200 //Mappers can also just set this to 255 if they want curtains that can't be seen through
|
||||
layer = WALL_OBJ_LAYER
|
||||
anchored = 1
|
||||
opacity = 0
|
||||
density = 0
|
||||
var/open = TRUE
|
||||
|
||||
|
||||
/obj/structure/curtain/proc/toggle()
|
||||
open = !open
|
||||
update_icon()
|
||||
|
||||
/obj/structure/curtain/update_icon()
|
||||
if(!open)
|
||||
icon_state = "closed"
|
||||
layer = WALL_OBJ_LAYER
|
||||
density = 1
|
||||
open = FALSE
|
||||
|
||||
else
|
||||
icon_state = "open"
|
||||
layer = SIGN_LAYER
|
||||
density = 0
|
||||
open = TRUE
|
||||
|
||||
/obj/structure/curtain/attack_hand(mob/user)
|
||||
playsound(loc, 'sound/effects/curtain.ogg', 50, 1)
|
||||
toggle()
|
||||
..()
|
||||
|
||||
Reference in New Issue
Block a user