mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-21 12:02:31 +01:00
Merge branch 'master' into placeholder
# Conflicts: # icons/obj/furniture.dmi
This commit is contained in:
@@ -132,9 +132,9 @@
|
||||
dump_contents()
|
||||
|
||||
icon_state = icon_opened
|
||||
opened = 1
|
||||
opened = TRUE
|
||||
playsound(loc, open_sound, 25, 0, -3)
|
||||
density = 0
|
||||
density = FALSE
|
||||
return 1
|
||||
|
||||
/obj/structure/closet/proc/close()
|
||||
@@ -153,7 +153,7 @@
|
||||
stored_units += store_mobs(stored_units)
|
||||
|
||||
icon_state = icon_closed
|
||||
opened = 0
|
||||
opened = FALSE
|
||||
if(linked_teleporter)
|
||||
if(linked_teleporter.last_use + 600 > world.time)
|
||||
return
|
||||
@@ -162,7 +162,7 @@
|
||||
linked_teleporter.last_use = world.time
|
||||
|
||||
playsound(get_turf(src), close_sound, 25, 0, -3)
|
||||
density = TRUE
|
||||
density = initial(density)
|
||||
return TRUE
|
||||
|
||||
//Cham Projector Exception
|
||||
|
||||
@@ -52,6 +52,8 @@
|
||||
icon_closed = "red"
|
||||
|
||||
/obj/structure/closet/lasertag/red/fill()
|
||||
new /obj/item/clothing/ears/earmuffs(src)
|
||||
new /obj/item/clothing/ears/earmuffs(src)
|
||||
new /obj/item/gun/energy/lasertag/red(src)
|
||||
new /obj/item/gun/energy/lasertag/red(src)
|
||||
new /obj/item/clothing/suit/redtag(src)
|
||||
@@ -65,7 +67,9 @@
|
||||
icon_closed = "blue"
|
||||
|
||||
/obj/structure/closet/lasertag/blue/fill()
|
||||
new /obj/item/clothing/ears/earmuffs(src)
|
||||
new /obj/item/clothing/ears/earmuffs(src)
|
||||
new /obj/item/gun/energy/lasertag/blue(src)
|
||||
new /obj/item/gun/energy/lasertag/blue(src)
|
||||
new /obj/item/clothing/suit/bluetag(src)
|
||||
new /obj/item/clothing/suit/bluetag(src)
|
||||
new /obj/item/clothing/suit/bluetag(src)
|
||||
@@ -9,30 +9,24 @@
|
||||
icon_off = "capsecureoff"
|
||||
|
||||
/obj/structure/closet/secure_closet/captains/fill()
|
||||
//Appearance
|
||||
// Backpack
|
||||
if(prob(50))
|
||||
new /obj/item/storage/backpack/captain(src)
|
||||
else
|
||||
new /obj/item/storage/backpack/satchel_cap(src)
|
||||
new /obj/item/clothing/suit/captunic(src)
|
||||
new /obj/item/clothing/suit/captunic/capjacket(src)
|
||||
new /obj/item/clothing/head/caphat/cap(src)
|
||||
new /obj/item/clothing/head/bandana/captain(src)
|
||||
new /obj/item/clothing/under/rank/captain(src)
|
||||
new /obj/item/clothing/suit/storage/vest(src)
|
||||
new /obj/item/clothing/gloves/captain(src)
|
||||
// Armor
|
||||
new /obj/item/clothing/head/helmet(src)
|
||||
new /obj/item/clothing/shoes/brown(src)
|
||||
new /obj/item/clothing/under/dress/dress_cap(src)
|
||||
new /obj/item/clothing/head/caphat/formal(src)
|
||||
new /obj/item/clothing/under/captainformal(src)
|
||||
new /obj/item/clothing/suit/storage/vest(src)
|
||||
//Tools
|
||||
new /obj/item/device/radio/headset/heads/captain(src)
|
||||
new /obj/item/device/radio/headset/heads/captain/alt(src)
|
||||
new /obj/item/gun/energy/disruptorpistol(src)
|
||||
new /obj/item/device/flash(src)
|
||||
new /obj/item/melee/telebaton(src)
|
||||
// acting captain briefcase
|
||||
// uniform briefcases
|
||||
new /obj/item/storage/briefcase/nt/captain(src)
|
||||
new /obj/item/storage/briefcase/nt/captain_white(src)
|
||||
new /obj/item/storage/briefcase/nt/captain_formal(src)
|
||||
new /obj/item/storage/briefcase/nt/acap(src)
|
||||
|
||||
/obj/structure/closet/secure_closet/captains2
|
||||
|
||||
@@ -6,40 +6,25 @@
|
||||
name = "Wall Locker"
|
||||
icon = 'icons/obj/walllocker.dmi'
|
||||
icon_state = "wall-locker"
|
||||
density = 0
|
||||
anchored = 1
|
||||
density = FALSE
|
||||
anchored = TRUE
|
||||
store_mobs = FALSE
|
||||
icon_closed = "wall-locker"
|
||||
icon_opened = "wall-lockeropen"
|
||||
|
||||
//spawns endless (3 sets) amounts of breathmask, emergency oxy tank and crowbar
|
||||
|
||||
/obj/structure/closet/walllocker/emerglocker
|
||||
name = "emergency locker"
|
||||
desc = "A wall mounted locker with emergency supplies."
|
||||
var/list/spawnitems = list(/obj/item/tank/emergency_oxygen,/obj/item/clothing/mask/breath)
|
||||
var/amount = 2 // spawns each items X times.
|
||||
icon_state = "emerg"
|
||||
icon_closed = "emerg"
|
||||
icon_opened = "emerg-open"
|
||||
|
||||
/obj/structure/closet/walllocker/emerglocker/toggle(mob/user as mob)
|
||||
attack_hand(user)
|
||||
return
|
||||
|
||||
/obj/structure/closet/walllocker/emerglocker/attackby(obj/item/W as obj, mob/user as mob)
|
||||
return
|
||||
|
||||
/obj/structure/closet/walllocker/emerglocker/attack_hand(mob/user as mob)
|
||||
if (istype(user, /mob/living/silicon/ai)) //Added by Strumpetplaya - AI shouldn't be able to
|
||||
return //activate emergency lockers. This fixes that. (Does this make sense, the AI can't call attack_hand, can it? --Mloc)
|
||||
if(!amount)
|
||||
to_chat(usr, "<spawn class='notice'>It's empty..")
|
||||
return
|
||||
if(amount)
|
||||
to_chat(usr, "<spawn class='notice'>You take out some items from \the [src].")
|
||||
for(var/path in spawnitems)
|
||||
new path(loc)
|
||||
amount--
|
||||
return
|
||||
/obj/structure/closet/walllocker/emerglocker/fill()
|
||||
for(var/i = 1 to 3)
|
||||
new /obj/item/tank/emergency_oxygen(src)
|
||||
new /obj/item/clothing/mask/breath(src)
|
||||
if(prob(20))
|
||||
new /obj/item/reagent_containers/hypospray/autoinjector/emergency(src)
|
||||
|
||||
/obj/structure/closet/walllocker/emerglocker/north
|
||||
pixel_y = 32
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
return TRUE
|
||||
if(ishuman(mover))
|
||||
var/mob/living/carbon/human/H = mover
|
||||
if(H.mind.changeling)
|
||||
if(H.mind.antag_datums[MODE_CHANGELING])
|
||||
return TRUE
|
||||
|
||||
/obj/structure/gore/tendrils/Destroy()
|
||||
|
||||
@@ -10,11 +10,13 @@
|
||||
var/list/ui_users = list()
|
||||
|
||||
/obj/structure/mirror/attack_hand(mob/user as mob)
|
||||
if(shattered)
|
||||
return
|
||||
|
||||
if(shattered) return
|
||||
|
||||
if(user.mind && user.mind.vampire && (!(user.mind.vampire.status & VAMP_ISTHRALL)))
|
||||
to_chat(user, "<span class='notice'>Your reflection appears distorted on the surface of \the [src].</span>")
|
||||
if(user.mind)
|
||||
var/datum/vampire/vampire = user.mind.antag_datums[MODE_VAMPIRE]
|
||||
if(vampire && !(vampire.status & VAMP_ISTHRALL))
|
||||
to_chat(user, "<span class='notice'>Your reflection appears distorted on the surface of \the [src].</span>")
|
||||
|
||||
if(ishuman(user))
|
||||
var/datum/nano_module/appearance_changer/AC = ui_users[user]
|
||||
@@ -82,9 +84,10 @@
|
||||
var/list/ui_users = list()
|
||||
|
||||
/obj/item/mirror/attack_self(mob/user as mob)
|
||||
|
||||
if(user.mind && user.mind.vampire && (!(user.mind.vampire.status & VAMP_ISTHRALL)))
|
||||
to_chat(user, "<span class='notice'>Your reflection appears distorted on the surface of \the [src].</span>")
|
||||
if(user.mind)
|
||||
var/datum/vampire/vampire = user.mind.antag_datums[MODE_VAMPIRE]
|
||||
if(vampire && !(vampire.status & VAMP_ISTHRALL))
|
||||
to_chat(user, "<span class='notice'>Your reflection appears distorted on the surface of \the [src].</span>")
|
||||
|
||||
if(ishuman(user))
|
||||
var/datum/nano_module/appearance_changer/AC = ui_users[user]
|
||||
|
||||
@@ -405,7 +405,7 @@
|
||||
name = "crematorium igniter"
|
||||
desc = "Burn baby burn!"
|
||||
icon = 'icons/obj/power.dmi'
|
||||
icon_state = "crema_switch"
|
||||
icon_state = "light0"
|
||||
req_access = list(access_crematorium)
|
||||
id = 1
|
||||
var/cremate_dir // something for mappers, setting will make a crematorium in one step in this direction toggle
|
||||
@@ -414,6 +414,7 @@
|
||||
return
|
||||
|
||||
/obj/machinery/button/crematorium/attack_hand(mob/user)
|
||||
playsound(src, /decl/sound_category/switch_sound, 30)
|
||||
if(!allowed(user))
|
||||
to_chat(user, SPAN_WARNING("Access denied."))
|
||||
return
|
||||
@@ -433,4 +434,4 @@
|
||||
for(var/thing in crematoriums)
|
||||
var/obj/structure/crematorium/C = thing
|
||||
if(!C.cremating)
|
||||
C.cremate(user)
|
||||
C.cremate(user)
|
||||
|
||||
@@ -175,7 +175,7 @@
|
||||
user.do_attack_animation(src)
|
||||
animate_shake()
|
||||
user.visible_message("<span class='danger'>\The [user] forcefully strikes \the [src] with \the [I]!</span>")
|
||||
playsound(src.loc, material.hitsound, 100, 1)
|
||||
playsound(src.loc, material.hitsound, W.get_clamped_volume(), 1)
|
||||
src.health -= W.force * 1
|
||||
CheckHealth()
|
||||
|
||||
@@ -242,4 +242,4 @@
|
||||
|
||||
/obj/structure/simple_door/cult/New(var/newloc, var/material_name)
|
||||
..(newloc, MATERIAL_CULT)
|
||||
color = COLOR_CULT_DOOR // looks better than the standard cult colours
|
||||
color = COLOR_CULT_DOOR // looks better than the standard cult colours
|
||||
|
||||
@@ -24,19 +24,17 @@
|
||||
var/material/padding_material
|
||||
|
||||
var/base_icon = "bed"
|
||||
var/material_alteration = MATERIAL_ALTERATION_ALL
|
||||
var/buckling_sound = 'sound/effects/buckle.ogg'
|
||||
|
||||
var/can_dismantle = TRUE
|
||||
gfi_layer_rotation = GFI_ROTATION_DEFDIR
|
||||
var/apply_material_color = TRUE
|
||||
var/makes_rolling_sound = TRUE
|
||||
var/buckle_sound = 'sound/effects/buckle.ogg'
|
||||
|
||||
slowdown = 5
|
||||
|
||||
/obj/structure/bed/Initialize(mapload, var/new_material, var/new_padding_material)
|
||||
. = ..()
|
||||
/obj/structure/bed/New(newloc, new_material = MATERIAL_STEEL, new_padding_material)
|
||||
..(newloc)
|
||||
color = null
|
||||
if(!new_material)
|
||||
new_material = DEFAULT_WALL_MATERIAL
|
||||
material = SSmaterials.get_material_by_name(new_material)
|
||||
if(!istype(material))
|
||||
qdel(src)
|
||||
@@ -47,41 +45,42 @@
|
||||
|
||||
/obj/structure/bed/buckle_mob(mob/living/M)
|
||||
. = ..()
|
||||
if(. && buckle_sound)
|
||||
playsound(src, buckle_sound, 20)
|
||||
if(. && buckling_sound)
|
||||
playsound(src, buckling_sound, 20)
|
||||
|
||||
// Reuse the cache/code from stools, todo maybe unify.
|
||||
/obj/structure/bed/update_icon()
|
||||
// Prep icon.
|
||||
icon_state = ""
|
||||
cut_overlays()
|
||||
var/list/stool_cache = SSicon_cache.stool_cache
|
||||
// Base icon.
|
||||
var/list/stool_cache = SSicon_cache.stool_cache
|
||||
|
||||
var/cache_key = "[base_icon]-[material.name]"
|
||||
if(!stool_cache[cache_key])
|
||||
var/image/I = image('icons/obj/furniture.dmi', base_icon)
|
||||
if(apply_material_color)
|
||||
if(material_alteration & MATERIAL_ALTERATION_COLOR)
|
||||
I.color = material.icon_colour
|
||||
stool_cache[cache_key] = I
|
||||
add_overlay(stool_cache[cache_key])
|
||||
// Padding overlay.
|
||||
if(padding_material)
|
||||
var/padding_cache_key = "[base_icon]-padding-[padding_material.name]"
|
||||
var/padding_cache_key = "[base_icon]-[padding_material.name]-padding"
|
||||
if(!stool_cache[padding_cache_key])
|
||||
var/image/I = image(icon, "[base_icon]_padding")
|
||||
if(apply_material_color)
|
||||
if(material_alteration & MATERIAL_ALTERATION_COLOR)
|
||||
I.color = padding_material.icon_colour
|
||||
stool_cache[padding_cache_key] = I
|
||||
add_overlay(stool_cache[padding_cache_key])
|
||||
|
||||
// Strings.
|
||||
desc = initial(desc)
|
||||
if(padding_material)
|
||||
name = "[padding_material.display_name] [initial(name)]" //this is not perfect but it will do for now.
|
||||
desc += " It's made of [material.use_name] and covered with [padding_material.use_name]."
|
||||
else
|
||||
name = "[material.display_name] [initial(name)]"
|
||||
desc += " It's made of [material.use_name]."
|
||||
if(material_alteration & MATERIAL_ALTERATION_NAME)
|
||||
name = padding_material ? "[padding_material.adjective_name] [initial(name)]" : "[material.adjective_name] [initial(name)]" //this is not perfect but it will do for now.
|
||||
|
||||
if(material_alteration & MATERIAL_ALTERATION_DESC)
|
||||
desc = initial(desc)
|
||||
desc += padding_material ? " It's made of [material.use_name] and covered with [padding_material.use_name]." : " It's made of [material.use_name]."
|
||||
|
||||
|
||||
/obj/structure/bed/CanPass(atom/movable/mover, turf/target, height=0, air_group=0)
|
||||
if(istype(mover) && mover.checkpass(PASSTABLE))
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
name = "chair"
|
||||
desc = "You sit in this. Either by will or force."
|
||||
icon_state = "chair_preview"
|
||||
color = "#666666"
|
||||
base_icon = "chair"
|
||||
color = "#666666"
|
||||
|
||||
build_amt = 1
|
||||
|
||||
@@ -34,6 +34,7 @@
|
||||
|
||||
/obj/structure/bed/chair/post_buckle_mob()
|
||||
update_icon()
|
||||
return ..()
|
||||
|
||||
/obj/structure/bed/chair/update_icon()
|
||||
..()
|
||||
@@ -41,33 +42,42 @@
|
||||
var/list/stool_cache = SSicon_cache.stool_cache
|
||||
|
||||
var/cache_key = "[base_icon]-[material.name]-over"
|
||||
if(isnull(stool_cache[cache_key]))
|
||||
if(!stool_cache[cache_key])
|
||||
var/image/I = image('icons/obj/furniture.dmi', "[base_icon]_over")
|
||||
if(apply_material_color)
|
||||
if(material_alteration & MATERIAL_ALTERATION_COLOR)
|
||||
I.color = material.icon_colour
|
||||
I.layer = FLY_LAYER
|
||||
stool_cache[cache_key] = I
|
||||
add_overlay(stool_cache[cache_key])
|
||||
// Padding overlay.
|
||||
if(padding_material)
|
||||
var/padding_cache_key = "[base_icon]-padding-[padding_material.name]-over"
|
||||
if(isnull(stool_cache[padding_cache_key]))
|
||||
var/padding_cache_key = "[base_icon]-[padding_material.name]-padding-over"
|
||||
if(!stool_cache[padding_cache_key])
|
||||
var/image/I = image(icon, "[base_icon]_padding_over")
|
||||
if(apply_material_color)
|
||||
if(material_alteration & MATERIAL_ALTERATION_COLOR)
|
||||
I.color = padding_material.icon_colour
|
||||
I.layer = FLY_LAYER
|
||||
stool_cache[padding_cache_key] = I
|
||||
add_overlay(stool_cache[padding_cache_key])
|
||||
|
||||
if(buckled_mob && padding_material)
|
||||
cache_key = "[base_icon]-armrest-[padding_material.name]"
|
||||
if(isnull(stool_cache[cache_key]))
|
||||
if(buckled_mob)
|
||||
cache_key = "[base_icon]-[material.name]-armrest"
|
||||
if(!stool_cache[cache_key])
|
||||
var/image/I = image(icon, "[base_icon]_armrest")
|
||||
I.layer = MOB_LAYER + 0.1
|
||||
if(apply_material_color)
|
||||
I.color = padding_material.icon_colour
|
||||
I.layer = FLY_LAYER
|
||||
if(material_alteration & MATERIAL_ALTERATION_COLOR)
|
||||
I.color = material.icon_colour
|
||||
stool_cache[cache_key] = I
|
||||
add_overlay(stool_cache[cache_key])
|
||||
if(padding_material)
|
||||
cache_key = "[base_icon]-[padding_material.name]-padding-armrest"
|
||||
if(!stool_cache[cache_key])
|
||||
var/image/I = image(icon, "[base_icon]_padding_armrest")
|
||||
I.layer = FLY_LAYER
|
||||
if(material_alteration & MATERIAL_ALTERATION_COLOR)
|
||||
I.color = padding_material.icon_colour
|
||||
stool_cache[cache_key] = I
|
||||
add_overlay(stool_cache[cache_key])
|
||||
|
||||
/obj/structure/bed/chair/set_dir()
|
||||
. = ..()
|
||||
@@ -76,45 +86,46 @@
|
||||
|
||||
// Leaving this in for the sake of compilation.
|
||||
/obj/structure/bed/chair/comfy
|
||||
name = "comfy chair"
|
||||
desc = "It's a chair. It looks comfy."
|
||||
icon_state = "comfychair_preview"
|
||||
base_icon = "comfychair"
|
||||
build_amt = 2
|
||||
|
||||
/obj/structure/bed/chair/comfy/brown/Initialize(mapload,var/newmaterial)
|
||||
. = ..(mapload, MATERIAL_STEEL, MATERIAL_LEATHER)
|
||||
/obj/structure/bed/chair/comfy/brown/New(var/newloc)
|
||||
..(newloc, MATERIAL_STEEL, MATERIAL_LEATHER)
|
||||
|
||||
/obj/structure/bed/chair/comfy/red/Initialize(var/mapload,var/newmaterial)
|
||||
. = ..(mapload, MATERIAL_STEEL, MATERIAL_CARPET)
|
||||
/obj/structure/bed/chair/comfy/red/New(var/newloc)
|
||||
..(newloc, MATERIAL_STEEL, MATERIAL_CARPET)
|
||||
|
||||
/obj/structure/bed/chair/comfy/teal/Initialize(var/mapload,var/newmaterial)
|
||||
. = ..(mapload, MATERIAL_STEEL, MATERIAL_CLOTH_TEAL)
|
||||
/obj/structure/bed/chair/comfy/teal/New(var/newloc)
|
||||
..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH_TEAL)
|
||||
|
||||
/obj/structure/bed/chair/comfy/black/Initialize(var/mapload,var/newmaterial)
|
||||
. = ..(mapload, MATERIAL_STEEL, MATERIAL_CLOTH_BLACK)
|
||||
/obj/structure/bed/chair/comfy/black/New(var/newloc)
|
||||
..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH_BLACK)
|
||||
|
||||
/obj/structure/bed/chair/comfy/green/Initialize(var/mapload,var/newmaterial)
|
||||
. = ..(mapload, MATERIAL_STEEL, MATERIAL_CLOTH_GREEN)
|
||||
/obj/structure/bed/chair/comfy/green/New(var/newloc)
|
||||
..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH_GREEN)
|
||||
|
||||
/obj/structure/bed/chair/comfy/purp/Initialize(var/mapload,var/newmaterial)
|
||||
. = ..(mapload, MATERIAL_STEEL, MATERIAL_CLOTH_PURPLE)
|
||||
/obj/structure/bed/chair/comfy/purp/New(var/newloc)
|
||||
..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH_PURPLE)
|
||||
|
||||
/obj/structure/bed/chair/comfy/blue/Initialize(var/mapload,var/newmaterial)
|
||||
. = ..(mapload, MATERIAL_STEEL, MATERIAL_CLOTH_BLUE)
|
||||
/obj/structure/bed/chair/comfy/blue/New(var/newloc)
|
||||
..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH_BLUE)
|
||||
|
||||
/obj/structure/bed/chair/comfy/beige/Initialize(var/mapload,var/newmaterial)
|
||||
. = ..(mapload, MATERIAL_STEEL, MATERIAL_CLOTH_BEIGE)
|
||||
/obj/structure/bed/chair/comfy/beige/New(var/newloc)
|
||||
..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH_BEIGE)
|
||||
|
||||
/obj/structure/bed/chair/comfy/lime/Initialize(var/mapload,var/newmaterial)
|
||||
. = ..(mapload, MATERIAL_STEEL, MATERIAL_CLOTH_LIME)
|
||||
/obj/structure/bed/chair/comfy/lime/New(var/newloc)
|
||||
..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH_LIME)
|
||||
|
||||
/obj/structure/bed/chair/office
|
||||
name = "office chair"
|
||||
material_alteration = MATERIAL_ALTERATION_NAME || MATERIAL_ALTERATION_DESC
|
||||
anchored = 0
|
||||
buckle_movable = 1
|
||||
build_amt = 5
|
||||
|
||||
/obj/structure/bed/chair/office/update_icon()
|
||||
return
|
||||
|
||||
/obj/structure/bed/chair/office/attackby(obj/item/W as obj, mob/user as mob)
|
||||
if(istype(W,/obj/item/stack) || W.iswirecutter())
|
||||
return
|
||||
@@ -164,29 +175,35 @@
|
||||
occupant.visible_message("<span class='danger'>[occupant] crashed into \the [A]!</span>")
|
||||
|
||||
/obj/structure/bed/chair/office/light
|
||||
icon_state = "officechair_white"
|
||||
icon_state = "officechair_white_preview"
|
||||
base_icon = "officechair_white"
|
||||
|
||||
/obj/structure/bed/chair/office/dark
|
||||
icon_state = "officechair_dark"
|
||||
icon_state = "officechair_dark_preview"
|
||||
base_icon = "officechair_dark"
|
||||
|
||||
/obj/structure/bed/chair/office/bridge
|
||||
name = "command chair"
|
||||
desc = "It exudes authority... and looks about as comfortable as a brick."
|
||||
icon_state = "bridge"
|
||||
icon_state = "bridge_preview"
|
||||
base_icon = "bridge"
|
||||
anchored = 1
|
||||
|
||||
/obj/structure/bed/chair/office/bridge/legion
|
||||
name = "legion pilot seat"
|
||||
desc = "A comfortable seat for a pilot."
|
||||
icon_state = "bridge_legion"
|
||||
icon_state = "bridge_legion_preview"
|
||||
base_icon = "bridge_legion"
|
||||
|
||||
/obj/structure/bed/chair/office/bridge/generic
|
||||
icon_state = "bridge_generic"
|
||||
icon_state = "bridge_generic_preview"
|
||||
base_icon = "bridge_generic"
|
||||
|
||||
/obj/structure/bed/chair/office/bridge/pilot
|
||||
name = "pilot seat"
|
||||
desc = "A comfortable seat for a pilot."
|
||||
icon_state = "pilot"
|
||||
icon_state = "pilot_preview"
|
||||
base_icon = "pilot"
|
||||
|
||||
/obj/structure/bed/chair/office/hover
|
||||
name = "hoverchair"
|
||||
@@ -202,83 +219,60 @@
|
||||
/obj/structure/bed/chair/office/hover/command
|
||||
icon_state = "hover_command"
|
||||
|
||||
/obj/structure/bed/chair/office/Initialize()
|
||||
. = ..()
|
||||
var/image/I = image(icon, "[icon_state]_over")
|
||||
I.layer = FLY_LAYER
|
||||
add_overlay(I)
|
||||
|
||||
// Chair types
|
||||
/obj/structure/bed/chair/plastic
|
||||
color = "#CCCCCC"
|
||||
|
||||
/obj/structure/bed/chair/plastic/Initialize(mapload)
|
||||
. = ..(mapload, MATERIAL_PLASTIC)
|
||||
/obj/structure/bed/chair/plastic/New(var/newloc)
|
||||
..(newloc, MATERIAL_PLASTIC)
|
||||
|
||||
/obj/structure/bed/chair/wood
|
||||
name = "wooden chair"
|
||||
name = "classic chair"
|
||||
desc = "Old is never too old to not be in fashion."
|
||||
icon_state = "wooden_chair"
|
||||
icon_state = "wooden_chair_preview"
|
||||
base_icon = "wooden_chair"
|
||||
material_alteration = MATERIAL_ALTERATION_NAME || MATERIAL_ALTERATION_DESC
|
||||
build_amt = 3
|
||||
|
||||
/obj/structure/bed/chair/wood/update_icon()
|
||||
return
|
||||
|
||||
/obj/structure/bed/chair/wood/attackby(obj/item/W as obj, mob/user as mob)
|
||||
if(istype(W,/obj/item/stack) || W.iswirecutter())
|
||||
return
|
||||
..()
|
||||
|
||||
/obj/structure/bed/chair/wood/Initialize(mapload)
|
||||
. = ..(mapload, "wood")
|
||||
var/image/I = image(icon, "[icon_state]_over")
|
||||
I.layer = FLY_LAYER
|
||||
add_overlay(I)
|
||||
/obj/structure/bed/chair/wood/New(var/newloc)
|
||||
..(newloc, MATERIAL_WOOD)
|
||||
|
||||
/obj/structure/bed/chair/wood/wings
|
||||
icon_state = "wooden_chair_wings"
|
||||
name = "winged chair"
|
||||
icon_state = "wooden_chair_wings_preview"
|
||||
base_icon = "wooden_chair_wings"
|
||||
|
||||
/obj/structure/bed/chair/unmovable
|
||||
can_dismantle = 0
|
||||
|
||||
/obj/structure/bed/chair/shuttle
|
||||
icon_state = "shuttlechair"
|
||||
name = "shuttle chair"
|
||||
icon_state = "shuttlechair_preview"
|
||||
base_icon = "shuttlechair"
|
||||
buckling_sound = 'sound/effects/metal_close.ogg'
|
||||
material_alteration = MATERIAL_ALTERATION_NAME || MATERIAL_ALTERATION_DESC
|
||||
can_dismantle = FALSE
|
||||
apply_material_color = FALSE
|
||||
anchored = TRUE
|
||||
|
||||
/obj/structure/bed/chair/shuttle/update_icon()
|
||||
cut_overlays()
|
||||
|
||||
var/image/O = image(icon, "[icon_state]_over")
|
||||
O.layer = FLY_LAYER
|
||||
add_overlay(O)
|
||||
|
||||
var/list/stool_cache = SSicon_cache.stool_cache
|
||||
|
||||
var/cache_key = "[base_icon]_over"
|
||||
if(isnull(stool_cache[cache_key]))
|
||||
var/image/I = image('icons/obj/furniture.dmi', "[base_icon]_over")
|
||||
if(apply_material_color)
|
||||
I.color = material.icon_colour
|
||||
I.layer = FLY_LAYER
|
||||
stool_cache[cache_key] = I
|
||||
add_overlay(stool_cache[cache_key])
|
||||
|
||||
/obj/structure/bed/chair/shuttle/post_buckle_mob()
|
||||
if(buckled_mob)
|
||||
icon_state = "[base_icon]_down"
|
||||
cache_key = "[base_icon]-armrest"
|
||||
if(isnull(stool_cache[cache_key]))
|
||||
var/image/I = image(icon, "[base_icon]_armrest")
|
||||
I.layer = MOB_LAYER + 0.1
|
||||
if(apply_material_color)
|
||||
I.color = padding_material.icon_colour
|
||||
stool_cache[cache_key] = I
|
||||
add_overlay(stool_cache[cache_key])
|
||||
|
||||
base_icon = "shuttlechair-b"
|
||||
else
|
||||
icon_state = initial(icon_state)
|
||||
base_icon = "shuttlechair"
|
||||
..()
|
||||
|
||||
/obj/structure/bed/chair/shuttle/update_icon()
|
||||
..()
|
||||
if(!buckled_mob)
|
||||
var/image/I = image(icon, "[base_icon]_special")
|
||||
I.layer = ABOVE_MOB_LAYER
|
||||
if(material_alteration & MATERIAL_ALTERATION_COLOR)
|
||||
I.color = material.icon_colour
|
||||
overlays |= I
|
||||
|
||||
// pool chair, to sit with your feet in the water. only works when facing south, because water overlays weirdly otherwise
|
||||
/obj/structure/bed/chair/pool
|
||||
@@ -299,4 +293,4 @@
|
||||
if(M == buckled_mob)
|
||||
M.pixel_y = -6
|
||||
else
|
||||
M.pixel_y = initial(M.pixel_y)
|
||||
M.pixel_y = initial(M.pixel_y)
|
||||
|
||||
@@ -198,7 +198,7 @@
|
||||
/obj/item/clothing/gloves/brassknuckles = 3,
|
||||
/obj/item/reagent_containers/syringe/drugs = 3,
|
||||
/obj/item/handcuffs = 2,
|
||||
/obj/item/legcuffs = 2,
|
||||
/obj/item/handcuffs/legcuffs = 2,
|
||||
/obj/item/grenade/chem_grenade/gas = 2,
|
||||
/obj/item/clothing/suit/storage/vest/heavy = 1,
|
||||
/obj/item/device/radiojammer = 1,
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
/obj/structure/bed/chair/remote
|
||||
name = "virtual reality centre"
|
||||
desc = "A comfortable chair with full audio-visual transposition centres."
|
||||
icon_state = "shuttlechair_down"
|
||||
icon_state = "shuttlechair_preview"
|
||||
base_icon = "shuttlechair"
|
||||
var/portable_type
|
||||
can_dismantle = FALSE
|
||||
var/remote_network // Which network does this remote control belong to?
|
||||
@@ -45,7 +46,7 @@
|
||||
if(H.old_mob)
|
||||
to_chat(H, SPAN_WARNING("The chair rejects you! You cannot recursively control bodies."))
|
||||
return
|
||||
add_overlay(image('icons/obj/furniture.dmi', src, "vr_helmet", MOB_LAYER + 1))
|
||||
add_overlay(image('icons/obj/furniture.dmi', src, "vr_helmet", FLY_LAYER))
|
||||
START_PROCESSING(SSprocessing, src)
|
||||
|
||||
|
||||
@@ -64,4 +65,4 @@
|
||||
M.vr_mob.body_return()
|
||||
cut_overlays()
|
||||
STOP_PROCESSING(SSprocessing, src)
|
||||
..()
|
||||
..()
|
||||
|
||||
@@ -554,7 +554,7 @@
|
||||
if(!I) return //Item's been destroyed while washing
|
||||
if(user.get_active_hand() != I) return //Person has switched hands or the item in their hands
|
||||
|
||||
O.clean_blood()
|
||||
I.clean_blood()
|
||||
user.visible_message( \
|
||||
SPAN_NOTICE("[user] washes \a [I] using \the [src]."), \
|
||||
SPAN_NOTICE("You wash \a [I] using \the [src]."))
|
||||
|
||||
@@ -529,20 +529,18 @@
|
||||
/obj/structure/window/reinforced/crescent/shatter()
|
||||
return
|
||||
|
||||
/obj/machinery/button/windowtint
|
||||
/obj/machinery/button/switch/windowtint
|
||||
name = "window tint control"
|
||||
icon = 'icons/obj/power.dmi'
|
||||
icon_state = "light0"
|
||||
desc = "A remote control switch for polarized windows."
|
||||
var/range = 16
|
||||
|
||||
/obj/machinery/button/windowtint/attack_hand(mob/user as mob)
|
||||
/obj/machinery/button/switch/windowtint/attack_hand(mob/user as mob)
|
||||
if(..())
|
||||
return 1
|
||||
|
||||
toggle_tint()
|
||||
|
||||
/obj/machinery/button/windowtint/proc/toggle_tint()
|
||||
/obj/machinery/button/switch/windowtint/proc/toggle_tint()
|
||||
use_power(5)
|
||||
|
||||
active = !active
|
||||
@@ -554,10 +552,10 @@
|
||||
W.toggle()
|
||||
return
|
||||
|
||||
/obj/machinery/button/windowtint/power_change()
|
||||
/obj/machinery/button/switch/windowtint/power_change()
|
||||
..()
|
||||
if(active && !powered(power_channel))
|
||||
toggle_tint()
|
||||
|
||||
/obj/machinery/button/windowtint/update_icon()
|
||||
/obj/machinery/button/switch/windowtint/update_icon()
|
||||
icon_state = "light[active]"
|
||||
|
||||
Reference in New Issue
Block a user