Merge pull request #8173 from Cerebulon/tgportports

Misc Vore-TG Port Ports
This commit is contained in:
Atermonera
2021-07-24 16:19:36 -07:00
committed by GitHub
39 changed files with 1114 additions and 193 deletions
+7 -5
View File
@@ -1,15 +1,17 @@
/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'
icon_state = "empty"
plane = ABOVE_PLANE
appearance_flags = 0
anchored = 1
var/cult = 0
/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]'"
@@ -20,11 +20,10 @@
var/datum/material/material
var/datum/material/padding_material
var/base_icon = "bed"
var/applies_material_colour = 1
var/applies_material_colour = 1 //Set to 0 whenever defining a custom colour or it will apply additively to the material, or when no colour overlay should be present.
/obj/structure/bed/New(var/newloc, var/new_material, var/new_padding_material)
..(newloc)
color = null
if(!new_material)
new_material = DEFAULT_WALL_MATERIAL
material = get_material_by_name(new_material)
@@ -47,7 +46,7 @@
var/cache_key = "[base_icon]-[material.name]"
if(isnull(stool_cache[cache_key]))
var/image/I = image(icon, base_icon)
if(applies_material_colour) //VOREStation Add - Goes with added var
if(applies_material_colour)
I.color = material.icon_colour
stool_cache[cache_key] = I
add_overlay(stool_cache[cache_key])
@@ -290,7 +289,7 @@
/obj/structure/bed/roller/Moved(atom/old_loc, direction, forced = FALSE)
. = ..()
playsound(src, 'sound/effects/roll.ogg', 100, 1)
/obj/structure/bed/roller/post_buckle_mob(mob/living/M as mob)
@@ -2,7 +2,6 @@
name = "chair"
desc = "You sit in this. Either by will or force."
icon_state = "chair_preview"
color = "#666666"
base_icon = "chair"
buckle_dir = 0
buckle_lying = 0 //force people to sit up in chairs when buckled
@@ -82,12 +81,18 @@
/obj/structure/bed/chair/shuttle
name = "chair"
desc = "You sit in this. Either by will or force."
desc = "Please remain seated while the overhead sign is illuminated."
icon_state = "shuttlechair"
color = null
base_icon = "shuttlechair"
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.
/obj/structure/bed/chair/comfy
desc = "It's a chair. It looks comfy."
@@ -141,7 +146,7 @@
/obj/structure/bed/chair/office/Moved(atom/old_loc, direction, forced = FALSE)
. = ..()
playsound(src, 'sound/effects/roll.ogg', 100, 1)
/obj/structure/bed/chair/office/handle_buckled_mob_movement(atom/new_loc, direction)
@@ -210,22 +215,94 @@
/obj/structure/bed/chair/wood
name = "wooden chair"
desc = "Old is never too old to not be in fashion."
icon_state = "wooden_chair"
base_icon = "wooden_chair"
icon_state = "wooden_chair_preview"
color = WOOD_COLOR_FURNITURE
applies_material_colour = 0
/obj/structure/bed/chair/wood/update_icon()
return
/obj/structure/bed/chair/wood/walnut
name = "walnut chair"
color = WOOD_COLOR_RICH
/obj/structure/bed/chair/wood/pine
name = "pinewood chair"
color = WOOD_COLOR_PALE
/obj/structure/bed/chair/wood/ebony
name = "ebony chair"
color = WOOD_COLOR_BLACK
/obj/structure/bed/chair/wood/mahogany
name = "mahogany chair"
color = WOOD_COLOR_CHOCOLATE
/obj/structure/bed/chair/wood/attackby(obj/item/weapon/W as obj, mob/user as mob)
if(istype(W,/obj/item/stack) || W.is_wirecutter())
return
..()
/obj/structure/bed/chair/wood/New(var/newloc)
/obj/structure/bed/chair/wood/New(var/newloc, var/newmaterial)
..(newloc, "wood")
/obj/structure/bed/chair/wood/wings
icon_state = "wooden_chair_wings"
/obj/structure/bed/chair/wood/walnut/wings
icon_state = "wooden_chair_wings"
/obj/structure/bed/chair/wood/pine/wings
icon_state = "wooden_chair_wings"
/obj/structure/bed/chair/wood/ebony/wings
icon_state = "wooden_chair_wings"
/obj/structure/bed/chair/wood/mahogany/wings
icon_state = "wooden_chair_wings"
//Eris Chairs
/obj/structure/bed/chair/modern_chair
name = "modern chair"
desc = "It's like sitting in an egg."
icon_state = "modern_chair"
color = null
base_icon = "modern_chair"
applies_material_colour = 0
/obj/structure/bed/chair/modern_chair/Initialize()
. = ..()
var/image/I = image(icon, "[base_icon]_over")
I.layer = ABOVE_MOB_LAYER
I.plane = MOB_PLANE
overlays |= I
/obj/structure/bed/chair/modern_bar_stool
name = "bar stool"
desc = "How vibrant!"
icon_state = "modern_stool"
color = null
base_icon = "modern_stool"
applies_material_colour = 0
/obj/structure/bed/chair/backed_grey
name = "grey chair"
desc = "Also available in red."
icon_state = "onestar_chair_grey"
color = null
base_icon = "onestar_chair_grey"
applies_material_colour = 0
/obj/structure/bed/chair/backed_red
name = "red chair"
desc = "Also available in grey."
icon_state = "onestar_chair_red"
color = null
base_icon = "onestar_chair_red"
applies_material_colour = 0
//sofa
/obj/structure/bed/chair/sofa
@@ -236,6 +313,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)
@@ -247,9 +325,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
@@ -266,6 +344,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,9 +47,9 @@ 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, "stool_padding")
var/image/I = image(icon, "[base_icon]_padding")
I.color = padding_material.icon_colour
stool_cache[padding_cache_key] = I
add_overlay(stool_cache[padding_cache_key])
@@ -149,3 +149,22 @@ var/global/list/stool_cache = list() //haha stool
remove_padding()
else
..()
/obj/item/weapon/stool/barstool
name = "bar stool"
desc = "Apply butt."
icon = 'icons/obj/furniture.dmi'
icon_state = "bar_stool_preview" //set for the map
randpixel = 0
center_of_mass = null
force = 10
throwforce = 10
w_class = ITEMSIZE_HUGE
base_icon = "bar_stool_base"
anchored = 1
/obj/item/weapon/stool/barstool/padded
icon_state = "bar_stool_padded_preview" //set for the map
/obj/item/weapon/stool/barstool/padded/New(var/newloc, var/new_material)
..(newloc, "steel", "carpet")
+46 -4
View File
@@ -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 = "toilet[initial(icon_state)][open][cistern]"
/obj/structure/toilet/attackby(obj/item/I as obj, mob/living/user as mob)
if(I.is_crowbar())
@@ -92,6 +92,40 @@
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"
@@ -222,7 +256,7 @@
M.touching.remove_any(remove_amount)
M.clean_blood()
if(isturf(loc))
var/turf/tile = loc
for(var/obj/effect/E in tile)
@@ -274,7 +308,7 @@
icon_state = "rubberducky"
/obj/structure/sink
name = "sink"
name = "bathroom sink"
icon = 'icons/obj/watercloset.dmi'
icon_state = "sink"
desc = "A sink used for washing one's hands and face."
@@ -392,6 +426,14 @@
name = "kitchen sink"
icon_state = "sink_alt"
/obj/structure/sink/countertop
name = "countertop sink"
icon_state = "sink3"
/obj/structure/sink/generic
name = "sink"
icon_state = "sink4"
/obj/structure/sink/puddle //splishy splashy ^_^
name = "puddle"
icon_state = "puddle"