Replace all secondary flags with bitflags stored in the flags_2 var

This commit is contained in:
CitadelStationBot
2017-08-17 09:19:14 -05:00
parent 2b144561e1
commit 87b3df3069
367 changed files with 1887 additions and 880 deletions
+35 -37
View File
@@ -1,5 +1,5 @@
/*
These defines are specific to the atom/flags bitmask
These defines are specific to the atom/flags_1 bitmask
*/
#define ALL ~0 //For convenience.
#define NONE 0
@@ -7,58 +7,58 @@
GLOBAL_LIST_INIT(bitflags, list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768))
//FLAGS BITMASK
#define STOPSPRESSUREDMAGE 1 //This flag is used on the flags variable for SUIT and HEAD items which stop pressure damage. Note that the flag 1 was previous used as ONBACK, so it is possible for some code to use (flags & 1) when checking if something can be put on your back. Replace this code with (inv_flags & SLOT_BACK) if you see it anywhere
#define STOPSPRESSUREDMAGE_1 1 //This flag is used on the flags_1 variable for SUIT and HEAD items which stop pressure damage. Note that the flag 1 was previous used as ONBACK, so it is possible for some code to use (flags & 1) when checking if something can be put on your back. Replace this code with (inv_flags & SLOT_BACK) if you see it anywhere
//To successfully stop you taking all pressure damage you must have both a suit and head item with this flag.
#define NODROP 2 // This flag makes it so that an item literally cannot be removed at all, or at least that's how it should be. Only deleted.
#define NOBLUDGEON 4 // when an item has this it produces no "X has been hit by Y with Z" message in the default attackby()
#define MASKINTERNALS 8 // mask allows internals
#define HEAR 16 // This flag is what recursive_hear_check() uses to determine wether to add an item to the hearer list or not.
#define CHECK_RICOCHET 32 // Projectiels will check ricochet on things impacted that have this.
#define CONDUCT 64 // conducts electricity (metal etc.)
#define ABSTRACT 128 // for all things that are technically items but used for various different stuff, made it 128 because it could conflict with other flags other way
#define NODECONSTRUCT 128 // For machines and structures that should not break into parts, eg, holodeck stuff
#define OVERLAY_QUEUED 256 //atom queued to SSoverlay
#define ON_BORDER 512 // item has priority to check when entering or leaving
#define NODROP_1 2 // This flag makes it so that an item literally cannot be removed at all, or at least that's how it should be. Only deleted.
#define NOBLUDGEON_1 4 // when an item has this it produces no "X has been hit by Y with Z" message in the default attackby()
#define MASKINTERNALS_1 8 // mask allows internals
#define HEAR_1 16 // This flag is what recursive_hear_check() uses to determine wether to add an item to the hearer list or not.
#define CHECK_RICOCHET_1 32 // Projectiels will check ricochet on things impacted that have this.
#define CONDUCT_1 64 // conducts electricity (metal etc.)
#define ABSTRACT_1 128 // for all things that are technically items but used for various different stuff, made it 128 because it could conflict with other flags other way
#define NODECONSTRUCT_1 128 // For machines and structures that should not break into parts, eg, holodeck stuff
#define OVERLAY_QUEUED_1 256 // atom queued to SSoverlay
#define ON_BORDER_1 512 // item has priority to check when entering or leaving
#define NOSLIP 1024 //prevents from slipping on wet floors, in space etc
#define CLEAN_ON_MOVE 2048
#define NOSLIP_1 1024 //prevents from slipping on wet floors, in space etc
#define CLEAN_ON_MOVE_1 2048
// BLOCK_GAS_SMOKE_EFFECT only used in masks at the moment.
#define BLOCK_GAS_SMOKE_EFFECT 4096 // blocks the effect that chemical clouds would have on a mob --glasses, mask and helmets ONLY!
#define THICKMATERIAL 8192 //prevents syringes, parapens and hypos if the external suit or helmet (if targeting head) has this flag. Example: space suits, biosuit, bombsuits, thick suits that cover your body.
#define DROPDEL 16384 // When dropped, it calls qdel on itself
#define PREVENT_CLICK_UNDER 32768 //Prevent clicking things below it on the same turf eg. doors/ fulltile windows
// BLOCK_GAS_SMOKE_EFFECT_1 only used in masks at the moment.
#define BLOCK_GAS_SMOKE_EFFECT_1 4096 // blocks the effect that chemical clouds would have on a mob --glasses, mask and helmets ONLY!
#define THICKMATERIAL_1 8192 //prevents syringes, parapens and hypos if the external suit or helmet (if targeting head) has this flag. Example: space suits, biosuit, bombsuits, thick suits that cover your body.
#define DROPDEL_1 16384 // When dropped, it calls qdel on itself
#define PREVENT_CLICK_UNDER_1 32768 //Prevent clicking things below it on the same turf eg. doors/ fulltile windows
/* Secondary atom flags, access using the SECONDARY_FLAG macros */
/* Secondary atom flags, for the flags_2 var, denoted with a _2 */
#define SLOWS_WHILE_IN_HAND "slows_while_in_hand"
#define NO_EMP_WIRES "no_emp_wires"
#define HOLOGRAM "hologram"
#define FROZEN "frozen"
#define STATIONLOVING "stationloving"
#define INFORM_ADMINS_ON_RELOCATE "inform_admins_on_relocate"
#define BANG_PROTECT "bang_protect"
#define SLOWS_WHILE_IN_HAND_2 1
#define NO_EMP_WIRES_2 2
#define HOLOGRAM_2 4
#define FROZEN_2 8
#define STATIONLOVING_2 16
#define INFORM_ADMINS_ON_RELOCATE_2 32
#define BANG_PROTECT_2 64
// An item worn in the ear slot with HEALS_EARS will heal your ears each
// Life() tick, even if normally your ears would be too damaged to heal.
#define HEALS_EARS "heals_ears"
#define HEALS_EARS_2 128
// A mob with OMNITONGUE has no restriction in the ability to speak
// languages that they know. So even if they wouldn't normally be able to
// through mob or tongue restrictions, this flag allows them to ignore
// those restrictions.
#define OMNITONGUE "omnitongue"
#define OMNITONGUE_2 256
// TESLA_IGNORE grants immunity from being targeted by tesla-style electricity
#define TESLA_IGNORE "tesla_ignore"
#define TESLA_IGNORE_2 512
//turf-only flags
#define NOJAUNT 1
#define UNUSED_TRANSIT_TURF 2
#define CAN_BE_DIRTY 4 //If a turf can be made dirty at roundstart. This is also used in areas.
#define NO_DEATHRATTLE 16 // Do not notify deadchat about any deaths that occur on this turf.
//#define CHECK_RICOCHET 32 //Same thing as atom flag.
#define NOJAUNT_1 1
#define UNUSED_TRANSIT_TURF_1 2
#define CAN_BE_DIRTY_1 4 // If a turf can be made dirty at roundstart. This is also used in areas.
#define NO_DEATHRATTLE_1 16 // Do not notify deadchat about any deaths that occur on this turf.
//#define CHECK_RICOCHET_1 32 //Same thing as atom flag.
/*
These defines are used specifically with the atom/pass_flags bitmask
@@ -90,5 +90,3 @@ GLOBAL_LIST_INIT(bitflags, list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204
#define ACID_PROOF 32 //acid stuck on it doesn't melt it.
#define INDESTRUCTIBLE 64 //doesn't take damage
#define FREEZE_PROOF 128 //can't be frozen
// language secondary flags for atoms
+4 -4
View File
@@ -2,10 +2,10 @@
#define LIQUID 2
#define GAS 3
#define INJECTABLE 1024 //Makes reagents addable through droppers and syringes
#define DRAWABLE 2048 //If a syringe can draw from it
#define OPENCONTAINER 4096 //Is an open container for chemistry purposes
#define TRANSPARENT 8192 //Used for non-open containers which you still want to be able to see the reagents off.
#define INJECTABLE_1 1024 //Makes reagents addable through droppers and syringes
#define DRAWABLE_1 2048 //If a syringe can draw from it
#define OPENCONTAINER_1 4096 //Is an open container for chemistry purposes
#define TRANSPARENT_1 8192 //Used for non-open containers which you still want to be able to see the reagents off.
#define TOUCH 1 //splashing
#define INGEST 2 //ingestion
-4
View File
@@ -1,4 +0,0 @@
#define HAS_SECONDARY_FLAG(atom, sflag) (atom.secondary_flags ? atom.secondary_flags[sflag] : FALSE)
#define SET_SECONDARY_FLAG(atom, sflag) if(!atom.secondary_flags) { atom.secondary_flags = list(); } atom.secondary_flags[sflag] = TRUE;
#define CLEAR_SECONDARY_FLAG(atom, sflag) if(atom.secondary_flags) atom.secondary_flags[sflag] = null
#define TOGGLE_SECONDARY_FLAG(atom, sflag) if(HAS_SECONDARY_FLAG(atom, sflag)) { CLEAR_SECONDARY_FLAG(atom, sflag); } else {SET_SECONDARY_FLAG(atom, sflag) ; }
+1 -1
View File
@@ -164,7 +164,7 @@
. = list()
while(processing_list.len)
var/atom/A = processing_list[1]
if(A.flags & HEAR)
if(A.flags_1 & HEAR_1)
. += A
processing_list.Cut(1, 2)
processing_list += A.contents
+4 -4
View File
@@ -978,19 +978,19 @@ GLOBAL_LIST_EMPTY(friendly_animal_types)
// Used to make the frozen item visuals for Freon.
if(resistance_flags & FREEZE_PROOF)
return
if(!HAS_SECONDARY_FLAG(src, FROZEN))
if(!(flags_2 & FROZEN_2))
name = "frozen [name]"
add_atom_colour(list(FROZEN_RED_COLOR, FROZEN_GREEN_COLOR, FROZEN_BLUE_COLOR, rgb(0,0,0)), TEMPORARY_COLOUR_PRIORITY)
alpha -= 25
SET_SECONDARY_FLAG(src, FROZEN)
flags_2 |= FROZEN_2
//Assumes already frozed
/obj/proc/make_unfrozen()
if(HAS_SECONDARY_FLAG(src, FROZEN))
if(flags_2 & FROZEN_2)
name = replacetext(name, "frozen ", "")
remove_atom_colour(TEMPORARY_COLOUR_PRIORITY, list(FROZEN_RED_COLOR, FROZEN_GREEN_COLOR, FROZEN_BLUE_COLOR, rgb(0,0,0)))
alpha += 25
CLEAR_SECONDARY_FLAG(src, FROZEN)
flags_2 &= ~FROZEN_2
#undef FROZEN_RED_COLOR
#undef FROZEN_GREEN_COLOR
+2 -2
View File
@@ -85,7 +85,7 @@
/*
This checks if you there is uninterrupted airspace between that turf and this one.
This is defined as any dense ON_BORDER object, or any dense object without LETPASSTHROW.
This is defined as any dense ON_BORDER_1 object, or any dense object without LETPASSTHROW.
The border_only flag allows you to not objects (for source and destination squares)
*/
/turf/proc/ClickCross(target_dir, border_only, target_atom = null, atom/movable/mover = null)
@@ -95,7 +95,7 @@
if(O == target_atom || (O.pass_flags & LETPASSTHROW)) //check if there's a dense object present on the turf
continue // LETPASSTHROW is used for anything you can click through (or the firedoor special case, see above)
if( O.flags&ON_BORDER) // windows are on border, check them first
if( O.flags_1&ON_BORDER_1) // windows are on border, check them first
if( O.dir & target_dir || O.dir & (O.dir-1) ) // full tile windows are just diagonals mechanically
return 0 //O.dir&(O.dir-1) is false for any cardinal direction, but true for diagonal ones
+3 -3
View File
@@ -144,7 +144,7 @@
else
RangedAttack(A,params)
//Is the atom obscured by a PREVENT_CLICK_UNDER object above it
//Is the atom obscured by a PREVENT_CLICK_UNDER_1 object above it
/atom/proc/IsObscured()
if(!isturf(loc)) //This only makes sense for things directly on turfs for now
return FALSE
@@ -152,13 +152,13 @@
if(!T)
return FALSE
for(var/atom/movable/AM in T)
if(AM.flags & PREVENT_CLICK_UNDER && AM.density && AM.layer > layer)
if(AM.flags_1 & PREVENT_CLICK_UNDER_1 && AM.density && AM.layer > layer)
return TRUE
return FALSE
/turf/IsObscured()
for(var/atom/movable/AM in src)
if(AM.flags & PREVENT_CLICK_UNDER && AM.density)
if(AM.flags_1 & PREVENT_CLICK_UNDER_1 && AM.density)
return TRUE
return FALSE
+1 -1
View File
@@ -258,7 +258,7 @@
var/obj/item/clothing/mask/M = C.wear_mask
if(M.mask_adjusted) // if mask on face but pushed down
M.adjustmask(C) // adjust it back
if( !(M.flags & MASKINTERNALS) )
if( !(M.flags_1 & MASKINTERNALS_1) )
to_chat(C, "<span class='warning'>You are not wearing an internals mask!</span>")
return
+2 -2
View File
@@ -35,7 +35,7 @@
/obj/item/proc/attack(mob/living/M, mob/living/user)
if(flags & NOBLUDGEON)
if(flags_1 & NOBLUDGEON_1)
return
if(!force)
playsound(loc, 'sound/weapons/tap.ogg', get_clamped_volume(), 1, -1)
@@ -54,7 +54,7 @@
//the equivalent of the standard version of attack() but for object targets.
/obj/item/proc/attack_obj(obj/O, mob/living/user)
if(flags & NOBLUDGEON)
if(flags_1 & NOBLUDGEON_1)
return
user.changeNext_move(CLICK_CD_MELEE)
user.do_attack_animation(O)
+1 -1
View File
@@ -68,7 +68,7 @@
desc = "Magic"
icon = 'icons/obj/magic.dmi'//Needs sprites
icon_state = "2"
flags = NOBLUDGEON | ABSTRACT | DROPDEL
flags_1 = NOBLUDGEON_1 | ABSTRACT_1 | DROPDEL_1
//item_state = null
w_class = WEIGHT_CLASS_GIGANTIC
layer = ABOVE_HUD_LAYER
@@ -55,7 +55,7 @@ PROCESSING_SUBSYSTEM_DEF(overlays)
overlays = po
else
overlays.Cut()
flags &= ~OVERLAY_QUEUED
flags_1 &= ~OVERLAY_QUEUED_1
/proc/iconstate2appearance(icon, iconstate)
var/static/image/stringbro = new()
@@ -102,8 +102,8 @@ PROCESSING_SUBSYSTEM_DEF(overlays)
new_overlays[i] = appearance_bro.appearance
return new_overlays
#define NOT_QUEUED_ALREADY (!(flags & OVERLAY_QUEUED))
#define QUEUE_FOR_COMPILE flags |= OVERLAY_QUEUED; SSoverlays.processing += src;
#define NOT_QUEUED_ALREADY (!(flags_1 & OVERLAY_QUEUED_1))
#define QUEUE_FOR_COMPILE flags_1 |= OVERLAY_QUEUED_1; SSoverlays.processing += src;
/atom/proc/cut_overlays(priority = FALSE)
var/list/cached_overlays = our_overlays
var/list/cached_priority = priority_overlays
+5 -5
View File
@@ -84,7 +84,7 @@ SUBSYSTEM_DEF(shuttle)
var/turf/T = i
T.ChangeTurf(/turf/open/space)
transit_turfs += T
T.flags |= UNUSED_TRANSIT_TURF
T.flags_1 |= UNUSED_TRANSIT_TURF_1
#ifdef HIGHLIGHT_DYNAMIC_TRANSIT
/datum/controller/subsystem/shuttle/proc/color_space()
@@ -412,13 +412,13 @@ SUBSYSTEM_DEF(shuttle)
for(var/i in transit_turfs)
CHECK_TICK
var/turf/topleft = i
if(!(topleft.flags & UNUSED_TRANSIT_TURF))
if(!(topleft.flags_1 & UNUSED_TRANSIT_TURF_1))
continue
var/turf/bottomright = locate(topleft.x + transit_width,
topleft.y + transit_height, topleft.z)
if(!bottomright)
continue
if(!(bottomright.flags & UNUSED_TRANSIT_TURF))
if(!(bottomright.flags_1 & UNUSED_TRANSIT_TURF_1))
continue
proposed_zone = block(topleft, bottomright)
@@ -428,7 +428,7 @@ SUBSYSTEM_DEF(shuttle)
var/turf/T = j
if(!T)
continue base
if(!(T.flags & UNUSED_TRANSIT_TURF))
if(!(T.flags_1 & UNUSED_TRANSIT_TURF_1))
continue base
//to_chat(world, "[COORD(topleft)] and [COORD(bottomright)]")
break base
@@ -500,7 +500,7 @@ SUBSYSTEM_DEF(shuttle)
for(var/i in new_transit_dock.assigned_turfs)
var/turf/T = i
T.ChangeTurf(transit_path)
T.flags &= ~(UNUSED_TRANSIT_TURF)
T.flags_1 &= ~(UNUSED_TRANSIT_TURF_1)
M.assigned_transit = new_transit_dock
return TRUE
+1 -1
View File
@@ -135,6 +135,6 @@ SUBSYSTEM_DEF(throwing)
var/atom/movable/AM = thing
if (AM == thrownthing)
continue
if (AM.density && !(AM.pass_flags & LETPASSTHROW) && !(AM.flags & ON_BORDER))
if (AM.density && !(AM.pass_flags & LETPASSTHROW) && !(AM.flags_1 & ON_BORDER_1))
finalize(hit=TRUE, target=AM)
return TRUE
+3 -3
View File
@@ -19,7 +19,7 @@
to_chat(affected_mob, "<span class='danger'>You feel a slight shock course through your body.</span>")
if(prob(2))
for(var/obj/M in orange(2,affected_mob))
if(!M.anchored && (M.flags & CONDUCT))
if(!M.anchored && (M.flags_1 & CONDUCT_1))
step_towards(M,affected_mob)
for(var/mob/living/silicon/S in orange(2,affected_mob))
if(isAI(S))
@@ -32,7 +32,7 @@
to_chat(affected_mob, "<span class='danger'>You feel like clowning around.</span>")
if(prob(4))
for(var/obj/M in orange(4,affected_mob))
if(!M.anchored && (M.flags & CONDUCT))
if(!M.anchored && (M.flags_1 & CONDUCT_1))
var/i
var/iter = rand(1,2)
for(i=0,i<iter,i++)
@@ -51,7 +51,7 @@
to_chat(affected_mob, "<span class='danger'>You query upon the nature of miracles.</span>")
if(prob(8))
for(var/obj/M in orange(6,affected_mob))
if(!M.anchored && (M.flags & CONDUCT))
if(!M.anchored && (M.flags_1 & CONDUCT_1))
var/i
var/iter = rand(1,3)
for(i=0,i<iter,i++)
+10
View File
@@ -0,0 +1,10 @@
diff a/code/datums/riding.dm b/code/datums/riding.dm (rejected hunks)
@@ -419,7 +419,7 @@
icon = 'icons/obj/items_and_weapons.dmi'
icon_state = "offhand"
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
var/mob/living/carbon/rider
var/mob/living/ridden
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,29 @@
diff a/code/game/area/Space_Station_13_areas.dm b/code/game/area/Space_Station_13_areas.dm (rejected hunks)
@@ -535,15 +535,15 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
/area/crew_quarters/toilet/fitness
name = "Fitness Toilets"
icon_state = "toilet"
-
+
/area/crew_quarters/toilet/female
name = "Female Toilets"
icon_state = "toilet"
-
+
/area/crew_quarters/toilet/male
name = "Male Toilets"
icon_state = "toilet"
-
+
/area/crew_quarters/toilet/restrooms
name = "Restrooms"
icon_state = "toilet"
@@ -1009,7 +1009,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
/area/security/execution/transfer
name = "Transfer Centre"
-
+
/area/security/execution/education
name = "Prisoner Education Chamber"
+1 -1
View File
@@ -58,7 +58,7 @@
'sound/ambience/ambigen8.ogg','sound/ambience/ambigen9.ogg',\
'sound/ambience/ambigen10.ogg','sound/ambience/ambigen11.ogg',\
'sound/ambience/ambigen12.ogg','sound/ambience/ambigen14.ogg')
flags = CAN_BE_DIRTY
flags_1 = CAN_BE_DIRTY_1
var/list/firedoors
var/firedoors_last_closed_on = 0
+6 -6
View File
@@ -9,7 +9,7 @@
has_gravity = TRUE
noteleport = TRUE
blob_allowed = FALSE //Should go without saying, no blobs should take over centcom as a win condition.
flags = NONE
flags_1 = NONE
/area/centcom/control
name = "CentCom Docks"
@@ -37,7 +37,7 @@
dynamic_lighting = DYNAMIC_LIGHTING_FORCED
requires_power = FALSE
has_gravity = TRUE
flags = NONE
flags_1 = NONE
/area/tdome/arena
name = "Thunderdome Arena"
@@ -76,7 +76,7 @@
requires_power = FALSE
has_gravity = TRUE
noteleport = TRUE
flags = NONE
flags_1 = NONE
//Abductors
/area/abductor_ship
@@ -85,7 +85,7 @@
requires_power = FALSE
noteleport = TRUE
has_gravity = TRUE
flags = NONE
flags_1 = NONE
//Syndicates
/area/syndicate_mothership
@@ -95,7 +95,7 @@
has_gravity = TRUE
noteleport = TRUE
blob_allowed = FALSE //Not... entirely sure this will ever come up... but if the bus makes blobs AND ops, it shouldn't aim for the ops to win.
flags = NONE
flags_1 = NONE
/area/syndicate_mothership/control
name = "Syndicate Control Room"
@@ -115,7 +115,7 @@
icon_state = "yellow"
requires_power = FALSE
has_gravity = TRUE
flags = NO_DEATHRATTLE
flags_1 = NO_DEATHRATTLE_1
/area/ctf/control_room
name = "Control Room A"
+1 -1
View File
@@ -2,7 +2,7 @@
name = "Holodeck"
icon_state = "Holodeck"
dynamic_lighting = DYNAMIC_LIGHTING_DISABLED
flags = 0
flags_1 = 0
hidden = TRUE
var/obj/machinery/computer/holodeck/linked
+3 -3
View File
@@ -16,7 +16,7 @@
power_light = FALSE
outdoors = TRUE
ambientsounds = list('sound/ambience/ambimine.ogg')
flags = NONE
flags_1 = NONE
/area/mine/unexplored
name = "Mine"
@@ -30,7 +30,7 @@
power_light = FALSE
outdoors = TRUE
ambientsounds = list('sound/ambience/ambimine.ogg')
flags = NONE
flags_1 = NONE
/area/mine/lobby
name = "Mining Station"
@@ -86,7 +86,7 @@
/area/lavaland
icon_state = "mining"
has_gravity = TRUE
flags = NONE
flags_1 = NONE
/area/lavaland/surface
name = "Lavaland"
+8 -8
View File
@@ -3,8 +3,8 @@
plane = GAME_PLANE
var/level = 2
var/flags = 0
var/list/secondary_flags
var/flags_1 = 0
var/flags_2 = 0
var/list/fingerprints
var/list/fingerprintshidden
@@ -193,23 +193,23 @@
// returns true if open
// false if closed
/atom/proc/is_open_container()
return container_type & OPENCONTAINER
return container_type & OPENCONTAINER_1
/atom/proc/is_transparent()
return container_type & TRANSPARENT
return container_type & TRANSPARENT_1
/atom/proc/is_injectable(allowmobs = TRUE)
if(isliving(src) && allowmobs)
var/mob/living/L = src
return L.can_inject()
if(container_type & OPENCONTAINER)
if(container_type & OPENCONTAINER_1)
return TRUE
return container_type & INJECTABLE
return container_type & INJECTABLE_1
/atom/proc/is_drawable(allowmobs = TRUE)
if(is_injectable(allowmobs)) //Everything that can be injected can also be drawn from, but not vice versa
return TRUE
return container_type & DRAWABLE
return container_type & DRAWABLE_1
/atom/proc/allow_drop()
return 1
@@ -221,7 +221,7 @@
return
/atom/proc/emp_act(severity)
if(istype(wires) && !HAS_SECONDARY_FLAG(src, NO_EMP_WIRES))
if(istype(wires) && !(flags_2 & NO_EMP_WIRES_2))
wires.emp_pulse()
/atom/proc/bullet_act(obj/item/projectile/P, def_zone)
+11 -11
View File
@@ -137,7 +137,7 @@
if (orbiting)
orbiting.Check()
if(flags & CLEAN_ON_MOVE)
if(flags_1 & CLEAN_ON_MOVE_1)
clean_on_move()
var/datum/proximity_monitor/proximity_monitor = src.proximity_monitor
@@ -176,8 +176,8 @@
to_chat(cleaned_human, "<span class='danger'>[src] cleans your face!</span>")
/atom/movable/Destroy(force)
var/inform_admins = HAS_SECONDARY_FLAG(src, INFORM_ADMINS_ON_RELOCATE)
var/stationloving = HAS_SECONDARY_FLAG(src, STATIONLOVING)
var/inform_admins = (flags_2 & INFORM_ADMINS_ON_RELOCATE_2)
var/stationloving = (flags_2 & STATIONLOVING_2)
if(inform_admins && force)
var/turf/T = get_turf(src)
@@ -221,7 +221,7 @@
//This is tg's equivalent to the byond bump, it used to be called bump with a second arg
//to differentiate it, naturally everyone forgot about this immediately and so some things
//would bump twice, so now it's called Collide
/atom/movable/proc/Collide(atom/A)
/atom/movable/proc/Collide(atom/A)
if((A))
if(throwing)
throwing.hit_atom(A)
@@ -323,7 +323,7 @@
..()
/atom/movable/proc/throw_at(atom/target, range, speed, mob/thrower, spin=TRUE, diagonals_first = FALSE, var/datum/callback/callback)
if (!target || (flags & NODROP) || speed <= 0)
if (!target || (flags_1 & NODROP_1) || speed <= 0)
return
if (pulledby)
@@ -550,21 +550,21 @@
*/
/atom/movable/proc/set_stationloving(state, inform_admins=FALSE)
var/currently = HAS_SECONDARY_FLAG(src, STATIONLOVING)
var/currently = (flags_2 & STATIONLOVING_2)
if(inform_admins)
SET_SECONDARY_FLAG(src, INFORM_ADMINS_ON_RELOCATE)
flags_2 |= INFORM_ADMINS_ON_RELOCATE_2
else
CLEAR_SECONDARY_FLAG(src, INFORM_ADMINS_ON_RELOCATE)
flags_2 &= ~INFORM_ADMINS_ON_RELOCATE_2
if(state == currently)
return
else if(!state)
STOP_PROCESSING(SSinbounds, src)
CLEAR_SECONDARY_FLAG(src, STATIONLOVING)
flags_2 &= ~STATIONLOVING_2
else
START_PROCESSING(SSinbounds, src)
SET_SECONDARY_FLAG(src, STATIONLOVING)
flags_2 |= STATIONLOVING_2
/atom/movable/proc/relocate()
var/targetturf = find_safe_turf(ZLEVEL_STATION)
@@ -593,7 +593,7 @@
to_chat(get(src, /mob), "<span class='danger'>You can't help but feel that you just lost something back there...</span>")
var/turf/targetturf = relocate()
log_game("[src] has been moved out of bounds in [COORD(currentturf)]. Moving it to [COORD(targetturf)].")
if(HAS_SECONDARY_FLAG(src, INFORM_ADMINS_ON_RELOCATE))
if(flags_2 & INFORM_ADMINS_ON_RELOCATE_2)
message_admins("[src] has been moved out of bounds in [ADMIN_COORDJMP(currentturf)]. Moving it to [ADMIN_COORDJMP(targetturf)].")
/atom/movable/proc/in_bounds()
@@ -29,7 +29,7 @@
/obj/effect/proc_holder/changeling/weapon/proc/check_weapon(mob/user, obj/item/hand_item)
if(istype(hand_item, weapon_type))
user.temporarilyRemoveItemFromInventory(hand_item, TRUE) //DROPDEL will delete the item
user.temporarilyRemoveItemFromInventory(hand_item, TRUE) //DROPDEL_1 will delete the item
if(!silent)
playsound(user, 'sound/effects/blobattack.ogg', 30, 1)
user.visible_message("<span class='warning'>With a sickening crunch, [user] reforms their [weapon_name_simple] into an arm!</span>", "<span class='notice'>We assimilate the [weapon_name_simple] back into our body.</span>", "<span class='italics>You hear organic matter ripping and tearing!</span>")
@@ -148,7 +148,7 @@
item_state = "arm_blade"
lefthand_file = 'icons/mob/inhands/antag/changeling_lefthand.dmi'
righthand_file = 'icons/mob/inhands/antag/changeling_righthand.dmi'
flags = ABSTRACT | NODROP | DROPDEL
flags_1 = ABSTRACT_1 | NODROP_1 | DROPDEL_1
w_class = WEIGHT_CLASS_HUGE
force = 25
throwforce = 0 //Just to be on the safe side
@@ -227,7 +227,7 @@
item_state = "tentacle"
lefthand_file = 'icons/mob/inhands/antag/changeling_lefthand.dmi'
righthand_file = 'icons/mob/inhands/antag/changeling_righthand.dmi'
flags = ABSTRACT | NODROP | DROPDEL | NOBLUDGEON
flags_1 = ABSTRACT_1 | NODROP_1 | DROPDEL_1 | NOBLUDGEON_1
w_class = WEIGHT_CLASS_HUGE
ammo_type = /obj/item/ammo_casing/magic/tentacle
fire_sound = 'sound/effects/splat.ogg'
@@ -462,7 +462,7 @@
name = "flesh mass"
icon_state = "lingspacehelmet"
desc = "A covering of pressure and temperature-resistant organic tissue with a glass-like chitin front."
flags = STOPSPRESSUREDMAGE | NODROP | DROPDEL //Again, no THICKMATERIAL.
flags_1 = STOPSPRESSUREDMAGE_1 | NODROP_1 | DROPDEL_1 //Again, no THICKMATERIAL_1.
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0, fire = 90, acid = 90)
flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH
@@ -487,7 +487,7 @@
name = "chitinous mass"
desc = "A tough, hard covering of black chitin."
icon_state = "lingarmor"
flags = NODROP | DROPDEL
flags_1 = NODROP_1 | DROPDEL_1
body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
armor = list(melee = 40, bullet = 40, laser = 40, energy = 20, bomb = 10, bio = 4, rad = 0, fire = 90, acid = 90)
flags_inv = HIDEJUMPSUIT
@@ -503,6 +503,6 @@
name = "chitinous mass"
desc = "A tough, hard covering of black chitin with transparent chitin in front."
icon_state = "lingarmorhelmet"
flags = NODROP | DROPDEL
flags_1 = NODROP_1 | DROPDEL_1
armor = list(melee = 40, bullet = 40, laser = 40, energy = 20, bomb = 10, bio = 4, rad = 0, fire = 90, acid = 90)
flags_inv = HIDEEARS|HIDEHAIR|HIDEEYES|HIDEFACIALHAIR|HIDEFACE
@@ -0,0 +1,19 @@
diff a/code/game/gamemodes/changeling/powers/mutations.dm b/code/game/gamemodes/changeling/powers/mutations.dm (rejected hunks)
@@ -395,7 +395,7 @@
/obj/item/shield/changeling
name = "shield-like mass"
desc = "A mass of tough, boney tissue. You can still see the fingers as a twisted pattern in the shield."
- flags = ABSTRACT | NODROP | DROPDEL
+ flags_1 = ABSTRACT_1 | NODROP_1 | DROPDEL_1
icon = 'icons/obj/items_and_weapons.dmi'
icon_state = "ling_shield"
lefthand_file = 'icons/mob/inhands/antag/changeling_lefthand.dmi'
@@ -443,7 +443,7 @@
name = "flesh mass"
icon_state = "lingspacesuit"
desc = "A huge, bulky mass of pressure and temperature-resistant organic tissue, evolved to facilitate space travel."
- flags = STOPSPRESSUREDMAGE | NODROP | DROPDEL //Not THICKMATERIAL because it's organic tissue, so if somebody tries to inject something into it, it still ends up in your blood. (also balance but muh fluff)
+ flags_1 = STOPSPRESSUREDMAGE_1 | NODROP_1 | DROPDEL_1 //Not THICKMATERIAL_1 because it's organic tissue, so if somebody tries to inject something into it, it still ends up in your blood. (also balance but muh fluff)
allowed = list(/obj/item/device/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/oxygen)
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0, fire = 90, acid = 90) //No armor at all.
@@ -8,7 +8,7 @@
/obj/item/clothing/glasses/changeling
name = "flesh"
flags = NODROP
flags_1 = NODROP_1
/obj/item/clothing/glasses/changeling/attack_hand(mob/user)
if(loc == user && user.mind && user.mind.changeling)
@@ -19,7 +19,7 @@
/obj/item/clothing/under/changeling
name = "flesh"
flags = NODROP
flags_1 = NODROP_1
/obj/item/clothing/under/changeling/attack_hand(mob/user)
if(loc == user && user.mind && user.mind.changeling)
@@ -30,7 +30,7 @@
/obj/item/clothing/suit/changeling
name = "flesh"
flags = NODROP
flags_1 = NODROP_1
allowed = list(/obj/item/changeling)
/obj/item/clothing/suit/changeling/attack_hand(mob/user)
@@ -42,7 +42,7 @@
/obj/item/clothing/head/changeling
name = "flesh"
flags = NODROP
flags_1 = NODROP_1
/obj/item/clothing/head/changeling/attack_hand(mob/user)
if(loc == user && user.mind && user.mind.changeling)
@@ -53,7 +53,7 @@
/obj/item/clothing/shoes/changeling
name = "flesh"
flags = NODROP
flags_1 = NODROP_1
/obj/item/clothing/shoes/changeling/attack_hand(mob/user)
if(loc == user && user.mind && user.mind.changeling)
@@ -64,7 +64,7 @@
/obj/item/clothing/gloves/changeling
name = "flesh"
flags = NODROP
flags_1 = NODROP_1
/obj/item/clothing/gloves/changeling/attack_hand(mob/user)
if(loc == user && user.mind && user.mind.changeling)
@@ -75,7 +75,7 @@
/obj/item/clothing/mask/changeling
name = "flesh"
flags = NODROP
flags_1 = NODROP_1
/obj/item/clothing/mask/changeling/attack_hand(mob/user)
if(loc == user && user.mind && user.mind.changeling)
@@ -86,7 +86,7 @@
/obj/item/changeling
name = "flesh"
flags = NODROP
flags_1 = NODROP_1
slot_flags = ALL
allowed = list(/obj/item/changeling)
@@ -328,7 +328,7 @@
return
if(health == maxHealth)
return FALSE
else if(!(flags & GODMODE))
else if(!(flags_1 & GODMODE))
user.visible_message("<span class='notice'>[user]'s [fabricator.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>")
fabricator.repairing = src
@@ -98,7 +98,7 @@
pulled_binding = binding
ranged_ability_user.start_pulling(binding)
slab.busy = "sustaining Geis"
slab.flags |= NODROP
slab.flags_1 |= NODROP_1
while(!QDELETED(binding) && !QDELETED(ranged_ability_user))
if(ranged_ability_user.pulling == binding)
pulled_binding = binding
@@ -114,7 +114,7 @@
add_mousepointer(ranged_ability_user.client)
sleep(1)
if(!QDELETED(slab))
slab.flags &= ~NODROP
slab.flags_1 &= ~NODROP_1
in_progress = FALSE
successful = TRUE
@@ -20,12 +20,12 @@
/obj/item/clothing/head/helmet/clockwork/ratvar_act()
if(GLOB.ratvar_awakens)
armor = list(melee = 100, bullet = 100, laser = 100, energy = 100, bomb = 100, bio = 100, rad = 100, fire = 100, acid = 100)
flags |= STOPSPRESSUREDMAGE
flags_1 |= STOPSPRESSUREDMAGE_1
max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT
min_cold_protection_temperature = SPACE_HELM_MIN_TEMP_PROTECT
else
armor = list(melee = 80, bullet = 70, laser = -25, energy = 0, bomb = 60, bio = 0, rad = 0, fire = 100, acid = 100)
flags &= ~STOPSPRESSUREDMAGE
flags_1 &= ~STOPSPRESSUREDMAGE_1
max_heat_protection_temperature = initial(max_heat_protection_temperature)
min_cold_protection_temperature = initial(min_cold_protection_temperature)
@@ -76,12 +76,12 @@
/obj/item/clothing/suit/armor/clockwork/ratvar_act()
if(GLOB.ratvar_awakens)
armor = list(melee = 100, bullet = 100, laser = 100, energy = 100, bomb = 100, bio = 100, rad = 100, fire = 100, acid = 100)
flags |= STOPSPRESSUREDMAGE
flags_1 |= STOPSPRESSUREDMAGE_1
max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT
min_cold_protection_temperature = SPACE_HELM_MIN_TEMP_PROTECT
else
armor = list(melee = 80, bullet = 70, laser = -25, energy = 0, bomb = 60, bio = 0, rad = 0, fire = 100, acid = 100)
flags &= ~STOPSPRESSUREDMAGE
flags_1 &= ~STOPSPRESSUREDMAGE_1
max_heat_protection_temperature = initial(max_heat_protection_temperature)
min_cold_protection_temperature = initial(min_cold_protection_temperature)
@@ -137,12 +137,12 @@
/obj/item/clothing/gloves/clockwork/ratvar_act()
if(GLOB.ratvar_awakens)
armor = list(melee = 100, bullet = 100, laser = 100, energy = 100, bomb = 100, bio = 100, rad = 100, fire = 100, acid = 100)
flags |= STOPSPRESSUREDMAGE
flags_1 |= STOPSPRESSUREDMAGE_1
max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT
min_cold_protection_temperature = SPACE_HELM_MIN_TEMP_PROTECT
else
armor = list(melee = 80, bullet = 70, laser = -25, energy = 0, bomb = 60, bio = 0, rad = 0, fire = 100, acid = 100)
flags &= ~STOPSPRESSUREDMAGE
flags_1 &= ~STOPSPRESSUREDMAGE_1
max_heat_protection_temperature = initial(max_heat_protection_temperature)
min_cold_protection_temperature = initial(min_cold_protection_temperature)
@@ -192,9 +192,9 @@
/obj/item/clothing/shoes/clockwork/ratvar_act()
if(GLOB.ratvar_awakens)
flags |= NOSLIP
flags_1 |= NOSLIP_1
else
flags &= ~NOSLIP
flags_1 &= ~NOSLIP_1
/obj/item/clothing/shoes/clockwork/mob_can_equip(mob/M, mob/equipper, slot, disable_warning = 0)
if(equipper && !is_servant_of_ratvar(equipper))
@@ -8,7 +8,7 @@
righthand_file = 'icons/mob/inhands/antag/clockwork_righthand.dmi'
w_class = WEIGHT_CLASS_NORMAL
force = 5
flags = NOBLUDGEON
flags_1 = NOBLUDGEON_1
var/stored_power = 0 //Requires power to function
var/max_power = CLOCKCULT_POWER_UNIT * 10
var/uses_power = TRUE
@@ -297,7 +297,7 @@
if(!silent)
to_chat(user, "<span class='warning'>[L] does not serve Ratvar!</span>")
return FALSE
if(L.health >= L.maxHealth || (L.flags & GODMODE))
if(L.health >= L.maxHealth || (L.flags_1 & GODMODE))
if(!silent)
to_chat(user, "<span class='warning'>[L == user ? "You are" : "[L] is"] at maximum health!</span>")
return FALSE
@@ -82,7 +82,7 @@
. = ..()
/obj/structure/destructible/clockwork/massive/celestial_gateway/deconstruct(disassembled = TRUE)
if(!(flags & NODECONSTRUCT))
if(!(flags_1 & NODECONSTRUCT_1))
if(!disassembled)
resistance_flags |= INDESTRUCTIBLE
countdown.stop()
@@ -126,7 +126,7 @@
desc = "A flickering ring preventing you from holding items."
icon = 'icons/effects/clockwork_effects.dmi'
icon_state = "geisbinding_full"
flags = NODROP|ABSTRACT|DROPDEL
flags_1 = NODROP_1|ABSTRACT_1|DROPDEL_1
/obj/item/geis_binding/pre_attackby(atom/target, mob/living/user, params)
return FALSE
@@ -70,6 +70,6 @@
return ..()
/obj/structure/destructible/clockwork/wall_gear/deconstruct(disassembled = TRUE)
if(!(flags & NODECONSTRUCT) && disassembled)
if(!(flags_1 & NODECONSTRUCT_1) && disassembled)
new /obj/item/stack/tile/brass(loc, 3)
return ..()
+3 -3
View File
@@ -5,7 +5,7 @@
item_state = "cultblade"
lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi'
righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi'
flags = CONDUCT
flags_1 = CONDUCT_1
sharpness = IS_SHARP
w_class = WEIGHT_CLASS_BULKY
force = 30
@@ -108,7 +108,7 @@
item_state = "cult_hoodalt"
/obj/item/clothing/head/culthood/alt/ghost
flags = NODROP|DROPDEL
flags_1 = NODROP_1|DROPDEL_1
/obj/item/clothing/suit/cultrobes/alt
name = "cultist robes"
@@ -117,7 +117,7 @@
item_state = "cultrobesalt"
/obj/item/clothing/suit/cultrobes/alt/ghost
flags = NODROP|DROPDEL
flags_1 = NODROP_1|DROPDEL_1
/obj/item/clothing/head/magus
@@ -0,0 +1,10 @@
diff a/code/game/gamemodes/cult/cult_items.dm b/code/game/gamemodes/cult/cult_items.dm (rejected hunks)
@@ -31,7 +31,7 @@
/obj/item/melee/cultblade/ghost
name = "eldritch sword"
force = 19 //can't break normal airlocks
- flags = NODROP|DROPDEL
+ flags_1 = NODROP_1|DROPDEL_1
/obj/item/melee/cultblade/pickup(mob/living/user)
..()
+10
View File
@@ -0,0 +1,10 @@
diff a/code/game/gamemodes/cult/talisman.dm b/code/game/gamemodes/cult/talisman.dm (rejected hunks)
@@ -343,7 +343,7 @@
desc = "Shackles that bind the wrists with sinister magic."
trashtype = /obj/item/restraints/handcuffs/energy/used
origin_tech = "materials=2;magnets=5"
- flags = DROPDEL
+ flags_1 = DROPDEL_1
/obj/item/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>", \
@@ -65,7 +65,7 @@
//Left hand items
for(var/obj/item/I in held_items)
if(!(I.flags & ABSTRACT))
if(!(I.flags_1 & ABSTRACT_1))
if(I.blood_DNA)
msg += "<span class='warning'>It is holding [icon2html(I, user)] [I.gender==PLURAL?"some":"a"] blood-stained [I.name] in its [get_held_index_name(get_held_index_of_item(I))]!</span>\n"
else
+2 -2
View File
@@ -126,11 +126,11 @@
icon_state = "dominator-broken"
/obj/machinery/dominator/obj_break(damage_flag)
if(!(stat & BROKEN) && !(flags & NODECONSTRUCT))
if(!(stat & BROKEN) && !(flags_1 & NODECONSTRUCT_1))
set_broken()
/obj/machinery/dominator/deconstruct(disassembled = TRUE)
if(!(flags & NODECONSTRUCT))
if(!(flags_1 & NODECONSTRUCT_1))
if(!(stat & BROKEN))
set_broken()
new /obj/item/stack/sheet/plasteel(src.loc)
+1 -1
View File
@@ -355,7 +355,7 @@
name = "Wetwork boots"
desc = "A gang's best hitmen are prepared for anything."
permeability_coefficient = 0.01
flags = NOSLIP
flags_1 = NOSLIP_1
/datum/gang_item/equipment/pen
name = "Recruitment Pen"
+1 -1
View File
@@ -8,7 +8,7 @@
w_class = WEIGHT_CLASS_TINY
throw_speed = 3
throw_range = 7
flags = CONDUCT
flags_1 = CONDUCT_1
origin_tech = "programming=5;bluespace=2;syndicate=5"
var/datum/gang/gang //Which gang uses this?
var/recalling = 0
@@ -29,9 +29,9 @@
var/combat_armor = list(melee = 50, bullet = 50, laser = 50, energy = 50, bomb = 50, bio = 50, rad = 50, fire = 90, acid = 90)
/obj/item/clothing/suit/armor/abductor/vest/proc/toggle_nodrop()
flags ^= NODROP
flags_1 ^= NODROP_1
if(ismob(loc))
to_chat(loc, "<span class='notice'>Your vest is now [flags & NODROP ? "locked" : "unlocked"].</span>")
to_chat(loc, "<span class='notice'>Your vest is now [flags_1 & NODROP_1 ? "locked" : "unlocked"].</span>")
/obj/item/clothing/suit/armor/abductor/vest/proc/flip_mode()
switch(mode)
@@ -529,10 +529,10 @@ Congratulations! You are now trained for invasive xenobiology research!"}
icon_state = "abductor_headset"
item_state = "abductor_headset"
keyslot2 = new /obj/item/device/encryptionkey/heads/captain
flags_2 = BANG_PROTECT_2
/obj/item/device/radio/headset/abductor/Initialize(mapload)
..()
SET_SECONDARY_FLAG(src, BANG_PROTECT)
make_syndie()
/obj/item/device/radio/headset/abductor/attackby(obj/item/weapon/W, mob/user, params)
@@ -0,0 +1,10 @@
diff a/code/game/gamemodes/miniantags/abduction/abduction_gear.dm b/code/game/gamemodes/miniantags/abduction/abduction_gear.dm (rejected hunks)
@@ -499,7 +499,7 @@ Congratulations! You are now trained for invasive xenobiology research!"}
/obj/item/restraints/handcuffs/energy/used
desc = "energy discharge"
- flags = DROPDEL
+ flags_1 = DROPDEL_1
/obj/item/restraints/handcuffs/energy/used/dropped(mob/user)
user.visible_message("<span class='danger'>[user]'s [src] break in a discharge of energy!</span>", \
@@ -0,0 +1,10 @@
diff a/code/game/gamemodes/miniantags/abduction/abduction_outfits.dm b/code/game/gamemodes/miniantags/abduction/abduction_outfits.dm (rejected hunks)
@@ -23,7 +23,7 @@
var/obj/item/clothing/suit/armor/abductor/vest/V = locate() in H
if(V)
console.AddVest(V)
- V.flags |= NODROP
+ V.flags_1 |= NODROP_1
var/obj/item/storage/backpack/B = locate() in H
if(B)
@@ -69,7 +69,7 @@
dat+="<br>"
dat += "<a href='?src=\ref[src];select_disguise=1'>Select Agent Vest Disguise</a><br>"
dat += "<a href='?src=\ref[src];toggle_vest=1'>[vest.flags & NODROP ? "Unlock" : "Lock"] Vest</a><br>"
dat += "<a href='?src=\ref[src];toggle_vest=1'>[vest.flags_1 & NODROP_1 ? "Unlock" : "Lock"] Vest</a><br>"
else
dat += "<span class='bad'>NO AGENT VEST DETECTED</span>"
var/datum/browser/popup = new(user, "computer", "Abductor Console", 400, 500)
@@ -238,8 +238,8 @@
INVOKE_ASYNC(src, .proc/defile, T)
/obj/effect/proc_holder/spell/aoe_turf/revenant/defile/proc/defile(turf/T)
if(T.flags & NOJAUNT)
T.flags -= NOJAUNT
if(T.flags_1 & NOJAUNT_1)
T.flags_1 &= ~NOJAUNT_1
new /obj/effect/temp_visual/revenant(T)
if(!istype(T, /turf/open/floor/plating) && !istype(T, /turf/open/floor/engine/cult) && isfloorturf(T) && prob(15))
var/turf/open/floor/floor = T
+2 -2
View File
@@ -4,7 +4,7 @@
desc = "A handheld tracking device that locks onto certain signals."
icon = 'icons/obj/device.dmi'
icon_state = "pinoff"
flags = CONDUCT
flags_1 = CONDUCT_1
slot_flags = SLOT_BELT
w_class = WEIGHT_CLASS_SMALL
item_state = "electronic"
@@ -173,7 +173,7 @@
name = "cyborg syndicate pinpointer"
desc = "An integrated tracking device, jury-rigged to search for living Syndicate operatives."
mode = TRACK_OPERATIVES
flags = NODROP
flags_1 = NODROP_1
+1 -1
View File
@@ -208,7 +208,7 @@
lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi'
righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi'
hitsound = 'sound/weapons/bladeslice.ogg'
flags = CONDUCT
flags_1 = CONDUCT_1
slot_flags = SLOT_BELT
sharpness = IS_SHARP
force = 20
+2 -2
View File
@@ -213,7 +213,7 @@
/datum/spellbook_entry/lightningbolt/Buy(mob/living/carbon/human/user,obj/item/weapon/spellbook/book) //return 1 on success
. = ..()
SET_SECONDARY_FLAG(user, TESLA_IGNORE)
user.flags_2 |= TESLA_IGNORE_2
/datum/spellbook_entry/infinite_guns
name = "Lesser Summon Guns"
@@ -865,7 +865,7 @@
if(ishuman(user))
to_chat(user,"<font size='15' color='red'><b>HOR-SIE HAS RISEN</b></font>")
var/obj/item/clothing/mask/horsehead/magichead = new /obj/item/clothing/mask/horsehead
magichead.flags |= NODROP //curses!
magichead.flags_1 |= NODROP_1 //curses!
magichead.flags_inv &= ~HIDEFACE //so you can still see their face
magichead.voicechange = 1 //NEEEEIIGHH
if(!user.dropItemToGround(user.wear_mask))
+1 -1
View File
@@ -101,7 +101,7 @@
return ..()
/obj/machinery/pdapainter/deconstruct(disassembled = TRUE)
if(!(flags & NODECONSTRUCT))
if(!(flags_1 & NODECONSTRUCT_1))
if(!(stat & BROKEN))
stat |= BROKEN
update_icon()
+1 -1
View File
@@ -92,7 +92,7 @@
return ..()
/obj/machinery/aug_manipulator/obj_break(damage_flag)
if(!(flags & NODECONSTRUCT))
if(!(flags_1 & NODECONSTRUCT_1))
if(!(stat & BROKEN))
stat |= BROKEN
update_icon()
+1 -1
View File
@@ -135,7 +135,7 @@
busy = FALSE
return 1
if(HAS_SECONDARY_FLAG(O, HOLOGRAM))
if(O.flags_2 & HOLOGRAM_2)
return 1
var/material_amount = materials.get_item_material_amount(O)
+1 -1
View File
@@ -97,7 +97,7 @@
update_icon()
return
if(user.a_intent != INTENT_HARM && !(W.flags & NOBLUDGEON))
if(user.a_intent != INTENT_HARM && !(W.flags_1 & NOBLUDGEON_1))
return src.attack_hand(user)
else
return ..()
+2 -2
View File
@@ -235,12 +235,12 @@
. = ..()
/obj/machinery/camera/obj_break(damage_flag)
if(status && !(flags & NODECONSTRUCT))
if(status && !(flags_1 & NODECONSTRUCT_1))
triggerCameraAlarm()
toggle_cam(null, 0)
/obj/machinery/camera/deconstruct(disassembled = TRUE)
if(!(flags & NODECONSTRUCT))
if(!(flags_1 & NODECONSTRUCT_1))
if(disassembled)
if(!assembly)
assembly = new()
@@ -140,6 +140,6 @@
return 0
/obj/structure/camera_assembly/deconstruct(disassembled = TRUE)
if(!(flags & NODECONSTRUCT))
if(!(flags_1 & NODECONSTRUCT_1))
new /obj/item/stack/sheet/metal(loc)
qdel(src)
@@ -0,0 +1,10 @@
diff a/code/game/machinery/computer/buildandrepair.dm b/code/game/machinery/computer/buildandrepair.dm (rejected hunks)
@@ -136,7 +136,7 @@
/obj/structure/frame/computer/deconstruct(disassembled = TRUE)
- if(!(flags & NODECONSTRUCT))
+ if(!(flags_1 & NODECONSTRUCT_1))
if(state == 4)
new /obj/item/shard(loc)
new /obj/item/shard(loc)
+2 -2
View File
@@ -14,7 +14,7 @@
/obj/structure/frame/deconstruct(disassembled = TRUE)
if(!(flags & NODECONSTRUCT))
if(!(flags_1 & NODECONSTRUCT_1))
new /obj/item/stack/sheet/metal(loc, 5)
if(circuit)
circuit.forceMove(loc)
@@ -253,7 +253,7 @@
/obj/structure/frame/machine/deconstruct(disassembled = TRUE)
if(!(flags & NODECONSTRUCT))
if(!(flags_1 & NODECONSTRUCT_1))
if(state >= 2)
new /obj/item/stack/cable_coil(loc , 5)
for(var/X in components)
+1 -1
View File
@@ -18,7 +18,7 @@
var/material = METAL
/obj/structure/barricade/deconstruct(disassembled = TRUE)
if(!(flags & NODECONSTRUCT))
if(!(flags_1 & NODECONSTRUCT_1))
make_debris()
qdel(src)
+2 -2
View File
@@ -1529,7 +1529,7 @@
/obj/machinery/door/airlock/obj_break(damage_flag)
if(!(stat & BROKEN) && !(flags & NODECONSTRUCT))
if(!(flags_1 & BROKEN) && !(flags_1 & NODECONSTRUCT_1))
stat |= BROKEN
if(!panel_open)
panel_open = TRUE
@@ -1547,7 +1547,7 @@
/obj/machinery/door/airlock/deconstruct(disassembled = TRUE, mob/user)
if(!(flags & NODECONSTRUCT))
if(!(flags_1 & NODECONSTRUCT_1))
var/obj/structure/door_assembly/A
if(assemblytype)
A = new assemblytype(src.loc)
+1 -1
View File
@@ -498,7 +498,7 @@
/obj/machinery/door/airlock/clockwork/deconstruct(disassembled = TRUE)
playsound(src, 'sound/items/deconstruct.ogg', 50, 1)
if(!(flags & NODECONSTRUCT))
if(!(flags_1 & NODECONSTRUCT_1))
var/turf/T = get_turf(src)
if(disassembled)
new/obj/item/stack/tile/brass(T, 4)
+1 -1
View File
@@ -11,7 +11,7 @@
max_integrity = 350
armor = list(melee = 30, bullet = 30, laser = 20, energy = 20, bomb = 10, bio = 100, rad = 100, fire = 80, acid = 70)
CanAtmosPass = ATMOS_PASS_DENSITY
flags = PREVENT_CLICK_UNDER
flags_1 = PREVENT_CLICK_UNDER_1
var/secondsElectrified = 0
var/shockedby = list()
+10
View File
@@ -0,0 +1,10 @@
diff a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm (rejected hunks)
@@ -163,7 +163,7 @@
else if(istype(I, /obj/item/weldingtool))
try_to_weld(I, user)
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)
return 1
return ..()
+2 -2
View File
@@ -185,7 +185,7 @@
latetoggle()
/obj/machinery/door/firedoor/deconstruct(disassembled = TRUE)
if(!(flags & NODECONSTRUCT))
if(!(flags_1 & NODECONSTRUCT_1))
var/obj/structure/firelock_frame/F = new assemblytype(get_turf(src))
if(disassembled)
F.constructionStep = CONSTRUCTION_PANEL_OPEN
@@ -209,7 +209,7 @@
/obj/machinery/door/firedoor/border_only
icon = 'icons/obj/doors/edge_Doorfire.dmi'
flags = ON_BORDER
flags_1 = ON_BORDER_1
CanAtmosPass = ATMOS_PASS_PROC
/obj/machinery/door/firedoor/border_only/CanPass(atom/movable/mover, turf/target)
+1 -1
View File
@@ -181,7 +181,7 @@
/obj/machinery/door/window/deconstruct(disassembled = TRUE)
if(!(flags & NODECONSTRUCT) && !disassembled)
if(!(flags_1 & NODECONSTRUCT_1) && !disassembled)
for(var/obj/fragment in debris)
fragment.forceMove(get_turf(src))
transfer_fingerprints_to(fragment)
@@ -0,0 +1,19 @@
diff a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm (rejected hunks)
@@ -11,7 +11,7 @@
integrity_failure = 0
armor = list(melee = 20, bullet = 50, laser = 50, energy = 50, bomb = 10, bio = 100, rad = 100, fire = 70, acid = 100)
visible = FALSE
- flags = ON_BORDER
+ flags_1 = ON_BORDER_1
opacity = 0
CanAtmosPass = ATMOS_PASS_PROC
var/obj/item/electronics/airlock/electronics = null
@@ -221,7 +221,7 @@
return
add_fingerprint(user)
- if(!(flags&NODECONSTRUCT))
+ if(!(flags_1&NODECONSTRUCT_1))
if(istype(I, /obj/item/screwdriver))
if(density || operating)
to_chat(user, "<span class='warning'>You need to open the door to access the maintenance panel!</span>")
+2 -2
View File
@@ -301,7 +301,7 @@
return ..()
/obj/machinery/droneDispenser/obj_break(damage_flag)
if(!(flags & NODECONSTRUCT))
if(!(flags_1 & NODECONSTRUCT_1))
if(!(stat & BROKEN))
if(break_message)
audible_message("<span class='warning'>[src] \
@@ -312,7 +312,7 @@
update_icon()
/obj/machinery/droneDispenser/deconstruct(disassembled = TRUE)
if(!(flags & NODECONSTRUCT))
if(!(flags_1 & NODECONSTRUCT_1))
new /obj/item/stack/sheet/metal(loc, 5)
qdel(src)
+16
View File
@@ -0,0 +1,16 @@
diff a/code/game/machinery/firealarm.dm b/code/game/machinery/firealarm.dm (rejected hunks)
@@ -239,12 +239,12 @@
alarm()
/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
update_icon()
/obj/machinery/firealarm/deconstruct(disassembled = TRUE)
- if(!(flags & NODECONSTRUCT))
+ if(!(flags_1 & NODECONSTRUCT_1))
new /obj/item/stack/sheet/metal(loc, 1)
if(!(stat & BROKEN))
var/obj/item/I = new /obj/item/electronics/firealarm(loc)
+2 -2
View File
@@ -132,7 +132,7 @@
..()
/obj/machinery/flasher/obj_break(damage_flag)
if(!(flags & NODECONSTRUCT))
if(!(flags_1 & NODECONSTRUCT_1))
if(!(stat & BROKEN))
stat |= BROKEN
if(bulb)
@@ -140,7 +140,7 @@
power_change()
/obj/machinery/flasher/deconstruct(disassembled = TRUE)
if(!(flags & NODECONSTRUCT))
if(!(flags_1 & NODECONSTRUCT_1))
if(bulb)
bulb.forceMove(loc)
bulb = null
+1 -1
View File
@@ -33,7 +33,7 @@ Possible to do for anyone motivated enough:
desc = "It's a floor-mounted device for projecting holographic images."
icon_state = "holopad0"
layer = LOW_OBJ_LAYER
flags = HEAR
flags_1 = HEAR_1
anchored = TRUE
use_power = IDLE_POWER_USE
idle_power_usage = 5
+1 -1
View File
@@ -107,7 +107,7 @@
return ..()
/obj/machinery/iv_drip/deconstruct(disassembled = TRUE)
if(!(flags & NODECONSTRUCT))
if(!(flags_1 & NODECONSTRUCT_1))
new /obj/item/stack/sheet/metal(loc)
qdel(src)
+1 -1
View File
@@ -211,7 +211,7 @@
icon_state = "briefcase"
lefthand_file = 'icons/mob/inhands/equipment/briefcase_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/briefcase_righthand.dmi'
flags = CONDUCT
flags_1 = CONDUCT_1
force = 8
hitsound = "swing_hit"
throw_speed = 2
+10
View File
@@ -0,0 +1,10 @@
diff a/code/game/machinery/limbgrower.dm b/code/game/machinery/limbgrower.dm (rejected hunks)
@@ -10,7 +10,7 @@
icon = 'icons/obj/machines/limbgrower.dmi'
icon_state = "limbgrower_idleoff"
density = TRUE
- container_type = OPENCONTAINER
+ container_type = OPENCONTAINER_1
anchored = TRUE
use_power = IDLE_POWER_USE
idle_power_usage = 10
+1 -1
View File
@@ -175,7 +175,7 @@
center = locate(x+center_x, y+center_y, z)
if(center)
for(var/obj/M in orange(magnetic_field, center))
if(!M.anchored && (M.flags & CONDUCT))
if(!M.anchored && (M.flags_1 & CONDUCT_1))
step_towards(M, center)
for(var/mob/living/silicon/S in orange(magnetic_field, center))
+18
View File
@@ -0,0 +1,18 @@
diff a/code/game/machinery/newscaster.dm b/code/game/machinery/newscaster.dm (rejected hunks)
@@ -758,14 +758,14 @@ GLOBAL_LIST_EMPTY(allCasters)
/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/shard(loc)
new /obj/item/shard(loc)
qdel(src)
/obj/machinery/newscaster/obj_break()
- if(!(stat & BROKEN) && !(flags & NODECONSTRUCT))
+ if(!(stat & BROKEN) && !(flags_1 & NODECONSTRUCT_1))
stat |= BROKEN
playsound(loc, 'sound/effects/glassbr3.ogg', 100, 1)
update_icon()
@@ -326,7 +326,7 @@
qdel(src)
/obj/machinery/porta_turret/obj_break(damage_flag)
if(!(flags & NODECONSTRUCT) && !(stat & BROKEN))
if(!(flags_1 & NODECONSTRUCT_1) && !(stat & BROKEN))
stat |= BROKEN //enables the BROKEN bit
update_icon()
invisibility = 0
+10
View File
@@ -0,0 +1,10 @@
diff a/code/game/machinery/recycler.dm b/code/game/machinery/recycler.dm (rejected hunks)
@@ -187,7 +187,7 @@
name = "dangerous old crusher"
emagged = TRUE
crush_damage = 120
- flags = NODECONSTRUCT
+ flags_1 = NODECONSTRUCT_1
/obj/item/paper/guides/recycler
name = "paper - 'garbage duty instructions'"
+2 -2
View File
@@ -111,7 +111,7 @@
/obj/machinery/shieldgen/deconstruct(disassembled = TRUE)
if(!(flags & NODECONSTRUCT))
if(!(flags_1 & NODECONSTRUCT_1))
if(!(stat && BROKEN))
stat |= BROKEN
locked = pick(0,1)
@@ -210,7 +210,7 @@
anchored = FALSE
density = TRUE
req_access = list(ACCESS_TELEPORTER)
flags = CONDUCT
flags_1 = CONDUCT_1
use_power = NO_POWER_USE
max_integrity = 300
var/active = FALSE
+1 -1
View File
@@ -169,7 +169,7 @@
occupant = null
/obj/machinery/suit_storage_unit/deconstruct(disassembled = TRUE)
if(!(flags & NODECONSTRUCT))
if(!(flags_1 & NODECONSTRUCT_1))
open_machine()
dump_contents()
new /obj/item/stack/sheet/metal (loc, 2)
+2 -2
View File
@@ -146,14 +146,14 @@
/obj/machinery/vending/deconstruct(disassembled = TRUE)
if(!refill_canister) //the non constructable vendors drop metal instead of a machine frame.
if(!(flags & NODECONSTRUCT))
if(!(flags_1 & NODECONSTRUCT_1))
new /obj/item/stack/sheet/metal(loc, 3)
qdel(src)
else
..()
/obj/machinery/vending/obj_break(damage_flag)
if(!(stat & BROKEN) && !(flags & NODECONSTRUCT))
if(!(stat & BROKEN) && !(flags_1 & NODECONSTRUCT_1))
var/dump_amount = 0
for(var/datum/data/vending_product/R in product_records)
if(R.amount <= 0) //Try to use a record that actually has something to dump.
+1 -1
View File
@@ -23,7 +23,7 @@
layer = BELOW_MOB_LAYER//icon draw layer
infra_luminosity = 15 //byond implementation is bugged.
force = 5
flags = HEAR
flags_1 = HEAR_1
var/can_move = 1
var/mob/living/carbon/occupant = null
var/step_in = 10 //make a step in step_in/10 sec.
+2 -2
View File
@@ -7,7 +7,7 @@
icon = 'icons/mecha/mech_construct.dmi'
icon_state = "blank"
w_class = WEIGHT_CLASS_GIGANTIC
flags = CONDUCT
flags_1 = CONDUCT_1
origin_tech = "programming=2;materials=2;engineering=2"
/obj/item/mecha_parts/chassis
@@ -313,7 +313,7 @@
item_state = "electronic"
lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
flags = CONDUCT
flags_1 = CONDUCT_1
force = 5
w_class = WEIGHT_CLASS_SMALL
throwforce = 0
+10
View File
@@ -0,0 +1,10 @@
diff a/code/game/objects/effects/mines.dm b/code/game/objects/effects/mines.dm (rejected hunks)
@@ -130,7 +130,7 @@
new /datum/hallucination/delusion(victim, TRUE, "demon",duration,0)
var/obj/item/twohanded/required/chainsaw/doomslayer/chainsaw = new(victim.loc)
- chainsaw.flags |= NODROP
+ chainsaw.flags_1 |= NODROP_1
victim.drop_all_held_items()
victim.put_in_hands(chainsaw)
chainsaw.attack_self(victim)
+1 -1
View File
@@ -378,7 +378,7 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE)
for(var/X in actions)
var/datum/action/A = X
A.Remove(user)
if(DROPDEL & flags)
if(DROPDEL_1 & flags_1)
qdel(src)
in_inventory = FALSE
+10
View File
@@ -0,0 +1,10 @@
diff a/code/game/objects/items.dm b/code/game/objects/items.dm (rejected hunks)
@@ -135,7 +135,7 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE)
hitsound = "swing_hit"
/obj/item/Destroy()
- flags &= ~DROPDEL //prevent reqdels
+ flags_1 &= ~DROPDEL_1 //prevent reqdels
if(ismob(loc))
var/mob/m = loc
m.temporarilyRemoveItemFromInventory(src, TRUE)
+2 -2
View File
@@ -1,7 +1,7 @@
/obj/item/wallframe
icon = 'icons/obj/wallframe.dmi'
materials = list(MAT_METAL=MINERAL_MATERIAL_AMOUNT*2)
flags = CONDUCT
flags_1 = CONDUCT_1
origin_tech = "materials=1;engineering=1"
item_state = "syringe_kit"
lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
@@ -119,7 +119,7 @@
item_state = "electronic"
lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
flags = CONDUCT
flags_1 = CONDUCT_1
w_class = WEIGHT_CLASS_SMALL
origin_tech = "engineering=2;programming=1"
materials = list(MAT_METAL=50, MAT_GLASS=50)
+1 -1
View File
@@ -48,7 +48,7 @@
change_appearance(I, user)
return
// Why yes, this does closely resemble mob and object attack code.
if(I.flags & NOBLUDGEON)
if(I.flags_1 & NOBLUDGEON_1)
return
if(!I.force)
playsound(loc, 'sound/weapons/tap.ogg', get_clamped_volume(), 1, -1)
+1 -1
View File
@@ -12,7 +12,7 @@ GLOBAL_LIST_EMPTY(PDAs)
item_state = "electronic"
lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
flags = NOBLUDGEON
flags_1 = NOBLUDGEON_1
w_class = WEIGHT_CLASS_TINY
slot_flags = SLOT_ID | SLOT_BELT
origin_tech = "programming=2"
+1 -1
View File
@@ -8,7 +8,7 @@
righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
w_class = WEIGHT_CLASS_SMALL
slot_flags = SLOT_BELT
flags = NOBLUDGEON
flags_1 = NOBLUDGEON_1
var/flush = FALSE
var/mob/living/silicon/ai/AI
origin_tech = "programming=3;materials=3"
@@ -15,7 +15,7 @@
throw_speed = 4
throw_range = 20
origin_tech = "syndicate=1;engineering=3"
flags = NOBLUDGEON
flags_1 = NOBLUDGEON_1
var/obj/machinery/camera/current = null
@@ -1,7 +1,7 @@
/obj/item/device/chameleon
name = "chameleon-projector"
icon_state = "shield0"
flags = CONDUCT | NOBLUDGEON
flags_1 = CONDUCT_1 | NOBLUDGEON_1
slot_flags = SLOT_BELT
item_state = "electronic"
lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
@@ -8,7 +8,7 @@
w_class = WEIGHT_CLASS_SMALL
throw_range = 4
throw_speed = 1
flags = NOBLUDGEON
flags_1 = NOBLUDGEON_1
force = 3
attack_verb = list("blown up", "exploded", "detonated")
materials = list(MAT_METAL=50, MAT_GLASS=30)
@@ -7,7 +7,7 @@
lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
w_class = WEIGHT_CLASS_SMALL
flags = CONDUCT
flags_1 = CONDUCT_1
slot_flags = SLOT_BELT
materials = list(MAT_METAL=50, MAT_GLASS=20)
actions_types = list(/datum/action/item_action/toggle_light)
@@ -162,7 +162,7 @@
desc = "A pen-sized light, used by medical staff. It can also be used to create a hologram to alert people of incoming medical assistance."
icon_state = "penlight"
item_state = ""
flags = CONDUCT
flags_1 = CONDUCT_1
brightness_on = 2
var/holo_cooldown = 0
@@ -210,7 +210,7 @@
item_state = "lamp"
brightness_on = 5
w_class = WEIGHT_CLASS_BULKY
flags = CONDUCT
flags_1 = CONDUCT_1
materials = list()
on = TRUE
@@ -524,5 +524,5 @@
desc = "This shouldn't exist outside of someone's head, how are you seeing this?"
brightness_on = 15
flashlight_power = 1
flags = CONDUCT | DROPDEL
flags_1 = CONDUCT_1 | DROPDEL_1
actions_types = list()
@@ -4,7 +4,7 @@
icon_state = "signmaker_engi"
slot_flags = SLOT_BELT
w_class = WEIGHT_CLASS_SMALL
flags = NOBLUDGEON
flags_1 = NOBLUDGEON_1
item_state = "electronic"
lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
+2 -2
View File
@@ -158,11 +158,11 @@ GLOBAL_LIST_EMPTY(GPS_list)
icon_state = "gps-b"
gpstag = "BORG0"
desc = "A mining cyborg internal positioning system. Used as a recovery beacon for damaged cyborg assets, or a collaboration tool for mining teams."
flags = NODROP
flags_1 = NODROP_1
/obj/item/device/gps/internal
icon_state = null
flags = ABSTRACT
flags_1 = ABSTRACT_1
gpstag = "Eerie Signal"
desc = "Report to a coder immediately."
invisibility = INVISIBILITY_MAXIMUM
@@ -5,7 +5,7 @@
icon_state = "pointer"
item_state = "pen"
var/pointer_icon_state
flags = CONDUCT | NOBLUDGEON
flags_1 = CONDUCT_1 | NOBLUDGEON_1
slot_flags = SLOT_BELT
materials = list(MAT_METAL=500, MAT_GLASS=500)
w_class = WEIGHT_CLASS_SMALL
@@ -49,7 +49,7 @@
lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
flags = CONDUCT
flags_1 = CONDUCT_1
slot_flags = SLOT_BELT
origin_tech = "magnets=3;engineering=4"
@@ -4,7 +4,7 @@
icon = 'icons/obj/bureaucracy.dmi'
icon_state = "labeler1"
item_state = "flight"
flags = NOBLUDGEON
flags_1 = NOBLUDGEON_1
var/list/modes = list(
"grey" = rgb(255,255,255),
"red" = rgb(255,0,0),
+1 -1
View File
@@ -8,7 +8,7 @@
lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
w_class = WEIGHT_CLASS_BULKY
flags = CONDUCT
flags_1 = CONDUCT_1
throwforce = 5
throw_speed = 1
throw_range = 2
@@ -6,7 +6,7 @@
item_state = "electropack"
lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
flags = CONDUCT
flags_1 = CONDUCT_1
slot_flags = SLOT_BACK
w_class = WEIGHT_CLASS_HUGE
materials = list(MAT_METAL=10000, MAT_GLASS=2500)
@@ -52,8 +52,8 @@
user.put_in_hands(A)
A.add_fingerprint(user)
if(src.flags & NODROP)
A.flags |= NODROP
if(src.flags_1 & NODROP_1)
A.flags_1 |= NODROP_1
else
return ..()
@@ -45,10 +45,7 @@
origin_tech = "syndicate=3"
icon_state = "syndie_headset"
item_state = "syndie_headset"
/obj/item/device/radio/headset/syndicate/alt/Initialize(mapload)
. = ..()
SET_SECONDARY_FLAG(src, BANG_PROTECT)
flags_2 = BANG_PROTECT_2
/obj/item/device/radio/headset/syndicate/alt/leader
name = "team leader headset"
@@ -77,10 +74,7 @@
desc = "This is used by your elite security force. Protects ears from flashbangs. \nTo access the security channel, use :s."
icon_state = "sec_headset_alt"
item_state = "sec_headset_alt"
/obj/item/device/radio/headset/headset_sec/alt/Initialize(mapload)
. = ..()
SET_SECONDARY_FLAG(src, BANG_PROTECT)
flags_2 = BANG_PROTECT_2
/obj/item/device/radio/headset/headset_eng
name = "engineering radio headset"
@@ -132,10 +126,7 @@
desc = "The headset of the boss. Protects ears from flashbangs. \nChannels are as follows: :c - command, :s - security, :e - engineering, :u - supply, :v - service, :m - medical, :n - science."
icon_state = "com_headset_alt"
item_state = "com_headset_alt"
/obj/item/device/radio/headset/heads/captain/alt/Initialize(mapload)
. = ..()
SET_SECONDARY_FLAG(src, BANG_PROTECT)
flags_2 = BANG_PROTECT_2
/obj/item/device/radio/headset/heads/rd
name = "\proper the research director's headset"
@@ -154,10 +145,7 @@
desc = "The headset of the man in charge of keeping order and protecting the station. Protects ears from flashbangs. \nTo access the security channel, use :s. For command, use :c."
icon_state = "com_headset_alt"
item_state = "com_headset_alt"
/obj/item/device/radio/headset/heads/hos/alt/Initialize(mapload)
. = ..()
SET_SECONDARY_FLAG(src, BANG_PROTECT)
flags_2 = BANG_PROTECT_2
/obj/item/device/radio/headset/heads/ce
name = "\proper the chief engineer's headset"
@@ -211,10 +199,7 @@
icon_state = "cent_headset_alt"
item_state = "cent_headset_alt"
keyslot = null
/obj/item/device/radio/headset/headset_cent/alt/Initialize(mapload)
. = ..()
SET_SECONDARY_FLAG(src, BANG_PROTECT)
flags_2 = BANG_PROTECT_2
/obj/item/device/radio/headset/ai
name = "\proper Integrated Subspace Transceiver "
@@ -27,7 +27,7 @@
var/freqlock = 0 //Frequency lock to stop the user from untuning specialist radios.
var/emped = 0 //Highjacked to track the number of consecutive EMPs on the radio, allowing consecutive EMP's to stack properly.
// "Example" = FREQ_LISTENING|FREQ_BROADCASTING
flags = CONDUCT | HEAR
flags_1 = CONDUCT_1 | HEAR_1
slot_flags = SLOT_BELT
throw_speed = 3
throw_range = 7
@@ -547,10 +547,10 @@
name = "cyborg radio"
subspace_switchable = 1
dog_fashion = null
flags_2 = NO_EMP_WIRES_2
/obj/item/device/radio/borg/Initialize(mapload)
..()
SET_SECONDARY_FLAG(src, NO_EMP_WIRES)
/obj/item/device/radio/borg/syndicate
syndie = 1

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