mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2026-08-31 09:09:49 +01:00
Merge branch 'master' into upstream-merge-10835
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
/obj/structure/sign/double/barsign
|
||||
desc = "The current barsign of this shift! The bartender can change it with their ID."
|
||||
icon = 'icons/obj/barsigns.dmi'
|
||||
plane = ABOVE_PLANE
|
||||
icon_state = "empty"
|
||||
appearance_flags = 0
|
||||
anchored = 1
|
||||
@@ -7,9 +9,9 @@
|
||||
|
||||
/obj/structure/sign/double/barsign/proc/get_valid_states(initial=1)
|
||||
. = cached_icon_states(icon)
|
||||
. -= "on"
|
||||
. -= "narsiebistro"
|
||||
. -= "empty"
|
||||
. -= "On"
|
||||
. -= "Nar-sie Bistro"
|
||||
. -= "Empty"
|
||||
if(initial)
|
||||
. -= "Off"
|
||||
|
||||
@@ -18,9 +20,9 @@
|
||||
switch(icon_state)
|
||||
if("Off")
|
||||
. += "It appears to be switched off."
|
||||
if("narsiebistro")
|
||||
if("Nar-sie Bistro")
|
||||
. += "It shows a picture of a large black and red being. Spooky!"
|
||||
if("on", "empty")
|
||||
if("On", "Empty")
|
||||
. += "The lights are on, but there's no picture."
|
||||
else
|
||||
. += "It says '[icon_state]'"
|
||||
|
||||
@@ -279,7 +279,7 @@
|
||||
/obj/structure/fireplace //more like a space heater than a bonfire. A cozier alternative to both.
|
||||
name = "fireplace"
|
||||
desc = "The sound of the crackling hearth reminds you of home."
|
||||
icon = 'icons/obj/structures.dmi'
|
||||
icon = 'icons/obj/fireplace.dmi'
|
||||
icon_state = "fireplace"
|
||||
density = TRUE
|
||||
anchored = TRUE
|
||||
@@ -387,15 +387,20 @@
|
||||
if(burning)
|
||||
var/state
|
||||
switch(get_fuel_amount())
|
||||
if(0 to 3.5)
|
||||
state = "fireplace_warm"
|
||||
if(3.6 to 6.5)
|
||||
state = "fireplace_hot"
|
||||
if(6.6 to 10)
|
||||
state = "fireplace_intense" //don't need to throw a corpse inside to make it burn hotter.
|
||||
var/image/I = image(icon, state)
|
||||
I.appearance_flags = RESET_COLOR
|
||||
add_overlay(I)
|
||||
if(0 to 1)
|
||||
state = "[icon_state]_fire0"
|
||||
if(2 to 4)
|
||||
state = "[icon_state]_fire1"
|
||||
if(4 to 6)
|
||||
state = "[icon_state]_fire2"
|
||||
if(6 to 8)
|
||||
state = "[icon_state]_fire3"
|
||||
if(8 to 10)
|
||||
state = "[icon_state]_fire4"
|
||||
add_overlay(mutable_appearance(icon, state))
|
||||
add_overlay(emissive_appearance(icon, state))
|
||||
add_overlay(mutable_appearance(icon, "[icon_state]_glow"))
|
||||
add_overlay(emissive_appearance(icon, "[icon_state]_glow"))
|
||||
|
||||
var/light_strength = max(get_fuel_amount() / 2, 2)
|
||||
set_light(light_strength, light_strength, "#FF9933")
|
||||
@@ -433,4 +438,21 @@
|
||||
|
||||
/obj/structure/fireplace/water_act(amount)
|
||||
if(prob(amount * 10))
|
||||
extinguish()
|
||||
extinguish()
|
||||
|
||||
|
||||
/obj/structure/fireplace/barrel
|
||||
name = "barrel fire pit"
|
||||
desc = "Seems like this barrel might make an ideal fire pit."
|
||||
icon_state = "barrelfire"
|
||||
density = TRUE
|
||||
anchored = FALSE
|
||||
|
||||
/obj/structure/fireplace/barrel/update_icon()
|
||||
if(burning)
|
||||
icon_state = "[initial(icon_state)]1"
|
||||
var/light_strength = max(get_fuel_amount() / 2, 2)
|
||||
set_light(light_strength, light_strength, "#FF9933")
|
||||
else
|
||||
icon_state = initial(icon_state)
|
||||
set_light(0)
|
||||
|
||||
@@ -83,10 +83,15 @@
|
||||
|
||||
/obj/structure/bed/chair/shuttle
|
||||
name = "chair"
|
||||
desc = "You sit in this. Either by will or force."
|
||||
icon_state = "shuttlechair"
|
||||
color = null
|
||||
base_icon = "shuttlechair"
|
||||
color = null
|
||||
applies_material_colour = 0
|
||||
|
||||
/obj/structure/bed/chair/shuttle_padded
|
||||
icon_state = "shuttlechair2"
|
||||
base_icon = "shuttlechair2"
|
||||
color = null
|
||||
applies_material_colour = 0
|
||||
|
||||
// Leaving this in for the sake of compilation.
|
||||
@@ -223,6 +228,7 @@
|
||||
icon_state = "sofamiddle"
|
||||
applies_material_colour = 1
|
||||
var/sofa_material = "carpet"
|
||||
var/corner_piece = FALSE
|
||||
|
||||
/obj/structure/bed/chair/sofa/update_icon()
|
||||
if(applies_material_colour && sofa_material)
|
||||
@@ -234,9 +240,9 @@
|
||||
else
|
||||
name = "[sofa_material] [initial(name)]"
|
||||
|
||||
/obj/structure/bed/chair/update_layer()
|
||||
/obj/structure/bed/chair/sofa/update_layer()
|
||||
// Corner east/west should be on top of mobs, any other state's north should be.
|
||||
if((icon_state == "sofacorner" && ((dir & EAST) || (dir & WEST))) || (icon_state != "sofacorner" && (dir & NORTH)))
|
||||
if((corner_piece && ((dir & EAST) || (dir & WEST))) || (!corner_piece && (dir & NORTH)))
|
||||
plane = MOB_PLANE
|
||||
layer = MOB_LAYER + 0.1
|
||||
else
|
||||
@@ -253,6 +259,44 @@
|
||||
/obj/structure/bed/chair/sofa/corner
|
||||
icon_state = "sofacorner"
|
||||
base_icon = "sofacorner"
|
||||
corner_piece = TRUE
|
||||
|
||||
// Wooden nonsofa - no corners
|
||||
/obj/structure/bed/chair/sofa/pew
|
||||
name = "pew bench"
|
||||
desc = "If they want you to go to church, why do they make these so uncomfortable?"
|
||||
base_icon = "pewmiddle"
|
||||
icon_state = "pewmiddle"
|
||||
applies_material_colour = FALSE
|
||||
|
||||
/obj/structure/bed/chair/sofa/pew/left
|
||||
icon_state = "pewend_left"
|
||||
base_icon = "pewend_left"
|
||||
|
||||
/obj/structure/bed/chair/sofa/pew/right
|
||||
icon_state = "pewend_right"
|
||||
base_icon = "pewend_right"
|
||||
|
||||
// Corporate sofa - one color fits all
|
||||
/obj/structure/bed/chair/sofa/corp
|
||||
name = "black leather sofa"
|
||||
desc = "How corporate!"
|
||||
base_icon = "corp_sofamiddle"
|
||||
icon_state = "corp_sofamiddle"
|
||||
applies_material_colour = FALSE
|
||||
|
||||
/obj/structure/bed/chair/sofa/corp/left
|
||||
icon_state = "corp_sofaend_left"
|
||||
base_icon = "corp_sofaend_left"
|
||||
|
||||
/obj/structure/bed/chair/sofa/corp/right
|
||||
icon_state = "corp_sofaend_right"
|
||||
base_icon = "corp_sofaend_right"
|
||||
|
||||
/obj/structure/bed/chair/sofa/corp/corner
|
||||
icon_state = "corp_sofacorner"
|
||||
base_icon = "corp_sofacorner"
|
||||
corner_piece = TRUE
|
||||
|
||||
//color variations
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@ var/global/list/stool_cache = list() //haha stool
|
||||
icon_state = ""
|
||||
cut_overlays()
|
||||
// Base icon.
|
||||
var/cache_key = "stool-[material.name]"
|
||||
var/cache_key = "[base_icon]-[material.name]"
|
||||
if(isnull(stool_cache[cache_key]))
|
||||
var/image/I = image(icon, base_icon)
|
||||
I.color = material.icon_colour
|
||||
@@ -47,7 +47,7 @@ var/global/list/stool_cache = list() //haha stool
|
||||
add_overlay(stool_cache[cache_key])
|
||||
// Padding overlay.
|
||||
if(padding_material)
|
||||
var/padding_cache_key = "stool-padding-[padding_material.name]"
|
||||
var/padding_cache_key = "[base_icon]-padding-[padding_material.name]"
|
||||
if(isnull(stool_cache[padding_cache_key]))
|
||||
var/image/I = image(icon, "[base_icon]_padding") //VOREStation Edit
|
||||
I.color = padding_material.icon_colour
|
||||
|
||||
@@ -11,5 +11,8 @@
|
||||
base_icon = "bar_stool_base"
|
||||
anchored = 1
|
||||
|
||||
/obj/item/weapon/stool/baystool/padded
|
||||
icon_state = "bar_stool_padded_preview" //set for the map
|
||||
|
||||
/obj/item/weapon/stool/baystool/padded/New(var/newloc, var/new_material)
|
||||
..(newloc, "steel", "carpet")
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
name = "toilet"
|
||||
desc = "The HT-451, a torque rotation-based, waste disposal unit for small matter. This one seems remarkably clean."
|
||||
icon = 'icons/obj/watercloset.dmi'
|
||||
icon_state = "toilet00"
|
||||
icon_state = "toilet"
|
||||
density = 0
|
||||
anchored = 1
|
||||
var/open = 0 //if the lid is up
|
||||
@@ -41,7 +41,7 @@
|
||||
update_icon()
|
||||
|
||||
/obj/structure/toilet/update_icon()
|
||||
icon_state = "toilet[open][cistern]"
|
||||
icon_state = "[initial(icon_state)][open][cistern]"
|
||||
|
||||
/obj/structure/toilet/attackby(obj/item/I as obj, mob/living/user as mob)
|
||||
if(I.is_crowbar())
|
||||
@@ -91,7 +91,39 @@
|
||||
to_chat(user, "You carefully place \the [I] into the cistern.")
|
||||
return
|
||||
|
||||
/obj/structure/toilet/prison
|
||||
name = "prison toilet"
|
||||
icon_state = "toilet2"
|
||||
|
||||
/obj/structure/toilet/prison/attack_hand(mob/living/user)
|
||||
return
|
||||
|
||||
/obj/structure/toilet/prison/attackby(obj/item/I, mob/living/user)
|
||||
if(istype(I, /obj/item/weapon/grab))
|
||||
user.setClickCooldown(user.get_attack_speed(I))
|
||||
var/obj/item/weapon/grab/G = I
|
||||
|
||||
if(isliving(G.affecting))
|
||||
var/mob/living/GM = G.affecting
|
||||
|
||||
if(G.state>1)
|
||||
if(!GM.loc == get_turf(src))
|
||||
to_chat(user, "<span class='notice'>[GM.name] needs to be on the toilet.</span>")
|
||||
return
|
||||
if(open && !swirlie)
|
||||
user.visible_message("<span class='danger'>[user] starts to give [GM.name] a swirlie!</span>", "<span class='notice'>You start to give [GM.name] a swirlie!</span>")
|
||||
swirlie = GM
|
||||
if(do_after(user, 30, GM))
|
||||
user.visible_message("<span class='danger'>[user] gives [GM.name] a swirlie!</span>", "<span class='notice'>You give [GM.name] a swirlie!</span>", "You hear a toilet flushing.")
|
||||
if(!GM.internal)
|
||||
GM.adjustOxyLoss(5)
|
||||
swirlie = null
|
||||
else
|
||||
user.visible_message("<span class='danger'>[user] slams [GM.name] into the [src]!</span>", "<span class='notice'>You slam [GM.name] into the [src]!</span>")
|
||||
GM.adjustBruteLoss(5)
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You need a tighter grip.</span>")
|
||||
|
||||
|
||||
/obj/structure/urinal
|
||||
name = "urinal"
|
||||
@@ -391,7 +423,11 @@
|
||||
|
||||
/obj/structure/sink/kitchen
|
||||
name = "kitchen sink"
|
||||
icon_state = "sink_alt"
|
||||
icon_state = "sink2"
|
||||
|
||||
/obj/structure/sink/countertop
|
||||
name = "countertop sink"
|
||||
icon_state = "sink3"
|
||||
|
||||
/obj/structure/sink/puddle //splishy splashy ^_^
|
||||
name = "puddle"
|
||||
|
||||
Reference in New Issue
Block a user