Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 15 additions & 16 deletions code/__defines/machinery.dm
Original file line number Diff line number Diff line change
Expand Up @@ -42,28 +42,27 @@ var/global/defer_powernet_rebuild = 0 // True if net rebuild will be called

// Camera channels
// Station channels
#define CAMERA_CHANNEL_PUBLIC "Public"
#define CAMERA_CHANNEL_ENGINEERING "Engineering"
#define CAMERA_CHANNEL_MEDICAL "Medical"
#define CAMERA_CHANNEL_RESEARCH "Research"
#define CAMERA_CHANNEL_SECURITY "Security"

#define CAMERA_CHANNEL_ROBOTS "Robots"
#define CAMERA_CHANNEL_MINE "Mining"
#define CAMERA_CHANNEL_SECRET "Secret"
#define CAMERA_CHANNEL_PUBLIC "Public"
#define CAMERA_CHANNEL_ENGINEERING "Engineering"
#define CAMERA_CHANNEL_MEDICAL "Medical"
#define CAMERA_CHANNEL_RESEARCH "Research"
#define CAMERA_CHANNEL_SECURITY "Security"
#define CAMERA_CHANNEL_ROBOTS "Robots"
#define CAMERA_CHANNEL_MINE "Mining"
#define CAMERA_CHANNEL_SECRET "Secret"

// Non-station channels
#define CAMERA_CHANNEL_CRESCENT "Crescent"
#define CAMERA_CHANNEL_ERT "ZeEmergencyResponseTeam"
#define CAMERA_CHANNEL_MERCENARY "MercurialNet"
#define CAMERA_CHANNEL_TELEVISION "Television"
#define CAMERA_CHANNEL_CRESCENT "Crescent"
#define CAMERA_CHANNEL_ERT "Emergency Response Team"
#define CAMERA_CHANNEL_MERCENARY "MercurialNet"
#define CAMERA_CHANNEL_TELEVISION "Television"

// Alarm networks
#define NETWORK_ALARM_ATMOS "Atmosphere Alarms"
#define NETWORK_ALARM_ATMOS "Atmosphere Alarms"
#define NETWORK_ALARM_CAMERA "Camera Alarms"
#define NETWORK_ALARM_FIRE "Fire Alarms"
#define NETWORK_ALARM_FIRE "Fire Alarms"
#define NETWORK_ALARM_MOTION "Motion Alarms"
#define NETWORK_ALARM_POWER "Power Alarms"
#define NETWORK_ALARM_POWER "Power Alarms"

//singularity defines
#define STAGE_ONE 1
Expand Down
4 changes: 4 additions & 0 deletions code/datums/outfits/outfit.dm
Original file line number Diff line number Diff line change
Expand Up @@ -270,3 +270,7 @@

/decl/outfit/dd_SortValue()
return name

// Stub for the sake of being able to make people spawn nude.
/decl/outfit/naked
name = "Naked And Afraid"
3 changes: 3 additions & 0 deletions code/datums/storage/subtypes_box.dm
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,9 @@
/datum/storage/box/animal_cube
can_hold = list(/obj/item/food/animal_cube)

/datum/storage/box/large/metal
use_sound = 'sound/effects/closet_open.ogg'

/datum/storage/box/snappop
can_hold = list(/obj/item/toy/snappop)

Expand Down
2 changes: 1 addition & 1 deletion code/game/machinery/cryopod.dm
Original file line number Diff line number Diff line change
Expand Up @@ -576,4 +576,4 @@
return TRUE

/obj/machinery/cryopod/proc/on_mob_spawn()
playsound(src, 'sound/machines/ding.ogg', 30, 1)
playsound(src, 'sound/machines/ding.ogg', 30, 1)
14 changes: 11 additions & 3 deletions code/game/machinery/holosign.dm
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,9 @@
anchored = TRUE
obj_flags = OBJ_FLAG_MOVES_UNSUPPORTED
directional_offset = @'{"NORTH":{"y":-32}, "SOUTH":{"y":32}, "EAST":{"x":32}, "WEST":{"x":-32}}'
var/lit = 0
var/lit = FALSE
var/on_icon = "sign_on"
var/sign_light_color = COLOR_CYAN_BLUE

uncreated_component_parts = list(
/obj/item/stock_parts/radio/receiver,
Expand All @@ -33,11 +34,11 @@

/obj/machinery/holosign/on_update_icon()
if (!lit || inoperable())
icon_state = "sign_off"
icon_state = initial(icon_state)
set_light(0)
else
icon_state = on_icon
set_light(1, 0.5, COLOR_CYAN_BLUE)
set_light(1, 0.5, sign_light_color)

/decl/public_access/public_variable/holosign_on
expected_type = /obj/machinery/holosign
Expand Down Expand Up @@ -68,6 +69,13 @@
desc = "Small wall-mounted holographic projector. This one reads SERVICE."
on_icon = "service"

/obj/machinery/holosign/bar
name = "bar holosign"
desc = "Small wall-mounted holographic projector. This one reads OPEN."
icon_state = "barclosed"
on_icon = "baropen"
sign_light_color = COLOR_LIGHT_CYAN

////////////////////SWITCH///////////////////////////////////////
/obj/machinery/button/holosign
name = "holosign switch"
Expand Down
2 changes: 1 addition & 1 deletion code/game/machinery/oxygen_pump.dm
Original file line number Diff line number Diff line change
Expand Up @@ -280,4 +280,4 @@
if(lungs.is_bruised() && prob(30))
lungs.heal_damage(1)
else
breather.suffocation_counter = max(breather.suffocation_counter - rand(1,5), 0)
breather.suffocation_counter = max(breather.suffocation_counter - rand(1,5), 0)
4 changes: 2 additions & 2 deletions code/game/movietitles.dm
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ var/global/list/end_titles
titles += "<center>STAFF'S GOOD BOYS:<br>[english_list(goodboys)]</center><br>"

var/disclaimer = "<br>Sponsored by [global.using_map.company_name].<br>All rights reserved.<br>\
This motion picture is protected under the copyright laws of the Sol Central Government<br> and other nations throughout the galaxy.<br>\
This motion picture is protected under the copyright laws of the system government<br> and other nations throughout the galaxy.<br>\
Colony of First Publication: [pick("Mars", "Luna", "Earth", "Venus", "Phobos", "Ceres", "Tiamat", "Ceti Epsilon", "Eos", "Pluto", "Ouere",\
"Lordania", "Kingston", "Cinu", "Yuklid V", "Lorriman", "Tersten", "Gaia")].<br>"
disclaimer += pick("Use for parody prohibited. PROHIBITED.",
Expand All @@ -146,4 +146,4 @@ var/global/list/end_titles
titles += "<hr>"
titles += "<center><span style='font-size:6pt;'>[JOINTEXT(disclaimer)]</span></center>"

return titles
return titles
2 changes: 1 addition & 1 deletion code/game/objects/items/circuitboards/computer/computer.dm
Original file line number Diff line number Diff line change
Expand Up @@ -120,4 +120,4 @@

/obj/item/stock_parts/circuitboard/guestpass
name = "circuitboard (guest pass terminal)"
build_path = /obj/machinery/computer/guestpass
build_path = /obj/machinery/computer/guestpass
13 changes: 13 additions & 0 deletions code/game/objects/items/devices/gps.dm
Original file line number Diff line number Diff line change
Expand Up @@ -453,3 +453,16 @@ var/global/list/all_gps_units = list()
"stripe-outside" = "#ffae00",
"stripe-inside" = "#9e7900"
)

/obj/item/gps/security
color = "#5c0000"
decals = list(
"stripe-outside" = "#ff0000",
"stripe-inside" = "#800000"
)

/obj/item/gps/security/hos
decals = list(
"stripe-outside" = "#ffae00",
"stripe-inside" = "#9e7900"
)
3 changes: 3 additions & 0 deletions code/game/objects/items/weapons/material/ashtray.dm
Original file line number Diff line number Diff line change
Expand Up @@ -58,3 +58,6 @@

/obj/item/ashtray/glass
material = /decl/material/solid/glass

/obj/item/ashtray/bronze
material = /decl/material/solid/metal/bronze
8 changes: 8 additions & 0 deletions code/game/objects/items/weapons/storage/boxes.dm
Original file line number Diff line number Diff line change
Expand Up @@ -166,6 +166,14 @@
/obj/item/box/ammo/blanks/WillContain()
return list(/obj/item/ammo_casing/shotgun/blank = 8)

/obj/item/box/ammo/blanks/large
icon_state = "largebox"
w_class = ITEM_SIZE_LARGE
storage = /datum/storage/box/large/metal

/obj/item/box/ammo/blanks/large/WillContain()
return list(/obj/item/ammo_casing/shotgun/blank = 16)

/obj/item/box/ammo/practiceshells
name = "box of practice shells"
/obj/item/box/ammo/practiceshells/WillContain()
Expand Down
6 changes: 4 additions & 2 deletions code/game/objects/items/weapons/tanks/tank_types.dm
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
/* Types of tanks!
* Contains:
* Oxygen
* Anesthetic
* Air
* Hydrogen
* Emergency Oxygen
Expand Down Expand Up @@ -55,6 +54,9 @@
/obj/item/tank/hydrogen/empty
starting_pressure = list()

/obj/item/tank/hydrogen/collector
starting_pressure = list(/decl/material/gas/hydrogen = 70)

/*
* Emergency Oxygen
*/
Expand Down Expand Up @@ -105,4 +107,4 @@
icon = 'icons/obj/items/tanks/tank_red.dmi'
distribute_pressure = ONE_ATMOSPHERE*O2STANDARD
starting_pressure = list(/decl/material/gas/nitrogen = 10 ATM)
gas_volume = 180
gas_volume = 180
10 changes: 10 additions & 0 deletions code/game/objects/random/subtypes/food.dm
Original file line number Diff line number Diff line change
Expand Up @@ -194,3 +194,13 @@
/obj/item/food/plumphelmetbiscuit
)
return spawnable_choices

/obj/random/mug
name = "random coffee cup"
desc = "A random coffee cup/mug."
icon = 'icons/obj/drink_glasses/coffecup.dmi'
icon_state = "coffeecup"

/obj/random/mug/spawn_choices()
var/static/list/spawnable_choices = typesof(/obj/item/chems/drinks/glass2/coffeecup) - /obj/item/chems/drinks/glass2/coffeecup/custom
return spawnable_choices
17 changes: 17 additions & 0 deletions code/game/objects/random/subtypes/tech.dm
Original file line number Diff line number Diff line change
Expand Up @@ -120,3 +120,20 @@
/obj/item/oxycandle
)
return spawnable_choices

/obj/random/hardsuit
name = "random hardsuit"
desc = "This is a random hardsuit."
icon = 'icons/clothing/rigs/rig.dmi'
icon_state = ICON_STATE_WORLD

/obj/random/hardsuit/spawn_choices()
var/static/list/spawnable_choices = list(
/obj/item/rig/light/hacker/unlocked = 4,
/obj/item/rig/industrial/unlocked = 5,
/obj/item/rig/eva/unlocked = 5,
/obj/item/rig/light/stealth/unlocked = 4,
/obj/item/rig/hazard/unlocked = 3,
/obj/item/rig/merc/empty/unlocked = 1
)
return spawnable_choices
4 changes: 4 additions & 0 deletions code/game/turfs/floors/subtypes/floor_circuit.dm
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,10 @@
name = "mainframe base" // TODO: force name overriding flooring?
temperature = 263

/turf/floor/bluegrid/cryo
initial_gas = list(/decl/material/gas/nitrogen = MOLES_CELLSTANDARD)
temperature = 73

/turf/floor/greengrid
name = "mainframe floor"
icon = 'icons/turf/flooring/circuit.dmi'
Expand Down
12 changes: 12 additions & 0 deletions code/game/turfs/floors/subtypes/floor_tiled.dm
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@
icon_state = "dark"
_flooring = /decl/flooring/tiling/dark

/turf/floor/tiled/dark/cryo
initial_gas = list(/decl/material/gas/nitrogen = MOLES_CELLSTANDARD)
temperature = 73

/turf/floor/tiled/dark/monotile
name = "floor"
icon_state = "monotiledark"
Expand Down Expand Up @@ -68,6 +72,10 @@
icon_state = "techfloor_gray"
_flooring = /decl/flooring/tiling/tech

/turf/floor/tiled/techfloor/cryo
initial_gas = list(/decl/material/gas/nitrogen = MOLES_CELLSTANDARD)
temperature = 73

/turf/floor/tiled/monotile
name = "floor"
icon_state = "steel_monotile"
Expand Down Expand Up @@ -108,6 +116,10 @@
icon_state = "techfloor_grid"
_flooring = /decl/flooring/tiling/tech/grid

/turf/floor/tiled/techfloor/grid/cryo
initial_gas = list(/decl/material/gas/nitrogen = MOLES_CELLSTANDARD)
temperature = 73

/turf/floor/tiled/airless
name = "airless floor"
initial_gas = null
Expand Down
2 changes: 1 addition & 1 deletion code/game/turfs/walls/wall_natural.dm
Original file line number Diff line number Diff line change
Expand Up @@ -236,4 +236,4 @@ var/global/_wall_chisel_skill = SKILL_CONSTRUCTION
if(length(S.base_materials))
return pick(S.base_materials)
//Otherwise, just use level strata
return ..()
return ..()
2 changes: 1 addition & 1 deletion code/game/verbs/ignore.dm
Original file line number Diff line number Diff line change
Expand Up @@ -41,4 +41,4 @@
if(check_rights(R_MOD|R_ADMIN, 0)) // Admins and moderators are not ignorable
return 0
return 1
return 0
return 0
3 changes: 1 addition & 2 deletions code/modules/admin/verbs/debug.dm
Original file line number Diff line number Diff line change
Expand Up @@ -313,8 +313,7 @@
for(var/obj/machinery/rad_collector/Rad in SSmachines.machinery)
if(Rad.anchored)
if(!Rad.loaded_tank)
Rad.loaded_tank = new /obj/item/tank/hydrogen(Rad)
Rad.loaded_tank.air_contents.gas[/decl/material/gas/hydrogen] = 70
Rad.loaded_tank = new /obj/item/tank/hydrogen/collector(Rad)
Rad.drainratio = 0
if(!Rad.active)
Rad.toggle_power()
Expand Down
4 changes: 2 additions & 2 deletions code/modules/atmospherics/atmos_primitives.dm
Original file line number Diff line number Diff line change
Expand Up @@ -500,9 +500,9 @@
status.Add("Chlorine contamination.")
if(nitrousoxide > 0.1) // Probably slightly less dangerous but still.
status.Add("N2O contamination.")
if(hydrogen > 2.5) // Not too dangerous, but flammable.
if(hydrogen > 2.5) // Not too dangerous, but flammable.
status.Add("Hydrogen contamination.")
if(carbondioxide > 5) // Not as dangerous until very large amount is present.
if(carbondioxide > 5) // Not as dangerous until a very large amount is present.
status.Add("CO2 concentration high.")


Expand Down
1 change: 1 addition & 0 deletions code/modules/backgrounds/citizenship/_citizenship.dm
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
/decl/background_detail/citizenship
abstract_type = /decl/background_detail/citizenship
category = /decl/background_category/citizenship
var/ruling_body = "Other Faction"
var/capital
var/size_heading = "Systems"
var/size_value
Expand Down
13 changes: 13 additions & 0 deletions code/modules/backgrounds/citizenship/citizenship_other.dm
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,16 @@
description = "You do not possess any kind of official citizenship."
economic_power = 0
capital = "None"

/decl/background_detail/citizenship/synthetic
name = "Stateless Drone"
uid = "stateless_drone"
description = "Drones are considered property in most systems. Thus, statelessness is ubiqtuous for them."
secondary_langs = list(
/decl/language/machine,
/decl/language/human/common,
/decl/language/sign
)

/decl/background_detail/citizenship/synthetic/sanitize_background_name(new_name)
return sanitize_name(new_name, allow_numbers = TRUE)
6 changes: 4 additions & 2 deletions code/modules/bodytype/_bodytype.dm
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,8 @@ var/global/list/bodytypes_by_category = list()
var/z_flags = 0
/// Amount to shift overlays when lying. TODO: check if this is still needed with KEEP_TOGETHER
var/list/prone_overlay_offset
/// Set to TRUE to skip unit testing as a primary bodytype in a human. Generally for partial prosthetic models.
var/skip_organ_validation = FALSE

/// Per-bodytype per-zone message strings, see /mob/proc/get_hug_zone_messages
var/list/default_hug_message
Expand Down Expand Up @@ -552,7 +554,7 @@ var/global/list/bodytypes_by_category = list()
. += "non-list default metadata for [acc_decl.type]: [accessories[accessory] || "NULL"]"

var/list/tail_data = has_limbs[BP_TAIL]
if(tail_data)
if(tail_data && !TYPE_IS_ABSTRACT(src))
var/obj/item/organ/external/tail/tail_organ = LAZYACCESS(tail_data, "path")
if(ispath(tail_organ, /obj/item/organ/external/tail))
var/decl/species/use_species = get_user_species_for_validation()
Expand Down Expand Up @@ -675,7 +677,7 @@ var/global/list/bodytypes_by_category = list()
var/organ_type = has_organ[organ_tag]
var/obj/item/organ/O = new organ_type(H, null, supplied_data)
if(organ_tag != O.organ_tag)
warning("[O.type] has a default organ tag \"[O.organ_tag]\" that differs from the species' organ tag \"[organ_tag]\". Updating organ_tag to match.")
warning("[O.type] has a default organ tag \"[O.organ_tag]\" that differs from the bodytype organ tag \"[organ_tag]\". Updating organ_tag to match.")
O.organ_tag = organ_tag
H.add_organ(O, GET_EXTERNAL_ORGAN(H, O.parent_organ), FALSE, FALSE, skip_health_update = TRUE)
H.update_health()
Expand Down
1 change: 0 additions & 1 deletion code/modules/client/movement.dm
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

/client/New()
..()
dir = NORTH
Expand Down
6 changes: 6 additions & 0 deletions code/modules/clothing/costumes/misc.dm
Original file line number Diff line number Diff line change
Expand Up @@ -127,3 +127,9 @@
desc = "A thick, layered grey undersuit lined with power cables. Feels a little like wearing an electrical storm."
icon = 'icons/clothing/jumpsuits/jumpsuit_psionic.dmi'
body_parts_covered = SLOT_UPPER_BODY|SLOT_LOWER_BODY|SLOT_LEGS|SLOT_FEET|SLOT_ARMS|SLOT_HANDS

/obj/item/clothing/costume/caretaker
name = "caretaker's jumpsuit"
desc = "A holy jumpsuit. Treat it well."
icon = 'icons/clothing/jumpsuits/caretaker.dmi'
bodytype_equip_flags = BODY_EQUIP_FLAG_HUMANOID
2 changes: 1 addition & 1 deletion code/modules/clothing/costumes/rank.dm
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
name = "head of personnel's suit"
icon = 'icons/clothing/uniform_hop_whimsy.dmi'

/obj/item/clothing/costume/hosformalmale
/obj/item/clothing/costume/hosformal
name = "head of security's formal uniform"
desc = "A male head of security's formal-wear, for special occasions."
icon = 'icons/clothing/uniform_hos_formal.dmi'
Expand Down
Loading
Loading