mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2026-08-27 07:08:22 +01:00
replaces atom.initialized with ATOM_INITIALIZED
refactors atom/var/flags to atom_flags and area_flags moves NOBLOODY, NOBLUDGEON, and PHORONGUARD to item_flags instead of atom_flags corrects various misapplied flags
This commit is contained in:
@@ -108,7 +108,7 @@
|
||||
if((M.pipe_flags & pipe_flags & PIPING_ONE_PER_TURF)) //Only one dense/requires density object per tile, eg connectors/cryo/heater/coolers.
|
||||
visible_message("<span class='warning'>\The [src]'s cannot be connected, something is hogging the tile!</span>")
|
||||
return TRUE
|
||||
if((M.piping_layer != piping_layer) && !((M.pipe_flags | flags) & PIPING_ALL_LAYER)) // Pipes on different layers can't block each other unless they are ALL_LAYER
|
||||
if((M.piping_layer != piping_layer) && !((M.pipe_flags | atom_flags) & PIPING_ALL_LAYER)) // Pipes on different layers can't block each other unless they are ALL_LAYER
|
||||
continue
|
||||
if(M.get_init_dirs() & get_init_dirs()) // matches at least one direction on either type of pipe
|
||||
visible_message("<span class='warning'>\The [src]'s connector can't be connected, there is already a pipe at that location!</span>")
|
||||
|
||||
+4
-4
@@ -43,7 +43,7 @@ var/global/image/contamination_overlay = image('icons/effects/contamination.dmi'
|
||||
|
||||
/obj/item/proc/can_contaminate()
|
||||
//Clothing and backpacks can be contaminated.
|
||||
if(flags & PHORONGUARD)
|
||||
if(item_flags & PHORONGUARD)
|
||||
return 0
|
||||
else if(istype(src,/obj/item/storage/backpack))
|
||||
return 0 //Cannot be washed :(
|
||||
@@ -96,7 +96,7 @@ var/global/image/contamination_overlay = image('icons/effects/contamination.dmi'
|
||||
if(vsc.plc.SKIN_BURNS && (species.breath_type != "phoron"))
|
||||
if(!pl_head_protected() || !pl_suit_protected())
|
||||
burn_skin(0.75)
|
||||
if(prob(20))
|
||||
if(prob(20))
|
||||
to_chat(src, "<span class='danger'>Your skin burns!</span>")
|
||||
updatehealth()
|
||||
|
||||
@@ -142,7 +142,7 @@ var/global/image/contamination_overlay = image('icons/effects/contamination.dmi'
|
||||
//Checks if the head is adequately sealed. //This is just odd. TODO: Make this respect the body_parts_covered stuff like thermal gear does.
|
||||
if(head)
|
||||
if(vsc.plc.PHORONGUARD_ONLY)
|
||||
if(head.flags & PHORONGUARD)
|
||||
if(head.item_flags & PHORONGUARD)
|
||||
return 1
|
||||
else if(head.body_parts_covered & EYES)
|
||||
return 1
|
||||
@@ -154,7 +154,7 @@ var/global/image/contamination_overlay = image('icons/effects/contamination.dmi'
|
||||
for(var/obj/item/protection in list(wear_suit, gloves, shoes)) //This is why it's odd. If I'm in a full suit, but my shoes and gloves aren't phoron proof, damage.
|
||||
if(!protection)
|
||||
continue
|
||||
if(vsc.plc.PHORONGUARD_ONLY && !(protection.flags & PHORONGUARD))
|
||||
if(vsc.plc.PHORONGUARD_ONLY && !(protection.item_flags & PHORONGUARD))
|
||||
return 0
|
||||
coverage |= protection.body_parts_covered
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
/// The datum hosting the signal is automaticaly added as the first argument
|
||||
/// Returns a bitfield gathered from all registered procs
|
||||
/// Arguments given here are packaged in a list and given to _SendSignal
|
||||
#define SEND_SIGNAL(target, sigtype, arguments...) ( !target.comp_lookup || !target.comp_lookup[sigtype] ? NONE : target._SendSignal(sigtype, list(target, ##arguments)) )
|
||||
#define SEND_SIGNAL(target, sigtype, arguments...) ( !target.comp_lookup || !target.comp_lookup[sigtype] ? EMPTY_BITFIELD : target._SendSignal(sigtype, list(target, ##arguments)) )
|
||||
|
||||
#define SEND_GLOBAL_SIGNAL(sigtype, arguments...) ( SEND_SIGNAL(SSdcs, sigtype, ##arguments) )
|
||||
|
||||
|
||||
+25
-15
@@ -1,9 +1,5 @@
|
||||
//MARK ALL FLAG CHANGES IN _globals/bitfields.dm!
|
||||
//All flags should go in here if possible.
|
||||
#define ALL (~0) //For convenience.
|
||||
#define NONE 0
|
||||
#define EMPTY_BITFIELD 0
|
||||
|
||||
//for convenience
|
||||
#define ENABLE_BITFIELD(variable, flag) (variable |= (flag))
|
||||
#define DISABLE_BITFIELD(variable, flag) (variable &= ~(flag))
|
||||
#define CHECK_BITFIELD(variable, flag) (variable & (flag))
|
||||
@@ -22,28 +18,42 @@ GLOBAL_LIST_INIT(bitflags, list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204
|
||||
#define DF_ISPROCESSING (1<<1)
|
||||
#define DF_USE_TAG (1<<2)
|
||||
|
||||
// /atom/movable movement_type
|
||||
|
||||
/* -- /atom/movable/var/movement_type -- */
|
||||
|
||||
#define UNSTOPPABLE (1<<0) //Can not be stopped from moving from Cross(), CanPass(), or Uncross() failing. Still bumps everything it passes through, though.
|
||||
|
||||
// Flags bitmasks. - Used in /atom/var/flags
|
||||
#define NOBLUDGEON (1<<0) // When an item has this it produces no "X has been hit by Y with Z" message with the default handler.
|
||||
|
||||
/* -- /atom/var/atom_flags -- */
|
||||
|
||||
/// The atom has been initialized.
|
||||
#define ATOM_INITIALIZED (1<<0)
|
||||
|
||||
#define NOCONDUCT (1<<1) // Conducts electricity. (metal etc.)
|
||||
#define ON_BORDER (1<<2) // Item has priority to check when entering or leaving.
|
||||
#define NOBLOODY (1<<3) // Used for items if they don't want to get a blood overlay.
|
||||
#define OPENCONTAINER (1<<4) // Is an open container for chemistry purposes.
|
||||
#define PHORONGUARD (1<<5) // Does not get contaminated by phoron.
|
||||
#define NOREACT (1<<6) // Reagents don't react inside this container.
|
||||
#define OVERLAY_QUEUED (1<<7) // Atom is queued for an overlay update
|
||||
#define OPENCONTAINER (1<<3) // Is an open container for chemistry purposes.
|
||||
#define NOREACT (1<<4) // Reagents don't react inside this container.
|
||||
#define OVERLAY_QUEUED (1<<5) // Atom is queued for an overlay update
|
||||
#define NOJAUNT (1<<6) // blocks ethereal jaunt from landing/leaving on flagged turfs.
|
||||
#define SLANDMARK_FLAG_AUTOSET (1<<7) // If set, will set base area and turf type to same as where it was spawned at
|
||||
#define SLANDMARK_FLAG_ZERO_G (1<<8) // Zero-G shuttles moved here will lose gravity unless the area has ambient gravity.
|
||||
|
||||
|
||||
/* -- /obj/item/var/item_flags -- */
|
||||
|
||||
//Flags for items (equipment) - Used in /obj/item/var/item_flags
|
||||
#define THICKMATERIAL (1<<0) // Prevents syringes, parapens and hyposprays if equipped to slot_suit or slot_head.
|
||||
#define AIRTIGHT (1<<1) // Functions with internals.
|
||||
#define NOSLIP (1<<2) // Prevents from slipping on wet floors, in space, etc.
|
||||
#define BLOCK_GAS_SMOKE_EFFECT (1<<3) // Blocks the effect that chemical clouds would have on a mob -- glasses, mask and helmets ONLY! (NOTE: flag shared with ONESIZEFITSALL)
|
||||
#define FLEXIBLEMATERIAL (1<<4) // At the moment, masks with this flag will not prevent eating even if they are covering your face.
|
||||
#define ALLOW_SURVIVALFOOD (1<<5) // Allows special survival food items to be eaten through it
|
||||
#define NOBLOODY (1<<6) // Used for items if they don't want to get a blood overlay.
|
||||
#define NOBLUDGEON (1<<7) // When an item has this it produces no "X has been hit by Y with Z" message with the default handler.
|
||||
#define PHORONGUARD (1<<8) // Item does not get contaminated by phoron.
|
||||
|
||||
|
||||
/* -- /atom/var/pass_flags -- */
|
||||
|
||||
// Flags for pass_flags. - Used in /atom/var/pass_flags
|
||||
#define PASSTABLE (1<<0)
|
||||
#define PASSGLASS (1<<1)
|
||||
#define PASSGRILLE (1<<2)
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
#define DEBUG
|
||||
// Turf-only flags.
|
||||
#define NOJAUNT 1 // This is used in literally one place, turf.dm, to block ethereal jaunt.
|
||||
|
||||
#define TRANSITIONEDGE 1 // Distance from edge to move to another z-level.
|
||||
|
||||
|
||||
@@ -5,10 +5,6 @@
|
||||
#define SHUTTLE_FLAGS_ZERO_G 4 // Shuttle has no internal gravity generation
|
||||
#define SHUTTLE_FLAGS_ALL (~SHUTTLE_FLAGS_NONE)
|
||||
|
||||
// shuttle_landmark flags
|
||||
#define SLANDMARK_FLAG_AUTOSET 1 // If set, will set base area and turf type to same as where it was spawned at
|
||||
#define SLANDMARK_FLAG_ZERO_G 2 // Zero-G shuttles moved here will lose gravity unless the area has ambient gravity.
|
||||
|
||||
// Overmap landable shuttles (/obj/effect/overmap/visitable/ship/landable on a /datum/shuttle/autodock/overmap)
|
||||
#define SHIP_STATUS_LANDED 1 // Ship is at any other shuttle landmark.
|
||||
#define SHIP_STATUS_TRANSIT 2 // Ship is at it's shuttle datum's transition shuttle landmark.
|
||||
|
||||
@@ -183,7 +183,7 @@
|
||||
//Used for border objects. This returns true if this atom is on the border between the two specified turfs
|
||||
//This assumes that the atom is located inside the target turf
|
||||
/atom/proc/is_between_turfs(var/turf/origin, var/turf/target)
|
||||
if (flags & ON_BORDER)
|
||||
if (atom_flags & ON_BORDER)
|
||||
var/testdir = get_dir(target, origin)
|
||||
return (dir & testdir)
|
||||
return TRUE
|
||||
|
||||
@@ -121,7 +121,7 @@ Quick adjacency (to turf):
|
||||
for(var/obj/O in src)
|
||||
if( !O.density || O == target_atom || O.throwpass) continue // throwpass is used for anything you can click through
|
||||
|
||||
if( O.flags&ON_BORDER) // windows have throwpass but are on border, check them first
|
||||
if( O.atom_flags&ON_BORDER) // windows have throwpass but are on border, check them first
|
||||
if( O.dir & target_dir || O.dir&(O.dir-1) ) // full tile windows are just diagonals mechanically
|
||||
var/obj/structure/window/W = target_atom
|
||||
if(istype(W))
|
||||
@@ -141,4 +141,4 @@ Quick adjacency (to turf):
|
||||
useless. Throwpass may later need to be removed and replaced with a passcheck (bitfield on movable atom passflags).
|
||||
|
||||
Since I don't want to complicate the click code rework by messing with unrelated systems it won't be changed here.
|
||||
*/
|
||||
*/
|
||||
|
||||
@@ -90,7 +90,7 @@ avoid code duplication. This includes items that may sometimes act as a standard
|
||||
|
||||
//I would prefer to rename this attack_as_weapon(), but that would involve touching hundreds of files.
|
||||
/obj/item/proc/attack(mob/living/M, mob/living/user, var/target_zone, var/attack_modifier)
|
||||
if(!force || (flags & NOBLUDGEON))
|
||||
if(!force || (item_flags & NOBLUDGEON))
|
||||
return 0
|
||||
if(M == user && user.a_intent != I_HURT)
|
||||
return 0
|
||||
@@ -128,4 +128,4 @@ avoid code duplication. This includes items that may sometimes act as a standard
|
||||
|
||||
power *= attack_modifier
|
||||
|
||||
return target.hit_with_weapon(src, user, power, hit_zone)
|
||||
return target.hit_with_weapon(src, user, power, hit_zone)
|
||||
|
||||
@@ -65,7 +65,7 @@ var/global/const/tk_maxrange = 15
|
||||
desc = "Magic"
|
||||
icon = 'icons/obj/magic.dmi'//Needs sprites
|
||||
icon_state = "2"
|
||||
flags = NOBLUDGEON
|
||||
item_flags = NOBLUDGEON
|
||||
//item_state = null
|
||||
w_class = ITEMSIZE_NO_CONTAINER
|
||||
layer = HUD_LAYER
|
||||
|
||||
@@ -45,14 +45,14 @@ SUBSYSTEM_DEF(atoms)
|
||||
var/list/arguments
|
||||
for (var/i = 1 to length(created_atoms))
|
||||
created = created_atoms[i]
|
||||
if (!created.initialized)
|
||||
if (!(created.atom_flags & ATOM_INITIALIZED))
|
||||
arguments = created_atoms[created] ? mapload_arg + created_atoms[created] : mapload_arg
|
||||
InitAtom(created, arguments)
|
||||
CHECK_TICK
|
||||
created_atoms.Cut()
|
||||
if (!subsystem_initialized)
|
||||
for (var/atom/atom in world)
|
||||
if (!atom.initialized)
|
||||
if (!(atom.atom_flags & ATOM_INITIALIZED))
|
||||
InitAtom(atom, mapload_arg)
|
||||
++count
|
||||
CHECK_TICK
|
||||
@@ -90,7 +90,7 @@ SUBSYSTEM_DEF(atoms)
|
||||
bad_init_calls[atom_type] |= DID_NOT_RETURN_HINT
|
||||
if (!atom)
|
||||
qdeleted = TRUE
|
||||
else if (!atom.initialized)
|
||||
else if (!(atom.atom_flags & ATOM_INITIALIZED))
|
||||
bad_init_calls[atom_type] |= DID_NOT_SET_INITIALIZED
|
||||
return qdeleted || QDELING(atom)
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ SUBSYSTEM_DEF(overlays)
|
||||
icon_cache.Cut()
|
||||
cache_size = 0
|
||||
for (var/atom/atom)
|
||||
atom.flags &= ~OVERLAY_QUEUED
|
||||
atom.atom_flags &= ~OVERLAY_QUEUED
|
||||
CHECK_TICK
|
||||
|
||||
|
||||
@@ -85,7 +85,7 @@ SUBSYSTEM_DEF(overlays)
|
||||
result += GetIconAppearance(entry)
|
||||
else
|
||||
if (isloc(entry))
|
||||
if (entry.flags & OVERLAY_QUEUED)
|
||||
if (entry.atom_flags & OVERLAY_QUEUED)
|
||||
entry.ImmediateOverlayUpdate()
|
||||
if (!ispath(entry))
|
||||
result += entry.appearance
|
||||
@@ -97,10 +97,10 @@ SUBSYSTEM_DEF(overlays)
|
||||
|
||||
/// Enqueues the atom for an overlay update if not already queued
|
||||
/atom/proc/QueueOverlayUpdate()
|
||||
if (flags & OVERLAY_QUEUED)
|
||||
if (atom_flags & OVERLAY_QUEUED)
|
||||
return
|
||||
SSoverlays.queue += src
|
||||
flags |= OVERLAY_QUEUED
|
||||
atom_flags |= OVERLAY_QUEUED
|
||||
|
||||
|
||||
/// Builds the atom's overlay state from caches
|
||||
@@ -109,7 +109,7 @@ SUBSYSTEM_DEF(overlays)
|
||||
if (length(overlays))
|
||||
overlays.Cut()
|
||||
return
|
||||
flags &= ~OVERLAY_QUEUED
|
||||
atom_flags &= ~OVERLAY_QUEUED
|
||||
if (length(priority_overlays))
|
||||
if (length(our_overlays))
|
||||
overlays = priority_overlays + our_overlays
|
||||
|
||||
@@ -28,7 +28,7 @@ SUBSYSTEM_DEF(persistence)
|
||||
return
|
||||
|
||||
var/area/A = get_area(T)
|
||||
if(!A || (A.flags & AREA_FLAG_IS_NOT_PERSISTENT))
|
||||
if(!A || (A.atom_flags & AREA_FLAG_IS_NOT_PERSISTENT))
|
||||
return
|
||||
|
||||
// if((!T.z in GLOB.using_map.station_levels) || !initialized)
|
||||
|
||||
@@ -73,7 +73,7 @@ SUBSYSTEM_DEF(radiation)
|
||||
|
||||
if(source.respect_maint)
|
||||
var/area/A = T.loc
|
||||
if(A.flags & RAD_SHIELDED)
|
||||
if(A.atom_flags & RAD_SHIELDED)
|
||||
continue // In shielded area
|
||||
|
||||
var/dist = get_dist(source.source_turf, T)
|
||||
@@ -145,4 +145,4 @@ SUBSYSTEM_DEF(radiation)
|
||||
if(!(power && source))
|
||||
return
|
||||
var/turf/epicentre = locate(round(world.maxx / 2), round(world.maxy / 2), source.z)
|
||||
flat_radiate(epicentre, power, world.maxx, respect_maint)
|
||||
flat_radiate(epicentre, power, world.maxx, respect_maint)
|
||||
|
||||
@@ -312,10 +312,10 @@
|
||||
if(!length(target))
|
||||
var/datum/C = target
|
||||
if(!C.signal_enabled)
|
||||
return NONE
|
||||
return EMPTY_BITFIELD
|
||||
var/proctype = C.signal_procs[src][sigtype]
|
||||
return NONE | CallAsync(C, proctype, arguments)
|
||||
. = NONE
|
||||
return EMPTY_BITFIELD | CallAsync(C, proctype, arguments)
|
||||
. = EMPTY_BITFIELD
|
||||
for(var/I in target)
|
||||
var/datum/C = I
|
||||
if(!C.signal_enabled)
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
var/list/list/signal_procs // List of lists
|
||||
var/signal_enabled = FALSE
|
||||
var/weakref/weakref // Holder of weakref instance pointing to this datum
|
||||
var/datum_flags = NONE
|
||||
var/datum_flags = EMPTY_BITFIELD
|
||||
|
||||
#ifdef TESTING
|
||||
var/tmp/running_find_references
|
||||
|
||||
@@ -60,7 +60,7 @@
|
||||
IF_VV_OPTION(VV_HK_CALLPROC)
|
||||
usr.client.callproc_datum(src)
|
||||
IF_VV_OPTION(VV_HK_ADDCOMPONENT)
|
||||
if(!check_rights(NONE))
|
||||
if(!check_rights(EMPTY_BITFIELD))
|
||||
return
|
||||
var/list/names = list()
|
||||
var/list/componentsubtypes = sortTim(subtypesof(/datum/component), /proc/cmp_typepaths_asc)
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*/
|
||||
/datum/element
|
||||
/// Option flags for element behaviour
|
||||
var/element_flags = NONE
|
||||
var/element_flags = EMPTY_BITFIELD
|
||||
/**
|
||||
* The index of the first attach argument to consider for duplicate elements
|
||||
*
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
/// When the TGUI window is opened, "wires" will be appended to it's title, and it would become "APC wires".
|
||||
var/proper_name = "Unknown"
|
||||
/// The total number of wires that our holder atom has.
|
||||
var/wire_count = NONE
|
||||
var/wire_count = 0
|
||||
/// A list of all wires. For a list of valid wires defines that can go here, see `code/__DEFINES/wires.dm`
|
||||
var/list/wires
|
||||
/// A list of all cut wires. The same values that can go into `wires` will get added and removed from this list.
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
gender = PLURAL
|
||||
icon = 'icons/obj/soap.dmi'
|
||||
icon_state = "soap"
|
||||
flags = NOCONDUCT
|
||||
atom_flags = NOCONDUCT
|
||||
w_class = ITEMSIZE_SMALL
|
||||
slot_flags = SLOT_HOLSTER
|
||||
throwforce = 0
|
||||
|
||||
@@ -31,7 +31,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
|
||||
power_environ = 0
|
||||
base_turf = /turf/space
|
||||
ambience = AMBIENCE_SPACE
|
||||
flags = AREA_FLAG_IS_NOT_PERSISTENT
|
||||
area_flags = AREA_FLAG_IS_NOT_PERSISTENT
|
||||
|
||||
/area/space/atmosalert()
|
||||
return
|
||||
@@ -69,7 +69,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
|
||||
|
||||
/area/shuttle
|
||||
requires_power = 0
|
||||
flags = RAD_SHIELDED | AREA_FLAG_IS_NOT_PERSISTENT
|
||||
area_flags = RAD_SHIELDED | AREA_FLAG_IS_NOT_PERSISTENT
|
||||
sound_env = SMALL_ENCLOSED
|
||||
base_turf = /turf/space
|
||||
forbid_events = TRUE
|
||||
@@ -202,7 +202,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
|
||||
name = "\improper Alien base"
|
||||
icon_state = "yellow"
|
||||
requires_power = 0
|
||||
flags = AREA_FLAG_IS_NOT_PERSISTENT
|
||||
area_flags = AREA_FLAG_IS_NOT_PERSISTENT
|
||||
|
||||
// CENTCOM
|
||||
|
||||
@@ -211,7 +211,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
|
||||
icon_state = "centcom"
|
||||
requires_power = 0
|
||||
dynamic_lighting = 0
|
||||
flags = AREA_FLAG_IS_NOT_PERSISTENT
|
||||
area_flags = AREA_FLAG_IS_NOT_PERSISTENT
|
||||
|
||||
/area/centcom/control
|
||||
name = "\improper CentCom Control"
|
||||
@@ -290,7 +290,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
|
||||
requires_power = 0
|
||||
dynamic_lighting = 0
|
||||
ambience = AMBIENCE_HIGHSEC
|
||||
flags = AREA_FLAG_IS_NOT_PERSISTENT
|
||||
area_flags = AREA_FLAG_IS_NOT_PERSISTENT
|
||||
|
||||
/area/syndicate_mothership/control
|
||||
name = "\improper Mercenary Control Room"
|
||||
@@ -307,7 +307,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
|
||||
icon_state = "asteroid"
|
||||
requires_power = 0
|
||||
sound_env = ASTEROID
|
||||
flags = AREA_FLAG_IS_NOT_PERSISTENT
|
||||
area_flags = AREA_FLAG_IS_NOT_PERSISTENT
|
||||
|
||||
/area/asteroid/cave // -- TLE
|
||||
name = "\improper Moon - Underground"
|
||||
@@ -331,7 +331,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
|
||||
requires_power = 0
|
||||
dynamic_lighting = 0
|
||||
sound_env = ARENA
|
||||
flags = AREA_FLAG_IS_NOT_PERSISTENT
|
||||
area_flags = AREA_FLAG_IS_NOT_PERSISTENT
|
||||
|
||||
/area/tdome/tdome1
|
||||
name = "\improper Thunderdome (Team 1)"
|
||||
@@ -354,7 +354,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
|
||||
icon_state = "Virtual_Reality"
|
||||
dynamic_lighting = 0
|
||||
requires_power = 0
|
||||
flags = AREA_FLAG_IS_NOT_PERSISTENT
|
||||
area_flags = AREA_FLAG_IS_NOT_PERSISTENT
|
||||
|
||||
//ENEMY
|
||||
|
||||
@@ -363,10 +363,9 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
|
||||
name = "\improper Independent Station"
|
||||
icon_state = "yellow"
|
||||
requires_power = 0
|
||||
flags = RAD_SHIELDED
|
||||
area_flags = AREA_FLAG_IS_NOT_PERSISTENT | RAD_SHIELDED
|
||||
base_turf = /turf/space
|
||||
ambience = AMBIENCE_HIGHSEC
|
||||
flags = AREA_FLAG_IS_NOT_PERSISTENT
|
||||
|
||||
/area/syndicate_station/start
|
||||
name = "\improper Mercenary Forward Operating Base"
|
||||
@@ -422,7 +421,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
|
||||
requires_power = 0
|
||||
dynamic_lighting = 0
|
||||
ambience = AMBIENCE_OTHERWORLDLY
|
||||
flags = AREA_FLAG_IS_NOT_PERSISTENT
|
||||
area_flags = AREA_FLAG_IS_NOT_PERSISTENT
|
||||
|
||||
/area/skipjack_station
|
||||
name = "\improper Skipjack"
|
||||
@@ -430,7 +429,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
|
||||
requires_power = 0
|
||||
base_turf = /turf/space
|
||||
ambience = AMBIENCE_HIGHSEC
|
||||
flags = AREA_FLAG_IS_NOT_PERSISTENT
|
||||
area_flags = AREA_FLAG_IS_NOT_PERSISTENT
|
||||
|
||||
/area/skipjack_station/start
|
||||
name = "\improper Skipjack"
|
||||
@@ -465,7 +464,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
|
||||
name = "\improper Prison Station"
|
||||
icon_state = "brig"
|
||||
ambience = AMBIENCE_HIGHSEC
|
||||
flags = AREA_FLAG_IS_NOT_PERSISTENT
|
||||
area_flags = AREA_FLAG_IS_NOT_PERSISTENT
|
||||
|
||||
/area/prison/arrival_airlock
|
||||
name = "\improper Prison Station Airlock"
|
||||
@@ -555,7 +554,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
|
||||
//Maintenance
|
||||
|
||||
/area/maintenance
|
||||
flags = RAD_SHIELDED
|
||||
area_flags = RAD_SHIELDED
|
||||
sound_env = TUNNEL_ENCLOSED
|
||||
turf_initializer = new /datum/turf_initializer/maintenance()
|
||||
ambience = AMBIENCE_MAINTENANCE
|
||||
@@ -651,7 +650,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
|
||||
/area/maintenance/disposal
|
||||
name = "Waste Disposal"
|
||||
icon_state = "disposal"
|
||||
flags = AREA_FLAG_IS_NOT_PERSISTENT //If trash items got this far, they can be safely deleted.
|
||||
area_flags = AREA_FLAG_IS_NOT_PERSISTENT //If trash items got this far, they can be safely deleted.
|
||||
|
||||
/area/maintenance/engineering
|
||||
name = "Engineering Maintenance"
|
||||
@@ -966,12 +965,12 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
|
||||
/area/crew_quarters/heads/hop
|
||||
name = "\improper Command - HoP's Office"
|
||||
icon_state = "head_quarters"
|
||||
flags = AREA_FLAG_IS_NOT_PERSISTENT
|
||||
area_flags = AREA_FLAG_IS_NOT_PERSISTENT
|
||||
|
||||
/area/crew_quarters/heads/hor
|
||||
name = "\improper Research - RD's Office"
|
||||
icon_state = "head_quarters"
|
||||
flags = AREA_FLAG_IS_NOT_PERSISTENT
|
||||
area_flags = AREA_FLAG_IS_NOT_PERSISTENT
|
||||
|
||||
/area/crew_quarters/heads/chief
|
||||
name = "\improper Engineering - CE's Office"
|
||||
@@ -984,7 +983,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
|
||||
/area/crew_quarters/heads/cmo
|
||||
name = "\improper Medbay - CMO's Office"
|
||||
icon_state = "head_quarters"
|
||||
flags = AREA_FLAG_IS_NOT_PERSISTENT
|
||||
area_flags = AREA_FLAG_IS_NOT_PERSISTENT
|
||||
|
||||
/area/crew_quarters/courtroom
|
||||
name = "\improper Courtroom"
|
||||
@@ -1007,7 +1006,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
|
||||
/area/crew_quarters
|
||||
name = "\improper Dormitories"
|
||||
icon_state = "Sleep"
|
||||
flags = RAD_SHIELDED
|
||||
area_flags = RAD_SHIELDED
|
||||
ambience = AMBIENCE_GENERIC
|
||||
forbid_events = TRUE
|
||||
|
||||
@@ -1312,7 +1311,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
|
||||
dynamic_lighting = 0
|
||||
sound_env = LARGE_ENCLOSED
|
||||
forbid_events = TRUE
|
||||
flags = AREA_FLAG_IS_NOT_PERSISTENT
|
||||
area_flags = AREA_FLAG_IS_NOT_PERSISTENT
|
||||
|
||||
/area/holodeck/alphadeck
|
||||
name = "\improper Holodeck Alpha"
|
||||
@@ -1675,12 +1674,12 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
|
||||
/area/medical/surgery
|
||||
name = "\improper Operating Theatre 1"
|
||||
icon_state = "surgery"
|
||||
flags = AREA_FLAG_IS_NOT_PERSISTENT //This WOULD become a filth pit
|
||||
area_flags = AREA_FLAG_IS_NOT_PERSISTENT //This WOULD become a filth pit
|
||||
|
||||
/area/medical/surgery2
|
||||
name = "\improper Operating Theatre 2"
|
||||
icon_state = "surgery"
|
||||
flags = AREA_FLAG_IS_NOT_PERSISTENT
|
||||
area_flags = AREA_FLAG_IS_NOT_PERSISTENT
|
||||
|
||||
/area/medical/surgeryobs
|
||||
name = "\improper Operation Observation Room"
|
||||
@@ -1717,7 +1716,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
|
||||
/area/medical/sleeper
|
||||
name = "\improper Emergency Treatment Centre"
|
||||
icon_state = "exam_room"
|
||||
flags = AREA_FLAG_IS_NOT_PERSISTENT //Trust me.
|
||||
area_flags = AREA_FLAG_IS_NOT_PERSISTENT //Trust me.
|
||||
|
||||
/area/medical/first_aid_station_starboard
|
||||
name = "\improper Starboard First-Aid Station"
|
||||
@@ -1915,7 +1914,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
|
||||
/area/quartermaster/delivery
|
||||
name = "\improper Cargo - Delivery Office"
|
||||
icon_state = "quart"
|
||||
flags = AREA_FLAG_IS_NOT_PERSISTENT //So trash doesn't pile up too hard.
|
||||
area_flags = AREA_FLAG_IS_NOT_PERSISTENT //So trash doesn't pile up too hard.
|
||||
|
||||
/area/quartermaster/miningdock
|
||||
name = "\improper Cargo Mining Dock"
|
||||
@@ -1956,7 +1955,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
|
||||
/area/rnd/rdoffice
|
||||
name = "\improper Research Director's Office"
|
||||
icon_state = "head_quarters"
|
||||
flags = AREA_FLAG_IS_NOT_PERSISTENT
|
||||
area_flags = AREA_FLAG_IS_NOT_PERSISTENT
|
||||
|
||||
/area/rnd/supermatter
|
||||
name = "\improper Supermatter Lab"
|
||||
@@ -2079,7 +2078,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
|
||||
name = "\improper Derelict Station"
|
||||
icon_state = "storage"
|
||||
ambience = AMBIENCE_RUINS
|
||||
flags = AREA_FLAG_IS_NOT_PERSISTENT
|
||||
area_flags = AREA_FLAG_IS_NOT_PERSISTENT
|
||||
|
||||
/area/derelict/hallway/primary
|
||||
name = "\improper Derelict Primary Hallway"
|
||||
@@ -2180,7 +2179,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
|
||||
/area/constructionsite
|
||||
name = "\improper Construction Site"
|
||||
icon_state = "storage"
|
||||
flags = AREA_FLAG_IS_NOT_PERSISTENT
|
||||
area_flags = AREA_FLAG_IS_NOT_PERSISTENT
|
||||
|
||||
/area/constructionsite/storage
|
||||
name = "\improper Construction Site Storage Area"
|
||||
@@ -2366,7 +2365,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
|
||||
|
||||
/area/wreck
|
||||
ambience = AMBIENCE_RUINS
|
||||
flags = AREA_FLAG_IS_NOT_PERSISTENT
|
||||
area_flags = AREA_FLAG_IS_NOT_PERSISTENT
|
||||
|
||||
/area/wreck/ai
|
||||
name = "\improper AI Chamber"
|
||||
@@ -2443,7 +2442,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
|
||||
name = "\improper Strange Location"
|
||||
icon_state = "away"
|
||||
ambience = AMBIENCE_FOREBODING
|
||||
flags = AREA_FLAG_IS_NOT_PERSISTENT
|
||||
area_flags = AREA_FLAG_IS_NOT_PERSISTENT
|
||||
|
||||
/area/awaymission/example
|
||||
name = "\improper Strange Station"
|
||||
|
||||
@@ -13,12 +13,17 @@
|
||||
plane = PLANE_LIGHTING_ABOVE //In case we color them
|
||||
luminosity = 0
|
||||
mouse_opacity = 0
|
||||
|
||||
var/area_flags = 0
|
||||
|
||||
var/lightswitch = 1
|
||||
|
||||
var/eject = null
|
||||
|
||||
var/debug = 0
|
||||
|
||||
var/requires_power = 1
|
||||
|
||||
var/always_unpowered = 0 //this gets overriden to 1 for space in area/Initialize()
|
||||
|
||||
// Power channel status - Is it currently energized?
|
||||
@@ -541,4 +546,4 @@ GLOBAL_DATUM(spoiler_obfuscation_image, /image)
|
||||
if(should_obfuscate)
|
||||
add_overlay(GLOB.spoiler_obfuscation_image)
|
||||
else
|
||||
cut_overlay(GLOB.spoiler_obfuscation_image)
|
||||
cut_overlay(GLOB.spoiler_obfuscation_image)
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
/area/mine
|
||||
icon_state = "mining"
|
||||
sound_env = ASTEROID
|
||||
flags = AREA_FLAG_IS_NOT_PERSISTENT
|
||||
area_flags = AREA_FLAG_IS_NOT_PERSISTENT
|
||||
|
||||
/area/mine/explored
|
||||
name = "Mine"
|
||||
@@ -28,22 +28,22 @@
|
||||
/area/outpost/mining_north
|
||||
name = "North Mining Outpost"
|
||||
icon_state = "outpost_mine_north"
|
||||
flags = AREA_FLAG_IS_NOT_PERSISTENT
|
||||
area_flags = AREA_FLAG_IS_NOT_PERSISTENT
|
||||
|
||||
/area/outpost/mining_west
|
||||
name = "West Mining Outpost"
|
||||
icon_state = "outpost_mine_west"
|
||||
flags = AREA_FLAG_IS_NOT_PERSISTENT
|
||||
area_flags = AREA_FLAG_IS_NOT_PERSISTENT
|
||||
|
||||
/area/outpost/abandoned
|
||||
name = "Abandoned Outpost"
|
||||
icon_state = "dark"
|
||||
flags = AREA_FLAG_IS_NOT_PERSISTENT
|
||||
area_flags = AREA_FLAG_IS_NOT_PERSISTENT
|
||||
|
||||
// Main mining outpost
|
||||
/area/outpost/mining_main
|
||||
icon_state = "outpost_mine_main"
|
||||
flags = AREA_FLAG_IS_NOT_PERSISTENT
|
||||
area_flags = AREA_FLAG_IS_NOT_PERSISTENT
|
||||
|
||||
/area/outpost/mining_main/airlock
|
||||
name = "Mining Outpost Airlock"
|
||||
@@ -95,7 +95,7 @@
|
||||
// Engineering Outpost
|
||||
/area/outpost/engineering
|
||||
icon_state = "outpost_engine"
|
||||
flags = AREA_FLAG_IS_NOT_PERSISTENT
|
||||
area_flags = AREA_FLAG_IS_NOT_PERSISTENT
|
||||
|
||||
/area/outpost/engineering/hallway
|
||||
name = "Engineering Outpost Hallway"
|
||||
@@ -169,7 +169,7 @@
|
||||
// Research Outpost
|
||||
/area/outpost/research
|
||||
icon_state = "outpost_research"
|
||||
flags = AREA_FLAG_IS_NOT_PERSISTENT
|
||||
area_flags = AREA_FLAG_IS_NOT_PERSISTENT
|
||||
|
||||
/area/outpost/research/hallway
|
||||
name = "Research Outpost Hallway"
|
||||
|
||||
+16
-9
@@ -1,7 +1,7 @@
|
||||
/atom
|
||||
layer = TURF_LAYER //This was here when I got here. Why though?
|
||||
var/level = 2
|
||||
var/flags = 0
|
||||
var/atom_flags = 0
|
||||
var/list/fingerprints
|
||||
var/list/fingerprintshidden
|
||||
var/fingerprintslast = null
|
||||
@@ -55,7 +55,7 @@ var/global/list/pre_init_created_atoms // atom creation ordering means some stuf
|
||||
//atom creation method that preloads variables at creation
|
||||
if(global.use_preloader && (src.type == global._preloader.target_path))//in case the instanciated atom is creating other atoms in New()
|
||||
global._preloader.load(src)
|
||||
|
||||
|
||||
var/do_initialize = SSatoms?.atom_init_stage
|
||||
if(do_initialize > INITIALIZATION_INSSATOMS_LATE)
|
||||
args[1] = do_initialize == INITIALIZATION_INNEW_MAPLOAD
|
||||
@@ -79,11 +79,16 @@ var/global/list/pre_init_created_atoms // atom creation ordering means some stuf
|
||||
/atom/proc/Initialize(mapload, ...)
|
||||
SHOULD_CALL_PARENT(TRUE)
|
||||
SHOULD_NOT_SLEEP(TRUE)
|
||||
if(QDELETED(src))
|
||||
crash_with("GC: -- [type] had initialize() called after qdel() --")
|
||||
if(initialized)
|
||||
if (atom_flags & ATOM_INITIALIZED)
|
||||
crash_with("Warning: [src]([type]) initialized multiple times!")
|
||||
initialized = TRUE
|
||||
atom_flags |= ATOM_INITIALIZED
|
||||
if (QDELING(src))
|
||||
crash_with("GC: -- [type] had Initialize() called after qdel() --")
|
||||
if (light_power && light_range)
|
||||
update_light()
|
||||
if (opacity && isturf(loc))
|
||||
var/turf/T = loc
|
||||
T.has_opaque_atom = TRUE
|
||||
return INITIALIZE_HINT_NORMAL
|
||||
|
||||
// Called after all object's normal initialize() if initialize() returns INITIALIZE_HINT_LATELOAD
|
||||
@@ -121,7 +126,7 @@ var/global/list/pre_init_created_atoms // atom creation ordering means some stuf
|
||||
// returns true if open
|
||||
// false if closed
|
||||
/atom/proc/is_open_container()
|
||||
return flags & OPENCONTAINER
|
||||
return atom_flags & OPENCONTAINER
|
||||
|
||||
/*//Convenience proc to see whether a container can be accessed in a certain way.
|
||||
|
||||
@@ -429,8 +434,10 @@ var/global/list/pre_init_created_atoms // atom creation ordering means some stuf
|
||||
//returns 1 if made bloody, returns 0 otherwise
|
||||
/atom/proc/add_blood(mob/living/carbon/human/M as mob)
|
||||
|
||||
if(flags & NOBLOODY)
|
||||
return 0
|
||||
if (isitem(src))
|
||||
var/obj/item/item = src
|
||||
if(item.item_flags & NOBLOODY)
|
||||
return 0
|
||||
|
||||
if(!blood_DNA || !istype(blood_DNA, /list)) //if our list of DNA doesn't exist yet (or isn't a list) initialise it.
|
||||
blood_DNA = list()
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
var/old_y = 0
|
||||
var/datum/riding/riding_datum = null
|
||||
var/does_spin = TRUE // Does the atom spin when thrown (of course it does :P)
|
||||
var/movement_type = NONE
|
||||
var/movement_type = EMPTY_BITFIELD
|
||||
|
||||
var/cloaked = FALSE //If we're cloaked or not
|
||||
var/image/cloaked_selfimage //The image we use for our client to let them see where we are
|
||||
@@ -337,7 +337,7 @@
|
||||
return
|
||||
|
||||
// Call our thingy to inform everyone we moved
|
||||
Moved(oldloc, NONE, TRUE)
|
||||
Moved(oldloc, EMPTY_BITFIELD, TRUE)
|
||||
|
||||
// Break pulling if we are too far to pull now.
|
||||
if(pulledby && (pulledby.z != src.z || get_dist(pulledby, src) > 1))
|
||||
@@ -698,4 +698,4 @@
|
||||
return selfimage
|
||||
|
||||
/atom/movable/proc/get_cell()
|
||||
return
|
||||
return
|
||||
|
||||
@@ -37,8 +37,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 = 0 //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)
|
||||
item_flags = 0
|
||||
allowed = list(/obj/item/flashlight, /obj/item/tank/emergency/oxygen, /obj/item/tank/oxygen)
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) //No armor at all.
|
||||
canremove = 0
|
||||
@@ -57,7 +56,7 @@
|
||||
name = "flesh mass"
|
||||
icon_state = "lingspacehelmet"
|
||||
desc = "A covering of pressure and temperature-resistant organic tissue with a glass-like chitin front."
|
||||
flags = BLOCKHAIR //Again, no THICKMATERIAL.
|
||||
flags_inv = BLOCKHAIR
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||
body_parts_covered = HEAD|FACE|EYES
|
||||
canremove = 0
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
health = 150
|
||||
visible = 0.0
|
||||
use_power = USE_POWER_OFF
|
||||
flags = ON_BORDER
|
||||
atom_flags = ON_BORDER
|
||||
opacity = 0
|
||||
var/obj/item/airlock_electronics/electronics = null
|
||||
explosion_resistance = 5
|
||||
|
||||
@@ -167,7 +167,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 & NOCONDUCT))
|
||||
if(!M.anchored && !(M.atom_flags & NOCONDUCT))
|
||||
step_towards(M, center)
|
||||
|
||||
for(var/mob/living/silicon/S in orange(magnetic_field, center))
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
/obj/item/mecha_parts/mecha_equipment/tool/syringe_gun/Initialize()
|
||||
. = ..()
|
||||
flags |= NOREACT
|
||||
atom_flags |= NOREACT
|
||||
syringes = new
|
||||
known_reagents = list("inaprovaline"="Inaprovaline","anti_toxin"="Dylovene")
|
||||
processed_reagents = new
|
||||
@@ -31,7 +31,7 @@
|
||||
|
||||
/obj/item/mecha_parts/mecha_equipment/tool/syringe_gun/critfail()
|
||||
..()
|
||||
flags &= ~NOREACT
|
||||
atom_flags &= ~NOREACT
|
||||
return
|
||||
|
||||
/obj/item/mecha_parts/mecha_equipment/tool/syringe_gun/get_equip_info()
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
|
||||
/obj/item/reagent_containers/glass/beaker/vial/random
|
||||
flags = 0
|
||||
atom_flags = 0
|
||||
var/list/random_reagent_list = list(list("water" = 15) = 1, list("cleaner" = 15) = 1)
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
/obj/item/reagent_containers/glass/beaker/vial/random/Initialize()
|
||||
. = ..()
|
||||
if(is_open_container())
|
||||
flags ^= OPENCONTAINER
|
||||
atom_flags ^= OPENCONTAINER
|
||||
var/list/picked_reagents = pickweight(random_reagent_list)
|
||||
for(var/reagent in picked_reagents)
|
||||
reagents.add_reagent(reagent, picked_reagents[reagent])
|
||||
|
||||
@@ -105,7 +105,7 @@
|
||||
plane = TURF_PLANE
|
||||
layer = ABOVE_TURF_LAYER
|
||||
w_class = ITEMSIZE_LARGE
|
||||
flags = NOBLOODY
|
||||
item_flags = NOBLOODY
|
||||
var/circuit = /obj/item/circuitboard/geiger
|
||||
var/number = 0
|
||||
var/last_tick //used to delay the powercheck
|
||||
@@ -170,4 +170,4 @@
|
||||
|
||||
/obj/item/geiger/wall/west
|
||||
pixel_x = -28
|
||||
dir = WEST
|
||||
dir = WEST
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
anchored = 1
|
||||
w_class = ITEMSIZE_LARGE
|
||||
canhear_range = 2
|
||||
flags = NOBLOODY
|
||||
item_flags = NOBLOODY
|
||||
var/circuit = /obj/item/circuitboard/intercom
|
||||
var/number = 0
|
||||
var/wiresexposed = 0
|
||||
@@ -195,4 +195,4 @@
|
||||
|
||||
/obj/item/radio/intercom/locked/confessional
|
||||
name = "confessional intercom"
|
||||
frequency = 1480
|
||||
frequency = 1480
|
||||
|
||||
@@ -381,7 +381,7 @@ HALOGEN COUNTER - Radcount on mobs
|
||||
drop_sound = 'sound/items/drop/device.ogg'
|
||||
icon_state = "spectrometer"
|
||||
w_class = ITEMSIZE_SMALL
|
||||
flags = OPENCONTAINER
|
||||
atom_flags = OPENCONTAINER
|
||||
slot_flags = SLOT_BELT
|
||||
throwforce = 5
|
||||
throw_speed = 4
|
||||
@@ -463,7 +463,7 @@ HALOGEN COUNTER - Radcount on mobs
|
||||
return
|
||||
|
||||
if(!isnull(O.reagents))
|
||||
if(!(O.flags & OPENCONTAINER)) // The idea is that the scanner has to touch the reagents somehow. This is done to prevent cheesing unidentified autoinjectors.
|
||||
if(!(O.atom_flags & OPENCONTAINER)) // The idea is that the scanner has to touch the reagents somehow. This is done to prevent cheesing unidentified autoinjectors.
|
||||
to_chat(user, span("warning", "\The [O] is sealed, and cannot be scanned by \the [src] until unsealed."))
|
||||
return
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
icon_state = "jar"
|
||||
w_class = ITEMSIZE_SMALL
|
||||
matter = list("glass" = 200)
|
||||
flags = NOBLUDGEON
|
||||
item_flags = NOBLUDGEON
|
||||
var/list/accept_mobs = list(/mob/living/simple_mob/animal/passive/lizard, /mob/living/simple_mob/animal/passive/mouse, /mob/living/simple_mob/animal/sif/leech, /mob/living/simple_mob/animal/sif/frostfly, /mob/living/simple_mob/animal/sif/glitterfly)
|
||||
var/contains = 0 // 0 = nothing, 1 = money, 2 = animal, 3 = spiderling
|
||||
drop_sound = 'sound/items/drop/glass.ogg'
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
throwforce = 1.0
|
||||
throw_speed = 5
|
||||
throw_range = 20
|
||||
flags = 0
|
||||
atom_flags = 0
|
||||
origin_tech = list(TECH_BIO = 1)
|
||||
no_variants = FALSE
|
||||
drop_sound = 'sound/items/drop/herb.ogg'
|
||||
@@ -64,7 +64,7 @@
|
||||
throwforce = 1.0
|
||||
throw_speed = 5
|
||||
throw_range = 20
|
||||
flags = 0
|
||||
atom_flags = 0
|
||||
no_variants = FALSE
|
||||
drop_sound = 'sound/items/drop/wooden.ogg'
|
||||
pickup_sound = 'sound/items/pickup/wooden.ogg'
|
||||
@@ -112,7 +112,7 @@
|
||||
throwforce = 1.0
|
||||
throw_speed = 5
|
||||
throw_range = 20
|
||||
flags = 0
|
||||
atom_flags = 0
|
||||
no_variants = FALSE
|
||||
drop_sound = 'sound/items/drop/cloth.ogg'
|
||||
pickup_sound = 'sound/items/pickup/cloth.ogg'
|
||||
@@ -244,7 +244,7 @@
|
||||
throwforce = 1.0
|
||||
throw_speed = 5
|
||||
throw_range = 20
|
||||
flags = 0
|
||||
atom_flags = 0
|
||||
no_variants = FALSE
|
||||
|
||||
/obj/item/stack/tile/wmarble
|
||||
@@ -256,7 +256,7 @@
|
||||
throwforce = 15.0
|
||||
throw_speed = 5
|
||||
throw_range = 20
|
||||
flags = 0
|
||||
atom_flags = 0
|
||||
no_variants = FALSE
|
||||
|
||||
/obj/item/stack/tile/bmarble
|
||||
@@ -268,7 +268,7 @@
|
||||
throwforce = 15.0
|
||||
throw_speed = 5
|
||||
throw_range = 20
|
||||
flags = 0
|
||||
atom_flags = 0
|
||||
no_variants = FALSE
|
||||
|
||||
/obj/item/stack/tile/roofing
|
||||
@@ -283,4 +283,4 @@
|
||||
uses_charge = 1
|
||||
charge_costs = list(250)
|
||||
stacktype = /obj/item/stack/tile/roofing
|
||||
build_type = /obj/item/stack/tile/roofing
|
||||
build_type = /obj/item/stack/tile/roofing
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
item_state = "rcd"
|
||||
drop_sound = 'sound/items/drop/gun.ogg'
|
||||
pickup_sound = 'sound/items/pickup/gun.ogg'
|
||||
flags = NOBLUDGEON
|
||||
item_flags = NOBLUDGEON
|
||||
force = 10
|
||||
throwforce = 10
|
||||
throw_speed = 1
|
||||
|
||||
@@ -16,8 +16,8 @@
|
||||
item_icons = list(
|
||||
slot_l_hand_str = 'icons/mob/items/lefthand.dmi',
|
||||
slot_r_hand_str = 'icons/mob/items/righthand.dmi',
|
||||
)
|
||||
flags = NOBLUDGEON
|
||||
)
|
||||
item_flags = NOBLUDGEON
|
||||
force = 10
|
||||
throwforce = 10
|
||||
throw_speed = 1
|
||||
@@ -183,7 +183,7 @@
|
||||
activate()
|
||||
animate_deletion(A)
|
||||
return
|
||||
|
||||
|
||||
if((mode & PAINT_MODE)) //Paint pipes
|
||||
if(istype(A, /obj/machinery/atmospherics/pipe))
|
||||
var/obj/machinery/atmospherics/pipe/P = A
|
||||
@@ -291,4 +291,4 @@
|
||||
#undef BUILD_MODE
|
||||
#undef WRENCH_MODE
|
||||
#undef DESTROY_MODE
|
||||
#undef PAINT_MODE
|
||||
#undef PAINT_MODE
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
|
||||
/obj/item/clothing/mask/chewable/Initialize()
|
||||
. = ..()
|
||||
flags |= NOREACT // so it doesn't react until you light it
|
||||
atom_flags |= NOREACT // so it doesn't react until you light it
|
||||
create_reagents(chem_volume) // making the cigarrete a chemical holder with a maximum volume of 15
|
||||
for(var/R in filling)
|
||||
reagents.add_reagent(R, filling[R])
|
||||
@@ -262,4 +262,4 @@
|
||||
if(chewtime < 1)
|
||||
if(ismob(loc))
|
||||
to_chat(loc, SPAN_NOTICE("There's no more of \the [name] left!"))
|
||||
spitout(0)
|
||||
spitout(0)
|
||||
|
||||
@@ -105,7 +105,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
|
||||
|
||||
/obj/item/clothing/mask/smokable/Initialize()
|
||||
. = ..()
|
||||
flags |= NOREACT // so it doesn't react until you light it
|
||||
atom_flags |= NOREACT // so it doesn't react until you light it
|
||||
create_reagents(chem_volume) // making the cigarrete a chemical holder with a maximum volume of 15
|
||||
if(smoketime && !max_smoketime)
|
||||
max_smoketime = smoketime
|
||||
@@ -118,7 +118,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
|
||||
if(ishuman(loc))
|
||||
var/mob/living/carbon/human/C = loc
|
||||
if (src == C.wear_mask && C.check_has_mouth()) // if it's in the human/monkey mouth, transfer reagents to the mob
|
||||
reagents.trans_to_mob(C, amount, CHEM_INGEST, 1.5) // I don't predict significant balance issues by letting blunts actually WORK.
|
||||
reagents.trans_to_mob(C, amount, CHEM_INGEST, 1.5) // I don't predict significant balance issues by letting blunts actually WORK.
|
||||
else // else just remove some of the reagents
|
||||
reagents.remove_any(REM)
|
||||
|
||||
@@ -183,7 +183,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
|
||||
e.start()
|
||||
qdel(src)
|
||||
return
|
||||
flags &= ~NOREACT // allowing reagents to react after being lit
|
||||
atom_flags &= ~NOREACT // allowing reagents to react after being lit
|
||||
reagents.handle_reactions()
|
||||
var/turf/T = get_turf(src)
|
||||
T.visible_message(flavor_text)
|
||||
@@ -705,4 +705,4 @@ CIGARETTE PACKETS ARE IN FANCY.DM
|
||||
|
||||
/obj/item/flame/lighter/zippo/rainbow
|
||||
name = "\improper rainbow Zippo lighter"
|
||||
icon_state = "rainbowzippo"
|
||||
icon_state = "rainbowzippo"
|
||||
|
||||
@@ -153,7 +153,7 @@
|
||||
icon_state = "ecartridge"
|
||||
matter = list("metal" = 50, "glass" = 10)
|
||||
volume = 20
|
||||
flags = OPENCONTAINER
|
||||
atom_flags = OPENCONTAINER
|
||||
|
||||
/obj/item/reagent_containers/ecig_cartridge/Initialize()
|
||||
. = ..()
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
icon = 'icons/obj/assemblies.dmi'
|
||||
icon_state = "plastic-explosive0"
|
||||
item_state = "plasticx"
|
||||
flags = NOBLUDGEON
|
||||
item_flags = NOBLUDGEON
|
||||
w_class = ITEMSIZE_SMALL
|
||||
origin_tech = list(TECH_ILLEGAL = 2)
|
||||
var/datum/wires/explosive/c4/wires = null
|
||||
@@ -81,7 +81,7 @@
|
||||
target = get_atom_on_turf(src)
|
||||
if(!target)
|
||||
target = src
|
||||
|
||||
|
||||
var/turf/T = get_turf(target)
|
||||
if (!T && length(location))
|
||||
T = locate(location[1], location[2], location[3])
|
||||
@@ -126,4 +126,4 @@
|
||||
blast_flash = blast_light + round(new_blast_power * 0.75)
|
||||
else
|
||||
to_chat(user, "<span class='notice'>The [I] is not any better than the component already installed into this charge!</span>")
|
||||
return .
|
||||
return .
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
matter[material_type] *= force_divisor // May require a new var instead.
|
||||
|
||||
if(!(material.conductive))
|
||||
src.flags |= NOCONDUCT
|
||||
atom_flags |= NOCONDUCT
|
||||
|
||||
/obj/item/material/get_material()
|
||||
return material
|
||||
|
||||
@@ -7,7 +7,8 @@
|
||||
sharp = 0
|
||||
edge = 0
|
||||
armor_penetration = 50
|
||||
flags = NOCONDUCT | NOBLOODY
|
||||
atom_flags = NOCONDUCT
|
||||
item_flags = NOBLOODY
|
||||
var/lrange = 2
|
||||
var/lpower = 2
|
||||
var/lcolor = "#0099FF"
|
||||
@@ -267,7 +268,7 @@
|
||||
throw_speed = 1
|
||||
throw_range = 5
|
||||
w_class = ITEMSIZE_SMALL
|
||||
flags = NOBLOODY
|
||||
item_flags = NOBLOODY
|
||||
origin_tech = list(TECH_MAGNET = 3, TECH_ILLEGAL = 4)
|
||||
sharp = 1
|
||||
edge = 1
|
||||
@@ -354,7 +355,7 @@
|
||||
sharp = 1
|
||||
edge = 1
|
||||
armor_penetration = 0
|
||||
flags = NOBLOODY
|
||||
item_flags = NOBLOODY
|
||||
lrange = 2
|
||||
lpower = 2
|
||||
lcolor = "#0000FF"
|
||||
@@ -427,7 +428,7 @@
|
||||
throw_speed = 1
|
||||
throw_range = 1
|
||||
w_class = ITEMSIZE_LARGE//So you can't hide it in your pocket or some such.
|
||||
flags = NOBLOODY
|
||||
item_flags = NOBLOODY
|
||||
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
|
||||
var/mob/living/creator
|
||||
var/datum/effect_system/spark_spread/spark_system
|
||||
|
||||
@@ -10,7 +10,7 @@ GLOBAL_LIST_BOILERPLATE(all_mops, /obj/item/mop)
|
||||
throw_speed = 5
|
||||
throw_range = 10
|
||||
w_class = ITEMSIZE_NORMAL
|
||||
flags = NOCONDUCT
|
||||
atom_flags = NOCONDUCT
|
||||
attack_verb = list("mopped", "bashed", "bludgeoned", "whacked")
|
||||
var/mopping = 0
|
||||
var/mopcount = 0
|
||||
|
||||
@@ -15,7 +15,7 @@ var/global/list/cached_icons = list()
|
||||
possible_transfer_amounts = list(10,20,30,60)
|
||||
volume = 60
|
||||
unacidable = 0
|
||||
flags = OPENCONTAINER
|
||||
atom_flags = OPENCONTAINER
|
||||
var/paint_type = "red"
|
||||
|
||||
/obj/item/reagent_containers/glass/paint/afterattack(turf/simulated/target, mob/user, proximity)
|
||||
@@ -67,4 +67,3 @@ var/global/list/cached_icons = list()
|
||||
/obj/item/reagent_containers/glass/paint/white
|
||||
icon_state = "paint_white"
|
||||
paint_type = "white"
|
||||
|
||||
|
||||
@@ -118,7 +118,7 @@
|
||||
icon_state = "eshield"
|
||||
item_state = "eshield"
|
||||
slot_flags = SLOT_EARS
|
||||
flags = NOCONDUCT
|
||||
atom_flags = NOCONDUCT
|
||||
force = 3.0
|
||||
throwforce = 5.0
|
||||
throw_speed = 1
|
||||
|
||||
@@ -219,9 +219,9 @@
|
||||
|
||||
/obj/item/storage/fancy/cigarettes/Initialize()
|
||||
. = ..()
|
||||
flags |= NOREACT
|
||||
atom_flags |= NOREACT
|
||||
create_reagents(15 * storage_slots)//so people can inject cigarettes without opening a packet, now with being able to inject the whole one
|
||||
flags |= OPENCONTAINER
|
||||
atom_flags |= OPENCONTAINER
|
||||
if(brand)
|
||||
for(var/obj/item/clothing/mask/smokable/cigarette/C in src)
|
||||
C.brand = brand
|
||||
@@ -333,7 +333,7 @@
|
||||
|
||||
/obj/item/storage/fancy/cigar/Initialize()
|
||||
. = ..()
|
||||
flags |= NOREACT
|
||||
atom_flags |= NOREACT
|
||||
create_reagents(15 * storage_slots)
|
||||
|
||||
/obj/item/storage/fancy/cigar/update_icon()
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
sharp = 0
|
||||
edge = 0
|
||||
throwforce = 7
|
||||
flags = NOCONDUCT
|
||||
atom_flags = NOCONDUCT
|
||||
w_class = ITEMSIZE_NORMAL
|
||||
drop_sound = 'sound/items/drop/metalweapon.ogg'
|
||||
pickup_sound = 'sound/items/pickup/metalweapon.ogg'
|
||||
@@ -264,4 +264,4 @@
|
||||
|
||||
// Borg version, for the lost module.
|
||||
/obj/item/melee/baton/shocker/robot
|
||||
use_external_power = TRUE
|
||||
use_external_power = TRUE
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
for (var/obj/item/grab/G in H.grabbed_by)
|
||||
if (G.loc == user && G.state >= GRAB_AGGRESSIVE)
|
||||
return TRUE
|
||||
|
||||
|
||||
return FALSE
|
||||
|
||||
/obj/item/tape_roll/attack(var/mob/living/carbon/human/H, var/mob/user)
|
||||
@@ -116,15 +116,13 @@
|
||||
icon = 'icons/obj/bureaucracy.dmi'
|
||||
icon_state = "tape"
|
||||
w_class = ITEMSIZE_TINY
|
||||
item_flags = NOBLUDGEON
|
||||
plane = MOB_PLANE
|
||||
anchored = FALSE
|
||||
drop_sound = null
|
||||
|
||||
var/obj/item/stuck = null
|
||||
|
||||
/obj/item/ducttape/Initialize()
|
||||
. = ..()
|
||||
flags |= NOBLUDGEON
|
||||
|
||||
/obj/item/ducttape/examine(mob/user)
|
||||
return stuck.examine(user)
|
||||
|
||||
@@ -237,7 +237,7 @@
|
||||
if(!istype(W))
|
||||
return
|
||||
|
||||
if((W.flags & NOCONDUCT) || !shock(user, 70, pick(BP_L_HAND, BP_R_HAND)))
|
||||
if((W.atom_flags & NOCONDUCT) || !shock(user, 70, pick(BP_L_HAND, BP_R_HAND)))
|
||||
user.setClickCooldown(user.get_attack_speed(W))
|
||||
user.do_attack_animation(src)
|
||||
playsound(src, 'sound/effects/grillehit.ogg', 40, 1)
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
var/parts
|
||||
var/list/climbers = list()
|
||||
var/block_turf_edges = FALSE // If true, turf edge icons will not be made on the turf this occupies.
|
||||
|
||||
|
||||
var/list/connections = list("0", "0", "0", "0")
|
||||
var/list/other_connections = list("0", "0", "0", "0")
|
||||
var/list/blend_objects = newlist() // Objects which to blend with
|
||||
@@ -93,7 +93,7 @@
|
||||
if(istype(O,/obj/structure))
|
||||
var/obj/structure/S = O
|
||||
if(S.climbable) continue
|
||||
if(O && O.density && !(O.flags & ON_BORDER)) //ON_BORDER structures are handled by the Adjacent() check.
|
||||
if(O && O.density && !(O.atom_flags & ON_BORDER)) //ON_BORDER structures are handled by the Adjacent() check.
|
||||
return O
|
||||
return 0
|
||||
|
||||
|
||||
@@ -150,7 +150,7 @@
|
||||
return
|
||||
//window placing end
|
||||
|
||||
else if((W.flags & NOCONDUCT) || !shock(user, 70))
|
||||
else if((W.atom_flags & NOCONDUCT) || !shock(user, 70))
|
||||
user.setClickCooldown(user.get_attack_speed(W))
|
||||
user.do_attack_animation(src)
|
||||
playsound(src, 'sound/effects/grillehit.ogg', 80, 1)
|
||||
@@ -286,4 +286,3 @@
|
||||
health -= damage
|
||||
spawn(1) healthcheck()
|
||||
return 1
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ GLOBAL_LIST_BOILERPLATE(all_janitorial_carts, /obj/structure/janitorialcart)
|
||||
icon_state = "cart"
|
||||
anchored = 0
|
||||
density = 1
|
||||
flags = OPENCONTAINER
|
||||
atom_flags = OPENCONTAINER
|
||||
climbable = TRUE
|
||||
//copypaste sorry
|
||||
var/amount_per_transfer_from_this = 5 //shit I dunno, adding this so syringes stop runtime erroring. --NeoFite
|
||||
@@ -304,7 +304,7 @@ GLOBAL_LIST_BOILERPLATE(all_janitorial_carts, /obj/structure/janitorialcart)
|
||||
icon_state = "pussywagon"
|
||||
anchored = 1
|
||||
density = 1
|
||||
flags = OPENCONTAINER
|
||||
atom_flags = OPENCONTAINER
|
||||
//copypaste sorry
|
||||
var/amount_per_transfer_from_this = 5 //shit I dunno, adding this so syringes stop runtime erroring. --NeoFite
|
||||
var/obj/item/storage/bag/trash/mybag = null
|
||||
|
||||
@@ -7,13 +7,13 @@
|
||||
climbable = 1
|
||||
anchored = 1
|
||||
var/solidledge = 1
|
||||
flags = ON_BORDER
|
||||
atom_flags = ON_BORDER
|
||||
layer = STAIRS_LAYER
|
||||
icon_state = "ledge"
|
||||
|
||||
/obj/structure/ledge_corner
|
||||
icon_state = "ledge-corner"
|
||||
flags = 0
|
||||
atom_flags = 0
|
||||
name = "rock ledge"
|
||||
desc = "An easily scaleable rocky ledge."
|
||||
icon = 'icons/obj/ledges.dmi'
|
||||
@@ -82,4 +82,4 @@
|
||||
if(occupied)
|
||||
to_chat(user, "<span class='danger'>You can't climb there, there's \a [occupied] in the way.</span>")
|
||||
return 0
|
||||
return 1
|
||||
return 1
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
climbable = 1
|
||||
w_class = ITEMSIZE_NORMAL
|
||||
pressure_resistance = 5
|
||||
flags = OPENCONTAINER
|
||||
atom_flags = OPENCONTAINER
|
||||
var/amount_per_transfer_from_this = 5 //shit I dunno, adding this so syringes stop runtime erroring. --NeoFite
|
||||
|
||||
GLOBAL_LIST_BOILERPLATE(all_mopbuckets, /obj/structure/mopbucket)
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
climbable = 1
|
||||
layer = WINDOW_LAYER
|
||||
anchored = 1
|
||||
flags = ON_BORDER
|
||||
atom_flags = ON_BORDER
|
||||
icon_state = "railing0"
|
||||
var/broken = FALSE
|
||||
var/health = 70
|
||||
@@ -326,5 +326,5 @@
|
||||
if(istype(O,/obj/structure))
|
||||
var/obj/structure/S = O
|
||||
if(S.climbable) continue
|
||||
if(O && O.density && !(O.flags & ON_BORDER && !(turn(O.dir, 180) & dir)))
|
||||
if(O && O.density && !(O.atom_flags & ON_BORDER && !(turn(O.dir, 180) & dir)))
|
||||
return O
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
layer = WINDOW_LAYER
|
||||
pressure_resistance = 4*ONE_ATMOSPHERE
|
||||
anchored = 1.0
|
||||
flags = ON_BORDER
|
||||
atom_flags = ON_BORDER
|
||||
var/maxhealth = 14.0
|
||||
var/maximal_heat = T0C + 100 // Maximal heat before this window begins taking damage from fire
|
||||
var/damage_per_fire_tick = 2.0 // Amount of damage per fire tick. Regular windows are not fireproof so they might as well break quickly.
|
||||
@@ -262,7 +262,7 @@
|
||||
hit(50)
|
||||
return
|
||||
|
||||
if(W.flags & NOBLUDGEON) return
|
||||
if(W.item_flags & NOBLUDGEON) return
|
||||
|
||||
if(W.is_screwdriver())
|
||||
if(reinf && state >= 1)
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
|
||||
/turf/Initialize(mapload)
|
||||
. = ..()
|
||||
|
||||
|
||||
for(var/atom/movable/AM in src)
|
||||
Entered(AM)
|
||||
|
||||
@@ -196,7 +196,7 @@
|
||||
mover.Bump(thing)
|
||||
continue
|
||||
else
|
||||
if(!firstbump || ((thing.layer > firstbump.layer || thing.flags & ON_BORDER) && !(firstbump.flags & ON_BORDER)))
|
||||
if(!firstbump || ((thing.layer > firstbump.layer || thing.atom_flags & ON_BORDER) && !(firstbump.atom_flags & ON_BORDER)))
|
||||
firstbump = thing
|
||||
if(QDELETED(mover)) //Mover deleted from Cross/CanPass/Bump, do not proceed.
|
||||
return FALSE
|
||||
@@ -216,7 +216,7 @@
|
||||
continue
|
||||
var/atom/movable/thing = i
|
||||
if(!thing.Uncross(mover, newloc))
|
||||
if(thing.flags & ON_BORDER)
|
||||
if(thing.atom_flags & ON_BORDER)
|
||||
mover.Bump(thing)
|
||||
if(!CHECK_BITFIELD(mover.movement_type, UNSTOPPABLE))
|
||||
return FALSE
|
||||
@@ -271,7 +271,7 @@
|
||||
if(density)
|
||||
return 1
|
||||
for(var/atom/A in src)
|
||||
if(A.density && !(A.flags & ON_BORDER))
|
||||
if(A.density && !(A.atom_flags & ON_BORDER))
|
||||
return 1
|
||||
return 0
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
description_info = "Some blob types will have core effects when the chunk is used in-hand, toggled with an alt click, or constantly active."
|
||||
icon = 'icons/mob/blob.dmi'
|
||||
icon_state = "blobcore"
|
||||
flags = OPENCONTAINER
|
||||
atom_flags = OPENCONTAINER
|
||||
var/datum/blob_type/blob_type // The blob type this dropped from.
|
||||
|
||||
var/active_ability_cooldown = 20 SECONDS
|
||||
|
||||
@@ -103,6 +103,6 @@
|
||||
#ifdef CARDINAL_INPUT_ONLY
|
||||
|
||||
/// Movement dir of the most recently pressed movement key. Used in cardinal-only movement mode.
|
||||
var/last_move_dir_pressed = NONE
|
||||
var/last_move_dir_pressed = EMPTY_BITFIELD
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -356,7 +356,7 @@
|
||||
H.drop_from_inventory(ring) //Remove the ring (or other under-glove item in the hand slot?) so you can put on the gloves.
|
||||
ring.forceMove(src)
|
||||
to_chat(user, "You slip \the [src] on over \the [src.ring].")
|
||||
if(!(flags & THICKMATERIAL))
|
||||
if(!(item_flags & THICKMATERIAL))
|
||||
punch_force += ring.punch_force
|
||||
else
|
||||
ring = null
|
||||
|
||||
@@ -169,7 +169,7 @@ BLIND // can't see anything
|
||||
/obj/item/clothing/glasses/night/vox
|
||||
name = "Alien Optics"
|
||||
species_restricted = list("Vox")
|
||||
flags = PHORONGUARD
|
||||
item_flags = PHORONGUARD
|
||||
|
||||
/obj/item/clothing/glasses/night/Initialize()
|
||||
. = ..()
|
||||
@@ -542,7 +542,7 @@ BLIND // can't see anything
|
||||
item_state_slots = list(slot_r_hand_str = "sunglasses", slot_l_hand_str = "sunglasses")
|
||||
toggleable = 1
|
||||
action_button_name = "Toggle Monocle"
|
||||
flags = null //doesn't protect eyes because it's a monocle, duh
|
||||
atom_flags = 0
|
||||
|
||||
body_parts_covered = 0
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/obj/item/clothing/glasses/hud
|
||||
name = "HUD"
|
||||
desc = "A heads-up display that provides important info in (almost) real time."
|
||||
flags = 0 //doesn't protect eyes because it's a monocle, duh
|
||||
atom_flags = 0 //doesn't protect eyes because it's a monocle, duh
|
||||
origin_tech = list(TECH_MAGNET = 3, TECH_BIO = 2)
|
||||
|
||||
/obj/item/clothing/glasses/hud/health
|
||||
|
||||
@@ -109,7 +109,7 @@
|
||||
name = "insulated gauntlets"
|
||||
icon_state = "gloves-vox"
|
||||
item_state = "gloves-vox"
|
||||
flags = PHORONGUARD
|
||||
item_flags = PHORONGUARD
|
||||
siemens_coefficient = 0
|
||||
permeability_coefficient = 0.05
|
||||
species_restricted = list("Vox")
|
||||
@@ -127,7 +127,7 @@
|
||||
icon_state = "knuckledusters"
|
||||
matter = list(MAT_STEEL = 500)
|
||||
attack_verb = list("punched", "beaten", "struck")
|
||||
flags = THICKMATERIAL // Stops rings from increasing hit strength
|
||||
item_flags = THICKMATERIAL // Stops rings from increasing hit strength
|
||||
siemens_coefficient = 1
|
||||
fingerprint_chance = 100
|
||||
overgloves = 1
|
||||
@@ -166,4 +166,4 @@
|
||||
glovecolor = "orange"
|
||||
|
||||
/obj/item/clothing/gloves/ranger/yellow
|
||||
glovecolor = "yellow"
|
||||
glovecolor = "yellow"
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
icon_state = "helmet"
|
||||
valid_accessory_slots = (ACCESSORY_SLOT_HELM_C)
|
||||
restricted_accessory_slots = (ACCESSORY_SLOT_HELM_C)
|
||||
flags = THICKMATERIAL
|
||||
item_flags = THICKMATERIAL
|
||||
armor = list(melee = 40, bullet = 30, laser = 30, energy = 10, bomb = 10, bio = 0, rad = 0)
|
||||
flags_inv = HIDEEARS|BLOCKHEADHAIR
|
||||
cold_protection = HEAD
|
||||
@@ -127,7 +127,7 @@
|
||||
name = "explorer hood"
|
||||
desc = "An armoured hood for exploring harsh environments."
|
||||
icon_state = "explorer"
|
||||
flags = THICKMATERIAL
|
||||
item_flags = THICKMATERIAL
|
||||
min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE
|
||||
siemens_coefficient = 0.9
|
||||
armor = list(melee = 30, bullet = 20, laser = 20, energy = 20, bomb = 35, bio = 75, rad = 35)
|
||||
@@ -267,4 +267,3 @@
|
||||
name = "emergency response team medical helmet"
|
||||
desc = "A set of armor worn by medical members of the NanoTrasen Emergency Response Team. Has red and white highlights."
|
||||
icon_state = "erthelmet_med"
|
||||
|
||||
|
||||
@@ -188,7 +188,7 @@
|
||||
name = "explorer hood"
|
||||
desc = "An armoured hood for exploring harsh environments."
|
||||
icon_state = "explorer"
|
||||
flags = THICKMATERIAL
|
||||
item_flags = THICKMATERIAL
|
||||
min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE
|
||||
siemens_coefficient = 0.9
|
||||
armor = list(melee = 30, bullet = 20, laser = 20, energy = 20, bomb = 35, bio = 75, rad = 35)
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
sprite_sheets = list(
|
||||
SPECIES_TESHARI = 'icons/mob/species/teshari/pilot_helmet.dmi'
|
||||
)
|
||||
flags = THICKMATERIAL
|
||||
item_flags = THICKMATERIAL
|
||||
armor = list(melee = 20, bullet = 10, laser = 10, energy = 5, bomb = 10, bio = 0, rad = 0)
|
||||
flags_inv = HIDEEARS
|
||||
cold_protection = HEAD
|
||||
@@ -198,4 +198,4 @@
|
||||
else
|
||||
src.icon_state = initial(icon_state)
|
||||
to_chat(user, "You lower the visor on the pilot helmet.")
|
||||
update_clothing_icon() //so our mob-overlays update
|
||||
update_clothing_icon() //so our mob-overlays update
|
||||
|
||||
@@ -85,8 +85,7 @@
|
||||
/obj/item/clothing/mask/gas/swat/vox
|
||||
name = "alien mask"
|
||||
desc = "Clearly not designed for a human face."
|
||||
flags = PHORONGUARD
|
||||
item_flags = BLOCK_GAS_SMOKE_EFFECT | AIRTIGHT
|
||||
item_flags = BLOCK_GAS_SMOKE_EFFECT | AIRTIGHT | PHORONGUARD
|
||||
species_restricted = list(SPECIES_VOX)
|
||||
filtered_gases = list("oxygen", "phoron", "nitrous_oxide")
|
||||
action_button_name = "Toggle Feeding Port"
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
//Reagent Rings
|
||||
|
||||
/obj/item/clothing/gloves/ring/reagent
|
||||
flags = OPENCONTAINER
|
||||
atom_flags = OPENCONTAINER
|
||||
origin_tech = list(TECH_MATERIAL = 2, TECH_ILLEGAL = 4)
|
||||
|
||||
/obj/item/clothing/gloves/ring/reagent/Initialize()
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
desc = "Magnetic boots, often used during extravehicular activity to ensure the user remains safely attached to the vehicle. They're large enough to be worn over other footwear."
|
||||
name = "magboots"
|
||||
icon_state = "magboots0"
|
||||
flags = PHORONGUARD
|
||||
item_flags = PHORONGUARD
|
||||
item_state_slots = list(slot_r_hand_str = "magboots", slot_l_hand_str = "magboots")
|
||||
species_restricted = null
|
||||
center_of_mass = list("x" = 17,"y" = 12)
|
||||
@@ -88,7 +88,7 @@
|
||||
name = "vox magclaws"
|
||||
item_state = "boots-vox"
|
||||
icon_state = "boots-vox"
|
||||
flags = PHORONGUARD
|
||||
item_flags = PHORONGUARD
|
||||
species_restricted = list(SPECIES_VOX)
|
||||
|
||||
action_button_name = "Toggle the magclaws"
|
||||
@@ -126,4 +126,4 @@
|
||||
/obj/item/clothing/shoes/magboots/vox/examine(mob/user)
|
||||
. = ..()
|
||||
if(magpulse)
|
||||
. += "It would be hard to take these off without relaxing your grip first." // Theoretically this message should only be seen by the wearer when the claws are equipped.
|
||||
. += "It would be hard to take these off without relaxing your grip first." // Theoretically this message should only be seen by the wearer when the claws are equipped.
|
||||
|
||||
@@ -31,8 +31,7 @@
|
||||
// Can't be equipped by any other species due to bone structure and vox cybernetics.
|
||||
/obj/item/clothing/suit/space/vox
|
||||
w_class = ITEMSIZE_NORMAL
|
||||
flags = PHORONGUARD
|
||||
item_flags = THICKMATERIAL
|
||||
item_flags = THICKMATERIAL | PHORONGUARD
|
||||
allowed = list(/obj/item/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/melee/energy/sword,/obj/item/handcuffs,/obj/item/tank)
|
||||
armor = list(melee = 60, bullet = 50, laser = 40,energy = 15, bomb = 30, bio = 100, rad = 50)
|
||||
siemens_coefficient = 0.2
|
||||
@@ -43,8 +42,7 @@
|
||||
/obj/item/clothing/head/helmet/space/vox
|
||||
armor = list(melee = 60, bullet = 50, laser = 40, energy = 15, bomb = 30, bio = 100, rad = 50)
|
||||
siemens_coefficient = 0.2
|
||||
flags = PHORONGUARD
|
||||
item_flags = THICKMATERIAL | AIRTIGHT
|
||||
item_flags = THICKMATERIAL | AIRTIGHT | PHORONGUARD
|
||||
flags_inv = 0
|
||||
species_restricted = list(SPECIES_VOX)
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
name = "hardsuit control module"
|
||||
icon = 'icons/obj/rig_modules.dmi'
|
||||
desc = "A back-mounted hardsuit deployment and control mechanism."
|
||||
flags = PHORONGUARD
|
||||
item_flags = PHORONGUARD
|
||||
slot_flags = SLOT_BACK
|
||||
req_one_access = list()
|
||||
req_access = list()
|
||||
|
||||
@@ -23,8 +23,7 @@
|
||||
|
||||
/obj/item/clothing/gloves/gauntlets/rig
|
||||
name = "gauntlets"
|
||||
flags = PHORONGUARD
|
||||
item_flags = THICKMATERIAL
|
||||
item_flags = THICKMATERIAL | PHORONGUARD
|
||||
body_parts_covered = HANDS
|
||||
heat_protection = HANDS
|
||||
cold_protection = HANDS
|
||||
@@ -119,7 +118,7 @@
|
||||
body_parts_covered = HEAD|FACE|EYES
|
||||
heat_protection = HEAD|FACE|EYES
|
||||
cold_protection = HEAD|FACE|EYES
|
||||
flags = THICKMATERIAL|AIRTIGHT
|
||||
item_flags = THICKMATERIAL|AIRTIGHT
|
||||
species_restricted = null
|
||||
|
||||
/obj/item/clothing/suit/lightrig
|
||||
@@ -129,7 +128,7 @@
|
||||
heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
|
||||
cold_protection = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
|
||||
flags_inv = HIDEJUMPSUIT
|
||||
flags = THICKMATERIAL
|
||||
item_flags = THICKMATERIAL
|
||||
species_restricted = null
|
||||
|
||||
/obj/item/clothing/shoes/lightrig
|
||||
@@ -142,7 +141,7 @@
|
||||
|
||||
/obj/item/clothing/gloves/gauntlets/lightrig
|
||||
name = "gloves"
|
||||
flags = THICKMATERIAL
|
||||
item_flags = THICKMATERIAL
|
||||
body_parts_covered = HANDS
|
||||
heat_protection = HANDS
|
||||
cold_protection = HANDS
|
||||
|
||||
@@ -47,8 +47,7 @@
|
||||
suit_type = "alien"
|
||||
icon_state = "vox_rig"
|
||||
armor = list(melee = 60, bullet = 50, laser = 40, energy = 15, bomb = 30, bio = 100, rad = 50)
|
||||
flags = PHORONGUARD
|
||||
item_flags = THICKMATERIAL
|
||||
item_flags = THICKMATERIAL | PHORONGUARD
|
||||
siemens_coefficient = 0.2
|
||||
offline_slowdown = 2.5
|
||||
allowed = list(
|
||||
@@ -123,4 +122,4 @@
|
||||
/obj/item/rig_module/vision,
|
||||
/obj/item/rig_module/power_sink,
|
||||
/obj/item/rig_module/self_destruct
|
||||
)
|
||||
)
|
||||
|
||||
@@ -80,7 +80,7 @@
|
||||
/obj/item/clothing/shoes/lightrig/hacker
|
||||
siemens_coefficient = 0.4
|
||||
step_volume_mod = 0.3 //Special sneaky cyber-soles, for infiltration.
|
||||
flags = NOSLIP //They're not magboots, so they're not super good for exterior hull walking, BUT for interior infiltration they'll do swell.
|
||||
item_flags = NOSLIP //They're not magboots, so they're not super good for exterior hull walking, BUT for interior infiltration they'll do swell.
|
||||
|
||||
/obj/item/clothing/gloves/gauntlets/rig/light/hacker
|
||||
siemens_coefficient = 0
|
||||
|
||||
@@ -8,8 +8,7 @@
|
||||
desc = "A special helmet designed for work in a hazardous, low-pressure environment."
|
||||
randpixel = 0
|
||||
center_of_mass = null
|
||||
flags = PHORONGUARD
|
||||
item_flags = THICKMATERIAL | AIRTIGHT | ALLOW_SURVIVALFOOD
|
||||
item_flags = THICKMATERIAL | AIRTIGHT | ALLOW_SURVIVALFOOD | PHORONGUARD
|
||||
permeability_coefficient = 0.01
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 50)
|
||||
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|BLOCKHAIR
|
||||
@@ -72,8 +71,7 @@
|
||||
w_class = ITEMSIZE_HUGE // So you can't fit this in your bag and be prepared at all times.
|
||||
gas_transfer_coefficient = 0.01
|
||||
permeability_coefficient = 0.02
|
||||
flags = PHORONGUARD
|
||||
item_flags = THICKMATERIAL
|
||||
item_flags = THICKMATERIAL | PHORONGUARD
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
|
||||
allowed = list(/obj/item/flashlight,/obj/item/tank/emergency/oxygen,/obj/item/suit_cooling_unit)
|
||||
slowdown = 1.5
|
||||
|
||||
@@ -543,7 +543,7 @@
|
||||
name = "explorer suit"
|
||||
desc = "A lightweight explorer plate carrier. It can be equipped with armor plates, but only protects from the cold on it's own."
|
||||
icon_state = "explorer"
|
||||
flags = THICKMATERIAL
|
||||
item_flags = THICKMATERIAL
|
||||
min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE
|
||||
cold_protection = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
|
||||
|
||||
@@ -639,4 +639,4 @@
|
||||
starting_accessories = list(/obj/item/clothing/accessory/armor/armorplate/bulletproof, /obj/item/clothing/accessory/armor/armguards/bulletproof, /obj/item/clothing/accessory/armor/legguards/bulletproof, /obj/item/clothing/accessory/storage/pouches)
|
||||
|
||||
/obj/item/clothing/suit/armor/pcarrier/riot/full
|
||||
starting_accessories = list(/obj/item/clothing/accessory/armor/armorplate/riot, /obj/item/clothing/accessory/armor/armguards/riot, /obj/item/clothing/accessory/armor/legguards/riot, /obj/item/clothing/accessory/storage/pouches)
|
||||
starting_accessories = list(/obj/item/clothing/accessory/armor/armorplate/riot, /obj/item/clothing/accessory/armor/armguards/riot, /obj/item/clothing/accessory/armor/legguards/riot, /obj/item/clothing/accessory/storage/pouches)
|
||||
|
||||
@@ -10,8 +10,7 @@
|
||||
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|BLOCKHAIR
|
||||
body_parts_covered = HEAD|FACE|EYES
|
||||
siemens_coefficient = 0.9
|
||||
flags = PHORONGUARD
|
||||
item_flags = THICKMATERIAL | ALLOW_SURVIVALFOOD
|
||||
item_flags = THICKMATERIAL | ALLOW_SURVIVALFOOD | PHORONGUARD
|
||||
|
||||
/obj/item/clothing/suit/bio_suit
|
||||
name = "bio suit"
|
||||
@@ -26,8 +25,7 @@
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 20)
|
||||
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL|HIDETIE|HIDEHOLSTER
|
||||
siemens_coefficient = 0.9
|
||||
flags = PHORONGUARD
|
||||
item_flags = THICKMATERIAL
|
||||
item_flags = THICKMATERIAL | PHORONGUARD
|
||||
|
||||
//Standard biosuit, orange stripe
|
||||
/obj/item/clothing/head/bio_hood/general
|
||||
@@ -92,4 +90,4 @@
|
||||
desc = "It protected doctors from the Black Death, back then. You bet your arse it's gonna help you against viruses."
|
||||
icon_state = "plaguedoctor"
|
||||
item_state_slots = list(slot_r_hand_str = "bio", slot_l_hand_str = "bio")
|
||||
flags_inv = HIDEGLOVES|HIDEJUMPSUIT|HIDETAIL|HIDETIE|HIDEHOLSTER
|
||||
flags_inv = HIDEGLOVES|HIDEJUMPSUIT|HIDETAIL|HIDETIE|HIDEHOLSTER
|
||||
|
||||
@@ -381,7 +381,7 @@
|
||||
desc = "An armoured suit for exploring harsh environments."
|
||||
icon_state = "explorer"
|
||||
item_state = "explorer"
|
||||
flags = THICKMATERIAL
|
||||
item_flags = THICKMATERIAL
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
|
||||
min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE
|
||||
cold_protection = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
has_sensor = 0
|
||||
species_restricted = list(SPECIES_VOX)
|
||||
starting_accessories = list(/obj/item/clothing/accessory/storage/vox) // Dont' start with a backback, so free webbing
|
||||
flags = PHORONGUARD
|
||||
item_flags = PHORONGUARD
|
||||
|
||||
/obj/item/clothing/under/vox/vox_utility
|
||||
name = "alien clothing"
|
||||
@@ -22,9 +22,7 @@
|
||||
name = "alien mesh"
|
||||
desc = "An alien mesh. Seems to be made up mostly of pockets and writhing flesh."
|
||||
icon_state = "webbing-vox"
|
||||
|
||||
flags = PHORONGUARD
|
||||
|
||||
item_flags = PHORONGUARD
|
||||
slots = 3
|
||||
|
||||
/obj/item/clothing/accessory/storage/vox/Initialize()
|
||||
|
||||
@@ -23,7 +23,8 @@
|
||||
possible_transfer_amounts = list(5)
|
||||
volume = 10
|
||||
can_be_placed_into = null
|
||||
flags = OPENCONTAINER | NOBLUDGEON
|
||||
atom_flags = OPENCONTAINER
|
||||
item_flags = NOBLUDGEON
|
||||
unacidable = 0
|
||||
drop_sound = 'sound/items/drop/cloth.ogg'
|
||||
pickup_sound = 'sound/items/pickup/cloth.ogg'
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
var/list/stored = list()
|
||||
w_class = ITEMSIZE_SMALL
|
||||
item_state = "electronic"
|
||||
flags = NOBLUDGEON
|
||||
item_flags = NOBLUDGEON
|
||||
slot_flags = SLOT_BELT
|
||||
|
||||
var/reveal_fingerprints = TRUE
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
desc = "Swipe your ID card to make purchases electronically."
|
||||
icon = 'icons/obj/stationobjs.dmi'
|
||||
icon_state = "register_idle"
|
||||
flags = NOBLUDGEON
|
||||
req_access = list(access_heads)
|
||||
anchored = 1
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
pickup_sound = 'sound/items/pickup/device.ogg'
|
||||
drop_sound = 'sound/items/drop/device.ogg'
|
||||
icon_state = "retail_idle"
|
||||
flags = NOBLUDGEON
|
||||
item_flags = NOBLUDGEON
|
||||
slot_flags = SLOT_BELT
|
||||
req_access = list(access_heads)
|
||||
w_class = ITEMSIZE_SMALL
|
||||
@@ -425,4 +425,4 @@
|
||||
account_to_connect = "Cargo"
|
||||
|
||||
/obj/item/retail_scanner/civilian
|
||||
account_to_connect = "Civilian"
|
||||
account_to_connect = "Civilian"
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
if(!(S.z in affecting_z))
|
||||
continue
|
||||
var/area/A = get_area(S)
|
||||
if(!A || A.flags & RAD_SHIELDED) // Rad shielding will protect from ions too
|
||||
if(!A || A.area_flags & RAD_SHIELDED) // Rad shielding will protect from ions too
|
||||
continue
|
||||
to_chat(S, "<span class='warning'>Your integrated sensors detect an ionospheric anomaly. Your systems will be impacted as you begin a partial restart.</span>")
|
||||
var/ionbug = rand(3, 9)
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
var/area/A = get_area(C)
|
||||
if(!A)
|
||||
continue
|
||||
if(A.flags & RAD_SHIELDED)
|
||||
if(A.area_flags & RAD_SHIELDED)
|
||||
continue
|
||||
if(istype(C,/mob/living/carbon/human))
|
||||
var/mob/living/carbon/human/H = C
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
|
||||
armor_stats += "\n"
|
||||
|
||||
if(flags & AIRTIGHT)
|
||||
if(item_flags & AIRTIGHT)
|
||||
armor_stats += "It is airtight. \n"
|
||||
|
||||
if(min_pressure_protection == 0)
|
||||
@@ -54,7 +54,7 @@
|
||||
if(max_pressure_protection != null)
|
||||
armor_stats += "Wearing this will protect you from high pressures. \n"
|
||||
|
||||
if(flags & THICKMATERIAL)
|
||||
if(item_flags & THICKMATERIAL)
|
||||
armor_stats += "The material is exceptionally thick. \n"
|
||||
|
||||
if(max_heat_protection_temperature == FIRESUIT_MAX_HEAT_PROTECTION_TEMPERATURE)
|
||||
@@ -80,4 +80,4 @@
|
||||
if(slots.len)
|
||||
armor_stats += "It can be worn on your [english_list(slots)]. \n"
|
||||
|
||||
return armor_stats
|
||||
return armor_stats
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
var/contain_state = "net_full"
|
||||
|
||||
w_class = ITEMSIZE_SMALL
|
||||
flags = NOBLUDGEON
|
||||
item_flags = NOBLUDGEON
|
||||
|
||||
slowdown = 0.5
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ var/global/const/DRINK_ICON_NOISY = "_noise"
|
||||
|
||||
amount_per_transfer_from_this = 5
|
||||
possible_transfer_amounts = list(5,10,15,30)
|
||||
flags = OPENCONTAINER
|
||||
atom_flags = OPENCONTAINER
|
||||
|
||||
matter = list("glass" = 60)
|
||||
|
||||
@@ -163,4 +163,4 @@ var/global/const/DRINK_ICON_NOISY = "_noise"
|
||||
if(afterattack(target, user)) //Check to see if harm intent & splash.
|
||||
return
|
||||
else
|
||||
..() //If they're splashed, no need to do anything else.
|
||||
..() //If they're splashed, no need to do anything else.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/obj/item/reagent_containers/food/drinks/cans
|
||||
volume = 40 //just over one and a half cups
|
||||
amount_per_transfer_from_this = 5
|
||||
flags = 0 //starts closed
|
||||
atom_flags = 0 //starts closed
|
||||
drop_sound = 'sound/items/drop/soda.ogg'
|
||||
pickup_sound = 'sound/items/pickup/soda.ogg'
|
||||
|
||||
@@ -371,4 +371,4 @@
|
||||
|
||||
/obj/item/reagent_containers/food/drinks/cans/alecan/Initialize()
|
||||
. = ..()
|
||||
reagents.add_reagent("ale", 30)
|
||||
reagents.add_reagent("ale", 30)
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
desc = "Just your average condiment container."
|
||||
icon = 'icons/obj/food.dmi'
|
||||
icon_state = "emptycondiment"
|
||||
flags = OPENCONTAINER
|
||||
atom_flags = OPENCONTAINER
|
||||
possible_transfer_amounts = list(1,5,10)
|
||||
center_of_mass = list("x"=16, "y"=6)
|
||||
volume = 50
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
drop_sound = 'sound/items/drop/drinkglass.ogg'
|
||||
pickup_sound = 'sound/items/pickup/drinkglass.ogg'
|
||||
icon_state = null
|
||||
flags = OPENCONTAINER
|
||||
atom_flags = OPENCONTAINER
|
||||
amount_per_transfer_from_this = 5
|
||||
possible_transfer_amounts = list(5,10,15,25,30)
|
||||
volume = 50
|
||||
@@ -49,10 +49,10 @@
|
||||
playsound(src,"canopen", rand(10,50), 1)
|
||||
GLOB.cans_opened_roundstat++
|
||||
to_chat(user, "<span class='notice'>You open [src] with an audible pop!</span>")
|
||||
flags |= OPENCONTAINER
|
||||
atom_flags |= OPENCONTAINER
|
||||
|
||||
/obj/item/reagent_containers/food/drinks/attack(mob/M as mob, mob/user as mob, def_zone)
|
||||
if(force && !(flags & NOBLUDGEON) && user.a_intent == I_HURT)
|
||||
if(force && !(item_flags & NOBLUDGEON) && user.a_intent == I_HURT)
|
||||
return ..()
|
||||
|
||||
if(standard_feed_mob(user, M))
|
||||
@@ -124,7 +124,7 @@
|
||||
amount_per_transfer_from_this = 20
|
||||
possible_transfer_amounts = null
|
||||
volume = 150
|
||||
flags = OPENCONTAINER
|
||||
atom_flags = OPENCONTAINER
|
||||
|
||||
/obj/item/reagent_containers/food/drinks/golden_cup/on_reagent_change()
|
||||
..()
|
||||
@@ -418,4 +418,4 @@
|
||||
desc = "Keeping your drinks at the perfect temperature since 1892."
|
||||
icon_state = "vacuumflask"
|
||||
volume = 60
|
||||
center_of_mass = list("x"=15, "y"=4)
|
||||
center_of_mass = list("x"=15, "y"=4)
|
||||
|
||||
@@ -119,14 +119,14 @@
|
||||
to_chat(user, "<span class='notice'>You stuff [R] into [src].</span>")
|
||||
rag = R
|
||||
rag.forceMove(src)
|
||||
flags &= ~OPENCONTAINER
|
||||
atom_flags &= ~OPENCONTAINER
|
||||
update_icon()
|
||||
|
||||
/obj/item/reagent_containers/food/drinks/bottle/proc/remove_rag(mob/user)
|
||||
if(!rag) return
|
||||
user.put_in_hands(rag)
|
||||
rag = null
|
||||
flags |= (initial(flags) & OPENCONTAINER)
|
||||
atom_flags |= (initial(atom_flags) & OPENCONTAINER)
|
||||
update_icon()
|
||||
|
||||
/obj/item/reagent_containers/food/drinks/bottle/open(mob/user)
|
||||
@@ -182,7 +182,7 @@
|
||||
throw_speed = 3
|
||||
throw_range = 5
|
||||
item_state = "beer"
|
||||
flags = NOCONDUCT
|
||||
atom_flags = NOCONDUCT
|
||||
attack_verb = list("stabbed", "slashed", "attacked")
|
||||
sharp = 1
|
||||
edge = 0
|
||||
@@ -625,7 +625,7 @@
|
||||
/obj/item/reagent_containers/food/drinks/bottle/small
|
||||
volume = 50
|
||||
smash_duration = 1
|
||||
flags = 0 //starts closed
|
||||
atom_flags = 0 //starts closed
|
||||
rag_underlay = "rag_small"
|
||||
|
||||
/obj/item/reagent_containers/food/drinks/bottle/small/beer
|
||||
@@ -732,4 +732,4 @@
|
||||
|
||||
/obj/item/reagent_containers/food/drinks/bottle/small/dr_gibb/Initialize()
|
||||
. = ..()
|
||||
reagents.add_reagent("dr_gibb", 50)
|
||||
reagents.add_reagent("dr_gibb", 50)
|
||||
|
||||
@@ -1816,7 +1816,7 @@
|
||||
filling_color = "#ADAC7F"
|
||||
center_of_mass = list("x"=16, "y"=14)
|
||||
w_class = ITEMSIZE_TINY
|
||||
flags = OPENCONTAINER
|
||||
atom_flags = OPENCONTAINER
|
||||
var/wrapped = 0
|
||||
var/contents_type = "item"
|
||||
var/monkey_type = "Monkey"
|
||||
@@ -1849,7 +1849,7 @@
|
||||
desc = "Just add water!"
|
||||
to_chat(user, "You unwrap the cube.")
|
||||
wrapped = 0
|
||||
flags |= OPENCONTAINER
|
||||
atom_flags |= OPENCONTAINER
|
||||
return
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/cube/On_Consume(var/mob/M)
|
||||
@@ -1884,7 +1884,7 @@
|
||||
/obj/item/reagent_containers/food/snacks/cube/monkeycube/wrapped
|
||||
desc = "Still wrapped in some paper."
|
||||
icon_state = "monkeycubewrap"
|
||||
flags = 0
|
||||
atom_flags = 0
|
||||
wrapped = 1
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/cube/monkeycube/farwacube
|
||||
@@ -6856,7 +6856,7 @@
|
||||
/obj/item/reagent_containers/food/snacks/canned
|
||||
name = "void can"
|
||||
icon = 'icons/obj/food_canned.dmi'
|
||||
flags = 0
|
||||
atom_flags = 0
|
||||
var/sealed = TRUE
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/canned/Initialize()
|
||||
@@ -6869,7 +6869,7 @@
|
||||
to_chat(user, "It is [sealed ? "" : "un"]sealed.")
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/canned/proc/unseal()
|
||||
flags |= OPENCONTAINER
|
||||
atom_flags |= OPENCONTAINER
|
||||
sealed = FALSE
|
||||
update_icon()
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
item_state = "atoxinbottle"
|
||||
amount_per_transfer_from_this = 10
|
||||
possible_transfer_amounts = list(5,10,15,25,30,60)
|
||||
flags = 0
|
||||
atom_flags = 0
|
||||
volume = 60
|
||||
drop_sound = 'sound/items/drop/bottle.ogg'
|
||||
pickup_sound = 'sound/items/pickup/bottle.ogg'
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
/obj/item/reagent_containers/glass/bottle/robot
|
||||
amount_per_transfer_from_this = 10
|
||||
possible_transfer_amounts = list(5,10,15,25,30,50,100)
|
||||
flags = OPENCONTAINER
|
||||
atom_flags = OPENCONTAINER
|
||||
volume = 60
|
||||
var/reagent = ""
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
var/max_space = 20//Maximum sum of w-classes of foods in this container at once
|
||||
var/max_reagents = 80//Maximum units of reagents
|
||||
var/food_items = 0 // Used for icon updates
|
||||
flags = OPENCONTAINER | NOREACT
|
||||
atom_flags = OPENCONTAINER | NOREACT
|
||||
var/list/insertable = list(
|
||||
/obj/item/reagent_containers/food/snacks,
|
||||
/obj/item/holder,
|
||||
@@ -22,7 +22,7 @@
|
||||
/obj/item/reagent_containers/cooking_container/Initialize()
|
||||
. = ..()
|
||||
create_reagents(max_reagents)
|
||||
flags |= OPENCONTAINER | NOREACT
|
||||
atom_flags |= OPENCONTAINER | NOREACT
|
||||
|
||||
|
||||
/obj/item/reagent_containers/cooking_container/examine(var/mob/user)
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
density = 1
|
||||
anchored = 0
|
||||
use_power = USE_POWER_OFF
|
||||
flags = OPENCONTAINER | NOREACT
|
||||
atom_flags = OPENCONTAINER | NOREACT
|
||||
|
||||
var/list/product_types = list()
|
||||
var/dispense_flavour = ICECREAM_VANILLA
|
||||
@@ -193,4 +193,4 @@
|
||||
#undef ICECREAM_STRAWBERRY
|
||||
#undef ICECREAM_BLUE
|
||||
#undef CONE_WAFFLE
|
||||
#undef CONE_CHOC
|
||||
#undef CONE_CHOC
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
active_power_usage = 2000
|
||||
clicksound = "button"
|
||||
clickvol = "30"
|
||||
flags = OPENCONTAINER | NOREACT
|
||||
atom_flags = OPENCONTAINER | NOREACT
|
||||
circuit = /obj/item/circuitboard/microwave
|
||||
var/operating = 0 // Is it on?
|
||||
var/dirty = 0 // = {0..100} Does it need cleaning?
|
||||
@@ -100,7 +100,7 @@
|
||||
src.icon_state = "mw"
|
||||
src.broken = 0 // Fix it!
|
||||
src.dirty = 0 // just to be sure
|
||||
src.flags = OPENCONTAINER | NOREACT
|
||||
src.atom_flags = OPENCONTAINER | NOREACT
|
||||
else
|
||||
to_chat(user, "<span class='warning'>It's broken!</span>")
|
||||
return 1
|
||||
@@ -119,7 +119,7 @@
|
||||
src.dirty = 0 // It's clean!
|
||||
src.broken = 0 // just to be sure
|
||||
src.icon_state = "mw"
|
||||
src.flags = OPENCONTAINER | NOREACT
|
||||
src.atom_flags = OPENCONTAINER | NOREACT
|
||||
else //Otherwise bad luck!!
|
||||
to_chat(user, "<span class='warning'>It's dirty!</span>")
|
||||
return 1
|
||||
@@ -422,7 +422,7 @@
|
||||
/obj/machinery/microwave/proc/muck_finish()
|
||||
src.visible_message("<span class='warning'>The microwave gets covered in muck!</span>")
|
||||
src.dirty = 100 // Make it dirty so it can't be used util cleaned
|
||||
src.flags = null //So you can't add condiments
|
||||
src.atom_flags = 0 //So you can't add condiments
|
||||
src.icon_state = "mwbloody" // Make it look dirty too
|
||||
src.operating = 0 // Turn it off again aferwards
|
||||
src.updateUsrDialog()
|
||||
@@ -436,7 +436,7 @@
|
||||
src.icon_state = "mwb" // Make it look all busted up and shit
|
||||
src.visible_message("<span class='warning'>The microwave breaks!</span>") //Let them know they're stupid
|
||||
src.broken = 2 // Make it broken so it can't be used util fixed
|
||||
src.flags = null //So you can't add condiments
|
||||
src.atom_flags = 0 //So you can't add condiments
|
||||
src.operating = 0 // Turn it off again aferwards
|
||||
src.updateUsrDialog()
|
||||
soundloop.stop()
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
use_power = USE_POWER_IDLE
|
||||
idle_power_usage = 5
|
||||
active_power_usage = 100
|
||||
flags = NOREACT
|
||||
atom_flags = NOREACT
|
||||
var/max_n_of_items = 999 // Sorry but the BYOND infinite loop detector doesn't look things over 1000.
|
||||
var/list/item_records = list()
|
||||
var/datum/stored_item/currently_vending = null //What we're putting out of the machine.
|
||||
@@ -234,14 +234,14 @@
|
||||
amount = params["amount"]
|
||||
else
|
||||
amount = input("How many items?", "How many items would you like to take out?", 1) as num|null
|
||||
|
||||
|
||||
if(QDELETED(src) || QDELETED(usr) || !usr.Adjacent(src))
|
||||
return FALSE
|
||||
|
||||
|
||||
var/index = text2num(params["index"])
|
||||
if(index < 1 || index > LAZYLEN(item_records))
|
||||
return TRUE
|
||||
|
||||
|
||||
vend(item_records[index], amount)
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user