mirror of
https://github.com/SPLURT-Station/S.P.L.U.R.T-Station-13.git
synced 2025-12-10 18:02:57 +00:00
my eyes hurt
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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>)"
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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]"
|
||||||
|
|||||||
@@ -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()
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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()
|
||||||
|
|
||||||
|
|||||||
@@ -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()
|
||||||
|
|||||||
@@ -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()
|
||||||
|
|||||||
@@ -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()
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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()
|
||||||
|
|||||||
@@ -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()
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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()
|
||||||
|
|
||||||
|
|||||||
@@ -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()
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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))
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|
||||||
..()
|
..()
|
||||||
|
|||||||
@@ -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()
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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()
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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()
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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()
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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()
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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()
|
||||||
|
|||||||
@@ -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()
|
||||||
|
|||||||
@@ -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()
|
||||||
|
|
||||||
|
|||||||
@@ -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]))
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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_* !
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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()
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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>", \
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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>", \
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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>")
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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()
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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))
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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>")
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
Reference in New Issue
Block a user