Merge remote-tracking branch 'citadel/master' into combat_rework

This commit is contained in:
kevinz000
2020-05-29 19:13:22 -07:00
52 changed files with 787 additions and 609 deletions
+1
View File
@@ -36,6 +36,7 @@
targetitem = /obj/item/gun/energy/e_gun/hos
difficulty = 10
excludefromjob = list("Head Of Security")
altitems = list(/obj/item/gun/ballistic/revolver/mws)
/datum/objective_item/steal/handtele
name = "a hand teleporter."
+7 -8
View File
@@ -70,14 +70,13 @@
if(W.amount < 5)
to_chat(user, "<span class='warning'>You need at least five wooden planks to make a wall!</span>")
return
else
to_chat(user, "<span class='notice'>You start adding [I] to [src]...</span>")
if(do_after(user, 50, target=src))
W.use(5)
var/turf/T = get_turf(src)
T.PlaceOnTop(/turf/closed/wall/mineral/wood/nonmetal)
qdel(src)
return
to_chat(user, "<span class='notice'>You start adding [I] to [src]...</span>")
if(do_after(user, 50, target=src))
W.use(5)
var/turf/T = get_turf(src)
T.PlaceOnTop(/turf/closed/wall/mineral/wood/nonmetal)
qdel(src)
return
return ..()
+21 -15
View File
@@ -470,15 +470,15 @@
if(welded)
weld_overlay = get_airlock_overlay("welded", overlays_file)
if(obj_integrity < integrity_failure * max_integrity)
damag_overlay = get_airlock_overlay("sparks_broken", overlays_file, EMISSIVE_UNBLOCKABLE_LAYER, EMISSIVE_UNBLOCKABLE_PLANE)
damag_overlay = get_airlock_overlay("sparks_broken", overlays_file, ABOVE_LIGHTING_LAYER, ABOVE_LIGHTING_PLANE)
else if(obj_integrity < (0.75 * max_integrity))
damag_overlay = get_airlock_overlay("sparks_damaged", overlays_file, EMISSIVE_UNBLOCKABLE_LAYER, EMISSIVE_UNBLOCKABLE_PLANE)
damag_overlay = get_airlock_overlay("sparks_damaged", overlays_file, ABOVE_LIGHTING_LAYER, ABOVE_LIGHTING_PLANE)
if(lights && hasPower())
if(locked)
lights_overlay = get_airlock_overlay("lights_bolts", overlays_file, EMISSIVE_UNBLOCKABLE_LAYER, EMISSIVE_UNBLOCKABLE_PLANE)
lights_overlay = get_airlock_overlay("lights_bolts", overlays_file, ABOVE_LIGHTING_LAYER, ABOVE_LIGHTING_PLANE)
else if(emergency)
lights_overlay = get_airlock_overlay("lights_emergency", overlays_file, EMISSIVE_UNBLOCKABLE_LAYER, EMISSIVE_UNBLOCKABLE_PLANE)
lights_overlay = get_airlock_overlay("lights_emergency", overlays_file, ABOVE_LIGHTING_LAYER, ABOVE_LIGHTING_PLANE)
if(note)
note_overlay = get_airlock_overlay(notetype, note_overlay_file)
@@ -496,18 +496,18 @@
else
panel_overlay = get_airlock_overlay("panel_closed", overlays_file)
if(obj_integrity < integrity_failure * max_integrity)
damag_overlay = get_airlock_overlay("sparks_broken", overlays_file, EMISSIVE_UNBLOCKABLE_LAYER, EMISSIVE_UNBLOCKABLE_PLANE)
damag_overlay = get_airlock_overlay("sparks_broken", overlays_file, ABOVE_LIGHTING_LAYER, ABOVE_LIGHTING_PLANE)
else if(obj_integrity < (0.75 * max_integrity))
damag_overlay = get_airlock_overlay("sparks_damaged", overlays_file, EMISSIVE_UNBLOCKABLE_LAYER, EMISSIVE_UNBLOCKABLE_PLANE)
damag_overlay = get_airlock_overlay("sparks_damaged", overlays_file, ABOVE_LIGHTING_LAYER, ABOVE_LIGHTING_PLANE)
if(welded)
weld_overlay = get_airlock_overlay("welded", overlays_file)
lights_overlay = get_airlock_overlay("lights_denied", overlays_file, EMISSIVE_UNBLOCKABLE_LAYER, EMISSIVE_UNBLOCKABLE_PLANE)
lights_overlay = get_airlock_overlay("lights_denied", overlays_file, ABOVE_LIGHTING_LAYER, ABOVE_LIGHTING_PLANE)
if(note)
note_overlay = get_airlock_overlay(notetype, note_overlay_file)
if(AIRLOCK_EMAG)
frame_overlay = get_airlock_overlay("closed", icon)
sparks_overlay = get_airlock_overlay("sparks", overlays_file, EMISSIVE_UNBLOCKABLE_LAYER, EMISSIVE_UNBLOCKABLE_PLANE)
sparks_overlay = get_airlock_overlay("sparks", overlays_file, ABOVE_LIGHTING_LAYER, ABOVE_LIGHTING_PLANE)
if(airlock_material)
filling_overlay = get_airlock_overlay("[airlock_material]_closed", overlays_file)
else
@@ -518,9 +518,9 @@
else
panel_overlay = get_airlock_overlay("panel_closed", overlays_file)
if(obj_integrity < integrity_failure * max_integrity)
damag_overlay = get_airlock_overlay("sparks_broken", overlays_file, EMISSIVE_UNBLOCKABLE_LAYER, EMISSIVE_UNBLOCKABLE_PLANE)
damag_overlay = get_airlock_overlay("sparks_broken", overlays_file, ABOVE_LIGHTING_LAYER, ABOVE_LIGHTING_PLANE)
else if(obj_integrity < (0.75 * max_integrity))
damag_overlay = get_airlock_overlay("sparks_damaged", overlays_file, EMISSIVE_UNBLOCKABLE_LAYER, EMISSIVE_UNBLOCKABLE_PLANE)
damag_overlay = get_airlock_overlay("sparks_damaged", overlays_file, ABOVE_LIGHTING_LAYER, ABOVE_LIGHTING_PLANE)
if(welded)
weld_overlay = get_airlock_overlay("welded", overlays_file)
if(note)
@@ -533,7 +533,7 @@
else
filling_overlay = get_airlock_overlay("fill_closing", icon)
if(lights && hasPower())
lights_overlay = get_airlock_overlay("lights_closing", overlays_file, EMISSIVE_UNBLOCKABLE_LAYER, EMISSIVE_UNBLOCKABLE_PLANE)
lights_overlay = get_airlock_overlay("lights_closing", overlays_file, ABOVE_LIGHTING_LAYER, ABOVE_LIGHTING_PLANE)
if(panel_open)
if(security_level)
panel_overlay = get_airlock_overlay("panel_closing_protected", overlays_file)
@@ -554,7 +554,7 @@
else
panel_overlay = get_airlock_overlay("panel_open", overlays_file)
if(obj_integrity < (0.75 * max_integrity))
damag_overlay = get_airlock_overlay("sparks_open", overlays_file, EMISSIVE_UNBLOCKABLE_LAYER, EMISSIVE_UNBLOCKABLE_PLANE)
damag_overlay = get_airlock_overlay("sparks_open", overlays_file, ABOVE_LIGHTING_LAYER, ABOVE_LIGHTING_PLANE)
if(note)
note_overlay = get_airlock_overlay("[notetype]_open", note_overlay_file)
@@ -565,7 +565,7 @@
else
filling_overlay = get_airlock_overlay("fill_opening", icon)
if(lights && hasPower())
lights_overlay = get_airlock_overlay("lights_opening", overlays_file, EMISSIVE_UNBLOCKABLE_LAYER, EMISSIVE_UNBLOCKABLE_PLANE)
lights_overlay = get_airlock_overlay("lights_opening", overlays_file, ABOVE_LIGHTING_LAYER, ABOVE_LIGHTING_PLANE)
if(panel_open)
if(security_level)
panel_overlay = get_airlock_overlay("panel_opening_protected", overlays_file)
@@ -577,11 +577,17 @@
cut_overlays()
add_overlay(frame_overlay)
add_overlay(filling_overlay)
add_overlay(lights_overlay)
if(lights_overlay)
add_overlay(lights_overlay)
var/mutable_appearance/lights_vis = mutable_appearance(lights_overlay.icon, lights_overlay.icon_state)
add_overlay(lights_vis)
add_overlay(panel_overlay)
add_overlay(weld_overlay)
add_overlay(sparks_overlay)
add_overlay(damag_overlay)
if(damag_overlay)
add_overlay(damag_overlay)
var/mutable_appearance/damage_vis = mutable_appearance(damag_overlay.icon, damag_overlay.icon_state)
add_overlay(damage_vis)
add_overlay(note_overlay)
check_unres()
Executable → Regular
+25
View File
@@ -17,6 +17,8 @@
/obj/item/melee/baton,
/obj/item/ammo_box/magazine/recharge,
/obj/item/modular_computer,
/obj/item/ammo_casing/mws_batt,
/obj/item/ammo_box/magazine/mws_mag,
/obj/item/twohanded/electrostaff,
/obj/item/gun/ballistic/automatic/magrifle))
@@ -143,6 +145,29 @@
using_power = TRUE
update_icon()
return
if(istype(charging, /obj/item/ammo_casing/mws_batt))
var/obj/item/ammo_casing/mws_batt/R = charging
if(R.cell.charge < R.cell.maxcharge)
R.cell.give(R.cell.chargerate * recharge_coeff)
use_power(250 * recharge_coeff)
using_power = 1
if(R.BB == null)
R.chargeshot()
update_icon(using_power)
if(istype(charging, /obj/item/ammo_box/magazine/mws_mag))
var/obj/item/ammo_box/magazine/mws_mag/R = charging
for(var/B in R.stored_ammo)
var/obj/item/ammo_casing/mws_batt/batt = B
if(batt.cell.charge < batt.cell.maxcharge)
batt.cell.give(batt.cell.chargerate * recharge_coeff)
use_power(250 * recharge_coeff)
using_power = 1
if(batt.BB == null)
batt.chargeshot()
update_icon(using_power)
else
return PROCESS_KILL
+1 -1
View File
@@ -99,7 +99,7 @@
if(href_list["reset_radio_short"])
pai.unshort_radio()
if(href_list["setlaws"])
var/newlaws = stripped_multiline_input("Enter any additional directives you would like your pAI personality to follow. Note that these directives will not override the personality's allegiance to its imprinted master. Conflicting directives will be ignored.", "pAI Directive Configuration", MAX_MESSAGE_LEN)
var/newlaws = stripped_multiline_input(usr, "Enter any additional directives you would like your pAI personality to follow. Note that these directives will not override the personality's allegiance to its imprinted master. Conflicting directives will be ignored.", "pAI Directive Configuration", "", MAX_MESSAGE_LEN)
if(newlaws && pai)
pai.add_supplied_law(0,newlaws)
if(href_list["toggle_holo"])
@@ -5,36 +5,30 @@
icon_state = "implant"
activated = 1
var/obj/machinery/abductor/pad/home
var/cooldown = 30
var/next_use = 0
/obj/item/implant/abductor/activate()
. = ..()
if(cooldown == initial(cooldown))
if(next_use <= world.time)
home.Retrieve(imp_in,1)
cooldown = 0
START_PROCESSING(SSobj, src)
next_use = world.time + 60 SECONDS
else
to_chat(imp_in, "<span class='warning'>You must wait [30 - cooldown] seconds to use [src] again!</span>")
/obj/item/implant/abductor/process()
if(cooldown < initial(cooldown))
cooldown++
if(cooldown == initial(cooldown))
STOP_PROCESSING(SSobj, src)
to_chat(imp_in, "<span class='warning'>You must wait [DisplayTimeText(next_use - world.time)] to use [src] again!</span>")
/obj/item/implant/abductor/implant(mob/living/target, mob/user)
if(..())
var/obj/machinery/abductor/console/console
if(ishuman(target))
var/datum/antagonist/abductor/A = target.mind.has_antag_datum(/datum/antagonist/abductor)
if(A)
console = get_abductor_console(A.team.team_number)
home = console.pad
if(!home)
var/list/consoles = list()
for(var/obj/machinery/abductor/console/C in GLOB.machines)
consoles += C
console = pick(consoles)
. = ..()
if(!.)
return
var/obj/machinery/abductor/console/console
if(ishuman(target))
var/datum/antagonist/abductor/A = target.mind.has_antag_datum(/datum/antagonist/abductor)
if(A)
console = get_abductor_console(A.team.team_number)
home = console.pad
return TRUE
if(!home)
var/list/consoles = list()
for(var/obj/machinery/abductor/console/C in GLOB.machines)
consoles += C
console = pick(consoles)
home = console.pad
+14
View File
@@ -115,6 +115,20 @@
new /obj/item/toy/crayon/spraycan(src)
new /obj/item/clothing/shoes/sandal(src)
/obj/item/choice_beacon/hosgun
name = "personal weapon beacon"
desc = "Use this to summon your personal Head of Security issued firearm!"
/obj/item/choice_beacon/hosgun/generate_display_names()
var/static/list/hos_gun_list
if(!hos_gun_list)
hos_gun_list = list()
var/list/templist = subtypesof(/obj/item/storage/secure/briefcase/hos/) //we have to convert type = name to name = type, how lovely!
for(var/V in templist)
var/atom/A = V
hos_gun_list[initial(A.name)] = A
return hos_gun_list
/obj/item/skub
desc = "It's skub."
name = "skub"
@@ -240,6 +240,7 @@ GLOBAL_LIST_INIT(wood_recipes, list ( \
new /datum/stack_recipe("pew (right)", /obj/structure/chair/pew/right, 3, one_per_turf = TRUE, on_floor = TRUE),\
)),
null, \
new/datum/stack_recipe("wooden firearm body", /obj/item/weaponcrafting/improvised_parts/wooden_body, 10, time = 40), \
new/datum/stack_recipe("rifle stock", /obj/item/weaponcrafting/stock, 10, time = 40), \
new/datum/stack_recipe("rolling pin", /obj/item/kitchen/rollingpin, 2, time = 30), \
new/datum/stack_recipe("wooden bucket", /obj/item/reagent_containers/glass/bucket/wood, 2, time = 30), \
@@ -404,8 +405,6 @@ GLOBAL_LIST_INIT(cloth_recipes, list ( \
resistance_flags = FLAMMABLE
force = 0
throwforce = 0
pull_effort = 90
is_fabric = TRUE
merge_type = /obj/item/stack/sheet/cloth
/obj/item/stack/sheet/cloth/get_main_recipes()
@@ -426,7 +425,7 @@ GLOBAL_LIST_INIT(durathread_recipes, list ( \
new/datum/stack_recipe("durathread beret", /obj/item/clothing/head/beret/durathread, 2, time = 40), \
new/datum/stack_recipe("durathread beanie", /obj/item/clothing/head/beanie/durathread, 2, time = 40), \
new/datum/stack_recipe("durathread bandana", /obj/item/clothing/mask/bandana/durathread, 1, time = 25), \
new/datum/stack_recipe("durathread string", /obj/item/weaponcrafting/durathread_string, 1, time = 40) \
new/datum/stack_recipe("durathread string", /obj/item/weaponcrafting/durathread_string, 1, time = 40), \
))
/obj/item/stack/sheet/durathread
@@ -818,13 +817,12 @@ new /datum/stack_recipe("paper frame door", /obj/structure/mineral_door/paperfra
max_amount = 80
singular_name = "raw cotton ball"
icon_state = "sheet-cotton"
is_fabric = TRUE
resistance_flags = FLAMMABLE
force = 0
throwforce = 0
merge_type = /obj/item/stack/sheet/cotton
pull_effort = 30
loom_result = /obj/item/stack/sheet/cloth
var/pull_effort = 30
var/loom_result = /obj/item/stack/sheet/cloth
/obj/item/stack/sheet/cotton/ten
amount = 10
@@ -13,9 +13,6 @@
mats_per_stack = MINERAL_MATERIAL_AMOUNT
var/sheettype = null //this is used for girders in the creation of walls/false walls
var/point_value = 0 //turn-in value for the gulag stacker - loosely relative to its rarity
var/is_fabric = FALSE //is this a valid material for the loom?
var/loom_result //result from pulling on the loom
var/pull_effort = 0 //amount of delay when pulling on the loom
var/shard_type // the shard debris typepath left over by solar panels and windows etc.
/obj/item/stack/sheet/Initialize(mapload, new_amount, merge)
+30 -1
View File
@@ -147,6 +147,35 @@
for(var/i = 0, i < STR.max_items - 2, i++)
new /obj/item/stack/spacecash/c1000(src)
/obj/item/storage/secure/briefcase/mws_pack
name = "\improper \'MWS\' gun kit"
desc = "A storage case for a multi-purpose handgun. Variety hour!"
/obj/item/storage/secure/briefcase/mws_pack/PopulateContents()
new /obj/item/gun/ballistic/revolver/mws(src)
new /obj/item/ammo_box/magazine/mws_mag(src)
for(var/path in subtypesof(/obj/item/ammo_casing/mws_batt))
new path(src)
/obj/item/storage/secure/briefcase/hos/mws_pack_hos
name = "\improper \'MWS\' gun kit"
desc = "A storage case for a multi-purpose handgun. Variety hour!"
/obj/item/storage/secure/briefcase/hos/mws_pack_hos/PopulateContents()
new /obj/item/gun/ballistic/revolver/mws(src)
new /obj/item/ammo_box/magazine/mws_mag(src)
new /obj/item/ammo_casing/mws_batt/lethal(src)
new /obj/item/ammo_casing/mws_batt/lethal(src)
new /obj/item/ammo_casing/mws_batt/stun(src)
new /obj/item/ammo_casing/mws_batt/stun(src)
new /obj/item/ammo_casing/mws_batt/ion(src)
/obj/item/storage/secure/briefcase/hos/multiphase_box
name = "\improper X-01 Multiphase energy gun box"
desc = "A storage case for a high-tech energy firearm."
/obj/item/storage/secure/briefcase/mws_pack_hos/PopulateContents()
new /obj/item/gun/energy/e_gun/hos(src)
// -----------------------------
// Secure Safe
@@ -183,4 +212,4 @@
return attack_self(user)
/obj/item/storage/secure/safe/HoS
name = "head of security's safe"
name = "head of security's safe"
+47
View File
@@ -0,0 +1,47 @@
/obj/item/hatchet/saw
name = "handsaw"
desc = "A very sharp handsaw, it's compact."
icon = 'icons/obj/tools.dmi'
icon_state = "saw"
item_state = "sawhandle_greyscale"
lefthand_file = 'icons/mob/inhands/equipment/kitchen_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/kitchen_righthand.dmi'
tool_behaviour = TOOL_SAW
force = 10
throwforce = 8
throw_speed = 3
throw_range = 5
custom_materials = list(/datum/material/iron = 5000)
attack_verb = list("sawed", "sliced", "cut")
hitsound = 'sound/weapons/bladeslice.ogg'
sharpness = IS_SHARP
var/random_color = TRUE //code taken from screwdrivers.dm; cool handles are cool.
var/static/list/saw_colors = list(
"blue" = rgb(24, 97, 213),
"red" = rgb(255, 0, 0),
"pink" = rgb(213, 24, 141),
"brown" = rgb(160, 82, 18),
"green" = rgb(14, 127, 27),
"cyan" = rgb(24, 162, 213),
"yellow" = rgb(255, 165, 0)
)
/obj/item/hatchet/saw/Initialize()
. = ..()
if(random_color)
icon_state = "sawhandle_greyscale"
var/our_color = pick(saw_colors)
add_atom_colour(saw_colors[our_color], FIXED_COLOUR_PRIORITY)
update_icon()
if(prob(75))
pixel_y = rand(-8, 8)
/obj/item/hatchet/saw/update_overlays()
. = ..()
if(!random_color) //icon override
return
var/mutable_appearance/base_overlay = mutable_appearance(icon, "sawblade")
base_overlay.appearance_flags = RESET_COLOR
. += base_overlay
// END
+4 -3
View File
@@ -777,6 +777,7 @@
var/cooldown = 0
var/obj/machinery/computer/holodeck/holo = null // Holodeck cards should not be infinite
var/list/cards = list()
var/original_size = 52
/obj/item/toy/cards/deck/Initialize()
. = ..()
@@ -834,11 +835,11 @@
/obj/item/toy/cards/deck/update_icon_state()
switch(cards.len)
if(27 to INFINITY)
if(INFINITY to original_size/2)
icon_state = "deck_[deckstyle]_full"
if(11 to 27)
if(original_size/2 to original_size/4)
icon_state = "deck_[deckstyle]_half"
if(1 to 11)
if(original_size/4 to 1)
icon_state = "deck_[deckstyle]_low"
else
icon_state = "deck_[deckstyle]_empty"
@@ -76,12 +76,13 @@
new /obj/item/storage/box/flashbangs(src)
new /obj/item/shield/riot/tele(src)
new /obj/item/storage/belt/security/full(src)
new /obj/item/gun/energy/e_gun/hos(src)
new /obj/item/choice_beacon/hosgun(src)
new /obj/item/flashlight/seclite(src)
new /obj/item/pinpointer/nuke(src)
new /obj/item/circuitboard/machine/techfab/department/security(src)
new /obj/item/storage/photo_album/HoS(src)
new /obj/item/clothing/suit/hooded/wintercoat/hos(src)
/obj/structure/closet/secure_closet/warden
name = "\proper warden's locker"
req_access = list(ACCESS_ARMORY)
+10 -10
View File
@@ -21,21 +21,21 @@
return TRUE
///Handles the weaving.
/obj/structure/loom/proc/weave(obj/item/stack/sheet/S, mob/user)
if(!istype(S) || !S.is_fabric)
/obj/structure/loom/proc/weave(obj/item/stack/sheet/cotton/W, mob/user)
if(!istype(W))
return FALSE
if(!anchored)
user.show_message("<span class='notice'>The loom needs to be wrenched down.</span>", MSG_VISUAL)
return FALSE
if(S.amount < FABRIC_PER_SHEET)
user.show_message("<span class='notice'>You need at least [FABRIC_PER_SHEET] units of fabric before using this.</span>", 1)
if(W.amount < FABRIC_PER_SHEET)
user.show_message("<span class='notice'>You need at least [FABRIC_PER_SHEET] units of fabric before using this.</span>", MSG_VISUAL)
return FALSE
user.show_message("<span class='notice'>You start weaving \the [S.name] through the loom..</span>", MSG_VISUAL)
if(S.use_tool(src, user, S.pull_effort))
if(S.amount >= FABRIC_PER_SHEET)
new S.loom_result(drop_location())
S.use(FABRIC_PER_SHEET)
user.show_message("<span class='notice'>You weave \the [S.name] into a workable fabric.</span>", MSG_VISUAL)
user.show_message("<span class='notice'>You start weaving \the [W.name] through the loom..</span>", MSG_VISUAL)
if(W.use_tool(src, user, W.pull_effort))
if(W.amount >= FABRIC_PER_SHEET)
new W.loom_result(drop_location())
W.use(FABRIC_PER_SHEET)
user.show_message("<span class='notice'>You weave \the [W.name] into a workable fabric.</span>", MSG_VISUAL)
return TRUE
#undef FABRIC_PER_SHEET
@@ -146,3 +146,95 @@
/turf/open/floor/plasteel/sepia
icon_state = "sepia"
///////////////////////////////
// Pre-Applied Decal Floors //
//////////////////////////////
// Neutral
/turf/open/floor/plasteel/neutral
icon_state = "neutral_full"
/turf/open/floor/plasteel/neutral/side
icon_state = "neutral"
/turf/open/floor/plasteel/neutral/corner
icon_state = "neutral_corner"
// Dark Neutral
/turf/open/floor/plasteel/dark/neutral
icon_state = "dark_neutral_full"
/turf/open/floor/plasteel/dark/neutral/checker
icon_state = "dark_neutral_checker"
/turf/open/floor/plasteel/dark/neutral/side
icon_state = "dark_neutral"
/turf/open/floor/plasteel/dark/neutral/corner
icon_state = "dark_neutral_corner"
// Dark Security
/turf/open/floor/plasteel/dark/security
icon_state = "dark_red_full"
/turf/open/floor/plasteel/dark/security/checker
icon_state = "dark_red_checker"
/turf/open/floor/plasteel/dark/security/side
icon_state = "dark_red"
/turf/open/floor/plasteel/dark/security/corner
icon_state = "dark_red_corner"
// Engineering
/turf/open/floor/plasteel/engineering
icon_state = "engineering_full"
/turf/open/floor/plasteel/engineering/side
icon_state = "engineering"
/turf/open/floor/plasteel/engineering/corner
icon_state = "engineering_corner"
// Atmospherics
/turf/open/floor/plasteel/atmospherics
icon_state = "atmospherics_full"
/turf/open/floor/plasteel/atmospherics/side
icon_state = "atmospherics"
/turf/open/floor/plasteel/atmospherics/corner
icon_state = "atmospherics_corner"
// Command
/turf/open/floor/plasteel/command
icon_state = "command_full"
/turf/open/floor/plasteel/command/side
icon_state = "command"
/turf/open/floor/plasteel/command/corner
icon_state = "command_corner"
// Medical
/turf/open/floor/plasteel/medical
icon_state = "medical_full"
/turf/open/floor/plasteel/medical/alt
icon_state = "medical_alt"
/turf/open/floor/plasteel/medical/side
icon_state = "medical"
/turf/open/floor/plasteel/medical/corner
icon_state = "medical_corner"
// Security
/turf/open/floor/plasteel/security
icon_state = "security_full"
/turf/open/floor/plasteel/security/side
icon_state = "security"
/turf/open/floor/plasteel/security/corner
icon_state = "security_corner"
// Cargo
/turf/open/floor/plasteel/cargo
icon_state = "cargo_full"
/turf/open/floor/plasteel/cargo/side
icon_state = "cargo"
/turf/open/floor/plasteel/cargo/corner
icon_state = "cargo_corner"
// Misc
/turf/open/floor/plasteel/showroomfloor/shower
icon_state = "shower"
/turf/open/floor/plasteel/goonplaque/alien
icon_state = "plaque1"
desc = "\"This is a plaque is a collaboration of iconography celebrating the peaceful collaboration between the people of Earth and distant alien species."
/turf/open/floor/plasteel/goonplaque/charter
icon_state = "plaque2"
desc = "\"A golden plaque. Etched into it is the introductory article for a cross-species interplanetary constitution, guaranteeing equal rights between species that Nanotrasen relunctantly agreed to."
@@ -198,7 +198,7 @@
/turf/open/floor/plating/ice/smooth
icon_state = "smooth"
smooth = SMOOTH_MORE | SMOOTH_BORDER
canSmoothWith = list(/turf/open/floor/plating/ice/smooth, /turf/open/floor/plating/ice)
canSmoothWith = list(/turf/open/floor/plating/ice/smooth, /turf/open/floor/plating/ice, /turf/open/floor/plating/ice/colder)
/turf/open/floor/plating/ice/colder
temperature = 140