my eyes hurt

This commit is contained in:
LetterJay
2017-08-22 01:42:20 -05:00
parent 2241f5ecfb
commit b01a24c95b
215 changed files with 609 additions and 609 deletions

View File

@@ -22,7 +22,7 @@
#define START_PROCESSING(Processor, Datum) if (!Datum.isprocessing) {Datum.isprocessing = TRUE;Processor.processing += Datum} #define START_PROCESSING(Processor, Datum) if (!Datum.isprocessing) {Datum.isprocessing = TRUE;Processor.processing += Datum}
#define STOP_PROCESSING(Processor, Datum) Datum.isprocessing = FALSE;Processor.processing -= Datum #define STOP_PROCESSING(Processor, Datum) Datum.isprocessing = FALSE;Processor.processing -= Datum
//SubSystem flags (Please design any new flags so that the default is off, to make adding flags to subsystems easier) //SubSystem flags_1 (Please design any new flags_1 so that the default is off, to make adding flags_1 to subsystems easier)
//subsystem does not initialize. //subsystem does not initialize.
#define SS_NO_INIT 1 #define SS_NO_INIT 1

View File

@@ -1,6 +1,6 @@
//A set of constants used to determine which type of mute an admin wishes to apply: //A set of constants used to determine which type of mute an admin wishes to apply:
//Please read and understand the muting/automuting stuff before changing these. MUTE_IC_AUTO etc = (MUTE_IC << 1) //Please read and understand the muting/automuting stuff before changing these. MUTE_IC_AUTO etc = (MUTE_IC << 1)
//Therefore there needs to be a gap between the flags for the automute flags //Therefore there needs to be a gap between the flags_1 for the automute flags_1
#define MUTE_IC 1 #define MUTE_IC 1
#define MUTE_OOC 2 #define MUTE_OOC 2
#define MUTE_PRAY 4 #define MUTE_PRAY 4
@@ -39,7 +39,7 @@
#error Remove the flag below , its been long enough #error Remove the flag below , its been long enough
#endif #endif
//legacy , remove post 512, it was replaced by R_POLL //legacy , remove post 512, it was replaced by R_POLL
#define R_REJUVINATE 2 #define R_REJUVINATE 2
#define R_MAXPERMISSION 4096 //This holds the maximum value for a permission. It is used in iteration, so keep it updated. #define R_MAXPERMISSION 4096 //This holds the maximum value for a permission. It is used in iteration, so keep it updated.
@@ -50,7 +50,7 @@
#define ADMIN_SM(user) "(<a href='?_src_=holder;subtlemessage=\ref[user]'>SM</a>)" #define ADMIN_SM(user) "(<a href='?_src_=holder;subtlemessage=\ref[user]'>SM</a>)"
#define ADMIN_TP(user) "(<a href='?_src_=holder;traitor=\ref[user]'>TP</a>)" #define ADMIN_TP(user) "(<a href='?_src_=holder;traitor=\ref[user]'>TP</a>)"
#define ADMIN_KICK(user) "(<a href='?_src_=holder;boot2=\ref[user]'>KICK</a>)" #define ADMIN_KICK(user) "(<a href='?_src_=holder;boot2=\ref[user]'>KICK</a>)"
#define ADMIN_CENTCOM_REPLY(user) "(<a href='?_src_=holder;CentComReply=\ref[user]'>RPLY</a>)" #define ADMIN_CENTCOM_REPLY(user) "(<a href='?_src_=holder;CentComReply=\ref[user]'>RPLY</a>)"
#define ADMIN_SYNDICATE_REPLY(user) "(<a href='?_src_=holder;SyndicateReply=\ref[user]'>RPLY</a>)" #define ADMIN_SYNDICATE_REPLY(user) "(<a href='?_src_=holder;SyndicateReply=\ref[user]'>RPLY</a>)"
#define ADMIN_SC(user) "(<a href='?_src_=holder;adminspawncookie=\ref[user]'>SC</a>)" #define ADMIN_SC(user) "(<a href='?_src_=holder;adminspawncookie=\ref[user]'>SC</a>)"
#define ADMIN_SMITE(user) "(<a href='?_src_=holder;adminsmite=\ref[user]'>SMITE</a>)" #define ADMIN_SMITE(user) "(<a href='?_src_=holder;adminsmite=\ref[user]'>SMITE</a>)"

View File

@@ -86,7 +86,7 @@
. = SLOT_POCKET . = SLOT_POCKET
//Bit flags for the flags_inv variable, which determine when a piece of clothing hides another. IE a helmet hiding glasses. //Bit flags_1 for the flags_inv variable, which determine when a piece of clothing hides another. IE a helmet hiding glasses.
#define HIDEGLOVES 1 #define HIDEGLOVES 1
#define HIDESUITSTORAGE 2 #define HIDESUITSTORAGE 2
#define HIDEJUMPSUIT 4 //these first four are only used in exterior suits #define HIDEJUMPSUIT 4 //these first four are only used in exterior suits
@@ -134,17 +134,17 @@
#define THERMAL_PROTECTION_HAND_LEFT 0.025 #define THERMAL_PROTECTION_HAND_LEFT 0.025
#define THERMAL_PROTECTION_HAND_RIGHT 0.025 #define THERMAL_PROTECTION_HAND_RIGHT 0.025
//flags for female outfits: How much the game can safely "take off" the uniform without it looking weird //flags_1 for female outfits: How much the game can safely "take off" the uniform without it looking weird
#define NO_FEMALE_UNIFORM 0 #define NO_FEMALE_UNIFORM 0
#define FEMALE_UNIFORM_FULL 1 #define FEMALE_UNIFORM_FULL 1
#define FEMALE_UNIFORM_TOP 2 #define FEMALE_UNIFORM_TOP 2
//flags for alternate styles: These are hard sprited so don't set this if you didn't put the effort in //flags_1 for alternate styles: These are hard sprited so don't set this if you didn't put the effort in
#define NORMAL_STYLE 0 #define NORMAL_STYLE 0
#define ALT_STYLE 1 #define ALT_STYLE 1
#define DIGITIGRADE_STYLE 2 #define DIGITIGRADE_STYLE 2
//flags for outfits that have mutantrace variants (try not to use this): Currently only needed if you're trying to add tight fitting bootyshorts //flags_1 for outfits that have mutantrace variants (try not to use this): Currently only needed if you're trying to add tight fitting bootyshorts
#define NO_MUTANTRACE_VARIATION 0 #define NO_MUTANTRACE_VARIATION 0
#define MUTANTRACE_VARIATION 1 #define MUTANTRACE_VARIATION 1
@@ -152,9 +152,9 @@
#define FULL_DIGITIGRADE 1 #define FULL_DIGITIGRADE 1
#define SQUISHED_DIGITIGRADE 2 #define SQUISHED_DIGITIGRADE 2
//flags for covering body parts //flags_1 for covering body parts
#define GLASSESCOVERSEYES 1 #define GLASSESCOVERSEYES 1
#define MASKCOVERSEYES 2 // get rid of some of the other retardation in these flags #define MASKCOVERSEYES 2 // get rid of some of the other retardation in these flags_1
#define HEADCOVERSEYES 4 // feel free to realloc these numbers for other purposes #define HEADCOVERSEYES 4 // feel free to realloc these numbers for other purposes
#define MASKCOVERSMOUTH 8 // on other items, these are just for mask/head #define MASKCOVERSMOUTH 8 // on other items, these are just for mask/head
#define HEADCOVERSMOUTH 16 #define HEADCOVERSMOUTH 16

View File

@@ -53,7 +53,7 @@
#define ENGINE_COEFF_MAX 2 #define ENGINE_COEFF_MAX 2
#define ENGINE_DEFAULT_MAXSPEED_ENGINES 5 #define ENGINE_DEFAULT_MAXSPEED_ENGINES 5
//Docking error flags //Docking error flags_1
#define DOCKING_SUCCESS 0 #define DOCKING_SUCCESS 0
#define DOCKING_COMPLETE 1 #define DOCKING_COMPLETE 1
#define DOCKING_BLOCKED 2 #define DOCKING_BLOCKED 2

View File

@@ -25,6 +25,6 @@
//for clothing visor toggles, these determine which vars to toggle //for clothing visor toggles, these determine which vars to toggle
#define VISOR_FLASHPROTECT 1 #define VISOR_FLASHPROTECT 1
#define VISOR_TINT 2 #define VISOR_TINT 2
#define VISOR_VISIONFLAGS 4 //all following flags only matter for glasses #define VISOR_VISIONFLAGS 4 //all following flags_1 only matter for glasses
#define VISOR_DARKNESSVIEW 8 #define VISOR_DARKNESSVIEW 8
#define VISOR_INVISVIEW 16 #define VISOR_INVISVIEW 16

View File

@@ -52,7 +52,7 @@
#define AI_CAMERA_LUMINOSITY 5 #define AI_CAMERA_LUMINOSITY 5
#define AI_VOX 1 // Comment out if you don't want VOX to be enabled and have players download the voice sounds. #define AI_VOX 1 // Comment out if you don't want VOX to be enabled and have players download the voice sounds.
//Additional code for the above flags. //Additional code for the above flags_1.
#ifdef TESTING #ifdef TESTING
#warn compiling in TESTING mode. testing() debug messages will be visible. #warn compiling in TESTING mode. testing() debug messages will be visible.
#endif #endif
@@ -69,7 +69,7 @@
#error You need version 511 or higher #error You need version 511 or higher
#endif #endif
//Update this whenever the db schema changes //Update this whenever the db schema changes
//make sure you add an update to the schema_version stable in the db changelog //make sure you add an update to the schema_version stable in the db changelog
#define DB_MAJOR_VERSION 3 #define DB_MAJOR_VERSION 3
#define DB_MINOR_VERSION 0 #define DB_MINOR_VERSION 0

View File

@@ -130,7 +130,7 @@
if (T < shortesttimer) if (T < shortesttimer)
shortesttimer = T shortesttimer = T
L.transform = newtransform L.transform = newtransform
animate(L, transform = matrix(), time = T, easing = QUAD_EASING | (new_parallax_movedir ? EASE_IN : EASE_OUT), flags = ANIMATION_END_NOW) animate(L, transform = matrix(), time = T, easing = QUAD_EASING | (new_parallax_movedir ? EASE_IN : EASE_OUT), flags_1 = ANIMATION_END_NOW)
if (new_parallax_movedir) if (new_parallax_movedir)
L.transform = newtransform L.transform = newtransform
animate(transform = matrix(), time = T) //queue up another animate so lag doesn't create a shutter animate(transform = matrix(), time = T) //queue up another animate so lag doesn't create a shutter
@@ -168,7 +168,7 @@
L.transform = newtransform L.transform = newtransform
animate(L, transform = matrix(), time = T, loop = -1, flags = ANIMATION_END_NOW) animate(L, transform = matrix(), time = T, loop = -1, flags_1 = ANIMATION_END_NOW)
/datum/hud/proc/update_parallax() /datum/hud/proc/update_parallax()
var/client/C = mymob.client var/client/C = mymob.client

View File

@@ -3,7 +3,7 @@
icon = 'icons/mob/dogborg.dmi' icon = 'icons/mob/dogborg.dmi'
icon_state = "jaws" icon_state = "jaws"
desc = "The jaws of the law." desc = "The jaws of the law."
flags = CONDUCT flags_1 = CONDUCT_1
force = 12 force = 12
throwforce = 0 throwforce = 0
hitsound = 'sound/weapons/bite.ogg' hitsound = 'sound/weapons/bite.ogg'
@@ -16,7 +16,7 @@
icon = 'icons/mob/dogborg.dmi' icon = 'icons/mob/dogborg.dmi'
icon_state = "smalljaws" icon_state = "smalljaws"
desc = "The jaws of a small dog." desc = "The jaws of a small dog."
flags = CONDUCT flags_1 = CONDUCT_1
force = 6 force = 6
throwforce = 0 throwforce = 0
hitsound = 'sound/weapons/bite.ogg' hitsound = 'sound/weapons/bite.ogg'
@@ -38,7 +38,7 @@
icon = 'icons/mob/dogborg.dmi' icon = 'icons/mob/dogborg.dmi'
icon_state = "jaws" icon_state = "jaws"
desc = "The jaws of the law." desc = "The jaws of the law."
flags = CONDUCT flags_1 = CONDUCT_1
force = 12 force = 12
throwforce = 0 throwforce = 0
hitsound = 'sound/weapons/bite.ogg' hitsound = 'sound/weapons/bite.ogg'
@@ -50,7 +50,7 @@
icon = 'icons/mob/dogborg.dmi' icon = 'icons/mob/dogborg.dmi'
icon_state = "smalljaws" icon_state = "smalljaws"
desc = "The jaws of a small dog." desc = "The jaws of a small dog."
flags = CONDUCT flags_1 = CONDUCT_1
force = 5 force = 5
throwforce = 0 throwforce = 0
hitsound = 'sound/weapons/bite.ogg' hitsound = 'sound/weapons/bite.ogg'
@@ -85,7 +85,7 @@
icon = 'icons/mob/dogborg.dmi' icon = 'icons/mob/dogborg.dmi'
icon_state = "nose" icon_state = "nose"
desc = "The BOOP module" desc = "The BOOP module"
flags = CONDUCT flags_1 = CONDUCT_1
force = 0 force = 0
throwforce = 0 throwforce = 0
attack_verb = list("nuzzled", "nosed", "booped") attack_verb = list("nuzzled", "nosed", "booped")
@@ -177,7 +177,7 @@
/obj/item/weapon/soap/tongue/New() /obj/item/weapon/soap/tongue/New()
..() ..()
flags |= NOBLUDGEON //No more attack messages flags_1 |= NOBLUDGEON_1 //No more attack messages
/obj/item/trash/rkibble /obj/item/trash/rkibble
name = "robo kibble" name = "robo kibble"
@@ -344,7 +344,7 @@
/obj/item/device/dogborg/sleeper/New() /obj/item/device/dogborg/sleeper/New()
..() ..()
flags |= NOBLUDGEON //No more attack messages flags_1 |= NOBLUDGEON_1 //No more attack messages
/obj/item/device/dogborg/sleeper/Exit(atom/movable/O) /obj/item/device/dogborg/sleeper/Exit(atom/movable/O)
return 0 return 0
@@ -655,7 +655,7 @@
cleaning = 0 cleaning = 0
update_patient() update_patient()
return return
//sound effects //sound effects
for(var/mob/living/M in contents) for(var/mob/living/M in contents)
if(prob(20)) if(prob(20))
@@ -663,7 +663,7 @@
playsound(get_turf(hound),"digest_pred",75,0,-6,0,channel=CHANNEL_PRED) playsound(get_turf(hound),"digest_pred",75,0,-6,0,channel=CHANNEL_PRED)
M.stop_sound_channel(CHANNEL_PRED) M.stop_sound_channel(CHANNEL_PRED)
M.playsound_local("digest_prey",60) M.playsound_local("digest_prey",60)
//If the timing is right, and there are items to be touched //If the timing is right, and there are items to be touched
if(SSmobs.times_fired%6==1 && length(touchable_items)) if(SSmobs.times_fired%6==1 && length(touchable_items))
@@ -744,7 +744,7 @@
/obj/item/weapon/storage/attackby(obj/item/device/dogborg/sleeper/K9, mob/user, proximity) /obj/item/weapon/storage/attackby(obj/item/device/dogborg/sleeper/K9, mob/user, proximity)
K9.afterattack(src, user ,1) K9.afterattack(src, user ,1)
/obj/item/device/dogborg/sleeper/K9/afterattack(var/atom/movable/target, mob/living/silicon/user, proximity) /obj/item/device/dogborg/sleeper/K9/afterattack(var/atom/movable/target, mob/living/silicon/user, proximity)
hound = loc hound = loc
@@ -775,7 +775,7 @@
playsound(hound, 'sound/effects/bin_close.ogg', 80, 1) // Really don't need ERP sound effects for robots playsound(hound, 'sound/effects/bin_close.ogg', 80, 1) // Really don't need ERP sound effects for robots
return return
return return
/obj/item/device/dogborg/sleeper/compactor //Janihound gut. /obj/item/device/dogborg/sleeper/compactor //Janihound gut.
name = "garbage processor" name = "garbage processor"
desc = "A mounted garbage compactor unit with fuel processor." desc = "A mounted garbage compactor unit with fuel processor."
@@ -854,7 +854,7 @@
/obj/item/weapon/dogborg/pounce/New() /obj/item/weapon/dogborg/pounce/New()
..() ..()
flags |= NOBLUDGEON flags_1 |= NOBLUDGEON_1
/mob/living/silicon/robot /mob/living/silicon/robot
var/leaping = 0 var/leaping = 0

View File

@@ -53,7 +53,7 @@ GLOBAL_REAL(Master, /datum/controller/master) = new
var/static/restart_clear = 0 var/static/restart_clear = 0
var/static/restart_timeout = 0 var/static/restart_timeout = 0
var/static/restart_count = 0 var/static/restart_count = 0
//current tick limit, assigned before running a subsystem. //current tick limit, assigned before running a subsystem.
//used by CHECK_TICK as well so that the procs subsystems call can obey that SS's tick limits //used by CHECK_TICK as well so that the procs subsystems call can obey that SS's tick limits
var/static/current_ticklimit = TICK_LIMIT_RUNNING var/static/current_ticklimit = TICK_LIMIT_RUNNING
@@ -131,7 +131,7 @@ GLOBAL_REAL(Master, /datum/controller/master) = new
FireHim = TRUE FireHim = TRUE
if(3) if(3)
msg = "The [BadBoy.name] subsystem seems to be destabilizing the MC and will be offlined." msg = "The [BadBoy.name] subsystem seems to be destabilizing the MC and will be offlined."
BadBoy.flags |= SS_NO_FIRE BadBoy.flags_1 |= SS_NO_FIRE
if(msg) if(msg)
to_chat(GLOB.admins, "<span class='boldannounce'>[msg]</span>") to_chat(GLOB.admins, "<span class='boldannounce'>[msg]</span>")
log_world(msg) log_world(msg)
@@ -167,7 +167,7 @@ GLOBAL_REAL(Master, /datum/controller/master) = new
// Initialize subsystems. // Initialize subsystems.
current_ticklimit = config.tick_limit_mc_init current_ticklimit = config.tick_limit_mc_init
for (var/datum/controller/subsystem/SS in subsystems) for (var/datum/controller/subsystem/SS in subsystems)
if (SS.flags & SS_NO_INIT) if (SS.flags_1 & SS_NO_INIT)
continue continue
SS.Initialize(REALTIMEOFDAY) SS.Initialize(REALTIMEOFDAY)
CHECK_TICK CHECK_TICK
@@ -232,13 +232,13 @@ GLOBAL_REAL(Master, /datum/controller/master) = new
var/timer = world.time var/timer = world.time
for (var/thing in subsystems) for (var/thing in subsystems)
var/datum/controller/subsystem/SS = thing var/datum/controller/subsystem/SS = thing
if (SS.flags & SS_NO_FIRE) if (SS.flags_1 & SS_NO_FIRE)
continue continue
SS.queued_time = 0 SS.queued_time = 0
SS.queue_next = null SS.queue_next = null
SS.queue_prev = null SS.queue_prev = null
SS.state = SS_IDLE SS.state = SS_IDLE
if (SS.flags & SS_TICKER) if (SS.flags_1 & SS_TICKER)
tickersubsystems += SS tickersubsystems += SS
timer += world.tick_lag * rand(1, 5) timer += world.tick_lag * rand(1, 5)
SS.next_fire = timer SS.next_fire = timer
@@ -371,7 +371,7 @@ GLOBAL_REAL(Master, /datum/controller/master) = new
continue continue
if (SS.next_fire > world.time) if (SS.next_fire > world.time)
continue continue
SS_flags = SS.flags SS_flags = SS.flags_1
if (SS_flags & SS_NO_FIRE) if (SS_flags & SS_NO_FIRE)
subsystemstocheck -= SS subsystemstocheck -= SS
continue continue
@@ -408,7 +408,7 @@ GLOBAL_REAL(Master, /datum/controller/master) = new
if (ran && world.tick_usage > TICK_LIMIT_RUNNING) if (ran && world.tick_usage > TICK_LIMIT_RUNNING)
break break
queue_node_flags = queue_node.flags queue_node_flags = queue_node.flags_1
queue_node_priority = queue_node.queued_priority queue_node_priority = queue_node.queued_priority
//super special case, subsystems where we can't make them pause mid way through //super special case, subsystems where we can't make them pause mid way through

View File

@@ -6,7 +6,7 @@
var/wait = 20 //time to wait (in deciseconds) between each call to fire(). Must be a positive integer. var/wait = 20 //time to wait (in deciseconds) between each call to fire(). Must be a positive integer.
var/priority = 50 //When mutiple subsystems need to run in the same tick, higher priority subsystems will run first and be given a higher share of the tick before MC_TICK_CHECK triggers a sleep var/priority = 50 //When mutiple subsystems need to run in the same tick, higher priority subsystems will run first and be given a higher share of the tick before MC_TICK_CHECK triggers a sleep
var/flags = 0 //see MC.dm in __DEFINES Most flags must be set on world start to take full effect. (You can also restart the mc to force them to process again) var/flags_1 = 0 //see MC.dm in __DEFINES Most flags_1 must be set on world start to take full effect. (You can also restart the mc to force them to process again)
//set to 0 to prevent fire() calls, mostly for admin use or subsystems that may be resumed later //set to 0 to prevent fire() calls, mostly for admin use or subsystems that may be resumed later
// use the SS_NO_FIRE flag instead for systems that never fire to keep it from even being added to the list // use the SS_NO_FIRE flag instead for systems that never fire to keep it from even being added to the list
@@ -61,13 +61,13 @@
//fire() seems more suitable. This is the procedure that gets called every 'wait' deciseconds. //fire() seems more suitable. This is the procedure that gets called every 'wait' deciseconds.
//Sleeping in here prevents future fires until returned. //Sleeping in here prevents future fires until returned.
/datum/controller/subsystem/proc/fire(resumed = 0) /datum/controller/subsystem/proc/fire(resumed = 0)
flags |= SS_NO_FIRE flags_1 |= SS_NO_FIRE
throw EXCEPTION("Subsystem [src]([type]) does not fire() but did not set the SS_NO_FIRE flag. Please add the SS_NO_FIRE flag to any subsystem that doesn't fire so it doesn't get added to the processing list and waste cpu.") throw EXCEPTION("Subsystem [src]([type]) does not fire() but did not set the SS_NO_FIRE flag. Please add the SS_NO_FIRE flag to any subsystem that doesn't fire so it doesn't get added to the processing list and waste cpu.")
/datum/controller/subsystem/Destroy() /datum/controller/subsystem/Destroy()
dequeue() dequeue()
can_fire = 0 can_fire = 0
flags |= SS_NO_FIRE flags_1 |= SS_NO_FIRE
Master.subsystems -= src Master.subsystems -= src
@@ -76,14 +76,14 @@
// (this lets us sort our run order correctly without having to re-sort the entire already sorted list) // (this lets us sort our run order correctly without having to re-sort the entire already sorted list)
/datum/controller/subsystem/proc/enqueue() /datum/controller/subsystem/proc/enqueue()
var/SS_priority = priority var/SS_priority = priority
var/SS_flags = flags var/SS_flags = flags_1
var/datum/controller/subsystem/queue_node var/datum/controller/subsystem/queue_node
var/queue_node_priority var/queue_node_priority
var/queue_node_flags var/queue_node_flags
for (queue_node = Master.queue_head; queue_node; queue_node = queue_node.queue_next) for (queue_node = Master.queue_head; queue_node; queue_node = queue_node.queue_next)
queue_node_priority = queue_node.queued_priority queue_node_priority = queue_node.queued_priority
queue_node_flags = queue_node.flags queue_node_flags = queue_node.flags_1
if (queue_node_flags & SS_TICKER) if (queue_node_flags & SS_TICKER)
if (!(SS_flags & SS_TICKER)) if (!(SS_flags & SS_TICKER))
@@ -170,7 +170,7 @@
if(can_fire && !(SS_NO_FIRE in flags)) if(can_fire && !(SS_NO_FIRE in flags_1))
msg = "[round(cost,1)]ms|[round(tick_usage,1)]%([round(tick_overrun,1)]%)|[round(ticks,0.1)]\t[msg]" msg = "[round(cost,1)]ms|[round(tick_usage,1)]%([round(tick_overrun,1)]%)|[round(ticks,0.1)]\t[msg]"
else else
msg = "OFFLINE\t[msg]" msg = "OFFLINE\t[msg]"

View File

@@ -1,7 +1,7 @@
SUBSYSTEM_DEF(acid) SUBSYSTEM_DEF(acid)
name = "Acid" name = "Acid"
priority = 40 priority = 40
flags = SS_NO_INIT|SS_BACKGROUND flags_1 = SS_NO_INIT|SS_BACKGROUND
runlevels = RUNLEVEL_GAME | RUNLEVEL_POSTGAME runlevels = RUNLEVEL_GAME | RUNLEVEL_POSTGAME
var/list/currentrun = list() var/list/currentrun = list()

View File

@@ -11,7 +11,7 @@ SUBSYSTEM_DEF(air)
init_order = INIT_ORDER_AIR init_order = INIT_ORDER_AIR
priority = 20 priority = 20
wait = 5 wait = 5
flags = SS_BACKGROUND flags_1 = SS_BACKGROUND
runlevels = RUNLEVEL_GAME | RUNLEVEL_POSTGAME runlevels = RUNLEVEL_GAME | RUNLEVEL_POSTGAME
var/cost_turfs = 0 var/cost_turfs = 0

View File

@@ -1,7 +1,7 @@
SUBSYSTEM_DEF(assets) SUBSYSTEM_DEF(assets)
name = "Assets" name = "Assets"
init_order = INIT_ORDER_ASSETS init_order = INIT_ORDER_ASSETS
flags = SS_NO_FIRE flags_1 = SS_NO_FIRE
var/list/cache = list() var/list/cache = list()
var/list/preload = list() var/list/preload = list()

View File

@@ -6,7 +6,7 @@
SUBSYSTEM_DEF(atoms) SUBSYSTEM_DEF(atoms)
name = "Atoms" name = "Atoms"
init_order = INIT_ORDER_ATOMS init_order = INIT_ORDER_ATOMS
flags = SS_NO_FIRE flags_1 = SS_NO_FIRE
var/initialized = INITIALIZATION_INSSATOMS var/initialized = INITIALIZATION_INSSATOMS
var/old_initialized var/old_initialized
@@ -30,7 +30,7 @@ SUBSYSTEM_DEF(atoms)
initialized = INITIALIZATION_INNEW_MAPLOAD initialized = INITIALIZATION_INNEW_MAPLOAD
LAZYINITLIST(late_loaders) LAZYINITLIST(late_loaders)
var/count var/count
var/list/mapload_arg = list(TRUE) var/list/mapload_arg = list(TRUE)
if(atoms) if(atoms)
@@ -60,10 +60,10 @@ SUBSYSTEM_DEF(atoms)
A.LateInitialize() A.LateInitialize()
testing("Late initialized [late_loaders.len] atoms") testing("Late initialized [late_loaders.len] atoms")
late_loaders.Cut() late_loaders.Cut()
if(atoms) if(atoms)
. = created_atoms + atoms . = created_atoms + atoms
created_atoms = null created_atoms = null
/datum/controller/subsystem/atoms/proc/InitAtom(atom/A, list/arguments) /datum/controller/subsystem/atoms/proc/InitAtom(atom/A, list/arguments)
var/the_type = A.type var/the_type = A.type
@@ -77,7 +77,7 @@ SUBSYSTEM_DEF(atoms)
if(start_tick != world.time) if(start_tick != world.time)
BadInitializeCalls[the_type] |= BAD_INIT_SLEPT BadInitializeCalls[the_type] |= BAD_INIT_SLEPT
var/qdeleted = FALSE var/qdeleted = FALSE
if(result != INITIALIZE_HINT_NORMAL) if(result != INITIALIZE_HINT_NORMAL)
@@ -92,12 +92,12 @@ SUBSYSTEM_DEF(atoms)
qdeleted = TRUE qdeleted = TRUE
else else
BadInitializeCalls[the_type] |= BAD_INIT_NO_HINT BadInitializeCalls[the_type] |= BAD_INIT_NO_HINT
if(!A) //possible harddel if(!A) //possible harddel
qdeleted = TRUE qdeleted = TRUE
else if(!A.initialized) else if(!A.initialized)
BadInitializeCalls[the_type] |= BAD_INIT_DIDNT_INIT BadInitializeCalls[the_type] |= BAD_INIT_DIDNT_INIT
return qdeleted || QDELING(A) return qdeleted || QDELING(A)
/datum/controller/subsystem/atoms/proc/map_loader_begin() /datum/controller/subsystem/atoms/proc/map_loader_begin()

View File

@@ -1,6 +1,6 @@
SUBSYSTEM_DEF(augury) SUBSYSTEM_DEF(augury)
name = "Augury" name = "Augury"
flags = SS_NO_INIT flags_1 = SS_NO_INIT
runlevels = RUNLEVEL_GAME | RUNLEVEL_POSTGAME runlevels = RUNLEVEL_GAME | RUNLEVEL_POSTGAME
var/list/watchers = list() var/list/watchers = list()

View File

@@ -1,7 +1,7 @@
SUBSYSTEM_DEF(blackbox) SUBSYSTEM_DEF(blackbox)
name = "Blackbox" name = "Blackbox"
wait = 6000 wait = 6000
flags = SS_NO_TICK_CHECK | SS_NO_INIT flags_1 = SS_NO_TICK_CHECK | SS_NO_INIT
runlevels = RUNLEVEL_GAME | RUNLEVEL_POSTGAME runlevels = RUNLEVEL_GAME | RUNLEVEL_POSTGAME
init_order = INIT_ORDER_BLACKBOX init_order = INIT_ORDER_BLACKBOX
@@ -250,7 +250,7 @@ SUBSYSTEM_DEF(blackbox)
return 0 return 0
return value return value
/datum/feedback_variable/proc/get_variable() /datum/feedback_variable/proc/get_variable()
return variable return variable
/datum/feedback_variable/proc/set_details(text) /datum/feedback_variable/proc/set_details(text)
@@ -260,11 +260,11 @@ SUBSYSTEM_DEF(blackbox)
/datum/feedback_variable/proc/add_details(text) /datum/feedback_variable/proc/add_details(text)
if (istext(text)) if (istext(text))
if (!details) if (!details)
details = "\"[text]\"" details = "\"[text]\""
else else
details += " | \"[text]\"" details += " | \"[text]\""
/datum/feedback_variable/proc/get_details() /datum/feedback_variable/proc/get_details()
return details return details
/datum/feedback_variable/proc/get_parsed() /datum/feedback_variable/proc/get_parsed()

View File

@@ -3,7 +3,7 @@
SUBSYSTEM_DEF(communications) SUBSYSTEM_DEF(communications)
name = "Communications" name = "Communications"
flags = SS_NO_INIT | SS_NO_FIRE flags_1 = SS_NO_INIT | SS_NO_FIRE
var/silicon_message_cooldown var/silicon_message_cooldown
var/nonsilicon_message_cooldown var/nonsilicon_message_cooldown

View File

@@ -1,6 +1,6 @@
SUBSYSTEM_DEF(dbcore) SUBSYSTEM_DEF(dbcore)
name = "Database" name = "Database"
flags = SS_NO_INIT|SS_NO_FIRE flags_1 = SS_NO_INIT|SS_NO_FIRE
init_order = INIT_ORDER_DBCORE init_order = INIT_ORDER_DBCORE
var/const/FAILED_DB_CONNECTION_CUTOFF = 5 var/const/FAILED_DB_CONNECTION_CUTOFF = 5
@@ -251,7 +251,7 @@ Delayed insert mode was removed in mysql 7 and only works with MyISAM type table
var/table var/table
var/position //1-based index into item data var/position //1-based index into item data
var/sql_type var/sql_type
var/flags var/flags_1
var/length var/length
var/max_length var/max_length
//types //types
@@ -275,7 +275,7 @@ Delayed insert mode was removed in mysql 7 and only works with MyISAM type table
table = table_handler table = table_handler
position = position_handler position = position_handler
sql_type = type_handler sql_type = type_handler
flags = flag_handler flags_1 = flag_handler
length = length_handler length = length_handler
max_length = max_length_handler max_length = max_length_handler

View File

@@ -1,6 +1,6 @@
SUBSYSTEM_DEF(disease) SUBSYSTEM_DEF(disease)
name = "Disease" name = "Disease"
flags = SS_NO_FIRE | SS_NO_INIT flags_1 = SS_NO_FIRE | SS_NO_INIT
var/list/active_diseases = list() //List of Active disease in all mobs; purely for quick referencing. var/list/active_diseases = list() //List of Active disease in all mobs; purely for quick referencing.
var/list/diseases var/list/diseases

View File

@@ -1,7 +1,7 @@
SUBSYSTEM_DEF(explosion) SUBSYSTEM_DEF(explosion)
priority = 99 priority = 99
wait = 1 wait = 1
flags = SS_TICKER|SS_NO_INIT flags_1 = SS_TICKER|SS_NO_INIT
var/list/explosions var/list/explosions
@@ -49,12 +49,12 @@ SUBSYSTEM_DEF(explosion)
flame_cap = SSexplosion.flame_cap flame_cap = SSexplosion.flame_cap
dyn_ex_scale = SSexplosion.dyn_ex_scale dyn_ex_scale = SSexplosion.dyn_ex_scale
/datum/controller/subsystem/explosion/fire() /datum/controller/subsystem/explosion/fire()
var/list/cached_explosions = explosions var/list/cached_explosions = explosions
var/num_explosions = cached_explosions.len var/num_explosions = cached_explosions.len
if(!num_explosions) if(!num_explosions)
return return
//figure exactly how many tick splits are required //figure exactly how many tick splits are required
var/num_splits var/num_splits
if(rebuild_tick_split_count) if(rebuild_tick_split_count)
@@ -216,7 +216,7 @@ SUBSYSTEM_DEF(explosion)
started_at = REALTIMEOFDAY started_at = REALTIMEOFDAY
tick_started = world.time tick_started = world.time
gathered_turfs = list() gathered_turfs = list()
calculated_turfs = list() calculated_turfs = list()
unsafe_turfs = list() unsafe_turfs = list()
@@ -332,13 +332,13 @@ SUBSYSTEM_DEF(explosion)
for(var/obj/structure/blob/B in T) for(var/obj/structure/blob/B in T)
current_exp_block += B.explosion_block current_exp_block += B.explosion_block
L[T] = current_exp_block L[T] = current_exp_block
if(MC_TICK_CHECK) if(MC_TICK_CHECK)
E.gathered_turfs.Cut(1, cut_to) E.gathered_turfs.Cut(1, cut_to)
return FALSE return FALSE
E.gathered_turfs.Cut() E.gathered_turfs.Cut()
return done_gathering_turfs return done_gathering_turfs
@@ -358,7 +358,7 @@ SUBSYSTEM_DEF(explosion)
var/throw_range_max = E.extent var/throw_range_max = E.extent
var/turf/epi = E.epicenter var/turf/epi = E.epicenter
var/x0 = epi.x var/x0 = epi.x
var/y0 = epi.y var/y0 = epi.y
@@ -407,7 +407,7 @@ SUBSYSTEM_DEF(explosion)
var/throw_range = rand(throw_dist, throw_range_max) var/throw_range = rand(throw_dist, throw_range_max)
var/turf/throw_at = get_ranged_target_turf(I, throw_dir, throw_range) var/turf/throw_at = get_ranged_target_turf(I, throw_dir, throw_range)
I.throw_speed = 4 //Temporarily change their throw_speed for embedding purposes (Resets when it finishes throwing, regardless of hitting anything) I.throw_speed = 4 //Temporarily change their throw_speed for embedding purposes (Resets when it finishes throwing, regardless of hitting anything)
I.throw_at(throw_at, throw_range, 4) I.throw_at(throw_at, throw_range, 4)
if(MC_TICK_CHECK) if(MC_TICK_CHECK)
var/circumference = (PI * (init_dist + 4) * 2) //+4 to radius to prevent shit gaps var/circumference = (PI * (init_dist + 4) * 2) //+4 to radius to prevent shit gaps
@@ -432,7 +432,7 @@ SUBSYSTEM_DEF(explosion)
E.finished_at = REALTIMEOFDAY E.finished_at = REALTIMEOFDAY
E.tick_finished = world.time E.tick_finished = world.time
return TRUE return TRUE
/client/proc/check_bomb_impacts() /client/proc/check_bomb_impacts()

View File

@@ -1,7 +1,7 @@
SUBSYSTEM_DEF(fire_burning) SUBSYSTEM_DEF(fire_burning)
name = "Fire Burning" name = "Fire Burning"
priority = 40 priority = 40
flags = SS_NO_INIT|SS_BACKGROUND flags_1 = SS_NO_INIT|SS_BACKGROUND
runlevels = RUNLEVEL_GAME | RUNLEVEL_POSTGAME runlevels = RUNLEVEL_GAME | RUNLEVEL_POSTGAME
var/list/currentrun = list() var/list/currentrun = list()

View File

@@ -2,7 +2,7 @@ SUBSYSTEM_DEF(garbage)
name = "Garbage" name = "Garbage"
priority = 15 priority = 15
wait = 5 wait = 5
flags = SS_POST_FIRE_TIMING|SS_BACKGROUND|SS_NO_INIT flags_1 = SS_POST_FIRE_TIMING|SS_BACKGROUND|SS_NO_INIT
runlevels = RUNLEVELS_DEFAULT | RUNLEVEL_LOBBY runlevels = RUNLEVELS_DEFAULT | RUNLEVEL_LOBBY
var/collection_timeout = 3000// deciseconds to wait to let running procs finish before we just say fuck it and force del() the object var/collection_timeout = 3000// deciseconds to wait to let running procs finish before we just say fuck it and force del() the object
@@ -67,9 +67,9 @@ SUBSYSTEM_DEF(garbage)
HandleToBeQueued() HandleToBeQueued()
if(state == SS_RUNNING) if(state == SS_RUNNING)
HandleQueue() HandleQueue()
if (state == SS_PAUSED) //make us wait again before the next run. if (state == SS_PAUSED) //make us wait again before the next run.
state = SS_RUNNING state = SS_RUNNING
//If you see this proc high on the profile, what you are really seeing is the garbage collection/soft delete overhead in byond. //If you see this proc high on the profile, what you are really seeing is the garbage collection/soft delete overhead in byond.
//Don't attempt to optimize, not worth the effort. //Don't attempt to optimize, not worth the effort.
@@ -114,7 +114,7 @@ SUBSYSTEM_DEF(garbage)
var/type = A.type var/type = A.type
testing("GC: -- \ref[A] | [type] was unable to be GC'd and was deleted --") testing("GC: -- \ref[A] | [type] was unable to be GC'd and was deleted --")
didntgc["[type]"]++ didntgc["[type]"]++
HardDelete(A) HardDelete(A)
++delslasttick ++delslasttick
@@ -149,12 +149,12 @@ SUBSYSTEM_DEF(garbage)
var/time = world.timeofday var/time = world.timeofday
var/tick = world.tick_usage var/tick = world.tick_usage
var/ticktime = world.time var/ticktime = world.time
var/type = A.type var/type = A.type
var/refID = "\ref[A]" var/refID = "\ref[A]"
del(A) del(A)
tick = (world.tick_usage-tick+((world.time-ticktime)/world.tick_lag*100)) tick = (world.tick_usage-tick+((world.time-ticktime)/world.tick_lag*100))
if (tick > highest_del_tickusage) if (tick > highest_del_tickusage)
highest_del_tickusage = tick highest_del_tickusage = tick
@@ -167,7 +167,7 @@ SUBSYSTEM_DEF(garbage)
log_game("Error: [type]([refID]) took longer than 1 second to delete (took [time/10] seconds to delete)") log_game("Error: [type]([refID]) took longer than 1 second to delete (took [time/10] seconds to delete)")
message_admins("Error: [type]([refID]) took longer than 1 second to delete (took [time/10] seconds to delete).") message_admins("Error: [type]([refID]) took longer than 1 second to delete (took [time/10] seconds to delete).")
postpone(time/5) postpone(time/5)
/datum/controller/subsystem/garbage/proc/HardQueue(datum/A) /datum/controller/subsystem/garbage/proc/HardQueue(datum/A)
if (istype(A) && A.gc_destroyed == GC_CURRENTLY_BEING_QDELETED) if (istype(A) && A.gc_destroyed == GC_CURRENTLY_BEING_QDELETED)
tobequeued += A tobequeued += A

View File

@@ -3,7 +3,7 @@ SUBSYSTEM_DEF(icon_smooth)
init_order = INIT_ORDER_ICON_SMOOTHING init_order = INIT_ORDER_ICON_SMOOTHING
wait = 1 wait = 1
priority = 35 priority = 35
flags = SS_TICKER flags_1 = SS_TICKER
var/list/smooth_queue = list() var/list/smooth_queue = list()

View File

@@ -1,7 +1,7 @@
SUBSYSTEM_DEF(inbounds) SUBSYSTEM_DEF(inbounds)
name = "Inbounds" name = "Inbounds"
priority = 40 priority = 40
flags = SS_NO_INIT flags_1 = SS_NO_INIT
runlevels = RUNLEVEL_GAME runlevels = RUNLEVEL_GAME
var/list/processing = list() var/list/processing = list()

View File

@@ -1,7 +1,7 @@
SUBSYSTEM_DEF(ipintel) SUBSYSTEM_DEF(ipintel)
name = "XKeyScore" name = "XKeyScore"
init_order = INIT_ORDER_XKEYSCORE init_order = INIT_ORDER_XKEYSCORE
flags = SS_NO_FIRE flags_1 = SS_NO_FIRE
var/enabled = 0 //disable at round start to avoid checking reconnects var/enabled = 0 //disable at round start to avoid checking reconnects
var/throttle = 0 var/throttle = 0
var/errors = 0 var/errors = 0

View File

@@ -1,7 +1,7 @@
SUBSYSTEM_DEF(job) SUBSYSTEM_DEF(job)
name = "Jobs" name = "Jobs"
init_order = INIT_ORDER_JOBS init_order = INIT_ORDER_JOBS
flags = SS_NO_FIRE flags_1 = SS_NO_FIRE
var/list/occupations = list() //List of all jobs var/list/occupations = list() //List of all jobs
var/list/name_occupations = list() //Dict of all jobs, keys are titles var/list/name_occupations = list() //Dict of all jobs, keys are titles

View File

@@ -1,7 +1,7 @@
SUBSYSTEM_DEF(language) SUBSYSTEM_DEF(language)
name = "Language" name = "Language"
init_order = INIT_ORDER_LANGUAGE init_order = INIT_ORDER_LANGUAGE
flags = SS_NO_FIRE flags_1 = SS_NO_FIRE
/datum/controller/subsystem/language/Initialize(timeofday) /datum/controller/subsystem/language/Initialize(timeofday)
for(var/L in subtypesof(/datum/language)) for(var/L in subtypesof(/datum/language))

View File

@@ -6,7 +6,7 @@ SUBSYSTEM_DEF(lighting)
name = "Lighting" name = "Lighting"
wait = 2 wait = 2
init_order = INIT_ORDER_LIGHTING init_order = INIT_ORDER_LIGHTING
flags = SS_TICKER flags_1 = SS_TICKER
var/initialized = FALSE var/initialized = FALSE
@@ -24,7 +24,7 @@ SUBSYSTEM_DEF(lighting)
create_all_lighting_objects() create_all_lighting_objects()
initialized = TRUE initialized = TRUE
fire(FALSE, TRUE) fire(FALSE, TRUE)
..() ..()

View File

@@ -1,7 +1,7 @@
SUBSYSTEM_DEF(machines) SUBSYSTEM_DEF(machines)
name = "Machines" name = "Machines"
init_order = INIT_ORDER_MACHINES init_order = INIT_ORDER_MACHINES
flags = SS_KEEP_TIMING flags_1 = SS_KEEP_TIMING
var/list/processing = list() var/list/processing = list()
var/list/currentrun = list() var/list/currentrun = list()
var/list/powernets = list() var/list/powernets = list()

View File

@@ -1,7 +1,7 @@
SUBSYSTEM_DEF(mapping) SUBSYSTEM_DEF(mapping)
name = "Mapping" name = "Mapping"
init_order = INIT_ORDER_MAPPING init_order = INIT_ORDER_MAPPING
flags = SS_NO_FIRE flags_1 = SS_NO_FIRE
var/list/nuke_tiles = list() var/list/nuke_tiles = list()
var/list/nuke_threats = list() var/list/nuke_threats = list()
@@ -84,7 +84,7 @@ SUBSYSTEM_DEF(mapping)
C.update_icon() C.update_icon()
/datum/controller/subsystem/mapping/Recover() /datum/controller/subsystem/mapping/Recover()
flags |= SS_NO_INIT flags_1 |= SS_NO_INIT
map_templates = SSmapping.map_templates map_templates = SSmapping.map_templates
ruins_templates = SSmapping.ruins_templates ruins_templates = SSmapping.ruins_templates
space_ruins_templates = SSmapping.space_ruins_templates space_ruins_templates = SSmapping.space_ruins_templates

View File

@@ -1,7 +1,7 @@
SUBSYSTEM_DEF(minimap) SUBSYSTEM_DEF(minimap)
name = "Minimap" name = "Minimap"
init_order = INIT_ORDER_MINIMAP init_order = INIT_ORDER_MINIMAP
flags = SS_NO_FIRE flags_1 = SS_NO_FIRE
var/const/MINIMAP_SIZE = 2048 var/const/MINIMAP_SIZE = 2048
var/const/TILE_SIZE = 8 var/const/TILE_SIZE = 8

View File

@@ -1,7 +1,7 @@
SUBSYSTEM_DEF(mobs) SUBSYSTEM_DEF(mobs)
name = "Mobs" name = "Mobs"
priority = 100 priority = 100
flags = SS_KEEP_TIMING|SS_NO_INIT flags_1 = SS_KEEP_TIMING|SS_NO_INIT
runlevels = RUNLEVEL_GAME | RUNLEVEL_POSTGAME runlevels = RUNLEVEL_GAME | RUNLEVEL_POSTGAME
var/list/currentrun = list() var/list/currentrun = list()

View File

@@ -5,7 +5,7 @@
SUBSYSTEM_DEF(npcpool) SUBSYSTEM_DEF(npcpool)
name = "NPC Pool" name = "NPC Pool"
flags = SS_POST_FIRE_TIMING|SS_NO_INIT|SS_BACKGROUND flags_1 = SS_POST_FIRE_TIMING|SS_NO_INIT|SS_BACKGROUND
priority = 20 priority = 20
runlevels = RUNLEVEL_GAME | RUNLEVEL_POSTGAME runlevels = RUNLEVEL_GAME | RUNLEVEL_POSTGAME
@@ -134,12 +134,12 @@ SUBSYSTEM_DEF(npcpool)
if(facCount == 1 && helpProb) if(facCount == 1 && helpProb)
helpProb = 100 helpProb = 100
if(prob(helpProb) && candidate.takeDelegate(check,FALSE)) if(prob(helpProb) && candidate.takeDelegate(check,FALSE))
--canBeUsed.len --canBeUsed.len
candidate.eye_color = "yellow" candidate.eye_color = "yellow"
candidate.update_icons() candidate.update_icons()
if(!currentrun.len || MC_TICK_CHECK) //don't change SS state if it isn't necessary if(!currentrun.len || MC_TICK_CHECK) //don't change SS state if it isn't necessary
return return

View File

@@ -2,7 +2,7 @@ SUBSYSTEM_DEF(orbit)
name = "Orbits" name = "Orbits"
priority = 35 priority = 35
wait = 2 wait = 2
flags = SS_NO_INIT|SS_TICKER flags_1 = SS_NO_INIT|SS_TICKER
var/list/currentrun = list() var/list/currentrun = list()
var/list/processing = list() var/list/processing = list()

View File

@@ -1,7 +1,7 @@
SUBSYSTEM_DEF(pai) SUBSYSTEM_DEF(pai)
name = "pAI" name = "pAI"
flags = SS_NO_INIT|SS_NO_FIRE flags_1 = SS_NO_INIT|SS_NO_FIRE
var/list/candidates = list() var/list/candidates = list()
var/ghost_spam = FALSE var/ghost_spam = FALSE

View File

@@ -1,7 +1,7 @@
SUBSYSTEM_DEF(parallax) SUBSYSTEM_DEF(parallax)
name = "Parallax" name = "Parallax"
wait = 2 wait = 2
flags = SS_POST_FIRE_TIMING | SS_BACKGROUND | SS_NO_INIT flags_1 = SS_POST_FIRE_TIMING | SS_BACKGROUND | SS_NO_INIT
priority = 65 priority = 65
runlevels = RUNLEVEL_LOBBY | RUNLEVELS_DEFAULT runlevels = RUNLEVEL_LOBBY | RUNLEVELS_DEFAULT
var/list/currentrun var/list/currentrun

View File

@@ -1,7 +1,7 @@
SUBSYSTEM_DEF(persistence) SUBSYSTEM_DEF(persistence)
name = "Persistence" name = "Persistence"
init_order = INIT_ORDER_PERSISTENCE init_order = INIT_ORDER_PERSISTENCE
flags = SS_NO_FIRE flags_1 = SS_NO_FIRE
var/savefile/secret_satchels var/savefile/secret_satchels
var/list/satchel_blacklist = list() //this is a typecache var/list/satchel_blacklist = list() //this is a typecache
var/list/new_secret_satchels = list() //these are objects var/list/new_secret_satchels = list() //these are objects

View File

@@ -3,7 +3,7 @@
SUBSYSTEM_DEF(ping) SUBSYSTEM_DEF(ping)
name = "Ping" name = "Ping"
wait = 6 wait = 6
flags = SS_POST_FIRE_TIMING|SS_FIRE_IN_LOBBY flags_1 = SS_POST_FIRE_TIMING|SS_FIRE_IN_LOBBY
priority = 10 priority = 10
var/list/currentrun var/list/currentrun

View File

@@ -2,5 +2,5 @@ PROCESSING_SUBSYSTEM_DEF(fields)
name = "Fields" name = "Fields"
wait = 2 wait = 2
priority = 40 priority = 40
flags = SS_KEEP_TIMING | SS_NO_INIT flags_1 = SS_KEEP_TIMING | SS_NO_INIT
runlevels = RUNLEVEL_GAME | RUNLEVEL_POSTGAME runlevels = RUNLEVEL_GAME | RUNLEVEL_POSTGAME

View File

@@ -3,7 +3,7 @@ PROCESSING_SUBSYSTEM_DEF(flightpacks)
priority = 30 priority = 30
wait = 2 wait = 2
stat_tag = "FM" stat_tag = "FM"
flags = SS_NO_INIT|SS_TICKER|SS_KEEP_TIMING flags_1 = SS_NO_INIT|SS_TICKER|SS_KEEP_TIMING
var/flightsuit_processing = FLIGHTSUIT_PROCESSING_FULL var/flightsuit_processing = FLIGHTSUIT_PROCESSING_FULL

View File

@@ -1,7 +1,7 @@
SUBSYSTEM_DEF(obj) SUBSYSTEM_DEF(obj)
name = "Objects" name = "Objects"
priority = 40 priority = 40
flags = SS_NO_INIT flags_1 = SS_NO_INIT
var/list/processing = list() var/list/processing = list()
var/list/currentrun = list() var/list/currentrun = list()

View File

@@ -1,6 +1,6 @@
PROCESSING_SUBSYSTEM_DEF(overlays) PROCESSING_SUBSYSTEM_DEF(overlays)
name = "Overlay" name = "Overlay"
flags = SS_TICKER flags_1 = SS_TICKER
wait = 1 wait = 1
priority = 500 priority = 500
init_order = INIT_ORDER_OVERLAY init_order = INIT_ORDER_OVERLAY

View File

@@ -3,7 +3,7 @@
SUBSYSTEM_DEF(processing) SUBSYSTEM_DEF(processing)
name = "Processing" name = "Processing"
priority = 25 priority = 25
flags = SS_BACKGROUND|SS_POST_FIRE_TIMING|SS_NO_INIT flags_1 = SS_BACKGROUND|SS_POST_FIRE_TIMING|SS_NO_INIT
wait = 10 wait = 10
var/stat_tag = "P" //Used for logging var/stat_tag = "P" //Used for logging

View File

@@ -1,6 +1,6 @@
SUBSYSTEM_DEF(radio) SUBSYSTEM_DEF(radio)
name = "Radio" name = "Radio"
flags = SS_NO_FIRE|SS_NO_INIT flags_1 = SS_NO_FIRE|SS_NO_INIT
var/list/datum/radio_frequency/frequencies = list() var/list/datum/radio_frequency/frequencies = list()

View File

@@ -1,6 +1,6 @@
SUBSYSTEM_DEF(religion) SUBSYSTEM_DEF(religion)
name = "Religion" name = "Religion"
flags = SS_NO_FIRE|SS_NO_INIT flags_1 = SS_NO_FIRE|SS_NO_INIT
var/religion var/religion
var/deity var/deity

View File

@@ -3,7 +3,7 @@
SUBSYSTEM_DEF(server_maint) SUBSYSTEM_DEF(server_maint)
name = "Server Tasks" name = "Server Tasks"
wait = 6 wait = 6
flags = SS_POST_FIRE_TIMING flags_1 = SS_POST_FIRE_TIMING
priority = 10 priority = 10
init_order = INIT_ORDER_SERVER_MAINT init_order = INIT_ORDER_SERVER_MAINT
runlevels = RUNLEVEL_LOBBY | RUNLEVELS_DEFAULT runlevels = RUNLEVEL_LOBBY | RUNLEVELS_DEFAULT

View File

@@ -5,7 +5,7 @@ SUBSYSTEM_DEF(shuttle)
name = "Shuttle" name = "Shuttle"
wait = 10 wait = 10
init_order = INIT_ORDER_SHUTTLE init_order = INIT_ORDER_SHUTTLE
flags = SS_KEEP_TIMING|SS_NO_TICK_CHECK flags_1 = SS_KEEP_TIMING|SS_NO_TICK_CHECK
runlevels = RUNLEVEL_SETUP | RUNLEVEL_GAME runlevels = RUNLEVEL_SETUP | RUNLEVEL_GAME
var/list/mobile = list() var/list/mobile = list()

View File

@@ -2,7 +2,7 @@ SUBSYSTEM_DEF(spacedrift)
name = "Space Drift" name = "Space Drift"
priority = 30 priority = 30
wait = 5 wait = 5
flags = SS_NO_INIT|SS_KEEP_TIMING flags_1 = SS_NO_INIT|SS_KEEP_TIMING
runlevels = RUNLEVEL_GAME | RUNLEVEL_POSTGAME runlevels = RUNLEVEL_GAME | RUNLEVEL_POSTGAME
var/list/currentrun = list() var/list/currentrun = list()

View File

@@ -5,7 +5,7 @@
SUBSYSTEM_DEF(squeak) SUBSYSTEM_DEF(squeak)
name = "Squeak" name = "Squeak"
init_order = INIT_ORDER_SQUEAK init_order = INIT_ORDER_SQUEAK
flags = SS_NO_FIRE flags_1 = SS_NO_FIRE
var/list/exposed_wires = list() var/list/exposed_wires = list()

View File

@@ -1,7 +1,7 @@
SUBSYSTEM_DEF(stickyban) SUBSYSTEM_DEF(stickyban)
name = "Sticky Ban" name = "Sticky Ban"
init_order = INIT_ORDER_STICKY_BAN init_order = INIT_ORDER_STICKY_BAN
flags = SS_NO_FIRE flags_1 = SS_NO_FIRE
var/list/cache = list() var/list/cache = list()
@@ -27,6 +27,6 @@ SUBSYSTEM_DEF(stickyban)
ban["existing_user_matches_this_round"] = list() ban["existing_user_matches_this_round"] = list()
ban["admin_matches_this_round"] = list() ban["admin_matches_this_round"] = list()
cache[ckey] = ban cache[ckey] = ban
for (var/bannedckey in cache) for (var/bannedckey in cache)
world.SetConfig("ban", bannedckey, list2stickyban(cache[bannedckey])) world.SetConfig("ban", bannedckey, list2stickyban(cache[bannedckey]))

View File

@@ -1,7 +1,7 @@
SUBSYSTEM_DEF(sun) SUBSYSTEM_DEF(sun)
name = "Sun" name = "Sun"
wait = 600 wait = 600
flags = SS_NO_TICK_CHECK|SS_NO_INIT flags_1 = SS_NO_TICK_CHECK|SS_NO_INIT
var/angle var/angle
var/dx var/dx
var/dy var/dy

View File

@@ -1,7 +1,7 @@
SUBSYSTEM_DEF(tgui) SUBSYSTEM_DEF(tgui)
name = "tgui" name = "tgui"
wait = 9 wait = 9
flags = SS_NO_INIT flags_1 = SS_NO_INIT
priority = 110 priority = 110
runlevels = RUNLEVEL_LOBBY | RUNLEVELS_DEFAULT runlevels = RUNLEVEL_LOBBY | RUNLEVELS_DEFAULT

View File

@@ -5,7 +5,7 @@ SUBSYSTEM_DEF(throwing)
name = "Throwing" name = "Throwing"
priority = 25 priority = 25
wait = 1 wait = 1
flags = SS_NO_INIT|SS_KEEP_TIMING|SS_TICKER flags_1 = SS_NO_INIT|SS_KEEP_TIMING|SS_TICKER
runlevels = RUNLEVEL_GAME | RUNLEVEL_POSTGAME runlevels = RUNLEVEL_GAME | RUNLEVEL_POSTGAME
var/list/currentrun var/list/currentrun

View File

@@ -5,7 +5,7 @@ SUBSYSTEM_DEF(ticker)
init_order = INIT_ORDER_TICKER init_order = INIT_ORDER_TICKER
priority = 200 priority = 200
flags = SS_KEEP_TIMING flags_1 = SS_KEEP_TIMING
runlevels = RUNLEVEL_LOBBY | RUNLEVEL_SETUP | RUNLEVEL_GAME runlevels = RUNLEVEL_LOBBY | RUNLEVEL_SETUP | RUNLEVEL_GAME
var/current_state = GAME_STATE_STARTUP //state of current round (used by process()) Use the defines GAME_STATE_* ! var/current_state = GAME_STATE_STARTUP //state of current round (used by process()) Use the defines GAME_STATE_* !

View File

@@ -1,7 +1,7 @@
SUBSYSTEM_DEF(time_track) SUBSYSTEM_DEF(time_track)
name = "Time Tracking" name = "Time Tracking"
wait = 600 wait = 600
flags = SS_NO_INIT|SS_NO_TICK_CHECK flags_1 = SS_NO_INIT|SS_NO_TICK_CHECK
runlevels = RUNLEVEL_LOBBY | RUNLEVELS_DEFAULT runlevels = RUNLEVEL_LOBBY | RUNLEVELS_DEFAULT
var/time_dilation_current = 0 var/time_dilation_current = 0

View File

@@ -7,7 +7,7 @@ SUBSYSTEM_DEF(timer)
wait = 1 //SS_TICKER subsystem, so wait is in ticks wait = 1 //SS_TICKER subsystem, so wait is in ticks
init_order = INIT_ORDER_TIMER init_order = INIT_ORDER_TIMER
flags = SS_TICKER|SS_NO_INIT flags_1 = SS_TICKER|SS_NO_INIT
var/list/datum/timedevent/processing = list() var/list/datum/timedevent/processing = list()
var/list/hashes = list() var/list/hashes = list()
@@ -50,9 +50,9 @@ SUBSYSTEM_DEF(timer)
var/datum/timedevent/bucket_head = bucket_list[i] var/datum/timedevent/bucket_head = bucket_list[i]
if (!bucket_head) if (!bucket_head)
continue continue
log_world("Active timers at index [i]:") log_world("Active timers at index [i]:")
var/datum/timedevent/bucket_node = bucket_head var/datum/timedevent/bucket_node = bucket_head
var/anti_loop_check = 1000 var/anti_loop_check = 1000
do do
@@ -215,7 +215,7 @@ SUBSYSTEM_DEF(timer)
var/datum/callback/callBack var/datum/callback/callBack
var/timeToRun var/timeToRun
var/hash var/hash
var/list/flags var/list/flags_1
var/spent = FALSE //set to true right before running. var/spent = FALSE //set to true right before running.
var/name //for easy debugging. var/name //for easy debugging.
//cicular doublely linked list //cicular doublely linked list
@@ -224,16 +224,16 @@ SUBSYSTEM_DEF(timer)
var/static/nextid = 1 var/static/nextid = 1
/datum/timedevent/New(datum/callback/callBack, timeToRun, flags, hash) /datum/timedevent/New(datum/callback/callBack, timeToRun, flags_1, hash)
id = TIMER_ID_NULL id = TIMER_ID_NULL
src.callBack = callBack src.callBack = callBack
src.timeToRun = timeToRun src.timeToRun = timeToRun
src.flags = flags src.flags_1 = flags_1
src.hash = hash src.hash = hash
if (flags & TIMER_UNIQUE) if (flags_1 & TIMER_UNIQUE)
SStimer.hashes[hash] = src SStimer.hashes[hash] = src
if (flags & TIMER_STOPPABLE) if (flags_1 & TIMER_STOPPABLE)
do do
if (nextid >= TIMER_ID_MAX) if (nextid >= TIMER_ID_MAX)
nextid = 1 nextid = 1
@@ -241,12 +241,12 @@ SUBSYSTEM_DEF(timer)
while(SStimer.timer_id_dict["timerid" + num2text(id, 8)]) while(SStimer.timer_id_dict["timerid" + num2text(id, 8)])
SStimer.timer_id_dict["timerid" + num2text(id, 8)] = src SStimer.timer_id_dict["timerid" + num2text(id, 8)] = src
name = "Timer: " + num2text(id, 8) + ", TTR: [timeToRun], Flags: [jointext(bitfield2list(flags, list("TIMER_UNIQUE", "TIMER_OVERRIDE", "TIMER_CLIENT_TIME", "TIMER_STOPPABLE", "TIMER_NO_HASH_WAIT")), ", ")], callBack: \ref[callBack], callBack.object: [callBack.object]\ref[callBack.object]([getcallingtype()]), callBack.delegate:[callBack.delegate]([callBack.arguments ? callBack.arguments.Join(", ") : ""])" name = "Timer: " + num2text(id, 8) + ", TTR: [timeToRun], Flags: [jointext(bitfield2list(flags_1, list("TIMER_UNIQUE", "TIMER_OVERRIDE", "TIMER_CLIENT_TIME", "TIMER_STOPPABLE", "TIMER_NO_HASH_WAIT")), ", ")], callBack: \ref[callBack], callBack.object: [callBack.object]\ref[callBack.object]([getcallingtype()]), callBack.delegate:[callBack.delegate]([callBack.arguments ? callBack.arguments.Join(", ") : ""])"
if (callBack.object != GLOBAL_PROC) if (callBack.object != GLOBAL_PROC)
LAZYADD(callBack.object.active_timers, src) LAZYADD(callBack.object.active_timers, src)
if (flags & TIMER_CLIENT_TIME) if (flags_1 & TIMER_CLIENT_TIME)
//sorted insert //sorted insert
var/list/ctts = SStimer.clienttime_timers var/list/ctts = SStimer.clienttime_timers
var/cttl = length(ctts) var/cttl = length(ctts)
@@ -291,7 +291,7 @@ SUBSYSTEM_DEF(timer)
/datum/timedevent/Destroy() /datum/timedevent/Destroy()
..() ..()
if (flags & TIMER_UNIQUE) if (flags_1 & TIMER_UNIQUE)
SStimer.hashes -= hash SStimer.hashes -= hash
@@ -301,10 +301,10 @@ SUBSYSTEM_DEF(timer)
callBack = null callBack = null
if (flags & TIMER_STOPPABLE) if (flags_1 & TIMER_STOPPABLE)
SStimer.timer_id_dict -= "timerid" + num2text(id, 8) SStimer.timer_id_dict -= "timerid" + num2text(id, 8)
if (flags & TIMER_CLIENT_TIME) if (flags_1 & TIMER_CLIENT_TIME)
SStimer.clienttime_timers -= src SStimer.clienttime_timers -= src
return QDEL_HINT_IWILLGC return QDEL_HINT_IWILLGC
@@ -346,7 +346,7 @@ SUBSYSTEM_DEF(timer)
else else
. = "[callBack.object.type]" . = "[callBack.object.type]"
/proc/addtimer(datum/callback/callback, wait, flags) /proc/addtimer(datum/callback/callback, wait, flags_1)
if (!callback) if (!callback)
return return
@@ -354,12 +354,12 @@ SUBSYSTEM_DEF(timer)
var/hash var/hash
if (flags & TIMER_UNIQUE) if (flags_1 & TIMER_UNIQUE)
var/list/hashlist var/list/hashlist
if(flags & TIMER_NO_HASH_WAIT) if(flags_1 & TIMER_NO_HASH_WAIT)
hashlist = list(callback.object, "(\ref[callback.object])", callback.delegate, flags & TIMER_CLIENT_TIME) hashlist = list(callback.object, "(\ref[callback.object])", callback.delegate, flags_1 & TIMER_CLIENT_TIME)
else else
hashlist = list(callback.object, "(\ref[callback.object])", callback.delegate, wait, flags & TIMER_CLIENT_TIME) hashlist = list(callback.object, "(\ref[callback.object])", callback.delegate, wait, flags_1 & TIMER_CLIENT_TIME)
hashlist += callback.arguments hashlist += callback.arguments
hash = hashlist.Join("|||||||") hash = hashlist.Join("|||||||")
@@ -370,20 +370,20 @@ SUBSYSTEM_DEF(timer)
SStimer.hashes -= hash SStimer.hashes -= hash
else else
if (flags & TIMER_OVERRIDE) if (flags_1 & TIMER_OVERRIDE)
qdel(hash_timer) qdel(hash_timer)
else else
if (hash_timer.flags & TIMER_STOPPABLE) if (hash_timer.flags_1 & TIMER_STOPPABLE)
. = hash_timer.id . = hash_timer.id
return return
var/timeToRun = world.time + wait var/timeToRun = world.time + wait
if (flags & TIMER_CLIENT_TIME) if (flags_1 & TIMER_CLIENT_TIME)
timeToRun = REALTIMEOFDAY + wait timeToRun = REALTIMEOFDAY + wait
var/datum/timedevent/timer = new(callback, timeToRun, flags, hash) var/datum/timedevent/timer = new(callback, timeToRun, flags_1, hash)
return timer.id return timer.id
/proc/deltimer(id) /proc/deltimer(id)
if (!id) if (!id)

View File

@@ -1,6 +1,6 @@
SUBSYSTEM_DEF(title) SUBSYSTEM_DEF(title)
name = "Title Screen" name = "Title Screen"
flags = SS_NO_FIRE|SS_NO_INIT flags_1 = SS_NO_FIRE|SS_NO_INIT
var/file_path var/file_path
var/icon/icon var/icon/icon
@@ -36,7 +36,7 @@ SUBSYSTEM_DEF(title)
break break
file_path = "config/title_screens/images/[pick(title_screens)]" file_path = "config/title_screens/images/[pick(title_screens)]"
icon = new(fcopy_rsc(file_path)) icon = new(fcopy_rsc(file_path))
if(splash_turf) if(splash_turf)

View File

@@ -2,7 +2,7 @@ SUBSYSTEM_DEF(vote)
name = "Vote" name = "Vote"
wait = 10 wait = 10
flags = SS_KEEP_TIMING|SS_NO_INIT flags_1 = SS_KEEP_TIMING|SS_NO_INIT
runlevels = RUNLEVEL_LOBBY | RUNLEVELS_DEFAULT runlevels = RUNLEVEL_LOBBY | RUNLEVELS_DEFAULT

View File

@@ -1,7 +1,7 @@
//Used for all kinds of weather, ex. lavaland ash storms. //Used for all kinds of weather, ex. lavaland ash storms.
SUBSYSTEM_DEF(weather) SUBSYSTEM_DEF(weather)
name = "Weather" name = "Weather"
flags = SS_BACKGROUND flags_1 = SS_BACKGROUND
wait = 10 wait = 10
runlevels = RUNLEVEL_GAME runlevels = RUNLEVEL_GAME
var/list/processing = list() var/list/processing = list()

View File

@@ -419,7 +419,7 @@
icon = 'icons/obj/weapons.dmi' icon = 'icons/obj/weapons.dmi'
icon_state = "offhand" icon_state = "offhand"
w_class = WEIGHT_CLASS_HUGE w_class = WEIGHT_CLASS_HUGE
flags = ABSTRACT | DROPDEL | NOBLUDGEON flags_1 = ABSTRACT_1 | DROPDEL_1 | NOBLUDGEON_1
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF
var/mob/living/carbon/rider var/mob/living/carbon/rider
var/mob/living/ridden var/mob/living/ridden

View File

@@ -102,7 +102,7 @@
/obj/effect/clockwork/sigil/submission/sigil_effects(mob/living/L) /obj/effect/clockwork/sigil/submission/sigil_effects(mob/living/L)
L.visible_message("<span class='warning'>[src] begins to glow a piercing magenta!</span>", "<span class='sevtug'>You feel something start to invade your mind...</span>") L.visible_message("<span class='warning'>[src] begins to glow a piercing magenta!</span>", "<span class='sevtug'>You feel something start to invade your mind...</span>")
var/oldcolor = color var/oldcolor = color
animate(src, color = "#AF0AAF", time = convert_time, flags = ANIMATION_END_NOW) animate(src, color = "#AF0AAF", time = convert_time, flags_1 = ANIMATION_END_NOW)
var/obj/effect/temp_visual/ratvar/sigil/glow var/obj/effect/temp_visual/ratvar/sigil/glow
if(glow_type) if(glow_type)
glow = new glow_type(get_turf(src)) glow = new glow_type(get_turf(src))
@@ -114,7 +114,7 @@
if(get_turf(L) != get_turf(src)) if(get_turf(L) != get_turf(src))
if(glow) if(glow)
qdel(glow) qdel(glow)
animate(src, color = oldcolor, time = 20, flags = ANIMATION_END_NOW) animate(src, color = oldcolor, time = 20, flags_1 = ANIMATION_END_NOW)
addtimer(CALLBACK(src, /atom/proc/update_atom_colour), 20) addtimer(CALLBACK(src, /atom/proc/update_atom_colour), 20)
visible_message("<span class='warning'>[src] slowly stops glowing!</span>") visible_message("<span class='warning'>[src] slowly stops glowing!</span>")
return return
@@ -136,7 +136,7 @@
to_chat(M, "<span class='heavy_brass'>[message] you!</span>") to_chat(M, "<span class='heavy_brass'>[message] you!</span>")
else else
to_chat(M, "<span class='heavy_brass'>[message] [L.real_name]!</span>") to_chat(M, "<span class='heavy_brass'>[message] [L.real_name]!</span>")
animate(src, color = oldcolor, time = 20, flags = ANIMATION_END_NOW) animate(src, color = oldcolor, time = 20, flags_1 = ANIMATION_END_NOW)
addtimer(CALLBACK(src, /atom/proc/update_atom_colour), 20) addtimer(CALLBACK(src, /atom/proc/update_atom_colour), 20)
visible_message("<span class='warning'>[src] slowly stops glowing!</span>") visible_message("<span class='warning'>[src] slowly stops glowing!</span>")
@@ -314,7 +314,7 @@
if((is_servant_of_ratvar(L) && L.suiciding) || sigil_active) if((is_servant_of_ratvar(L) && L.suiciding) || sigil_active)
return return
visible_message("<span class='warning'>[src] begins to glow bright blue!</span>") visible_message("<span class='warning'>[src] begins to glow bright blue!</span>")
animate(src, alpha = 255, time = 10, flags = ANIMATION_END_NOW) //we may have a previous animation going. finish it first, then do this one without delay. animate(src, alpha = 255, time = 10, flags_1 = ANIMATION_END_NOW) //we may have a previous animation going. finish it first, then do this one without delay.
sleep(10) sleep(10)
//as long as they're still on the sigil and are either not a servant or they're a servant AND it has remaining vitality //as long as they're still on the sigil and are either not a servant or they're a servant AND it has remaining vitality
while(L && (!is_servant_of_ratvar(L) || (is_servant_of_ratvar(L) && (GLOB.ratvar_awakens || GLOB.clockwork_vitality))) && get_turf(L) == get_turf(src)) while(L && (!is_servant_of_ratvar(L) || (is_servant_of_ratvar(L) && (GLOB.ratvar_awakens || GLOB.clockwork_vitality))) && get_turf(L) == get_turf(src))
@@ -380,4 +380,4 @@
animation_number = initial(animation_number) animation_number = initial(animation_number)
sigil_active = FALSE sigil_active = FALSE
visible_message("<span class='warning'>[src] slowly stops glowing!</span>") visible_message("<span class='warning'>[src] slowly stops glowing!</span>")
animate(src, alpha = initial(alpha), time = 10, flags = ANIMATION_END_NOW) animate(src, alpha = initial(alpha), time = 10, flags_1 = ANIMATION_END_NOW)

View File

@@ -98,12 +98,12 @@
if(severity == 1 && uses) if(severity == 1 && uses)
uses = 0 uses = 0
visible_message("<span class='warning'>[src] is disrupted!</span>") visible_message("<span class='warning'>[src] is disrupted!</span>")
animate(src, alpha = 0, transform = matrix()*2, time = 10, flags = ANIMATION_END_NOW) animate(src, alpha = 0, transform = matrix()*2, time = 10, flags_1 = ANIMATION_END_NOW)
deltimer(timerid) deltimer(timerid)
timerid = QDEL_IN(src, 10) timerid = QDEL_IN(src, 10)
linked_gateway.uses = 0 linked_gateway.uses = 0
linked_gateway.visible_message("<span class='warning'>[linked_gateway] is disrupted!</span>") linked_gateway.visible_message("<span class='warning'>[linked_gateway] is disrupted!</span>")
animate(linked_gateway, alpha = 0, transform = matrix()*2, time = 10, flags = ANIMATION_END_NOW) animate(linked_gateway, alpha = 0, transform = matrix()*2, time = 10, flags_1 = ANIMATION_END_NOW)
deltimer(linked_gateway.timerid) deltimer(linked_gateway.timerid)
linked_gateway.timerid = QDEL_IN(linked_gateway, 10) linked_gateway.timerid = QDEL_IN(linked_gateway, 10)
return TRUE return TRUE
@@ -136,13 +136,13 @@
uses = max(0, uses - 1) uses = max(0, uses - 1)
linked_gateway.uses = max(0, linked_gateway.uses - 1) linked_gateway.uses = max(0, linked_gateway.uses - 1)
if(!uses) if(!uses)
animate(src, transform = matrix() * 0.1, time = 10, flags = ANIMATION_END_NOW) animate(src, transform = matrix() * 0.1, time = 10, flags_1 = ANIMATION_END_NOW)
animate(linked_gateway, transform = matrix() * 0.1, time = 10, flags = ANIMATION_END_NOW) animate(linked_gateway, transform = matrix() * 0.1, time = 10, flags_1 = ANIMATION_END_NOW)
density = FALSE density = FALSE
linked_gateway.density = FALSE linked_gateway.density = FALSE
else else
animate(src, transform = matrix() / 1.5, time = 10, flags = ANIMATION_END_NOW) animate(src, transform = matrix() / 1.5, time = 10, flags_1 = ANIMATION_END_NOW)
animate(linked_gateway, transform = matrix() / 1.5, time = 10, flags = ANIMATION_END_NOW) animate(linked_gateway, transform = matrix() / 1.5, time = 10, flags_1 = ANIMATION_END_NOW)
addtimer(CALLBACK(src, .proc/check_uses), 10) addtimer(CALLBACK(src, .proc/check_uses), 10)
return TRUE return TRUE

View File

@@ -365,7 +365,7 @@
return return
if(health == maxHealth) if(health == maxHealth)
return FALSE return FALSE
else if(!(flags & GODMODE)) else if(!(flags_1 & GODMODE))
user.visible_message("<span class='notice'>[user]'s [proselytizer.name] starts coverin[src == user ? "g [user.p_them()]" : "g [src]"] in glowing orange energy...</span>", \ user.visible_message("<span class='notice'>[user]'s [proselytizer.name] starts coverin[src == user ? "g [user.p_them()]" : "g [src]"] in glowing orange energy...</span>", \
"<span class='alloy'>You start repairin[src == user ? "g yourself" : "g [src]"]...</span>") "<span class='alloy'>You start repairin[src == user ? "g yourself" : "g [src]"]...</span>")
proselytizer.repairing = src proselytizer.repairing = src

View File

@@ -343,7 +343,7 @@
desc = "Shackles that bind the wrists with sinister magic." desc = "Shackles that bind the wrists with sinister magic."
trashtype = /obj/item/weapon/restraints/handcuffs/energy/used trashtype = /obj/item/weapon/restraints/handcuffs/energy/used
origin_tech = "materials=2;magnets=5" origin_tech = "materials=2;magnets=5"
flags = DROPDEL flags_1 = DROPDEL_1
/obj/item/weapon/restraints/handcuffs/energy/cult/used/dropped(mob/user) /obj/item/weapon/restraints/handcuffs/energy/cult/used/dropped(mob/user)
user.visible_message("<span class='danger'>[user]'s shackles shatter in a discharge of dark magic!</span>", \ user.visible_message("<span class='danger'>[user]'s shackles shatter in a discharge of dark magic!</span>", \

View File

@@ -19,7 +19,7 @@
var/probability = 0 var/probability = 0
var/station_was_nuked = 0 //see nuclearbomb.dm and malfunction.dm var/station_was_nuked = 0 //see nuclearbomb.dm and malfunction.dm
var/explosion_in_progress = 0 //sit back and relax var/explosion_in_progress = 0 //sit back and relax
var/round_ends_with_antag_death = 0 //flags the "one verse the station" antags as such var/round_ends_with_antag_death = 0 //flags_1 the "one verse the station" antags as such
var/list/datum/mind/modePlayer = new var/list/datum/mind/modePlayer = new
var/list/datum/mind/antag_candidates = list() // List of possible starting antags goes here var/list/datum/mind/antag_candidates = list() // List of possible starting antags goes here
var/list/restricted_jobs = list() // Jobs it doesn't make sense to be. I.E chaplain or AI cultist var/list/restricted_jobs = list() // Jobs it doesn't make sense to be. I.E chaplain or AI cultist
@@ -83,7 +83,7 @@
if(SSdbcore.Connect()) if(SSdbcore.Connect())
var/sql var/sql
if(SSticker.mode) if(SSticker.mode)
sql += "game_mode = '[SSticker.mode]'" sql += "game_mode = '[SSticker.mode]'"
if(GLOB.revdata.originmastercommit) if(GLOB.revdata.originmastercommit)
if(sql) if(sql)
@@ -111,7 +111,7 @@
var/list/living_crew = list() var/list/living_crew = list()
for(var/mob/Player in GLOB.mob_list) for(var/mob/Player in GLOB.mob_list)
if(Player.mind && Player.stat != DEAD && !isnewplayer(Player) && !isbrain(Player) && Player.client) if(Player.mind && Player.stat != DEAD && !isnewplayer(Player) && !isbrain(Player) && Player.client)
living_crew += Player living_crew += Player
if(living_crew.len / GLOB.joined_player_list.len <= config.midround_antag_life_check) //If a lot of the player base died, we start fresh if(living_crew.len / GLOB.joined_player_list.len <= config.midround_antag_life_check) //If a lot of the player base died, we start fresh
message_admins("Convert_roundtype failed due to too many dead people. Limit is [config.midround_antag_life_check * 100]% living crew") message_admins("Convert_roundtype failed due to too many dead people. Limit is [config.midround_antag_life_check * 100]% living crew")
@@ -120,7 +120,7 @@
var/list/datum/game_mode/runnable_modes = config.get_runnable_midround_modes(living_crew.len) var/list/datum/game_mode/runnable_modes = config.get_runnable_midround_modes(living_crew.len)
var/list/datum/game_mode/usable_modes = list() var/list/datum/game_mode/usable_modes = list()
for(var/datum/game_mode/G in runnable_modes) for(var/datum/game_mode/G in runnable_modes)
if(G.reroll_friendly && living_crew >= G.required_players) if(G.reroll_friendly && living_crew >= G.required_players)
usable_modes += G usable_modes += G
else else
qdel(G) qdel(G)
@@ -208,7 +208,7 @@
return 0 //A resource saver: once we find someone who has to die for all antags to be dead, we can just keep checking them, cycling over everyone only when we lose our mark. return 0 //A resource saver: once we find someone who has to die for all antags to be dead, we can just keep checking them, cycling over everyone only when we lose our mark.
for(var/mob/Player in GLOB.living_mob_list) for(var/mob/Player in GLOB.living_mob_list)
if(Player.mind && Player.stat != DEAD && !isnewplayer(Player) &&!isbrain(Player) && Player.client) if(Player.mind && Player.stat != DEAD && !isnewplayer(Player) &&!isbrain(Player) && Player.client)
if(Player.mind.special_role) //Someone's still antaging! if(Player.mind.special_role) //Someone's still antaging!
living_antag_player = Player living_antag_player = Player
return 0 return 0
@@ -369,7 +369,7 @@
if(candidates.len < recommended_enemies) if(candidates.len < recommended_enemies)
for(var/mob/dead/new_player/player in players) for(var/mob/dead/new_player/player in players)
if(player.client && player.ready == PLAYER_READY_TO_PLAY) if(player.client && player.ready == PLAYER_READY_TO_PLAY)
if(!(role in player.client.prefs.be_special)) // We don't have enough people who want to be antagonist, make a separate list of people who don't want to be one if(!(role in player.client.prefs.be_special)) // We don't have enough people who want to be antagonist, make a separate list of people who don't want to be one
if(!jobban_isbanned(player, "Syndicate") && !jobban_isbanned(player, role)) //Nodrak/Carn: Antag Job-bans if(!jobban_isbanned(player, "Syndicate") && !jobban_isbanned(player, role)) //Nodrak/Carn: Antag Job-bans
drafted += player.mind drafted += player.mind

View File

@@ -499,7 +499,7 @@ Congratulations! You are now trained for invasive xenobiology research!"}
/obj/item/weapon/restraints/handcuffs/energy/used /obj/item/weapon/restraints/handcuffs/energy/used
desc = "energy discharge" desc = "energy discharge"
flags = DROPDEL flags_1 = DROPDEL_1
/obj/item/weapon/restraints/handcuffs/energy/used/dropped(mob/user) /obj/item/weapon/restraints/handcuffs/energy/used/dropped(mob/user)
user.visible_message("<span class='danger'>[user]'s [src] break in a discharge of energy!</span>", \ user.visible_message("<span class='danger'>[user]'s [src] break in a discharge of energy!</span>", \

View File

@@ -23,7 +23,7 @@
var/obj/item/clothing/suit/armor/abductor/vest/V = locate() in H var/obj/item/clothing/suit/armor/abductor/vest/V = locate() in H
if(V) if(V)
console.AddVest(V) console.AddVest(V)
V.flags |= NODROP V.flags_1 |= NODROP_1
var/obj/item/weapon/storage/backpack/B = locate() in H var/obj/item/weapon/storage/backpack/B = locate() in H
if(B) if(B)

View File

@@ -16,7 +16,7 @@
/obj/structure/chair/hades/New() /obj/structure/chair/hades/New()
..() ..()
flags |= NODECONSTRUCT flags_1 |= NODECONSTRUCT_1
for(var/obj/structure/kitchenspike/KS in range(12)) for(var/obj/structure/kitchenspike/KS in range(12))
watchedSpikes += KS watchedSpikes += KS

View File

@@ -35,8 +35,8 @@ Class Variables:
Next uid value in sequence Next uid value in sequence
stat (bitflag) stat (bitflag)
Machine status bit flags. Machine status bit flags_1.
Possible bit flags: Possible bit flags_1:
BROKEN:1 -- Machine is broken BROKEN:1 -- Machine is broken
NOPOWER:2 -- No power is being supplied to machine. NOPOWER:2 -- No power is being supplied to machine.
POWEROFF:4 -- tbd POWEROFF:4 -- tbd
@@ -307,7 +307,7 @@ Class Procs:
gl_uid++ gl_uid++
/obj/machinery/proc/default_pry_open(obj/item/weapon/crowbar/C) /obj/machinery/proc/default_pry_open(obj/item/weapon/crowbar/C)
. = !(state_open || panel_open || is_operational() || (flags & NODECONSTRUCT)) && istype(C) . = !(state_open || panel_open || is_operational() || (flags_1 & NODECONSTRUCT_1)) && istype(C)
if(.) if(.)
playsound(loc, C.usesound, 50, 1) playsound(loc, C.usesound, 50, 1)
visible_message("<span class='notice'>[usr] pries open \the [src].</span>", "<span class='notice'>You pry open \the [src].</span>") visible_message("<span class='notice'>[usr] pries open \the [src].</span>", "<span class='notice'>You pry open \the [src].</span>")
@@ -315,13 +315,13 @@ Class Procs:
return 1 return 1
/obj/machinery/proc/default_deconstruction_crowbar(obj/item/weapon/crowbar/C, ignore_panel = 0) /obj/machinery/proc/default_deconstruction_crowbar(obj/item/weapon/crowbar/C, ignore_panel = 0)
. = istype(C) && (panel_open || ignore_panel) && !(flags & NODECONSTRUCT) . = istype(C) && (panel_open || ignore_panel) && !(flags_1 & NODECONSTRUCT_1)
if(.) if(.)
playsound(loc, C.usesound, 50, 1) playsound(loc, C.usesound, 50, 1)
deconstruct(TRUE) deconstruct(TRUE)
/obj/machinery/deconstruct(disassembled = TRUE) /obj/machinery/deconstruct(disassembled = TRUE)
if(!(flags & NODECONSTRUCT)) if(!(flags_1 & NODECONSTRUCT_1))
on_deconstruction() on_deconstruction()
if(component_parts && component_parts.len) if(component_parts && component_parts.len)
spawn_frame(disassembled) spawn_frame(disassembled)
@@ -340,7 +340,7 @@ Class Procs:
M.icon_state = "box_1" M.icon_state = "box_1"
/obj/machinery/obj_break(damage_flag) /obj/machinery/obj_break(damage_flag)
if(!(flags & NODECONSTRUCT)) if(!(flags_1 & NODECONSTRUCT_1))
stat |= BROKEN stat |= BROKEN
/obj/machinery/contents_explosion(severity, target) /obj/machinery/contents_explosion(severity, target)
@@ -354,7 +354,7 @@ Class Procs:
updateUsrDialog() updateUsrDialog()
/obj/machinery/proc/default_deconstruction_screwdriver(mob/user, icon_state_open, icon_state_closed, obj/item/weapon/screwdriver/S) /obj/machinery/proc/default_deconstruction_screwdriver(mob/user, icon_state_open, icon_state_closed, obj/item/weapon/screwdriver/S)
if(istype(S) && !(flags & NODECONSTRUCT)) if(istype(S) && !(flags_1 & NODECONSTRUCT_1))
playsound(loc, S.usesound, 50, 1) playsound(loc, S.usesound, 50, 1)
if(!panel_open) if(!panel_open)
panel_open = TRUE panel_open = TRUE
@@ -382,7 +382,7 @@ Class Procs:
return SUCCESSFUL_UNFASTEN return SUCCESSFUL_UNFASTEN
/obj/proc/default_unfasten_wrench(mob/user, obj/item/weapon/wrench/W, time = 20) //try to unwrench an object in a WONDERFUL DYNAMIC WAY /obj/proc/default_unfasten_wrench(mob/user, obj/item/weapon/wrench/W, time = 20) //try to unwrench an object in a WONDERFUL DYNAMIC WAY
if(istype(W) && !(flags & NODECONSTRUCT)) if(istype(W) && !(flags_1 & NODECONSTRUCT_1))
var/can_be_unfasten = can_be_unfasten_wrench(user) var/can_be_unfasten = can_be_unfasten_wrench(user)
if(!can_be_unfasten || can_be_unfasten == FAILED_UNFASTEN) if(!can_be_unfasten || can_be_unfasten == FAILED_UNFASTEN)
return can_be_unfasten return can_be_unfasten
@@ -409,7 +409,7 @@ Class Procs:
/obj/machinery/proc/exchange_parts(mob/user, obj/item/weapon/storage/part_replacer/W) /obj/machinery/proc/exchange_parts(mob/user, obj/item/weapon/storage/part_replacer/W)
if(!istype(W)) if(!istype(W))
return return
if((flags & NODECONSTRUCT) && !W.works_from_distance) if((flags_1 & NODECONSTRUCT_1) && !W.works_from_distance)
return return
var/shouldplaysound = 0 var/shouldplaysound = 0
if(component_parts) if(component_parts)

View File

@@ -66,7 +66,7 @@
return return
/obj/machinery/computer/attackby(obj/item/I, mob/user, params) /obj/machinery/computer/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/screwdriver) && circuit && !(flags&NODECONSTRUCT)) if(istype(I, /obj/item/weapon/screwdriver) && circuit && !(flags_1&NODECONSTRUCT_1))
playsound(src.loc, I.usesound, 50, 1) playsound(src.loc, I.usesound, 50, 1)
to_chat(user, "<span class='notice'> You start to disconnect the monitor...</span>") to_chat(user, "<span class='notice'> You start to disconnect the monitor...</span>")
if(do_after(user, 20*I.toolspeed, target = src)) if(do_after(user, 20*I.toolspeed, target = src))
@@ -85,7 +85,7 @@
playsound(src.loc, 'sound/items/welder.ogg', 100, 1) playsound(src.loc, 'sound/items/welder.ogg', 100, 1)
/obj/machinery/computer/obj_break(damage_flag) /obj/machinery/computer/obj_break(damage_flag)
if(circuit && !(flags & NODECONSTRUCT)) //no circuit, no breaking if(circuit && !(flags_1 & NODECONSTRUCT_1)) //no circuit, no breaking
if(!(stat & BROKEN)) if(!(stat & BROKEN))
playsound(loc, 'sound/effects/glassbr3.ogg', 100, 1) playsound(loc, 'sound/effects/glassbr3.ogg', 100, 1)
stat |= BROKEN stat |= BROKEN
@@ -103,7 +103,7 @@
/obj/machinery/computer/deconstruct(disassembled = TRUE, mob/user) /obj/machinery/computer/deconstruct(disassembled = TRUE, mob/user)
on_deconstruction() on_deconstruction()
if(!(flags & NODECONSTRUCT)) if(!(flags_1 & NODECONSTRUCT_1))
if(circuit) //no circuit, no computer frame if(circuit) //no circuit, no computer frame
var/obj/structure/frame/computer/A = new /obj/structure/frame/computer(src.loc) var/obj/structure/frame/computer/A = new /obj/structure/frame/computer(src.loc)
A.circuit = circuit A.circuit = circuit

View File

@@ -136,7 +136,7 @@
/obj/structure/frame/computer/deconstruct(disassembled = TRUE) /obj/structure/frame/computer/deconstruct(disassembled = TRUE)
if(!(flags & NODECONSTRUCT)) if(!(flags_1 & NODECONSTRUCT_1))
if(state == 4) if(state == 4)
new /obj/item/weapon/shard(loc) new /obj/item/weapon/shard(loc)
new /obj/item/weapon/shard(loc) new /obj/item/weapon/shard(loc)

View File

@@ -3,30 +3,30 @@
desc = "It opens and closes." desc = "It opens and closes."
icon = 'icons/obj/doors/Doorint.dmi' icon = 'icons/obj/doors/Doorint.dmi'
icon_state = "door1" icon_state = "door1"
anchored = TRUE anchored = TRUE
opacity = 1 opacity = 1
density = TRUE density = TRUE
layer = OPEN_DOOR_LAYER layer = OPEN_DOOR_LAYER
power_channel = ENVIRON power_channel = ENVIRON
max_integrity = 350 max_integrity = 350
armor = list(melee = 30, bullet = 30, laser = 20, energy = 20, bomb = 10, bio = 100, rad = 100, fire = 80, acid = 70) armor = list(melee = 30, bullet = 30, laser = 20, energy = 20, bomb = 10, bio = 100, rad = 100, fire = 80, acid = 70)
CanAtmosPass = ATMOS_PASS_DENSITY CanAtmosPass = ATMOS_PASS_DENSITY
flags_1 = PREVENT_CLICK_UNDER_1 flags_1 = PREVENT_CLICK_UNDER_1
var/secondsElectrified = 0 var/secondsElectrified = 0
var/shockedby = list() var/shockedby = list()
var/visible = TRUE var/visible = TRUE
var/operating = FALSE var/operating = FALSE
var/glass = FALSE var/glass = FALSE
var/welded = FALSE var/welded = FALSE
var/normalspeed = 1 var/normalspeed = 1
var/heat_proof = FALSE // For rglass-windowed airlocks and firedoors var/heat_proof = FALSE // For rglass-windowed airlocks and firedoors
var/emergency = FALSE // Emergency access override var/emergency = FALSE // Emergency access override
var/sub_door = FALSE // true if it's meant to go under another door. var/sub_door = FALSE // true if it's meant to go under another door.
var/closingLayer = CLOSED_DOOR_LAYER var/closingLayer = CLOSED_DOOR_LAYER
var/autoclose = FALSE //does it automatically close after some time var/autoclose = FALSE //does it automatically close after some time
var/safe = TRUE //whether the door detects things and mobs in its way and reopen or crushes them. var/safe = TRUE //whether the door detects things and mobs in its way and reopen or crushes them.
var/locked = FALSE //whether the door is bolted or not. var/locked = FALSE //whether the door is bolted or not.
var/assemblytype //the type of door frame to drop during deconstruction var/assemblytype //the type of door frame to drop during deconstruction
var/auto_close //TO BE REMOVED, no longer used, it's just preventing a runtime with a map var edit. var/auto_close //TO BE REMOVED, no longer used, it's just preventing a runtime with a map var edit.
var/datum/effect_system/spark_spread/spark_system var/datum/effect_system/spark_spread/spark_system
@@ -50,7 +50,7 @@
explosion_block = EXPLOSION_BLOCK_PROC explosion_block = EXPLOSION_BLOCK_PROC
/obj/machinery/door/Destroy() /obj/machinery/door/Destroy()
density = FALSE density = FALSE
air_update_turf(1) air_update_turf(1)
update_freelook_sight() update_freelook_sight()
GLOB.airlocks -= src GLOB.airlocks -= src
@@ -62,7 +62,7 @@
//process() //process()
//return //return
/obj/machinery/door/CollidedWith(atom/movable/AM) /obj/machinery/door/CollidedWith(atom/movable/AM)
if(operating || emagged) if(operating || emagged)
return return
if(ismob(AM)) if(ismob(AM))
@@ -98,7 +98,7 @@
..() ..()
move_update_air(T) move_update_air(T)
/obj/machinery/door/CanPass(atom/movable/mover, turf/target) /obj/machinery/door/CanPass(atom/movable/mover, turf/target)
if(istype(mover) && mover.checkpass(PASSGLASS)) if(istype(mover) && mover.checkpass(PASSGLASS))
return !opacity return !opacity
return !density return !density
@@ -163,7 +163,7 @@
else if(istype(I, /obj/item/weapon/weldingtool)) else if(istype(I, /obj/item/weapon/weldingtool))
try_to_weld(I, user) try_to_weld(I, user)
return 1 return 1
else if(!(I.flags & NOBLUDGEON) && user.a_intent != INTENT_HARM) else if(!(I.flags_1 & NOBLUDGEON_1) && user.a_intent != INTENT_HARM)
try_to_activate_door(user) try_to_activate_door(user)
return 1 return 1
return ..() return ..()
@@ -192,7 +192,7 @@
playsound(src.loc, 'sound/items/welder.ogg', 100, 1) playsound(src.loc, 'sound/items/welder.ogg', 100, 1)
/obj/machinery/door/emp_act(severity) /obj/machinery/door/emp_act(severity)
if(prob(20/severity) && (istype(src, /obj/machinery/door/airlock) || istype(src, /obj/machinery/door/window)) ) if(prob(20/severity) && (istype(src, /obj/machinery/door/airlock) || istype(src, /obj/machinery/door/window)) )
INVOKE_ASYNC(src, .proc/open) INVOKE_ASYNC(src, .proc/open)
if(prob(40/severity)) if(prob(40/severity))
if(secondsElectrified == 0) if(secondsElectrified == 0)
@@ -232,16 +232,16 @@
return 1 return 1
if(operating) if(operating)
return return
operating = TRUE operating = TRUE
do_animate("opening") do_animate("opening")
set_opacity(0) set_opacity(0)
sleep(5) sleep(5)
density = FALSE density = FALSE
sleep(5) sleep(5)
layer = OPEN_DOOR_LAYER layer = OPEN_DOOR_LAYER
update_icon() update_icon()
set_opacity(0) set_opacity(0)
operating = FALSE operating = FALSE
air_update_turf(1) air_update_turf(1)
update_freelook_sight() update_freelook_sight()
if(autoclose) if(autoclose)
@@ -260,17 +260,17 @@
if(autoclose) if(autoclose)
addtimer(CALLBACK(src, .proc/autoclose), 60) addtimer(CALLBACK(src, .proc/autoclose), 60)
return return
operating = TRUE operating = TRUE
do_animate("closing") do_animate("closing")
layer = closingLayer layer = closingLayer
sleep(5) sleep(5)
density = TRUE density = TRUE
sleep(5) sleep(5)
update_icon() update_icon()
if(visible && !glass) if(visible && !glass)
set_opacity(1) set_opacity(1)
operating = FALSE operating = FALSE
air_update_turf(1) air_update_turf(1)
update_freelook_sight() update_freelook_sight()
if(safe) if(safe)

View File

@@ -11,7 +11,7 @@
integrity_failure = 0 integrity_failure = 0
armor = list(melee = 20, bullet = 50, laser = 50, energy = 50, bomb = 10, bio = 100, rad = 100, fire = 70, acid = 100) armor = list(melee = 20, bullet = 50, laser = 50, energy = 50, bomb = 10, bio = 100, rad = 100, fire = 70, acid = 100)
visible = FALSE visible = FALSE
flags = ON_BORDER flags_1 = ON_BORDER_1
opacity = 0 opacity = 0
CanAtmosPass = ATMOS_PASS_PROC CanAtmosPass = ATMOS_PASS_PROC
var/obj/item/weapon/electronics/airlock/electronics = null var/obj/item/weapon/electronics/airlock/electronics = null
@@ -221,7 +221,7 @@
return return
add_fingerprint(user) add_fingerprint(user)
if(!(flags&NODECONSTRUCT)) if(!(flags_1&NODECONSTRUCT_1))
if(istype(I, /obj/item/weapon/screwdriver)) if(istype(I, /obj/item/weapon/screwdriver))
if(density || operating) if(density || operating)
to_chat(user, "<span class='warning'>You need to open the door to access the maintenance panel!</span>") to_chat(user, "<span class='warning'>You need to open the door to access the maintenance panel!</span>")

View File

@@ -239,12 +239,12 @@
alarm() alarm()
/obj/machinery/firealarm/obj_break(damage_flag) /obj/machinery/firealarm/obj_break(damage_flag)
if(!(stat & BROKEN) && !(flags & NODECONSTRUCT) && buildstage != 0) //can't break the electronics if there isn't any inside. if(!(stat & BROKEN) && !(flags_1 & NODECONSTRUCT_1) && buildstage != 0) //can't break the electronics if there isn't any inside.
stat |= BROKEN stat |= BROKEN
update_icon() update_icon()
/obj/machinery/firealarm/deconstruct(disassembled = TRUE) /obj/machinery/firealarm/deconstruct(disassembled = TRUE)
if(!(flags & NODECONSTRUCT)) if(!(flags_1 & NODECONSTRUCT_1))
new /obj/item/stack/sheet/metal(loc, 1) new /obj/item/stack/sheet/metal(loc, 1)
if(!(stat & BROKEN)) if(!(stat & BROKEN))
var/obj/item/I = new /obj/item/weapon/electronics/firealarm(loc) var/obj/item/I = new /obj/item/weapon/electronics/firealarm(loc)

View File

@@ -10,7 +10,7 @@
icon = 'icons/obj/machines/limbgrower.dmi' icon = 'icons/obj/machines/limbgrower.dmi'
icon_state = "limbgrower_idleoff" icon_state = "limbgrower_idleoff"
density = TRUE density = TRUE
container_type = OPENCONTAINER container_type = OPENCONTAINER_1
anchored = TRUE anchored = TRUE
use_power = IDLE_POWER_USE use_power = IDLE_POWER_USE
idle_power_usage = 10 idle_power_usage = 10

View File

@@ -758,14 +758,14 @@ GLOBAL_LIST_EMPTY(allCasters)
/obj/machinery/newscaster/deconstruct(disassembled = TRUE) /obj/machinery/newscaster/deconstruct(disassembled = TRUE)
if(!(flags & NODECONSTRUCT)) if(!(flags_1 & NODECONSTRUCT_1))
new /obj/item/stack/sheet/metal(loc, 2) new /obj/item/stack/sheet/metal(loc, 2)
new /obj/item/weapon/shard(loc) new /obj/item/weapon/shard(loc)
new /obj/item/weapon/shard(loc) new /obj/item/weapon/shard(loc)
qdel(src) qdel(src)
/obj/machinery/newscaster/obj_break() /obj/machinery/newscaster/obj_break()
if(!(stat & BROKEN) && !(flags & NODECONSTRUCT)) if(!(stat & BROKEN) && !(flags_1 & NODECONSTRUCT_1))
stat |= BROKEN stat |= BROKEN
playsound(loc, 'sound/effects/glassbr3.ogg', 100, 1) playsound(loc, 'sound/effects/glassbr3.ogg', 100, 1)
update_icon() update_icon()

View File

@@ -6,9 +6,9 @@
icon = 'icons/obj/recycling.dmi' icon = 'icons/obj/recycling.dmi'
icon_state = "grinder-o0" icon_state = "grinder-o0"
layer = ABOVE_ALL_MOB_LAYER // Overhead layer = ABOVE_ALL_MOB_LAYER // Overhead
anchored = TRUE anchored = TRUE
density = TRUE density = TRUE
circuit = /obj/item/weapon/circuitboard/machine/recycler circuit = /obj/item/weapon/circuitboard/machine/recycler
var/safety_mode = FALSE // Temporarily stops machine if it detects a mob var/safety_mode = FALSE // Temporarily stops machine if it detects a mob
var/icon_name = "grinder-o" var/icon_name = "grinder-o"
var/blood = 0 var/blood = 0
@@ -19,10 +19,10 @@
var/eat_victim_items = TRUE var/eat_victim_items = TRUE
var/item_recycle_sound = 'sound/items/welder.ogg' var/item_recycle_sound = 'sound/items/welder.ogg'
/obj/machinery/recycler/Initialize() /obj/machinery/recycler/Initialize()
materials = new /datum/material_container(src, list(MAT_METAL, MAT_GLASS, MAT_PLASMA, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_URANIUM, MAT_BANANIUM, MAT_TITANIUM)) materials = new /datum/material_container(src, list(MAT_METAL, MAT_GLASS, MAT_PLASMA, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_URANIUM, MAT_BANANIUM, MAT_TITANIUM))
update_icon() update_icon()
return ..() return ..()
/obj/machinery/recycler/RefreshParts() /obj/machinery/recycler/RefreshParts()
var/amt_made = 0 var/amt_made = 0
@@ -64,14 +64,14 @@
return ..() return ..()
/obj/machinery/recycler/emag_act(mob/user) /obj/machinery/recycler/emag_act(mob/user)
if(emagged) if(emagged)
return return
emagged = TRUE emagged = TRUE
if(safety_mode) if(safety_mode)
safety_mode = FALSE safety_mode = FALSE
update_icon() update_icon()
playsound(src, "sparks", 75, 1, -1) playsound(src, "sparks", 75, 1, -1)
to_chat(user, "<span class='notice'>You use the cryptographic sequencer on the [src].</span>") to_chat(user, "<span class='notice'>You use the cryptographic sequencer on the [src].</span>")
/obj/machinery/recycler/update_icon() /obj/machinery/recycler/update_icon()
..() ..()
@@ -80,7 +80,7 @@
is_powered = FALSE is_powered = FALSE
icon_state = icon_name + "[is_powered]" + "[(blood ? "bld" : "")]" // add the blood tag at the end icon_state = icon_name + "[is_powered]" + "[(blood ? "bld" : "")]" // add the blood tag at the end
/obj/machinery/recycler/CollidedWith(atom/movable/AM) /obj/machinery/recycler/CollidedWith(atom/movable/AM)
if(stat & (BROKEN|NOPOWER)) if(stat & (BROKEN|NOPOWER))
return return
@@ -187,10 +187,10 @@
name = "dangerous old crusher" name = "dangerous old crusher"
emagged = TRUE emagged = TRUE
crush_damage = 120 crush_damage = 120
flags = NODECONSTRUCT flags_1 = NODECONSTRUCT_1
/obj/item/weapon/paper/guides/recycler /obj/item/weapon/paper/guides/recycler
name = "paper - 'garbage duty instructions'" name = "paper - 'garbage duty instructions'"
info = "<h2>New Assignment</h2> You have been assigned to collect garbage from trash bins, located around the station. The crewmembers will put their trash into it and you will collect the said trash.<br><br>There is a recycling machine near your closet, inside maintenance; use it to recycle the trash for a small chance to get useful minerals. Then deliver these minerals to cargo or engineering. You are our last hope for a clean station, do not screw this up!" info = "<h2>New Assignment</h2> You have been assigned to collect garbage from trash bins, located around the station. The crewmembers will put their trash into it and you will collect the said trash.<br><br>There is a recycling machine near your closet, inside maintenance; use it to recycle the trash for a small chance to get useful minerals. Then deliver these minerals to cargo or engineering. You are our last hope for a clean station, do not screw this up!"
#undef SAFETY_COOLDOWN #undef SAFETY_COOLDOWN

View File

@@ -112,7 +112,7 @@
var/nextsmash = 0 var/nextsmash = 0
var/smashcooldown = 3 //deciseconds var/smashcooldown = 3 //deciseconds
var/occupant_sight_flags = 0 //sight flags to give to the occupant (e.g. mech mining scanner gives meson-like vision) var/occupant_sight_flags = 0 //sight flags_1 to give to the occupant (e.g. mech mining scanner gives meson-like vision)
hud_possible = list (DIAG_STAT_HUD, DIAG_BATT_HUD, DIAG_MECH_HUD, DIAG_TRACK_HUD) hud_possible = list (DIAG_STAT_HUD, DIAG_BATT_HUD, DIAG_MECH_HUD, DIAG_TRACK_HUD)

View File

@@ -130,7 +130,7 @@
new /datum/hallucination/delusion(victim, TRUE, "demon",duration,0) new /datum/hallucination/delusion(victim, TRUE, "demon",duration,0)
var/obj/item/weapon/twohanded/required/chainsaw/doomslayer/chainsaw = new(victim.loc) var/obj/item/weapon/twohanded/required/chainsaw/doomslayer/chainsaw = new(victim.loc)
chainsaw.flags |= NODROP chainsaw.flags_1 |= NODROP_1
victim.drop_all_held_items() victim.drop_all_held_items()
victim.put_in_hands(chainsaw) victim.put_in_hands(chainsaw)
chainsaw.attack_self(victim) chainsaw.attack_self(victim)

View File

@@ -86,8 +86,8 @@
transform = matrix()*2 transform = matrix()*2
var/matrix/M = transform var/matrix/M = transform
M.Turn(90) M.Turn(90)
animate(src, alpha = 20, time = duration, easing = BOUNCE_EASING, flags = ANIMATION_PARALLEL) animate(src, alpha = 20, time = duration, easing = BOUNCE_EASING, flags_1 = ANIMATION_PARALLEL)
animate(src, transform = M, time = duration, flags = ANIMATION_PARALLEL) animate(src, transform = M, time = duration, flags_1 = ANIMATION_PARALLEL)
/obj/effect/temp_visual/ratvar/ocular_warden /obj/effect/temp_visual/ratvar/ocular_warden
name = "warden's gaze" name = "warden's gaze"

View File

@@ -65,8 +65,8 @@
var/matrix/M = transform var/matrix/M = transform
M.Turn(turnedness) M.Turn(turnedness)
transform = M transform = M
animate(src, alpha = 255, time = duration, easing = BOUNCE_EASING, flags = ANIMATION_PARALLEL) animate(src, alpha = 255, time = duration, easing = BOUNCE_EASING, flags_1 = ANIMATION_PARALLEL)
animate(src, transform = oldtransform, time = duration, flags = ANIMATION_PARALLEL) animate(src, transform = oldtransform, time = duration, flags_1 = ANIMATION_PARALLEL)
/obj/effect/temp_visual/cult/rune_spawn/rune1 /obj/effect/temp_visual/cult/rune_spawn/rune1
icon_state = "rune1words" icon_state = "rune1words"

View File

@@ -377,7 +377,7 @@
M = size_matrix*0.1 M = size_matrix*0.1
else else
M = size_matrix*2 M = size_matrix*2
animate(src, alpha = 20, transform = M, time = duration, flags = ANIMATION_PARALLEL) animate(src, alpha = 20, transform = M, time = duration, flags_1 = ANIMATION_PARALLEL)
/obj/effect/temp_visual/bleed/explode /obj/effect/temp_visual/bleed/explode
icon_state = "bleed10" icon_state = "bleed10"

View File

@@ -35,10 +35,10 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE)
pressure_resistance = 4 pressure_resistance = 4
var/obj/item/master = null var/obj/item/master = null
var/heat_protection = 0 //flags which determine which body parts are protected from heat. Use the HEAD, CHEST, GROIN, etc. flags. See setup.dm var/heat_protection = 0 //flags_1 which determine which body parts are protected from heat. Use the HEAD, CHEST, GROIN, etc. flags_1. See setup.dm
var/cold_protection = 0 //flags which determine which body parts are protected from cold. Use the HEAD, CHEST, GROIN, etc. flags. See setup.dm var/cold_protection = 0 //flags_1 which determine which body parts are protected from cold. Use the HEAD, CHEST, GROIN, etc. flags_1. See setup.dm
var/max_heat_protection_temperature //Set this variable to determine up to which temperature (IN KELVIN) the item protects against heat damage. Keep at null to disable protection. Only protects areas set by heat_protection flags var/max_heat_protection_temperature //Set this variable to determine up to which temperature (IN KELVIN) the item protects against heat damage. Keep at null to disable protection. Only protects areas set by heat_protection flags_1
var/min_cold_protection_temperature //Set this variable to determine down to which temperature (IN KELVIN) the item protects against cold damage. 0 is NOT an acceptable number due to if(varname) tests!! Keep at null to disable protection. Only protects areas set by cold_protection flags var/min_cold_protection_temperature //Set this variable to determine down to which temperature (IN KELVIN) the item protects against cold damage. 0 is NOT an acceptable number due to if(varname) tests!! Keep at null to disable protection. Only protects areas set by cold_protection flags_1
var/list/actions //list of /datum/action's that this item has. var/list/actions //list of /datum/action's that this item has.
var/list/actions_types //list of paths of action datums to give to the item on New(). var/list/actions_types //list of paths of action datums to give to the item on New().
@@ -48,7 +48,7 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE)
var/item_color = null //this needs deprecating, soonish var/item_color = null //this needs deprecating, soonish
var/body_parts_covered = 0 //see setup.dm for appropriate bit flags var/body_parts_covered = 0 //see setup.dm for appropriate bit flags_1
//var/heat_transfer_coefficient = 1 //0 prevents all transfers, 1 is invisible //var/heat_transfer_coefficient = 1 //0 prevents all transfers, 1 is invisible
var/gas_transfer_coefficient = 1 // for leaking gas from turf to mask and vice-versa (for masks right now, but at some point, i'd like to include space helmets) var/gas_transfer_coefficient = 1 // for leaking gas from turf to mask and vice-versa (for masks right now, but at some point, i'd like to include space helmets)
var/permeability_coefficient = 1 // for chemicals/diseases var/permeability_coefficient = 1 // for chemicals/diseases
@@ -86,7 +86,7 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE)
var/embedded_unsafe_removal_pain_multiplier = EMBEDDED_UNSAFE_REMOVAL_PAIN_MULTIPLIER //The coefficient of multiplication for the damage removing this without surgery causes (this*w_class) var/embedded_unsafe_removal_pain_multiplier = EMBEDDED_UNSAFE_REMOVAL_PAIN_MULTIPLIER //The coefficient of multiplication for the damage removing this without surgery causes (this*w_class)
var/embedded_unsafe_removal_time = EMBEDDED_UNSAFE_REMOVAL_TIME //A time in ticks, multiplied by the w_class. var/embedded_unsafe_removal_time = EMBEDDED_UNSAFE_REMOVAL_TIME //A time in ticks, multiplied by the w_class.
var/flags_cover = 0 //for flags such as GLASSESCOVERSEYES var/flags_cover = 0 //for flags_1 such as GLASSESCOVERSEYES
var/heat = 0 var/heat = 0
var/sharpness = IS_BLUNT var/sharpness = IS_BLUNT
var/toolspeed = 1 var/toolspeed = 1
@@ -127,7 +127,7 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE)
force_string_override = TRUE force_string_override = TRUE
/obj/item/Destroy() /obj/item/Destroy()
flags &= ~DROPDEL //prevent reqdels flags_1 &= ~DROPDEL_1 //prevent reqdels
if(ismob(loc)) if(ismob(loc))
var/mob/m = loc var/mob/m = loc
m.temporarilyRemoveItemFromInventory(src, TRUE) m.temporarilyRemoveItemFromInventory(src, TRUE)

View File

@@ -27,12 +27,12 @@
var/obj/item/radio/integrated/radio = null var/obj/item/radio/integrated/radio = null
var/access = 0 //Bit flags for cartridge access var/access = 0 //Bit flags_1 for cartridge access
// var/access_flora = 0 // var/access_flora = 0
var/remote_door_id = "" var/remote_door_id = ""
var/bot_access_flags = 0 //Bit flags. Selection: SEC_BOT | MULE_BOT | FLOOR_BOT | CLEAN_BOT | MED_BOT var/bot_access_flags = 0 //Bit flags_1. Selection: SEC_BOT | MULE_BOT | FLOOR_BOT | CLEAN_BOT | MED_BOT
var/spam_enabled = 0 //Enables "Send to All" Option var/spam_enabled = 0 //Enables "Send to All" Option
var/obj/item/device/pda/host_pda = null var/obj/item/device/pda/host_pda = null

View File

@@ -151,7 +151,7 @@
/obj/item/borg/charger /obj/item/borg/charger
name = "power connector" name = "power connector"
icon_state = "charger_draw" icon_state = "charger_draw"
flags = NOBLUDGEON flags_1 = NOBLUDGEON_1
var/mode = "draw" var/mode = "draw"
var/static/list/charge_machines = typecacheof(list(/obj/machinery/cell_charger, /obj/machinery/recharger, /obj/machinery/recharge_station, /obj/machinery/mech_bay_recharge_port)) var/static/list/charge_machines = typecacheof(list(/obj/machinery/cell_charger, /obj/machinery/recharger, /obj/machinery/recharge_station, /obj/machinery/mech_bay_recharge_port))
var/static/list/charge_items = typecacheof(list(/obj/item/weapon/stock_parts/cell, /obj/item/weapon/gun/energy)) var/static/list/charge_items = typecacheof(list(/obj/item/weapon/stock_parts/cell, /obj/item/weapon/gun/energy))

View File

@@ -9,7 +9,7 @@
desc = "Wrap packages with this festive paper to make gifts." desc = "Wrap packages with this festive paper to make gifts."
icon = 'icons/obj/items.dmi' icon = 'icons/obj/items.dmi'
icon_state = "wrap_paper" icon_state = "wrap_paper"
flags = NOBLUDGEON flags_1 = NOBLUDGEON_1
amount = 25 amount = 25
max_amount = 25 max_amount = 25
resistance_flags = FLAMMABLE resistance_flags = FLAMMABLE
@@ -30,7 +30,7 @@
desc = "You can use this to wrap items in." desc = "You can use this to wrap items in."
icon = 'icons/obj/items.dmi' icon = 'icons/obj/items.dmi'
icon_state = "deliveryPaper" icon_state = "deliveryPaper"
flags = NOBLUDGEON flags_1 = NOBLUDGEON_1
amount = 25 amount = 25
max_amount = 25 max_amount = 25
resistance_flags = FLAMMABLE resistance_flags = FLAMMABLE

View File

@@ -244,8 +244,8 @@
// Copied from /obj/item/weapon/melee/transforming/energy/sword/attackby // Copied from /obj/item/weapon/melee/transforming/energy/sword/attackby
/obj/item/toy/sword/attackby(obj/item/weapon/W, mob/living/user, params) /obj/item/toy/sword/attackby(obj/item/weapon/W, mob/living/user, params)
if(istype(W, /obj/item/toy/sword)) if(istype(W, /obj/item/toy/sword))
if((W.flags & NODROP) || (flags & NODROP)) if((W.flags_1 & NODROP_1) || (flags_1 & NODROP_1))
to_chat(user, "<span class='warning'>\the [flags & NODROP ? src : W] is stuck to your hand, you can't attach it to \the [flags & NODROP ? W : src]!</span>") to_chat(user, "<span class='warning'>\the [flags_1 & NODROP_1 ? src : W] is stuck to your hand, you can't attach it to \the [flags_1 & NODROP_1 ? W : src]!</span>")
return return
else else
to_chat(user, "<span class='notice'>You attach the ends of the two plastic swords, making a single double-bladed toy! You're fake-cool.</span>") to_chat(user, "<span class='notice'>You attach the ends of the two plastic swords, making a single double-bladed toy! You're fake-cool.</span>")

View File

@@ -14,7 +14,7 @@ AI MODULES
lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi' lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
desc = "An AI Module for programming laws to an AI." desc = "An AI Module for programming laws to an AI."
flags = CONDUCT flags_1 = CONDUCT_1
force = 5 force = 5
w_class = WEIGHT_CLASS_SMALL w_class = WEIGHT_CLASS_SMALL
throwforce = 0 throwforce = 0

View File

@@ -12,7 +12,7 @@ obj/item/weapon/construction
opacity = 0 opacity = 0
density = FALSE density = FALSE
anchored = FALSE anchored = FALSE
flags = CONDUCT | NOBLUDGEON flags_1 = CONDUCT_1 | NOBLUDGEON_1
force = 0 force = 0
throwforce = 10 throwforce = 10
throw_speed = 3 throw_speed = 3

View File

@@ -124,7 +124,7 @@ GLOBAL_LIST_INIT(RPD_recipes, list(
desc = "A device used to rapidly pipe things." desc = "A device used to rapidly pipe things."
icon = 'icons/obj/tools.dmi' icon = 'icons/obj/tools.dmi'
icon_state = "rpd" icon_state = "rpd"
flags = CONDUCT flags_1 = CONDUCT_1
force = 10 force = 10
throwforce = 10 throwforce = 10
throw_speed = 1 throw_speed = 1

View File

@@ -13,7 +13,7 @@ RSF
opacity = 0 opacity = 0
density = FALSE density = FALSE
anchored = FALSE anchored = FALSE
flags = NOBLUDGEON flags_1 = NOBLUDGEON_1
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 0) armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 0)
var/matter = 0 var/matter = 0
var/mode = 1 var/mode = 1

View File

@@ -10,7 +10,7 @@
materials = list(MAT_METAL=50, MAT_GLASS=50) materials = list(MAT_METAL=50, MAT_GLASS=50)
origin_tech = "engineering=2" origin_tech = "engineering=2"
flags = CONDUCT | NOBLUDGEON flags_1 = CONDUCT_1 | NOBLUDGEON_1
slot_flags = SLOT_BELT slot_flags = SLOT_BELT
var/obj/item/device/toner/ink = null var/obj/item/device/toner/ink = null

View File

@@ -56,7 +56,7 @@
lefthand_file = 'icons/mob/inhands/equipment/idcards_lefthand.dmi' lefthand_file = 'icons/mob/inhands/equipment/idcards_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/idcards_righthand.dmi' righthand_file = 'icons/mob/inhands/equipment/idcards_righthand.dmi'
origin_tech = "magnets=2;syndicate=2" origin_tech = "magnets=2;syndicate=2"
flags = NOBLUDGEON flags_1 = NOBLUDGEON_1
var/prox_check = TRUE //If the emag requires you to be in range var/prox_check = TRUE //If the emag requires you to be in range
/obj/item/weapon/card/emag/bluespace /obj/item/weapon/card/emag/bluespace

View File

@@ -46,7 +46,7 @@
icon_state = "chronogun" icon_state = "chronogun"
item_state = "chronogun" item_state = "chronogun"
w_class = WEIGHT_CLASS_NORMAL w_class = WEIGHT_CLASS_NORMAL
flags = NODROP | DROPDEL flags_1 = NODROP_1 | DROPDEL_1
ammo_type = list(/obj/item/ammo_casing/energy/chrono_beam) ammo_type = list(/obj/item/ammo_casing/energy/chrono_beam)
can_charge = 0 can_charge = 0
fire_delay = 50 fire_delay = 50

View File

@@ -102,7 +102,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
icon_state = "cigoff" icon_state = "cigoff"
throw_speed = 0.5 throw_speed = 0.5
item_state = "cigoff" item_state = "cigoff"
container_type = INJECTABLE container_type = INJECTABLE_1
w_class = WEIGHT_CLASS_TINY w_class = WEIGHT_CLASS_TINY
body_parts_covered = null body_parts_covered = null
var/lit = FALSE var/lit = FALSE
@@ -470,7 +470,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
icon_state = "zippo" icon_state = "zippo"
item_state = "zippo" item_state = "zippo"
w_class = WEIGHT_CLASS_TINY w_class = WEIGHT_CLASS_TINY
flags = CONDUCT flags_1 = CONDUCT_1
slot_flags = SLOT_BELT slot_flags = SLOT_BELT
var/lit = 0 var/lit = 0
var/fancy = TRUE var/fancy = TRUE
@@ -649,7 +649,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
item_state = "[param_color]_vape" item_state = "[param_color]_vape"
/obj/item/clothing/mask/vape/attackby(obj/item/O, mob/user, params) /obj/item/clothing/mask/vape/attackby(obj/item/O, mob/user, params)
if(istype(O, /obj/item/weapon/reagent_containers) && (O.container_type & OPENCONTAINER)) if(istype(O, /obj/item/weapon/reagent_containers) && (O.container_type & OPENCONTAINER_1))
if(reagents.total_volume < chem_volume) if(reagents.total_volume < chem_volume)
if(O.reagents.total_volume > 0) if(O.reagents.total_volume > 0)
O.reagents.trans_to(src,25) O.reagents.trans_to(src,25)

View File

@@ -16,7 +16,7 @@
icon = 'icons/obj/items.dmi' icon = 'icons/obj/items.dmi'
icon_state = "soap" icon_state = "soap"
w_class = WEIGHT_CLASS_TINY w_class = WEIGHT_CLASS_TINY
flags = NOBLUDGEON flags_1 = NOBLUDGEON_1
throwforce = 0 throwforce = 0
throw_speed = 3 throw_speed = 3
throw_range = 7 throw_range = 7

View File

@@ -107,7 +107,7 @@
desc = "The latest and greatest power razor born from the science of shaving." desc = "The latest and greatest power razor born from the science of shaving."
icon = 'icons/obj/items.dmi' icon = 'icons/obj/items.dmi'
icon_state = "razor" icon_state = "razor"
flags = CONDUCT flags_1 = CONDUCT_1
w_class = WEIGHT_CLASS_TINY w_class = WEIGHT_CLASS_TINY

View File

@@ -5,7 +5,7 @@
icon_state = "fire_extinguisher0" icon_state = "fire_extinguisher0"
item_state = "fire_extinguisher" item_state = "fire_extinguisher"
hitsound = 'sound/weapons/smash.ogg' hitsound = 'sound/weapons/smash.ogg'
flags = CONDUCT flags_1 = CONDUCT_1
throwforce = 10 throwforce = 10
w_class = WEIGHT_CLASS_NORMAL w_class = WEIGHT_CLASS_NORMAL
throw_speed = 2 throw_speed = 2
@@ -30,7 +30,7 @@
icon_state = "miniFE0" icon_state = "miniFE0"
item_state = "miniFE" item_state = "miniFE"
hitsound = null //it is much lighter, after all. hitsound = null //it is much lighter, after all.
flags = null //doesn't CONDUCT flags_1 = null //doesn't CONDUCT_1
throwforce = 2 throwforce = 2
w_class = WEIGHT_CLASS_SMALL w_class = WEIGHT_CLASS_SMALL
force = 3 force = 3

View File

@@ -6,7 +6,7 @@
item_state = "flamethrower_0" item_state = "flamethrower_0"
lefthand_file = 'icons/mob/inhands/weapons/flamethrower_lefthand.dmi' lefthand_file = 'icons/mob/inhands/weapons/flamethrower_lefthand.dmi'
righthand_file = 'icons/mob/inhands/weapons/flamethrower_righthand.dmi' righthand_file = 'icons/mob/inhands/weapons/flamethrower_righthand.dmi'
flags = CONDUCT flags_1 = CONDUCT_1
force = 3 force = 3
throwforce = 10 throwforce = 10
throw_speed = 1 throw_speed = 1

View File

@@ -11,7 +11,7 @@
righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi' righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi'
throw_speed = 3 throw_speed = 3
throw_range = 7 throw_range = 7
flags = CONDUCT flags_1 = CONDUCT_1
slot_flags = SLOT_BELT slot_flags = SLOT_BELT
active = 0 active = 0
det_time = 50 det_time = 50

Some files were not shown because too many files have changed in this diff Show More