diff --git a/code/__defines/subsystems.dm b/code/__defines/subsystems.dm
new file mode 100644
index 00000000000..75780be3eb8
--- /dev/null
+++ b/code/__defines/subsystems.dm
@@ -0,0 +1,15 @@
+
+// SS runlevels
+
+#define RUNLEVEL_INIT 0 // "Initialize Only" - Used for subsystems that should never be fired (Should also have SS_NO_FIRE set)
+#define RUNLEVEL_LOBBY 1 // Initial runlevel before setup. Returns to here if setup fails.
+#define RUNLEVEL_SETUP 2 // While the gamemode setup is running. I.E gameticker.setup()
+#define RUNLEVEL_GAME 4 // After successful game ticker setup, while the round is running.
+#define RUNLEVEL_POSTGAME 8 // When round completes but before reboot
+
+#define RUNLEVELS_DEFAULT (RUNLEVEL_SETUP | RUNLEVEL_GAME | RUNLEVEL_POSTGAME)
+
+var/global/list/runlevel_flags = list(RUNLEVEL_LOBBY, RUNLEVEL_SETUP, RUNLEVEL_GAME, RUNLEVEL_POSTGAME)
+#define RUNLEVEL_FLAG_TO_INDEX(flag) (log(2, flag) + 1) // Convert from the runlevel bitfield constants to index in runlevel_flags list
+
+#define INIT_ORDER_LIGHTING 0
diff --git a/code/datums/supplypacks/recreation_vr.dm b/code/datums/supplypacks/recreation_vr.dm
index 58c8f02aee1..19b0df7e8c4 100644
--- a/code/datums/supplypacks/recreation_vr.dm
+++ b/code/datums/supplypacks/recreation_vr.dm
@@ -18,7 +18,7 @@
/obj/item/stack/cable_coil/random,
/obj/item/clothing/accessory/collar/shock,
/obj/item/clothing/suit/straight_jacket,
- /obj/item/weapon/legcuffs,
+ /obj/item/weapon/handcuffs/legcuffs,
/obj/item/weapon/melee/fluff/holochain/mass,
/obj/item/weapon/material/twohanded/fluff/riding_crop
)
diff --git a/code/game/objects/items/contraband_vr.dm b/code/game/objects/items/contraband_vr.dm
index 99b19bacc4d..944585ae923 100644
--- a/code/game/objects/items/contraband_vr.dm
+++ b/code/game/objects/items/contraband_vr.dm
@@ -44,7 +44,7 @@
/obj/item/mecha_parts/part/phazon_torso,
/obj/item/device/bodysnatcher,
/obj/item/weapon/bluespace_harpoon,
- /obj/item/weapon/permit,
+ /obj/item/clothing/accessory/permit/gun,
/obj/item/device/perfect_tele,
/obj/item/device/sleevemate,
/obj/item/weapon/disk/nifsoft/compliance,
diff --git a/code/game/objects/items/weapons/implants/implanter.dm b/code/game/objects/items/weapons/implants/implanter.dm
index 64f29d7902f..67d1bc129a4 100644
--- a/code/game/objects/items/weapons/implants/implanter.dm
+++ b/code/game/objects/items/weapons/implants/implanter.dm
@@ -67,7 +67,7 @@
imp.part = affected
BITSET(H.hud_updateflag, IMPLOYAL_HUD)
- BITSET(H.hud_updateflag, BACKUP_HUD) //VOREStation Add - Backup HUD updates
+ BITSET(H.hud_updateflag, BACKUP_HUD) //VOREStation Add - Backup HUD updates
src.imp = null
update()
diff --git a/code/game/objects/random/random_vr.dm b/code/game/objects/random/random_vr.dm
index f6917409c78..c5118b96bf7 100644
--- a/code/game/objects/random/random_vr.dm
+++ b/code/game/objects/random/random_vr.dm
@@ -158,7 +158,7 @@
prob(1);/obj/item/clothing/suit/storage/vest/heavy/merc,\
prob(1);/obj/item/weapon/beartrap,\
prob(1);/obj/item/weapon/handcuffs,\
- prob(1);/obj/item/weapon/legcuffs,\
+ prob(1);/obj/item/weapon/handcuffs/legcuffs,\
prob(1);/obj/item/weapon/reagent_containers/syringe/steroid)
//A random thing so that the spawn_nothing_percentage can be used w/o duplicating code.
diff --git a/code/game/objects/structures/trash_pile.dm b/code/game/objects/structures/trash_pile.dm
index 0c98df2f807..330093d1c9d 100644
--- a/code/game/objects/structures/trash_pile.dm
+++ b/code/game/objects/structures/trash_pile.dm
@@ -22,7 +22,7 @@
/obj/item/weapon/bluespace_harpoon,
/obj/item/weapon/gun/energy/netgun,
/obj/item/weapon/gun/projectile/pirate,
- /obj/item/weapon/permit,
+ /obj/item/clothing/accessory/permit/gun,
/obj/item/weapon/gun/projectile/dartgun
)
diff --git a/code/modules/lore_codex/lore_data_vr/orgs.dm b/code/modules/lore_codex/lore_data_vr/orgs.dm
index 93b4b356731..8b409e54595 100644
--- a/code/modules/lore_codex/lore_data_vr/orgs.dm
+++ b/code/modules/lore_codex/lore_data_vr/orgs.dm
@@ -1,6 +1,5 @@
// Pulls data from organizations data
/datum/lore/codex/category/auto_org
- var/desired_type = null // Exclude other types of organizations
var/auto_keywords = list()
/datum/lore/codex/category/auto_org/New(var/new_holder, var/new_parent)
diff --git a/code/modules/mob/living/carbon/human/species/station/station.dm b/code/modules/mob/living/carbon/human/species/station/station.dm
index 1ee6911854a..c17b44c8b26 100644
--- a/code/modules/mob/living/carbon/human/species/station/station.dm
+++ b/code/modules/mob/living/carbon/human/species/station/station.dm
@@ -240,7 +240,7 @@
flesh_color = "#8CD7A3"
blood_color = "#1D2CBF"
base_color = "#006666"
-/* //VOREStation Removal Start
+
cold_level_1 = 280 //Default 260 - Lower is better
cold_level_2 = 220 //Default 200
cold_level_3 = 130 //Default 120
@@ -253,14 +253,12 @@
heat_level_2 = 480 //Default 400
heat_level_3 = 1100 //Default 1000
- reagent_tag = IS_SKRELL
+ //reagent_tag = IS_SKRELL //VOREStation Edit
breath_heat_level_1 = 400 //Default 380 - Higher is better
breath_heat_level_2 = 500 //Default 450
breath_heat_level_3 = 1350 //Default 1250
-*/ //VOREStation End
-
has_limbs = list(
BP_TORSO = list("path" = /obj/item/organ/external/chest),
BP_GROIN = list("path" = /obj/item/organ/external/groin),
diff --git a/code/modules/vore/fluffstuff/custom_boxes_vr.dm b/code/modules/vore/fluffstuff/custom_boxes_vr.dm
index 2afe4bc5f72..a81a104d67b 100644
--- a/code/modules/vore/fluffstuff/custom_boxes_vr.dm
+++ b/code/modules/vore/fluffstuff/custom_boxes_vr.dm
@@ -37,7 +37,7 @@
/obj/item/clothing/suit/storage/det_suit/fluff/tasald,
/obj/item/clothing/suit/storage/det_suit/fluff/tas_coat,
/obj/item/clothing/under/det/fluff/tasald,
- /obj/item/weapon/permit/gun/fluff/tasald_corlethian,
+ /obj/item/clothing/accessory/permit/gun/fluff/tasald_corlethian,
/obj/item/weapon/gun/projectile/revolver/mateba/fluff/tasald_corlethian,
/obj/item/weapon/implanter/loyalty)
@@ -94,7 +94,7 @@
new /obj/item/weapon/card/id/centcom/fluff/joanbadge(src)
new /obj/item/weapon/gun/energy/gun/fluff/dominator(src)
new /obj/item/clothing/suit/armor/det_suit(src)
- new /obj/item/weapon/permit/gun/fluff/joanrisu(src)
+ new /obj/item/clothing/accessory/permit/gun/fluff/joanrisu(src)
new /obj/item/weapon/sword/fluff/joanaria(src)
new /obj/item/weapon/flame/lighter/zippo/fluff/joan(src)
new /obj/item/clothing/under/rank/internalaffairs/fluff/joan(src)
@@ -173,7 +173,7 @@
..() //Might look like a lot... but all small items.
//Centcom stuff and permit
new /obj/item/weapon/card/id/centcom/fluff/aronai(src)
- new /obj/item/weapon/permit/gun/fluff/aronai_kadigan(src)
+ new /obj/item/clothing/accessory/permit/gun/fluff/aronai_kadigan(src)
//Gun and holster
new /obj/item/weapon/gun/projectile/nsfw(src)
new /obj/item/ammo_magazine/nsfw_mag(src)
@@ -189,19 +189,19 @@
/obj/item/weapon/gun/projectile/pistol,
/obj/item/ammo_magazine/m9mm/flash,
/obj/item/ammo_magazine/m9mm/flash,
- /obj/item/weapon/permit/gun/fluff/sebastian_aji)
+ /obj/item/clothing/accessory/permit/gun/fluff/sebastian_aji)
/obj/item/weapon/storage/box/fluff/briana_moore
name = "Briana's Derringer Box"
has_items = list(
/obj/item/weapon/gun/projectile/derringer/fluff/briana,
- /obj/item/weapon/permit/gun/fluff/briana_moore)
+ /obj/item/clothing/accessory/permit/gun/fluff/briana_moore)
//SilencedMP5A5:Serdykov Antoz
/obj/item/weapon/storage/box/fluff/serdykov_antoz
name = "Serdy's Weapon Box"
has_items = list(
- /obj/item/weapon/permit/gun/fluff/silencedmp5a5,
+ /obj/item/clothing/accessory/permit/gun/fluff/silencedmp5a5,
/obj/item/weapon/gun/projectile/colt/fluff/serdy)
//BeyondMyLife: Ne'tra Ky'ram //Made a box because they have so many items that it'd spam the debug log.
diff --git a/code/modules/vore/fluffstuff/custom_permits_vr.dm b/code/modules/vore/fluffstuff/custom_permits_vr.dm
index 52d76f9d497..71873680347 100644
--- a/code/modules/vore/fluffstuff/custom_permits_vr.dm
+++ b/code/modules/vore/fluffstuff/custom_permits_vr.dm
@@ -1,59 +1,59 @@
-/obj/item/weapon/permit/gun/fluff
+/obj/item/clothing/accessory/permit/gun/fluff
owner = 1 // These permits already have owners.
desc = "A card indicating that the owner is allowed to carry a firearm/sidearm. It is issued by CentCom, so it is valid until it expires. This one is just a sample, so it belongs to no one."
-/obj/item/weapon/permit/gun/fluff/emag_act(var/remaining_charges, var/mob/user)
+/obj/item/clothing/accessory/permit/gun/fluff/emag_act(var/remaining_charges, var/mob/user)
to_chat(user, "You cannot reset the naming locks on [src]. It's issued by CentCom and totally tamper-proof!")
return
// aerowing:Sebastian Aji
-/obj/item/weapon/permit/gun/fluff/sebastian_aji
+/obj/item/clothing/accessory/permit/gun/fluff/sebastian_aji
name = "Sebastian Aji's Sidearm Permit"
desc = "A card indicating that the owner is allowed to carry a sidearm. It is issued by CentCom, so it is valid until it expires on April 17th, 2562."
// arokha:Aronai Kadigan
-/obj/item/weapon/permit/gun/fluff/aronai_kadigan
+/obj/item/clothing/accessory/permit/gun/fluff/aronai_kadigan
name = "Aronai Kadigan's Sidearm Permit"
desc = "A card indicating that the owner is allowed to carry a sidearm. It is issued by CentCom, so it is valid until it expires on February 16th, 2562."
// bwoincognito:Tasald Corlethian
-/obj/item/weapon/permit/gun/fluff/tasald_corlethian
+/obj/item/clothing/accessory/permit/gun/fluff/tasald_corlethian
name = "Tasald Ajax Corlethian's Sidearm Permit"
desc = "A card indicating that the owner is allowed to carry a sidearm. It is issued by CentCom, so it is valid until it expires on August 2nd, 2562."
// dhaeleena:Dhaeleena M'iar
-/obj/item/weapon/permit/gun/fluff/dhaeleena_miar
+/obj/item/clothing/accessory/permit/gun/fluff/dhaeleena_miar
name = "Dhaeleena M'iar's Sidearm Permit"
desc = "A card indicating that the owner is allowed to carry a sidearm that uses less-than-lethal munitions. It is issued by CentCom, so it is valid until it expires on March 1st, 2562."
// jertheace:Jeremiah 'Ace' Acacius
-/obj/item/weapon/permit/gun/fluff/ace
+/obj/item/clothing/accessory/permit/gun/fluff/ace
name = "Ace's Shotgun Permit"
desc = "A card indicating that the owner is allowed to carry a firearm. It is issued by CentCom, so it is valid until it expires on October 1st, 2562."
// joanrisu:Joan Risu
-/obj/item/weapon/permit/gun/fluff/joanrisu
+/obj/item/clothing/accessory/permit/gun/fluff/joanrisu
name = "Joan Risu's Sidearm Permit"
desc = "A card indicating that the owner is allowed to carry a sidearm. It is issued by CentCom, so it is valid until it expires on April 4th, 2562."
// luminescent_ring:Briana Moore
-/obj/item/weapon/permit/gun/fluff/briana_moore
+/obj/item/clothing/accessory/permit/gun/fluff/briana_moore
name = "Briana Moore's Sidearm Permit"
desc = "A card indicating that the owner is allowed to carry a sidearm. It is issued by CentCom, so it is valid until it expires on April 24th, 2562."
// silenedmp5a5:Serdykov Antoz
-/obj/item/weapon/permit/gun/fluff/silencedmp5a5
+/obj/item/clothing/accessory/permit/gun/fluff/silencedmp5a5
name = "Serdykov Antoz's Sidearm Permit"
desc = "A card indicating that the owner is allowed to carry a sidearm that uses less-than-lethal munitions. It is issued by CentCom, so it is valid until it expires on April 24th, 2562."
// pawoverlord:Sorrel Cavalet
-/obj/item/weapon/permit/gun/fluff/sorrel_cavalet
+/obj/item/clothing/accessory/permit/gun/fluff/sorrel_cavalet
name = "Sorrel Cavalet's Sidearm Permit"
desc = "A card indicating that the owner is allowed to carry a sidearm. It is issued by CentCom, so it is valid until it expires on September 26th, 2562."
/* Legacy Permits
// BEGIN - PROTOTYPE
-/obj/item/weapon/permit/gun/fluff
+/obj/item/clothing/accessory/permit/gun/fluff
name = "Sample Permit"
desc = {"There is a bright red SAMPLE PERMIT stamped across the stock photo displayed on the card. Obviously this is only an example to educate security.
NAME: First Last | RACE: Human | HOMEWORLD: Moon (if applicable), Planet, System
@@ -68,7 +68,7 @@
*/
/* OLD TEMPLATE
-/obj/item/weapon/permit/gun/fluff/charactername
+/obj/item/clothing/accessory/permit/gun/fluff/charactername
name = "Name's Thing Permit"
desc = {"
NAME: Firstname Lastname | RACE: Human | HOMEWORLD: Earth, Sol
diff --git a/vorestation.dme b/vorestation.dme
index f4c1a53f6af..13edb0eefd5 100644
--- a/vorestation.dme
+++ b/vorestation.dme
@@ -49,6 +49,7 @@
#include "code\__defines\roguemining_vr.dm"
#include "code\__defines\species_languages.dm"
#include "code\__defines\species_languages_vr.dm"
+#include "code\__defines\subsystems.dm"
#include "code\__defines\targeting.dm"
#include "code\__defines\tick.dm"
#include "code\__defines\turfs.dm"