mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-12 03:02:54 +00:00
Merge branch 'master' of https://github.com/VOREStation/VOREStation
# Conflicts: # code/modules/mob/living/silicon/robot/robot_modules/station.dm # code/modules/vore/eating/bellymodes_vr.dm # vorestation.dme
This commit is contained in:
41
code/controllers/subsystems/bellies_vr.dm
Normal file
41
code/controllers/subsystems/bellies_vr.dm
Normal file
@@ -0,0 +1,41 @@
|
||||
#define SSBELLIES_PROCESSED 1
|
||||
#define SSBELLIES_IGNORED 2
|
||||
|
||||
//
|
||||
// Bellies subsystem - Process vore bellies
|
||||
//
|
||||
|
||||
SUBSYSTEM_DEF(bellies)
|
||||
name = "Bellies"
|
||||
priority = 5
|
||||
wait = 1 SECONDS
|
||||
flags = SS_KEEP_TIMING|SS_NO_INIT
|
||||
runlevels = RUNLEVEL_GAME|RUNLEVEL_POSTGAME
|
||||
|
||||
var/static/list/belly_list = list()
|
||||
var/list/currentrun = list()
|
||||
var/ignored_bellies = 0
|
||||
|
||||
/datum/controller/subsystem/bellies/stat_entry()
|
||||
..("#: [belly_list.len] | P: [ignored_bellies]")
|
||||
|
||||
/datum/controller/subsystem/bellies/fire(resumed = 0)
|
||||
if (!resumed)
|
||||
ignored_bellies = 0
|
||||
src.currentrun = belly_list.Copy()
|
||||
|
||||
//cache for sanic speed (lists are references anyways)
|
||||
var/list/currentrun = src.currentrun
|
||||
var/times_fired = src.times_fired
|
||||
while(currentrun.len)
|
||||
var/obj/belly/B = currentrun[currentrun.len]
|
||||
currentrun.len--
|
||||
|
||||
if(QDELETED(B))
|
||||
belly_list -= B
|
||||
else
|
||||
if(B.process_belly(times_fired,wait) == SSBELLIES_IGNORED)
|
||||
ignored_bellies++
|
||||
|
||||
if (MC_TICK_CHECK)
|
||||
return
|
||||
@@ -1,28 +0,0 @@
|
||||
//
|
||||
// Floor Decals Initialization Subsystem
|
||||
// This is part of the giant decal hack that works around a BYOND bug where DreamDaemon will crash if you
|
||||
// update overlays on turfs too much.
|
||||
// The master_controller on Polaris used to init decals prior to initializing areas (which initilized turfs)
|
||||
// Now that we switched to subsystems we still want to do the same thing, so this takes care of it.
|
||||
//
|
||||
SUBSYSTEM_DEF(floor_decals)
|
||||
name = "Floor Decals"
|
||||
init_order = INIT_ORDER_DECALS
|
||||
flags = SS_NO_FIRE
|
||||
|
||||
/datum/controller/subsystem/floor_decals/Initialize(timeofday)
|
||||
if(floor_decals_initialized)
|
||||
return ..()
|
||||
to_world_log("Initializing Floor Decals")
|
||||
admin_notice("<span class='danger'>Initializing Floor Decals</span>", R_DEBUG)
|
||||
var/list/turfs_with_decals = list()
|
||||
for(var/obj/effect/floor_decal/D in world)
|
||||
var/T = D.add_to_turf_decals()
|
||||
if(T) turfs_with_decals |= T
|
||||
CHECK_TICK
|
||||
for(var/item in turfs_with_decals)
|
||||
var/turf/T = item
|
||||
if(T.decals) T.apply_decals()
|
||||
CHECK_TICK
|
||||
floor_decals_initialized = TRUE
|
||||
return ..()
|
||||
@@ -11,6 +11,8 @@ SUBSYSTEM_DEF(overlays)
|
||||
var/list/overlay_icon_state_caches // Cache thing
|
||||
var/list/overlay_icon_cache // Cache thing
|
||||
|
||||
var/global/image/appearance_bro = new() // Temporarily super-global because of BYOND init order dumbness.
|
||||
|
||||
/datum/controller/subsystem/overlays/PreInit()
|
||||
overlay_icon_state_caches = list()
|
||||
overlay_icon_cache = list()
|
||||
@@ -90,7 +92,7 @@ SUBSYSTEM_DEF(overlays)
|
||||
icon_cache[icon] = .
|
||||
|
||||
/atom/proc/build_appearance_list(old_overlays)
|
||||
var/static/image/appearance_bro = new()
|
||||
// var/static/image/appearance_bro = new() // Moved to be superglobal due to BYOND insane init order stupidness.
|
||||
var/list/new_overlays = list()
|
||||
if (!islist(old_overlays))
|
||||
old_overlays = list(old_overlays)
|
||||
|
||||
@@ -152,9 +152,7 @@ SUBSYSTEM_DEF(transcore)
|
||||
// Send a past-due notification to the medical radio channel.
|
||||
/datum/controller/subsystem/transcore/proc/notify(var/name)
|
||||
ASSERT(name)
|
||||
var/obj/item/device/radio/headset/a = new /obj/item/device/radio/headset/heads/captain(null)
|
||||
a.autosay("[name] is past-due for a mind backup. This will be the only notification.", "TransCore Oversight", "Medical")
|
||||
qdel(a)
|
||||
global_announcer.autosay("[name] is past-due for a mind backup. This will be the only notification.", "TransCore Oversight", "Medical")
|
||||
|
||||
// Called from mind_record to add itself to the transcore.
|
||||
/datum/controller/subsystem/transcore/proc/add_backup(var/datum/transhuman/mind_record/MR)
|
||||
@@ -187,10 +185,8 @@ SUBSYSTEM_DEF(transcore)
|
||||
// Moves all mind records from the databaes into the disk and shuts down all backup canary processing.
|
||||
/datum/controller/subsystem/transcore/proc/core_dump(var/obj/item/weapon/disk/transcore/disk)
|
||||
ASSERT(disk)
|
||||
var/obj/item/device/radio/headset/a = new /obj/item/device/radio/headset/heads/captain(null)
|
||||
a.autosay("An emergency core dump has been initiated!", "TransCore Oversight", "Command")
|
||||
a.autosay("An emergency core dump has been initiated!", "TransCore Oversight", "Medical")
|
||||
qdel(a)
|
||||
global_announcer.autosay("An emergency core dump has been initiated!", "TransCore Oversight", "Command")
|
||||
global_announcer.autosay("An emergency core dump has been initiated!", "TransCore Oversight", "Medical")
|
||||
|
||||
disk.stored += backed_up
|
||||
backed_up.Cut()
|
||||
|
||||
Reference in New Issue
Block a user