From 9e6dcf9c46d6e9d1d476f814a0e8f43b0d11a437 Mon Sep 17 00:00:00 2001
From: GDN <96800819+GDNgit@users.noreply.github.com>
Date: Sun, 21 Apr 2024 13:26:35 -0500
Subject: [PATCH] removes the remaining datum redeclares (#25220)
* removes the remaining datum redeclares
* the two fixes
* finneee contra
* OK CONTRA
* readd
* CURSED TO BE BROWN!
* facking automerge
---
code/game/area/asteroid_areas.dm | 9 -
code/game/area/away_content_areas.dm | 7 +-
.../abduction/abductee_objectives.dm | 2 +-
code/game/machinery/camera/camera.dm | 4 +
code/game/machinery/camera/motion.dm | 6 -
code/game/machinery/doors/poddoor.dm | 5 -
code/game/mecha/mecha.dm | 14 ++
code/game/mecha/mecha_actions.dm | 15 --
code/game/objects/items/devices/paicard.dm | 3 +-
.../items/devices/radio/encryptionkey.dm | 11 --
code/game/objects/items/robot/robot_items.dm | 1 +
code/game/objects/items/weapons/disks.dm | 2 +-
.../objects/items/weapons/dna_injector.dm | 23 ---
.../items/weapons/grenades/clusterbuster.dm | 10 +-
.../objects/items/weapons/storage/boxes.dm | 158 ------------------
code/game/objects/items/weapons/twohanded.dm | 7 -
code/game/turfs/space/transit.dm | 6 +-
code/modules/admin/holder2.dm | 1 +
code/modules/admin/secrets.dm | 3 -
code/modules/clothing/clothing.dm | 1 +
code/modules/clothing/gloves/boxing_gloves.dm | 20 +++
code/modules/clothing/head/collectable.dm | 9 +-
code/modules/clothing/head/misc_hats.dm | 8 -
code/modules/clothing/shoes/colour.dm | 6 +-
code/modules/clothing/under/color.dm | 5 -
.../detective_work/footprints_and_rag.dm | 3 -
.../food_and_drinks/food/foods/meat.dm | 4 +
.../recipes/recipes_microwave.dm | 7 -
.../recipes/tablecraft/recipes_table.dm | 10 --
code/modules/mapping/access_helpers.dm | 2 -
.../modules/mapping/windoor_access_helpers.dm | 3 -
code/modules/martial_arts/martial.dm | 25 ---
code/modules/mob/living/autohiss.dm | 41 -----
.../living/carbon/alien/humanoid/humanoid.dm | 4 +
.../alien/humanoid/humanoid_update_icons.dm | 5 -
.../mob/living/carbon/human/species/drask.dm | 8 +
.../mob/living/carbon/human/species/golem.dm | 12 +-
.../mob/living/carbon/human/species/kidan.dm | 8 +
.../living/carbon/human/species/plasmaman.dm | 3 +
.../living/carbon/human/species/tajaran.dm | 4 +
.../mob/living/carbon/human/species/unathi.dm | 7 +
.../living/silicon/robot/misc_robot_items.dm | 2 -
.../mob/living/simple_animal/friendly/dog.dm | 4 -
.../sprite_accessories/human/human_hair.dm | 5 -
.../kidan/kidan_head_accessories.dm | 4 -
.../sprite_accessories/sprite_accessories.dm | 2 +-
code/modules/paperwork/paper.dm | 37 ----
code/modules/power/engines/tesla/generator.dm | 10 --
.../projectiles/ammunition/energy_lens.dm | 11 +-
.../research/designs/weapon_designs.dm | 6 +-
code/modules/ruins/ruin_areas.dm | 10 --
code/modules/surgery/organs/organ_internal.dm | 9 -
paradise.dme | 1 -
53 files changed, 105 insertions(+), 478 deletions(-)
delete mode 100644 code/modules/power/engines/tesla/generator.dm
diff --git a/code/game/area/asteroid_areas.dm b/code/game/area/asteroid_areas.dm
index 770be127199..97935e23bc2 100644
--- a/code/game/area/asteroid_areas.dm
+++ b/code/game/area/asteroid_areas.dm
@@ -22,12 +22,3 @@
/area/asteroid/artifactroom
name = "\improper Asteroid - Artifact"
icon_state = "cave"
-
-//Labor camp
-/area/mine/laborcamp
- name = "Labor Camp"
- icon_state = "brig"
-
-/area/mine/laborcamp/security
- name = "Labor Camp Security"
- icon_state = "security"
diff --git a/code/game/area/away_content_areas.dm b/code/game/area/away_content_areas.dm
index efbb66edb5c..dcaccc16073 100644
--- a/code/game/area/away_content_areas.dm
+++ b/code/game/area/away_content_areas.dm
@@ -66,14 +66,11 @@
/area/awaycontent/a11
icon_state = "awaycontent11"
-/area/awaycontent/a11
+/area/awaycontent/a12
icon_state = "awaycontent12"
-/area/awaycontent/a12
- icon_state = "awaycontent13"
-
/area/awaycontent/a13
- icon_state = "awaycontent14"
+ icon_state = "awaycontent13"
/area/awaycontent/a14
icon_state = "awaycontent14"
diff --git a/code/game/gamemodes/miniantags/abduction/abductee_objectives.dm b/code/game/gamemodes/miniantags/abduction/abductee_objectives.dm
index 2502eb3e08d..4cbef8c77b9 100644
--- a/code/game/gamemodes/miniantags/abduction/abductee_objectives.dm
+++ b/code/game/gamemodes/miniantags/abduction/abductee_objectives.dm
@@ -131,7 +131,7 @@
/datum/objective/abductee/party
explanation_text = "You're throwing a huge rager. Make it as awesome as possible so the whole crew comes... OR ELSE!"
-/datum/objective/abductee/pets
+/datum/objective/abductee/cooler_pets
explanation_text = "All the pets around here suck. You need to make them cooler. Replace them with exotic beasts!"
/datum/objective/abductee/conspiracy
diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm
index b6af0a44e95..071cf52415f 100644
--- a/code/game/machinery/camera/camera.dm
+++ b/code/game/machinery/camera/camera.dm
@@ -36,6 +36,10 @@
var/toggle_sound = 'sound/items/wirecutter.ogg'
blocks_emissive = EMISSIVE_BLOCK_GENERIC
+ var/list/localMotionTargets = list()
+ var/detectTime = 0
+ var/area/station/ai_monitored/area_motion = null
+ var/alarm_delay = 30 // Don't forget, there's another 3 seconds in queueAlarm()
/obj/machinery/camera/Initialize(mapload, should_add_to_cameranet = TRUE)
. = ..()
diff --git a/code/game/machinery/camera/motion.dm b/code/game/machinery/camera/motion.dm
index 99f24d9a4ee..68010c1fb3c 100644
--- a/code/game/machinery/camera/motion.dm
+++ b/code/game/machinery/camera/motion.dm
@@ -1,9 +1,3 @@
-/obj/machinery/camera
- var/list/localMotionTargets = list()
- var/detectTime = 0
- var/area/station/ai_monitored/area_motion = null
- var/alarm_delay = 30 // Don't forget, there's another 3 seconds in queueAlarm()
-
/obj/machinery/camera/process()
// motion camera event loop
if(!isMotion())
diff --git a/code/game/machinery/doors/poddoor.dm b/code/game/machinery/doors/poddoor.dm
index 2fd5d6c4e80..dc453742bd2 100644
--- a/code/game/machinery/doors/poddoor.dm
+++ b/code/game/machinery/doors/poddoor.dm
@@ -134,11 +134,6 @@
to_chat(user, "The electronic systems in this door are far too advanced for your primitive hacking peripherals.")
return
-/obj/machinery/door/poddoor/multi_tile/impassable/two_tile_hor
- icon = 'icons/obj/doors/1x2blast_hor.dmi'
- width = 2
- dir = EAST
-
/obj/machinery/door/poddoor/multi_tile/impassable/four_tile_ver
icon = 'icons/obj/doors/1x4blast_vert.dmi'
width = 4
diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm
index bf92a27d2fb..be6f53bc5fa 100644
--- a/code/game/mecha/mecha.dm
+++ b/code/game/mecha/mecha.dm
@@ -103,6 +103,20 @@
hud_possible = list (DIAG_STAT_HUD, DIAG_BATT_HUD, DIAG_MECH_HUD, DIAG_TRACK_HUD)
+ //Action datums
+ var/datum/action/innate/mecha/mech_eject/eject_action = new
+ var/datum/action/innate/mecha/mech_toggle_internals/internals_action = new
+ var/datum/action/innate/mecha/mech_toggle_lights/lights_action = new
+ var/datum/action/innate/mecha/mech_view_stats/stats_action = new
+ var/datum/action/innate/mecha/mech_defence_mode/defense_action = new
+ var/datum/action/innate/mecha/mech_overload_mode/overload_action = new
+ var/datum/action/innate/mecha/mech_toggle_thrusters/thrusters_action = new
+ var/datum/effect_system/smoke_spread/smoke_system = new //not an action, but trigged by one
+ var/datum/action/innate/mecha/mech_smoke/smoke_action = new
+ var/datum/action/innate/mecha/mech_zoom/zoom_action = new
+ var/datum/action/innate/mecha/mech_toggle_phasing/phasing_action = new
+ var/datum/action/innate/mecha/mech_switch_damtype/switch_damtype_action = new
+
/obj/mecha/Initialize()
. = ..()
icon_state += "-open"
diff --git a/code/game/mecha/mecha_actions.dm b/code/game/mecha/mecha_actions.dm
index dcafd77e1dc..f508739cb1b 100644
--- a/code/game/mecha/mecha_actions.dm
+++ b/code/game/mecha/mecha_actions.dm
@@ -1,18 +1,3 @@
-/obj/mecha
- //Action datums
- var/datum/action/innate/mecha/mech_eject/eject_action = new
- var/datum/action/innate/mecha/mech_toggle_internals/internals_action = new
- var/datum/action/innate/mecha/mech_toggle_lights/lights_action = new
- var/datum/action/innate/mecha/mech_view_stats/stats_action = new
- var/datum/action/innate/mecha/mech_defence_mode/defense_action = new
- var/datum/action/innate/mecha/mech_overload_mode/overload_action = new
- var/datum/action/innate/mecha/mech_toggle_thrusters/thrusters_action = new
- var/datum/effect_system/smoke_spread/smoke_system = new //not an action, but trigged by one
- var/datum/action/innate/mecha/mech_smoke/smoke_action = new
- var/datum/action/innate/mecha/mech_zoom/zoom_action = new
- var/datum/action/innate/mecha/mech_toggle_phasing/phasing_action = new
- var/datum/action/innate/mecha/mech_switch_damtype/switch_damtype_action = new
-
/obj/mecha/proc/GrantActions(mob/living/user, human_occupant = 0)
if(human_occupant)
eject_action.Grant(user, src)
diff --git a/code/game/objects/items/devices/paicard.dm b/code/game/objects/items/devices/paicard.dm
index ec2b512f79f..683f6462f3d 100644
--- a/code/game/objects/items/devices/paicard.dm
+++ b/code/game/objects/items/devices/paicard.dm
@@ -13,6 +13,7 @@
var/looking_for_personality = 0
var/mob/living/silicon/pai/pai
var/list/faction = list("neutral") // The factions the pAI will inherit from the card
+ var/current_emotion = 1
resistance_flags = FIRE_PROOF | ACID_PROOF | INDESTRUCTIBLE
/obj/item/paicard/syndicate
@@ -302,8 +303,6 @@
overlays.Cut()
overlays += "pai-off"
-/obj/item/paicard
- var/current_emotion = 1
/obj/item/paicard/proc/setEmotion(emotion)
if(pai)
overlays.Cut()
diff --git a/code/game/objects/items/devices/radio/encryptionkey.dm b/code/game/objects/items/devices/radio/encryptionkey.dm
index 490ee42151d..84e2a15ba1a 100644
--- a/code/game/objects/items/devices/radio/encryptionkey.dm
+++ b/code/game/objects/items/devices/radio/encryptionkey.dm
@@ -148,17 +148,6 @@
icon_state = "com_cypherkey"
channels = list("Command" = 1, "Security" = 1)
-/*
-/obj/item/encryptionkey/headset_mine
- name = "Mining Radio Encryption Key"
- icon_state = "mine_cypherkey"
- channels = list("Mining" = 1)
-
-/obj/item/encryptionkey/heads/qm
- name = "Quartermaster's Encryption Key"
- icon_state = "qm_cypherkey"
- channels = list("Cargo" = 1, "Mining" = 1)
-*/
/obj/item/encryptionkey/headset_cargo
name = "Supply Radio Encryption Key"
icon_state = "cargo_cypherkey"
diff --git a/code/game/objects/items/robot/robot_items.dm b/code/game/objects/items/robot/robot_items.dm
index 188c79da631..f15eb6d4e9d 100644
--- a/code/game/objects/items/robot/robot_items.dm
+++ b/code/game/objects/items/robot/robot_items.dm
@@ -3,6 +3,7 @@
***********************************************************************/
/obj/item/borg
icon = 'icons/mob/robot_items.dmi'
+ var/powerneeded // Percentage of power remaining required to run item
/obj/item/borg/stun
name = "electrically-charged arm"
diff --git a/code/game/objects/items/weapons/disks.dm b/code/game/objects/items/weapons/disks.dm
index b982a0d44e5..8f113c53993 100644
--- a/code/game/objects/items/weapons/disks.dm
+++ b/code/game/objects/items/weapons/disks.dm
@@ -67,7 +67,7 @@
/obj/item/storage/box/disks
name = "Diskette Box"
- icon_state = "disk_kit"
+ icon_state = "disk_box"
/obj/item/storage/box/disks/populate_contents()
for(var/i in 1 to 7)
diff --git a/code/game/objects/items/weapons/dna_injector.dm b/code/game/objects/items/weapons/dna_injector.dm
index e335cb175f9..b2e1014bbb2 100644
--- a/code/game/objects/items/weapons/dna_injector.dm
+++ b/code/game/objects/items/weapons/dna_injector.dm
@@ -209,7 +209,6 @@
name = "DNA injector"
desc = "Good. Let the hate flow through you."
-
/obj/item/dnainjector/antitele
name = "DNA-Injector (Anti-Tele.)"
desc = "Will make you not able to control your mind."
@@ -553,28 +552,6 @@
block = GLOB.blindblock
..()
-/obj/item/dnainjector/telemut
- name = "DNA-Injector (Tele.)"
- desc = "Super brain man!"
- datatype = DNA2_BUF_SE
- value = 0xFFF
- forcedmutation = TRUE
-
-/obj/item/dnainjector/telemut/Initialize()
- block = GLOB.teleblock
- ..()
-
-/obj/item/dnainjector/antitele
- name = "DNA-Injector (Anti-Tele.)"
- desc = "Will make you not able to control your mind."
- datatype = DNA2_BUF_SE
- value = 0x001
- forcedmutation = TRUE
-
-/obj/item/dnainjector/antitele/Initialize()
- block = GLOB.teleblock
- ..()
-
/obj/item/dnainjector/deafmut
name = "DNA-Injector (Deaf)"
desc = "Sorry, what did you say?"
diff --git a/code/game/objects/items/weapons/grenades/clusterbuster.dm b/code/game/objects/items/weapons/grenades/clusterbuster.dm
index 46aebed6b25..f08704aa25d 100644
--- a/code/game/objects/items/weapons/grenades/clusterbuster.dm
+++ b/code/game/objects/items/weapons/grenades/clusterbuster.dm
@@ -169,16 +169,16 @@
desc = "No matter what, do not EVER use this."
payload = /obj/singularity
-/obj/item/grenade/clusterbuster/tools
- name = "\improper Quick Repair Grenade"
- desc = "An assistant's every dream."
- payload = /obj/random/tool
-
/obj/item/grenade/clusterbuster/tools
name = "\improper Engineering Deployment Platfom"
desc = "For the that time when gearing up was just too hard."
payload = /obj/random/tech_supply
+/obj/item/grenade/clusterbuster/tide
+ name = "\improper Quick Repair Grenade"
+ desc = "An assistant's every dream."
+ payload = /obj/random/tool
+
/obj/item/grenade/clusterbuster/toys
name = "\improper Toy Delivery System"
desc = "Who needs skill at arcades anyway?"
diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm
index e33ecd54bd1..57598089247 100644
--- a/code/game/objects/items/weapons/storage/boxes.dm
+++ b/code/game/objects/items/weapons/storage/boxes.dm
@@ -126,156 +126,6 @@
//////////////////
/* Common Boxes */
//////////////////
-/obj/item/storage/box/gloves
- name = "box of latex gloves"
- desc = "Contains white gloves."
- icon_state = "latex"
-
-/obj/item/storage/box/gloves/populate_contents()
- for(var/I in 1 to 7)
- new /obj/item/clothing/gloves/color/latex(src)
-
-/obj/item/storage/box/masks
- name = "sterile masks"
- desc = "This box contains masks of sterility."
- icon_state = "sterile"
-
-/obj/item/storage/box/masks/populate_contents()
- for(var/I in 1 to 7)
- new /obj/item/clothing/mask/surgical(src)
-
-/obj/item/storage/box/syringes
- name = "syringes"
- desc = "A box full of syringes."
- desc = "A biohazard alert warning is printed on the box"
- icon_state = "syringe"
-
-/obj/item/storage/box/syringes/populate_contents()
- for(var/I in 1 to 7)
- new /obj/item/reagent_containers/syringe(src)
-
-/obj/item/storage/box/beakers
- name = "beaker box"
- icon_state = "beaker"
-
-/obj/item/storage/box/beakers/populate_contents()
- for(var/I in 1 to 7)
- new /obj/item/reagent_containers/glass/beaker(src)
-
-/obj/item/storage/box/beakers/bluespace
- name = "box of bluespace beakers"
- icon_state = "beaker"
-
-/obj/item/storage/box/beakers/bluespace/populate_contents()
- for(var/I in 1 to 7)
- new /obj/item/reagent_containers/glass/beaker/bluespace(src)
-
-/obj/item/storage/box/iv_bags
- name = "IV Bags"
- desc = "A box full of empty IV bags."
- icon_state = "beaker"
-
-/obj/item/storage/box/iv_bags/populate_contents()
- for(var/I in 1 to 7)
- new /obj/item/reagent_containers/iv_bag(src)
-
-/obj/item/storage/box/injectors
- name = "\improper DNA injectors"
- desc = "This box contains injectors it seems."
-
-/obj/item/storage/box/injectors/populate_contents()
- for(var/I in 1 to 6)
- new /obj/item/dnainjector/h2m(src)
-
-/obj/item/storage/box/slug
- name = "ammunition box (Slug)"
- desc = "A small box capable of holding seven shotgun shells."
- icon_state = "slugbox"
-
-/obj/item/storage/box/slug/populate_contents()
- for(var/I in 1 to 7)
- new /obj/item/ammo_casing/shotgun(src)
-
-/obj/item/storage/box/buck
- name = "ammunition box (Buckshot)"
- desc = "A small box capable of holding seven shotgun shells."
- icon_state = "buckshotbox"
-
-/obj/item/storage/box/buck/populate_contents()
- for(var/I in 1 to 7)
- new /obj/item/ammo_casing/shotgun/buckshot(src)
-
-/obj/item/storage/box/dragonsbreath
- name = "ammunition box (Dragonsbreath)"
- desc = "A small box capable of holding seven shotgun shells."
- icon_state = "dragonsbreathbox"
-
-/obj/item/storage/box/dragonsbreath/populate_contents()
- for(var/I in 1 to 7)
- new /obj/item/ammo_casing/shotgun/incendiary/dragonsbreath(src)
-
-/obj/item/storage/box/stun
- name = "ammunition box (Stun shells)"
- desc = "A small box capable of holding seven shotgun shells."
- icon_state = "stunbox"
-
-/obj/item/storage/box/stun/populate_contents()
- for(var/I in 1 to 7)
- new /obj/item/ammo_casing/shotgun/stunslug(src)
-
-/obj/item/storage/box/beanbag
- name = "ammunition box (Beanbag shells)"
- desc = "A small box capable of holding seven shotgun shells."
- icon_state = "beanbagbox"
-
-/obj/item/storage/box/beanbag/populate_contents()
- for(var/I in 1 to 7)
- new /obj/item/ammo_casing/shotgun/beanbag(src)
-
-/obj/item/storage/box/rubbershot
- name = "ammunition box (Rubbershot shells)"
- desc = "A small box capable of holding seven shotgun shells."
- icon_state = "rubbershotbox"
-
-/obj/item/storage/box/rubbershot/populate_contents()
- for(var/I in 1 to 7)
- new /obj/item/ammo_casing/shotgun/rubbershot(src)
-
-/obj/item/storage/box/tranquilizer
- name = "ammunition box (Tranquilizer darts)"
- desc = "A small box capable of holding seven shotgun shells."
- icon_state = "tranqbox"
-
-/obj/item/storage/box/tranquilizer/populate_contents()
- for(var/I in 1 to 7)
- new /obj/item/ammo_casing/shotgun/tranquilizer(src)
-
-/obj/item/storage/box/flashes
- name = "box of flashbulbs"
- desc = "WARNING: Flashes can cause serious eye damage, protective eyewear is required."
- icon_state = "flashbang"
-
-/obj/item/storage/box/flashes/populate_contents()
- for(var/I in 1 to 6)
- new /obj/item/flash(src)
-
-/obj/item/storage/box/teargas
- name = "box of tear gas grenades (WARNING)"
- desc = "WARNING: These devices are extremely dangerous and can cause blindness and skin irritation."
- icon_state = "flashbang"
-
-/obj/item/storage/box/teargas/populate_contents()
- for(var/I in 1 to 7)
- new /obj/item/grenade/chem_grenade/teargas(src)
-
-/obj/item/storage/box/emps
- name = "emp grenades"
- desc = "A box with 5 emp grenades."
- icon_state = "flashbang"
-
-/obj/item/storage/box/emps/populate_contents()
- for(var/I in 1 to 5)
- new /obj/item/grenade/empgrenade(src)
/obj/item/storage/box/tapes
name = "Tape Box"
@@ -368,14 +218,6 @@
for(var/i in 1 to 7)
new /obj/item/disk/plantgene(src)
-/obj/item/storage/box/disks
- name = "genetics diskette box"
- icon_state = "disk_box"
-
-/obj/item/storage/box/disks/populate_contents()
- for(var/i in 1 to 7)
- new /obj/item/disk/data(src)
-
/obj/item/storage/box/PDAs
name = "spare PDAs"
desc = "A box of spare PDA microcomputers."
diff --git a/code/game/objects/items/weapons/twohanded.dm b/code/game/objects/items/weapons/twohanded.dm
index fe099a83823..460a227057d 100644
--- a/code/game/objects/items/weapons/twohanded.dm
+++ b/code/game/objects/items/weapons/twohanded.dm
@@ -401,13 +401,6 @@
mounted_head = null
qdel(src)
-/obj/item/spear/kidan
- name = "\improper Kidan spear"
- desc = "A spear brought over from the Kidan homeworld."
- base_icon_state = "kindanspear"
- icon_state = "kidanspear0"
-
-
// DIY CHAINSAW
/obj/item/chainsaw
name = "chainsaw"
diff --git a/code/game/turfs/space/transit.dm b/code/game/turfs/space/transit.dm
index 9cbb8575579..cfdbe60c94d 100644
--- a/code/game/turfs/space/transit.dm
+++ b/code/game/turfs/space/transit.dm
@@ -1,6 +1,8 @@
/turf/space/transit
var/pushdirection // push things that get caught in the transit tile this direction
plane = PLANE_SPACE
+ icon_state = "black"
+ dir = SOUTH
//Overwrite because we dont want people building rods in space.
/turf/space/transit/attackby(obj/O as obj, mob/user as mob, params)
@@ -107,10 +109,6 @@
icon_state = "speedspace_ew_15"
//-tg- stuff
-/turf/space/transit
- icon_state = "black"
- dir = SOUTH
-
/turf/space/transit/horizontal
dir = WEST
diff --git a/code/modules/admin/holder2.dm b/code/modules/admin/holder2.dm
index 533b510719e..5eb5fbb3b9c 100644
--- a/code/modules/admin/holder2.dm
+++ b/code/modules/admin/holder2.dm
@@ -16,6 +16,7 @@ GLOBAL_PROTECT(href_token)
var/rights = 0
var/fakekey
var/big_brother = FALSE
+ var/current_tab = 0
/// Unique-to-session randomly generated token given to each admin to help add detail to logs on admin interactions with hrefs
var/href_token
diff --git a/code/modules/admin/secrets.dm b/code/modules/admin/secrets.dm
index 5e550c8586c..90a979611ba 100644
--- a/code/modules/admin/secrets.dm
+++ b/code/modules/admin/secrets.dm
@@ -1,6 +1,3 @@
-/datum/admins
- var/current_tab =0
-
/datum/admins/proc/Secrets()
diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm
index 5f230c1a48e..852149ec771 100644
--- a/code/modules/clothing/clothing.dm
+++ b/code/modules/clothing/clothing.dm
@@ -262,6 +262,7 @@
var/safe_from_poison = FALSE
strip_delay = 20
put_on_delay = 40
+ var/transfer_blood = FALSE
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/gloves.dmi',
diff --git a/code/modules/clothing/gloves/boxing_gloves.dm b/code/modules/clothing/gloves/boxing_gloves.dm
index 701984de055..b7b38b1c698 100644
--- a/code/modules/clothing/gloves/boxing_gloves.dm
+++ b/code/modules/clothing/gloves/boxing_gloves.dm
@@ -5,6 +5,26 @@
item_state = "boxing"
put_on_delay = 60
species_exception = list(/datum/species/golem) // now you too can be a golem boxing champion
+ var/datum/martial_art/boxing/style
+
+/obj/item/clothing/gloves/boxing/Initialize()
+ . = ..()
+ style = new()
+
+/obj/item/clothing/gloves/boxing/equipped(mob/user, slot)
+ if(!ishuman(user))
+ return
+ if(slot == SLOT_HUD_GLOVES)
+ var/mob/living/carbon/human/H = user
+ style.teach(H, TRUE)
+
+/obj/item/clothing/gloves/boxing/dropped(mob/user)
+ ..()
+ if(!ishuman(user))
+ return
+ var/mob/living/carbon/human/H = user
+ if(H.get_item_by_slot(SLOT_HUD_GLOVES) == src)
+ style.remove(H)
/obj/item/clothing/gloves/boxing/green
icon_state = "boxinggreen"
diff --git a/code/modules/clothing/head/collectable.dm b/code/modules/clothing/head/collectable.dm
index 76450a01cac..0eaff68032e 100644
--- a/code/modules/clothing/head/collectable.dm
+++ b/code/modules/clothing/head/collectable.dm
@@ -13,7 +13,8 @@
/obj/item/clothing/head/collectable/slime
name = "collectable slime cap!"
desc = "It just latches right in place!"
- icon_state = "slime"
+ icon_state = "headslime"
+ item_state = "headslime"
/obj/item/clothing/head/collectable/xenom
name = "collectable xenomorph helmet!"
@@ -79,12 +80,6 @@
"Grey" = 'icons/mob/clothing/species/grey/helmet.dmi'
)
-/obj/item/clothing/head/collectable/slime
- name = "collectable slime hat"
- desc = "Just like a real Brain Slug!"
- icon_state = "headslime"
- item_state = "headslime"
-
/obj/item/clothing/head/collectable/flatcap
name = "collectable flat cap"
desc = "A Collectable farmer's Flat Cap!"
diff --git a/code/modules/clothing/head/misc_hats.dm b/code/modules/clothing/head/misc_hats.dm
index f5f066b74db..c6c0352173e 100644
--- a/code/modules/clothing/head/misc_hats.dm
+++ b/code/modules/clothing/head/misc_hats.dm
@@ -126,14 +126,6 @@
"Grey" = 'icons/mob/clothing/species/grey/head.dmi'
)
-/obj/item/clothing/head/that
- name = "sturdy top-hat"
- desc = "It's an amish looking armored top hat."
- icon_state = "tophat"
- item_state = "that"
- flags_inv = 0
-
-
/obj/item/clothing/head/greenbandana
name = "green bandana"
desc = "It's a green bandana with some fine nanotech lining."
diff --git a/code/modules/clothing/shoes/colour.dm b/code/modules/clothing/shoes/colour.dm
index f3c486f2355..6f0c5aa3515 100644
--- a/code/modules/clothing/shoes/colour.dm
+++ b/code/modules/clothing/shoes/colour.dm
@@ -20,6 +20,7 @@
name = "brown shoes"
desc = "A pair of brown shoes."
icon_state = "brown"
+ item_color = "brown"
/obj/item/clothing/shoes/brown/captain
item_color = "captain" //Exists for washing machines. Is not different from brown shoes in any way.
@@ -59,11 +60,6 @@
icon_state = "purple"
item_color = "purple"
-/obj/item/clothing/shoes/brown
- name = "brown shoes"
- icon_state = "brown"
- item_color = "brown"
-
/obj/item/clothing/shoes/red
name = "red shoes"
desc = "Stylish red shoes."
diff --git a/code/modules/clothing/under/color.dm b/code/modules/clothing/under/color.dm
index 64e4fd9c6ad..e5a6769e308 100644
--- a/code/modules/clothing/under/color.dm
+++ b/code/modules/clothing/under/color.dm
@@ -146,11 +146,6 @@
icon_state = "lightgreen"
item_color = "lightgreen"
-/obj/item/clothing/under/color/lightblue
- name = "light blue jumpsuit"
- icon_state = "lightblue"
- item_color = "lightblue"
-
/obj/item/clothing/under/color/lightbrown
name = "light brown jumpsuit"
icon_state = "lightbrown"
diff --git a/code/modules/detective_work/footprints_and_rag.dm b/code/modules/detective_work/footprints_and_rag.dm
index 282efb696d9..468eb94e322 100644
--- a/code/modules/detective_work/footprints_and_rag.dm
+++ b/code/modules/detective_work/footprints_and_rag.dm
@@ -1,6 +1,3 @@
-/obj/item/clothing/gloves
- var/transfer_blood = 0
-
/obj/item/reagent_containers/glass/rag
name = "damp rag"
desc = "For cleaning up messes, you suppose."
diff --git a/code/modules/food_and_drinks/food/foods/meat.dm b/code/modules/food_and_drinks/food/foods/meat.dm
index 783cbdd7f41..dd4e92d8796 100644
--- a/code/modules/food_and_drinks/food/foods/meat.dm
+++ b/code/modules/food_and_drinks/food/foods/meat.dm
@@ -562,6 +562,10 @@
bitesize = 3
list_reagents = list("protein" = 4, "vitamin" = 4)
+/obj/item/food/snacks/organ/Initialize(mapload)
+ . = ..()
+ reagents.add_reagent("nutriment", 5)
+
/obj/item/food/snacks/appendix
//yes, this is the same as meat. I might do something different in future
name = "appendix"
diff --git a/code/modules/food_and_drinks/recipes/recipes_microwave.dm b/code/modules/food_and_drinks/recipes/recipes_microwave.dm
index ccbb8df2ea3..c052751f399 100644
--- a/code/modules/food_and_drinks/recipes/recipes_microwave.dm
+++ b/code/modules/food_and_drinks/recipes/recipes_microwave.dm
@@ -387,13 +387,6 @@
)
result = /obj/item/food/snacks/soup/coldchili
-/datum/recipe/microwave/spellburger
- items = list(
- /obj/item/food/snacks/bun,
- /obj/item/clothing/head/wizard/fake
- )
- result = /obj/item/food/snacks/burger/spell
-
/datum/recipe/microwave/spellburger
items = list(
/obj/item/food/snacks/bun,
diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_table.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_table.dm
index 5aaf7023d7f..c1894fb5fbe 100644
--- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_table.dm
+++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_table.dm
@@ -1,13 +1,3 @@
-/* Example for reference when defining recipes
-/datum/crafting_recipe/food
- name = "" //in-game display name
- reqs[] = list() //type paths of items/reagents consumed associated with how many are needed (equivalent to var/list/items and var/list/reagents combined)
- result //type path of item resulting from this craft
- tools[] = list() //type paths of items needed but not consumed
- time = 30 //time in deciseconds
- parts[] = list() //type paths of items that will be placed in the result
-*/
-
/datum/crafting_recipe/sandwich
name = "Sandwich"
reqs = list(
diff --git a/code/modules/mapping/access_helpers.dm b/code/modules/mapping/access_helpers.dm
index 6eb44eccfa2..819125630bc 100644
--- a/code/modules/mapping/access_helpers.dm
+++ b/code/modules/mapping/access_helpers.dm
@@ -411,8 +411,6 @@
/obj/effect/mapping_helpers/airlock/access/all/service/chapel_office
access = ACCESS_CHAPEL_OFFICE
-/obj/effect/mapping_helpers/airlock/access/all/service/crematorium
- access = ACCESS_CREMATORIUM
/obj/effect/mapping_helpers/airlock/access/all/service/crematorium
access = ACCESS_CREMATORIUM
diff --git a/code/modules/mapping/windoor_access_helpers.dm b/code/modules/mapping/windoor_access_helpers.dm
index fcc341441e5..015eebf685e 100644
--- a/code/modules/mapping/windoor_access_helpers.dm
+++ b/code/modules/mapping/windoor_access_helpers.dm
@@ -414,9 +414,6 @@
/obj/effect/mapping_helpers/airlock/windoor/access/all/service/crematorium
access = ACCESS_CREMATORIUM
-/obj/effect/mapping_helpers/airlock/windoor/access/all/service/crematorium
- access = ACCESS_CREMATORIUM
-
/obj/effect/mapping_helpers/airlock/windoor/access/all/service/library
access = ACCESS_LIBRARY
diff --git a/code/modules/martial_arts/martial.dm b/code/modules/martial_arts/martial.dm
index 05f88ee2834..36e99c67e57 100644
--- a/code/modules/martial_arts/martial.dm
+++ b/code/modules/martial_arts/martial.dm
@@ -256,31 +256,6 @@
else
to_chat(H, "Your hands are full.")
-//ITEMS
-
-/obj/item/clothing/gloves/boxing
- var/datum/martial_art/boxing/style
-
-/obj/item/clothing/gloves/boxing/Initialize()
- . = ..()
- style = new()
-
-/obj/item/clothing/gloves/boxing/equipped(mob/user, slot)
- if(!ishuman(user))
- return
- if(slot == SLOT_HUD_GLOVES)
- var/mob/living/carbon/human/H = user
- style.teach(H, TRUE)
- return
-
-/obj/item/clothing/gloves/boxing/dropped(mob/user)
- ..()
- if(!ishuman(user))
- return
- var/mob/living/carbon/human/H = user
- if(H.get_item_by_slot(SLOT_HUD_GLOVES) == src)
- style.remove(H)
-
/obj/item/storage/belt/champion/wrestling
name = "Wrestling Belt"
var/datum/martial_art/wrestling/style
diff --git a/code/modules/mob/living/autohiss.dm b/code/modules/mob/living/autohiss.dm
index 7879d0d6c32..260a7fa9ada 100644
--- a/code/modules/mob/living/autohiss.dm
+++ b/code/modules/mob/living/autohiss.dm
@@ -23,47 +23,6 @@
prefs.active_character.autohiss_mode = AUTOHISS_OFF
to_chat(src, "Auto-hiss is now OFF.")
-/datum/species/unathi
- autohiss_basic_map = list(
- "s" = list("ss", "sss", "ssss")
- )
- autohiss_extra_map = list(
- "x" = list("ks", "kss", "ksss")
- )
- autohiss_exempt = list("Sinta'unathi")
-
-/datum/species/tajaran
- autohiss_basic_map = list(
- "r" = list("rr", "rrr", "rrrr")
- )
- autohiss_exempt = list("Siik'tajr")
-
-/datum/species/plasmaman
- autohiss_basic_map = list(
- "s" = list("ss", "sss", "ssss")
- )
-
-/datum/species/kidan
- autohiss_basic_map = list(
- "z" = list("zz", "zzz", "zzzz"),
- "v" = list("vv", "vvv", "vvvv")
- )
- autohiss_extra_map = list(
- "s" = list("z", "zs", "zzz", "zzsz")
- )
- autohiss_exempt = list("Chittin")
-
-/datum/species/drask
- autohiss_basic_map = list(
- "o" = list ("oo", "ooo"),
- "u" = list ("uu", "uuu")
- )
- autohiss_extra_map = list(
- "m" = list ("mm", "mmm")
- )
- autohiss_exempt = list("Orluum")
-
-
/datum/species/proc/handle_autohiss(message, datum/language/lang, mode)
if(!autohiss_basic_map)
return message
diff --git a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm
index 1fdfa0c9d00..fa09251977f 100644
--- a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm
+++ b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm
@@ -1,3 +1,4 @@
+#define XENO_TOTAL_LAYERS 6
/mob/living/carbon/alien/humanoid
name = "alien"
icon_state = "alien_s"
@@ -11,6 +12,7 @@
var/alien_slash_damage = 20 //Aliens deal a good amount of damage on harm intent
var/alien_movement_delay = 0 //This can be + or -, how fast an alien moves
var/temperature_resistance = T0C+75
+ var/list/overlays_standing[XENO_TOTAL_LAYERS]
pass_flags = PASSTABLE
hud_type = /datum/hud/alien
@@ -96,3 +98,5 @@ GLOBAL_LIST_INIT(strippable_alien_humanoid_items, create_strippable_list(list(
/mob/living/carbon/alien/humanoid/get_permeability_protection()
return 0.8
+
+#undef XENO_TOTAL_LAYERS
diff --git a/code/modules/mob/living/carbon/alien/humanoid/humanoid_update_icons.dm b/code/modules/mob/living/carbon/alien/humanoid/humanoid_update_icons.dm
index 6a4c5a2f216..5732c200ee6 100644
--- a/code/modules/mob/living/carbon/alien/humanoid/humanoid_update_icons.dm
+++ b/code/modules/mob/living/carbon/alien/humanoid/humanoid_update_icons.dm
@@ -5,12 +5,8 @@
#define X_R_HAND_LAYER 4
#define X_TARGETED_LAYER 5
#define X_FIRE_LAYER 6
-#define X_TOTAL_LAYERS 6
/////////////////////////////////
-/mob/living/carbon/alien/humanoid
- var/list/overlays_standing[X_TOTAL_LAYERS]
-
/mob/living/carbon/alien/humanoid/update_icons()
overlays.Cut()
for(var/image/I in overlays_standing)
@@ -144,4 +140,3 @@
#undef X_R_HAND_LAYER
#undef X_TARGETED_LAYER
#undef X_FIRE_LAYER
-#undef X_TOTAL_LAYERS
diff --git a/code/modules/mob/living/carbon/human/species/drask.dm b/code/modules/mob/living/carbon/human/species/drask.dm
index 6d612d98e99..fba0d6f97e8 100644
--- a/code/modules/mob/living/carbon/human/species/drask.dm
+++ b/code/modules/mob/living/carbon/human/species/drask.dm
@@ -57,6 +57,14 @@
"eyes" = /obj/item/organ/internal/eyes/drask, //5 darksight.
"brain" = /obj/item/organ/internal/brain/drask
)
+ autohiss_basic_map = list(
+ "o" = list ("oo", "ooo"),
+ "u" = list ("uu", "uuu")
+ )
+ autohiss_extra_map = list(
+ "m" = list ("mm", "mmm")
+ )
+ autohiss_exempt = list("Orluum")
/datum/species/drask/get_species_runechat_color(mob/living/carbon/human/H)
var/obj/item/organ/internal/eyes/E = H.get_int_organ(/obj/item/organ/internal/eyes)
diff --git a/code/modules/mob/living/carbon/human/species/golem.dm b/code/modules/mob/living/carbon/human/species/golem.dm
index 747eec39daa..416a9f2b73d 100644
--- a/code/modules/mob/living/carbon/human/species/golem.dm
+++ b/code/modules/mob/living/carbon/human/species/golem.dm
@@ -143,21 +143,21 @@
/datum/species/golem/plasma/on_species_gain(mob/living/carbon/C, datum/species/old_species)
..()
if(ishuman(C))
- var/datum/action/innate/ignite/ignite = new()
- ignite.Grant(C)
+ var/datum/action/innate/golem_ignite/golem_ignite = new()
+ golem_ignite.Grant(C)
/datum/species/golem/plasma/on_species_loss(mob/living/carbon/C)
- for(var/datum/action/innate/ignite/ignite in C.actions)
- ignite.Remove(C)
+ for(var/datum/action/innate/golem_ignite/golem_ignite in C.actions)
+ golem_ignite.Remove(C)
..()
-/datum/action/innate/ignite
+/datum/action/innate/golem_ignite
name = "Ignite"
desc = "Set yourself aflame, bringing yourself closer to exploding!"
check_flags = AB_CHECK_CONSCIOUS
button_icon_state = "sacredflame"
-/datum/action/innate/ignite/Activate()
+/datum/action/innate/golem_ignite/Activate()
if(ishuman(owner))
var/mob/living/carbon/human/H = owner
if(H.fire_stacks)
diff --git a/code/modules/mob/living/carbon/human/species/kidan.dm b/code/modules/mob/living/carbon/human/species/kidan.dm
index 6ae58289f77..e0d95de20e5 100644
--- a/code/modules/mob/living/carbon/human/species/kidan.dm
+++ b/code/modules/mob/living/carbon/human/species/kidan.dm
@@ -47,6 +47,14 @@
"is cracking their exoskeleton!",
"is stabbing themselves with their mandibles!",
"is holding their breath!")
+ autohiss_basic_map = list(
+ "z" = list("zz", "zzz", "zzzz"),
+ "v" = list("vv", "vvv", "vvvv")
+ )
+ autohiss_extra_map = list(
+ "s" = list("z", "zs", "zzz", "zzsz")
+ )
+ autohiss_exempt = list("Chittin")
/datum/species/kidan/get_species_runechat_color(mob/living/carbon/human/H)
diff --git a/code/modules/mob/living/carbon/human/species/plasmaman.dm b/code/modules/mob/living/carbon/human/species/plasmaman.dm
index 2e1a6c0e66e..bbbeff0d8b4 100644
--- a/code/modules/mob/living/carbon/human/species/plasmaman.dm
+++ b/code/modules/mob/living/carbon/human/species/plasmaman.dm
@@ -47,6 +47,9 @@
speciesbox = /obj/item/storage/box/survival_plasmaman
flesh_color = "#8b3fba"
+ autohiss_basic_map = list(
+ "s" = list("ss", "sss", "ssss")
+ )
/datum/species/plasmaman/before_equip_job(datum/job/J, mob/living/carbon/human/H, visualsOnly = FALSE)
var/current_job = J.title
diff --git a/code/modules/mob/living/carbon/human/species/tajaran.dm b/code/modules/mob/living/carbon/human/species/tajaran.dm
index 2ec13166f02..6a71141a991 100644
--- a/code/modules/mob/living/carbon/human/species/tajaran.dm
+++ b/code/modules/mob/living/carbon/human/species/tajaran.dm
@@ -51,6 +51,10 @@
"is jamming their claws into their eye sockets!",
"is twisting their own neck!",
"is holding their breath!")
+ autohiss_basic_map = list(
+ "r" = list("rr", "rrr", "rrrr")
+ )
+ autohiss_exempt = list("Siik'tajr")
/datum/species/tajaran/handle_death(gibbed, mob/living/carbon/human/H)
H.stop_tail_wagging()
diff --git a/code/modules/mob/living/carbon/human/species/unathi.dm b/code/modules/mob/living/carbon/human/species/unathi.dm
index 175252cd3ec..146d4b606b6 100644
--- a/code/modules/mob/living/carbon/human/species/unathi.dm
+++ b/code/modules/mob/living/carbon/human/species/unathi.dm
@@ -54,6 +54,13 @@
"is jamming their claws into their eye sockets!",
"is twisting their own neck!",
"is holding their breath!")
+ autohiss_basic_map = list(
+ "s" = list("ss", "sss", "ssss")
+ )
+ autohiss_extra_map = list(
+ "x" = list("ks", "kss", "ksss")
+ )
+ autohiss_exempt = list("Sinta'unathi")
/datum/species/unathi/on_species_gain(mob/living/carbon/human/H)
..()
diff --git a/code/modules/mob/living/silicon/robot/misc_robot_items.dm b/code/modules/mob/living/silicon/robot/misc_robot_items.dm
index 05174cd247e..22b21a4104c 100644
--- a/code/modules/mob/living/silicon/robot/misc_robot_items.dm
+++ b/code/modules/mob/living/silicon/robot/misc_robot_items.dm
@@ -65,8 +65,6 @@
//Personal shielding for the combat module.
-/obj/item/borg
- var/powerneeded // Percentage of power remaining required to run item
/obj/item/borg/destroyer/mobility
name = "mobility module"
diff --git a/code/modules/mob/living/simple_animal/friendly/dog.dm b/code/modules/mob/living/simple_animal/friendly/dog.dm
index f27ae44d728..704cda468e2 100644
--- a/code/modules/mob/living/simple_animal/friendly/dog.dm
+++ b/code/modules/mob/living/simple_animal/friendly/dog.dm
@@ -475,10 +475,6 @@
else if(prob(30) && ishuman(movement_target.loc)) // mean hooman has stolen it
custom_emote(EMOTE_VISIBLE, "stares at [movement_target.loc]'s [movement_target] with a sad puppy-face.")
-/obj/item/food/snacks/meat/corgi
- name = "Corgi meat"
- desc = "Tastes like... well you know..."
-
/mob/living/simple_animal/pet/dog/corgi/Ian/narsie_act()
playsound(src, 'sound/misc/demon_dies.ogg', 75, TRUE)
var/mob/living/simple_animal/pet/dog/corgi/narsie/N = new(loc)
diff --git a/code/modules/mob/new_player/sprite_accessories/human/human_hair.dm b/code/modules/mob/new_player/sprite_accessories/human/human_hair.dm
index c62273ffdb1..c9d0087bd0b 100644
--- a/code/modules/mob/new_player/sprite_accessories/human/human_hair.dm
+++ b/code/modules/mob/new_player/sprite_accessories/human/human_hair.dm
@@ -756,11 +756,6 @@
icon_state = "longovereye"
species_allowed = list("Human", "Slime People", "Unathi", "Tajaran", "Vulpkanin")
-/datum/sprite_accessory/hair/father
- name = "Father"
- icon_state = "father"
- species_allowed = list("Human", "Slime People", "Unathi", "Tajaran", "Vulpkanin")
-
/// Due to a vulp hairstyle called bun
/datum/sprite_accessory/hair/bun4
name = "Bun 4"
diff --git a/code/modules/mob/new_player/sprite_accessories/kidan/kidan_head_accessories.dm b/code/modules/mob/new_player/sprite_accessories/kidan/kidan_head_accessories.dm
index aa938926eb9..7c229d068c6 100644
--- a/code/modules/mob/new_player/sprite_accessories/kidan/kidan_head_accessories.dm
+++ b/code/modules/mob/new_player/sprite_accessories/kidan/kidan_head_accessories.dm
@@ -16,10 +16,6 @@
name = "Curious Antennae"
icon_state = "curious"
-/datum/sprite_accessory/head_accessory/kidan/mopey_antennae
- name = "Mopey Antennae"
- icon_state = "mopey"
-
/datum/sprite_accessory/head_accessory/kidan/crescent_antennae
name = "Crescent Antennae"
icon_state = "crescent"
diff --git a/code/modules/mob/new_player/sprite_accessories/sprite_accessories.dm b/code/modules/mob/new_player/sprite_accessories/sprite_accessories.dm
index 41895d77952..d17931f9577 100644
--- a/code/modules/mob/new_player/sprite_accessories/sprite_accessories.dm
+++ b/code/modules/mob/new_player/sprite_accessories/sprite_accessories.dm
@@ -196,7 +196,7 @@
name = "Mens Grey"
icon_state = "male_grey"
-/datum/sprite_accessory/underwear/male/male_grey
+/datum/sprite_accessory/underwear/male/male_grey_alt
name = "Mens Grey Alt"
icon_state = "male_greyalt"
diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm
index dec1ff962b1..ec07906e81c 100644
--- a/code/modules/paperwork/paper.dm
+++ b/code/modules/paperwork/paper.dm
@@ -534,14 +534,6 @@
name = "A Crash Course in Legal SOP on SS13"
info = "Roles:
\nThe Detective is basically the investigator and prosecutor.
\nThe Staff Assistant can perform these functions with written authority from the Detective.
\nThe Captain/HoP/Warden is ct as the judicial authority.
\nThe Security Officers are responsible for executing warrants, security during trial, and prisoner transport.
\n
\nInvestigative Phase:
\nAfter the crime has been committed the Detective's job is to gather evidence and try to ascertain not only who did it but what happened. He must take special care to catalogue everything and don't leave anything out. Write out all the evidence on paper. Make sure you take an appropriate number of fingerprints. IF he must ask someone questions he has permission to confront them. If the person refuses he can ask a judicial authority to write a subpoena for questioning. If again he fails to respond then that person is to be jailed as insubordinate and obstructing justice. Said person will be released after he cooperates.
\n
\nONCE the FT has a clear idea as to who the criminal is he is to write an arrest warrant on the piece of paper. IT MUST LIST THE CHARGES. The FT is to then go to the judicial authority and explain a small version of his case. If the case is moderately acceptable the authority should sign it. Security must then execute said warrant.
\n
\nPre-Pre-Trial Phase:
\nNow a legal representative must be presented to the defendant if said defendant requests one. That person and the defendant are then to be given time to meet (in the jail IS ACCEPTABLE). The defendant and his lawyer are then to be given a copy of all the evidence that will be presented at trial (rewriting it all on paper is fine). THIS IS CALLED THE DISCOVERY PACK. With a few exceptions, THIS IS THE ONLY EVIDENCE BOTH SIDES MAY USE AT TRIAL. IF the prosecution will be seeking the death penalty it MUST be stated at this time. ALSO if the defense will be seeking not guilty by mental defect it must state this at this time to allow ample time for examination.
\nNow at this time each side is to compile a list of witnesses. By default, the defendant is on both lists regardless of anything else. Also the defense and prosecution can compile more evidence beforehand BUT in order for it to be used the evidence MUST also be given to the other side.\nThe defense has time to compile motions against some evidence here.
\nPossible Motions:
\n1. Invalidate Evidence- Something with the evidence is wrong and the evidence is to be thrown out. This includes irrelevance or corrupt security.
\n2. Free Movement- Basically the defendant is to be kept uncuffed before and during the trial.
\n3. Subpoena Witness- If the defense presents god reasons for needing a witness but said person fails to cooperate then a subpoena is issued.
\n4. Drop the Charges- Not enough evidence is there for a trial so the charges are to be dropped. The FT CAN RETRY but the judicial authority must carefully reexamine the new evidence.
\n5. Declare Incompetent- Basically the defendant is insane. Once this is granted a medical official is to examine the patient. If he is indeed insane he is to be placed under care of the medical staff until he is deemed competent to stand trial.
\n
\nALL SIDES MOVE TO A COURTROOM
\nPre-Trial Hearings:
\nA judicial authority and the 2 sides are to meet in the trial room. NO ONE ELSE BESIDES A SECURITY DETAIL IS TO BE PRESENT. The defense submits a plea. If the plea is guilty then proceed directly to sentencing phase. Now the sides each present their motions to the judicial authority. He rules on them. Each side can debate each motion. Then the judicial authority gets a list of crew members. He first gets a chance to look at them all and pick out acceptable and available jurors. Those jurors are then called over. Each side can ask a few questions and dismiss jurors they find too biased. HOWEVER before dismissal the judicial authority MUST agree to the reasoning.
\n
\nThe Trial:
\nThe trial has three phases.
\n1. Opening Arguments- Each side can give a short speech. They may not present ANY evidence.
\n2. Witness Calling/Evidence Presentation- The prosecution goes first and is able to call the witnesses on his approved list in any order. He can recall them if necessary. During the questioning the lawyer may use the evidence in the questions to help prove a point. After every witness the other side has a chance to cross-examine. After both sides are done questioning a witness the prosecution can present another or recall one (even the EXACT same one again!). After prosecution is done the defense can call witnesses. After the initial cases are presented both sides are free to call witnesses on either list.
\nFINALLY once both sides are done calling witnesses we move onto the next phase.
\n3. Closing Arguments- Same as opening.
\nThe jury then deliberates IN PRIVATE. THEY MUST ALL AGREE on a verdict. REMEMBER: They mix between some charges being guilty and others not guilty (IE if you supposedly killed someone with a gun and you unfortunately picked up a gun without authorization then you CAN be found not guilty of murder BUT guilty of possession of illegal weaponry.). Once they have agreed they present their verdict. If unable to reach a verdict and feel they will never they call a deadlocked jury and we restart at Pre-Trial phase with an entirely new set of jurors.
\n
\nSentencing Phase:
\nIf the death penalty was sought (you MUST have gone through a trial for death penalty) then skip to the second part.
\nI. Each side can present more evidence/witnesses in any order. There is NO ban on emotional aspects or anything. The prosecution is to submit a suggested penalty. After all the sides are done then the judicial authority is to give a sentence.
\nII. The jury stays and does the same thing as I. Their sole job is to determine if the death penalty is applicable. If NOT then the judge selects a sentence.
\n
\nTADA you're done. Security then executes the sentence and adds the applicable convictions to the person's record.
\n"
-/obj/item/paper/hydroponics
- name = "Greetings from Billy Bob"
- info = "Hey fellow botanist!
\n
\nI didn't trust the station folk so I left
\na couple of weeks ago. But here's some
\ninstructions on how to operate things here.
\nYou can grow plants and each iteration they become
\nstronger, more potent and have better yield, if you
\nknow which ones to pick. Use your botanist's analyzer
\nfor that. You can turn harvested plants into seeds
\nat the seed extractor, and replant them for better stuff!
\nSometimes if the weed level gets high in the tray
\nmutations into different mushroom or weed species have
\nbeen witnessed. On the rare occassion even weeds mutate!
\n
\nEither way, have fun!
\n
\nBest regards,
\nBilly Bob Johnson.
\n
\nPS.
\nHere's a few tips:
\nIn nettles, potency = damage
\nIn amanitas, potency = deadliness + side effect
\nIn Liberty caps, potency = drug power + effect
\nIn chilis, potency = heat
\nNutrients keep mushrooms alive!
\nWater keeps weeds such as nettles alive!
\nAll other plants need both."
-
-/obj/item/paper/djstation
- name = "DJ Listening Outpost"
- info = "Welcome new owner!
You have purchased the latest in listening equipment. The telecommunication setup we created is the best in listening to common and private radio fequencies. Here is a step by step guide to start listening in on those saucy radio channels: