mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-25 22:12:58 +01:00
Hitby refactor (#19624)
Refactored hitby to be in line with TG's version. Refactored item weight defines to a more clear naming scheme, also in line with TG's version. Refactored how the movement bumps are handled, ported signals to handle them, in preparation for the movement update. Fixed disposal hit bouncing the hitting atom on the wall. Items do not push other items anymore if they are tiny.
This commit is contained in:
@@ -27,5 +27,5 @@ They should also be used for when you want to effect the ENTIRE mob, like having
|
||||
/obj/aura/bullet_act(obj/projectile/P, def_zone)
|
||||
return FALSE
|
||||
|
||||
/obj/aura/hitby(atom/movable/M, speed)
|
||||
/obj/aura/hitby(atom/movable/hitting_atom, skipcatch, hitpush, blocked, datum/thrownthing/throwingdatum)
|
||||
return FALSE
|
||||
|
||||
@@ -44,13 +44,14 @@
|
||||
bound_width = 96
|
||||
bound_height = 96
|
||||
|
||||
/obj/effect/effect/smoke/chem/Crossed(atom/movable/AM)
|
||||
/obj/effect/effect/smoke/chem/on_entered(datum/source, atom/movable/arrived, atom/old_loc, list/atom/old_locs)
|
||||
..()
|
||||
if(!istype(AM, /obj/effect/effect/smoke/chem))
|
||||
if(istype(AM, /obj/item/reagent_containers) && !AM.is_open_container())
|
||||
|
||||
if(!istype(arrived, /obj/effect/effect/smoke/chem))
|
||||
if(istype(arrived, /obj/item/reagent_containers) && !arrived.is_open_container())
|
||||
return
|
||||
else
|
||||
reagents.splash(AM, splash_amount, copy = 1)
|
||||
reagents.splash(arrived, splash_amount, copy = 1)
|
||||
|
||||
/obj/effect/effect/smoke/chem/proc/initial_splash()
|
||||
for(var/turf/T in view(1, src))
|
||||
|
||||
@@ -24,6 +24,12 @@
|
||||
addtimer(CALLBACK(src, PROC_REF(tick)), 3 + metal * 3)
|
||||
addtimer(CALLBACK(src, PROC_REF(post)), solid_time)
|
||||
|
||||
var/static/list/loc_connections = list(
|
||||
COMSIG_ATOM_ENTERED = PROC_REF(on_entered),
|
||||
)
|
||||
|
||||
AddElement(/datum/element/connect_loc, loc_connections)
|
||||
|
||||
/obj/effect/effect/foam/proc/tick()
|
||||
process()
|
||||
checkReagents()
|
||||
@@ -77,11 +83,13 @@
|
||||
|
||||
QDEL_IN(src, 5)
|
||||
|
||||
/obj/effect/effect/foam/Crossed(var/atom/movable/AM)
|
||||
/obj/effect/effect/foam/proc/on_entered(datum/source, atom/movable/arrived, atom/old_loc, list/atom/old_locs)
|
||||
SIGNAL_HANDLER
|
||||
|
||||
if(metal)
|
||||
return
|
||||
if(istype(AM, /mob/living))
|
||||
var/mob/living/M = AM
|
||||
if(istype(arrived, /mob/living))
|
||||
var/mob/living/M = arrived
|
||||
M.slip("the foam", 6)
|
||||
|
||||
/obj/effect/effect/foam/spray
|
||||
|
||||
@@ -59,6 +59,12 @@
|
||||
if (dries)
|
||||
animate(src, color = "#000000", time = drytime, loop = 0, flags = ANIMATION_RELATIVE)
|
||||
|
||||
var/static/list/loc_connections = list(
|
||||
COMSIG_ATOM_ENTERED = PROC_REF(on_entered),
|
||||
)
|
||||
|
||||
AddElement(/datum/element/connect_loc, loc_connections)
|
||||
|
||||
/obj/effect/decal/cleanable/blood/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
|
||||
if(dries && world.time > (bleed_time + drytime))
|
||||
name = dryname
|
||||
@@ -75,9 +81,14 @@
|
||||
basecolor = get_random_colour(1)
|
||||
color = basecolor
|
||||
|
||||
/obj/effect/decal/cleanable/blood/Crossed(mob/living/carbon/human/perp)
|
||||
if (!istype(perp))
|
||||
/obj/effect/decal/cleanable/blood/proc/on_entered(datum/source, atom/movable/arrived, atom/old_loc, list/atom/old_locs)
|
||||
SIGNAL_HANDLER
|
||||
|
||||
if (!istype(arrived, /mob/living/carbon/human))
|
||||
return
|
||||
|
||||
var/mob/living/carbon/human/perp = arrived
|
||||
|
||||
if(dries && world.time > (bleed_time + drytime))
|
||||
amount = 0
|
||||
if(amount < 1)
|
||||
|
||||
@@ -114,16 +114,23 @@ steam.start() -- spawns the effect
|
||||
time_to_live = duration
|
||||
addtimer(CALLBACK(src, PROC_REF(kill)), time_to_live)
|
||||
|
||||
var/static/list/loc_connections = list(
|
||||
COMSIG_ATOM_ENTERED = PROC_REF(on_entered),
|
||||
)
|
||||
|
||||
AddElement(/datum/element/connect_loc, loc_connections)
|
||||
|
||||
/obj/effect/effect/smoke/proc/kill()
|
||||
animate(src, alpha = 0, time = 2 SECONDS, easing = QUAD_EASING)
|
||||
set_opacity(FALSE)
|
||||
|
||||
QDEL_IN(src, 2.5 SECONDS)
|
||||
|
||||
/obj/effect/effect/smoke/Crossed(mob/living/carbon/M as mob )
|
||||
..()
|
||||
if(istype(M))
|
||||
affect(M)
|
||||
/obj/effect/effect/smoke/proc/on_entered(datum/source, atom/movable/arrived, atom/old_loc, list/atom/old_locs)
|
||||
SIGNAL_HANDLER
|
||||
|
||||
if(istype(arrived, /mob/living/carbon))
|
||||
affect(arrived)
|
||||
|
||||
/obj/effect/effect/smoke/proc/affect(var/mob/living/carbon/M)
|
||||
if (istype(M))
|
||||
|
||||
@@ -51,6 +51,12 @@
|
||||
|
||||
precision = precise
|
||||
|
||||
var/static/list/loc_connections = list(
|
||||
COMSIG_ATOM_ENTERED = PROC_REF(on_entered),
|
||||
)
|
||||
|
||||
AddElement(/datum/element/connect_loc, loc_connections)
|
||||
|
||||
/obj/effect/portal/Destroy()
|
||||
if(istype(creator, /obj/item/hand_tele))
|
||||
var/obj/item/hand_tele/HT = creator
|
||||
@@ -63,9 +69,11 @@
|
||||
if(does_teleport)
|
||||
teleport(bumped_atom)
|
||||
|
||||
/obj/effect/portal/Crossed(AM)
|
||||
/obj/effect/portal/proc/on_entered(datum/source, atom/movable/arrived, atom/old_loc, list/atom/old_locs)
|
||||
SIGNAL_HANDLER
|
||||
|
||||
if(does_teleport)
|
||||
teleport(AM)
|
||||
teleport(arrived)
|
||||
|
||||
/obj/effect/portal/attackby(obj/item/attacking_item, mob/user)
|
||||
if(istype(attacking_item, /obj/item/bluespace_neutralizer))
|
||||
|
||||
@@ -3,82 +3,173 @@
|
||||
/obj/effect/step_trigger
|
||||
var/affect_ghosts = 0
|
||||
var/stopper = 1 // stops throwers
|
||||
icon = 'icons/mob/screen/generic.dmi'
|
||||
icon_state = "x2"
|
||||
invisibility = 101 // nope cant see this shit
|
||||
anchored = 1
|
||||
var/mobs_only = FALSE
|
||||
invisibility = INVISIBILITY_ABSTRACT // nope cant see this shit
|
||||
anchored = TRUE
|
||||
|
||||
/obj/effect/step_trigger/proc/Trigger(var/atom/movable/A)
|
||||
/obj/effect/step_trigger/Initialize(mapload)
|
||||
. = ..()
|
||||
var/static/list/loc_connections = list(
|
||||
COMSIG_ATOM_ENTERED = PROC_REF(on_entered),
|
||||
)
|
||||
AddElement(/datum/element/connect_loc, loc_connections)
|
||||
|
||||
/obj/effect/step_trigger/proc/Trigger(atom/movable/A)
|
||||
return 0
|
||||
|
||||
/obj/effect/step_trigger/Crossed(H as mob|obj)
|
||||
..()
|
||||
if(!H)
|
||||
/obj/effect/step_trigger/proc/on_entered(datum/source, H as mob|obj)
|
||||
SIGNAL_HANDLER
|
||||
if(!H || H == src)
|
||||
return
|
||||
if(istype(H, /mob/abstract/observer) && !affect_ghosts)
|
||||
if(isobserver(H) && !affect_ghosts)
|
||||
return
|
||||
Trigger(H)
|
||||
if(!ismob(H) && mobs_only)
|
||||
return
|
||||
INVOKE_ASYNC(src, PROC_REF(Trigger), H)
|
||||
|
||||
|
||||
/obj/effect/step_trigger/singularity_act()
|
||||
return
|
||||
|
||||
/obj/effect/step_trigger/singularity_pull()
|
||||
return
|
||||
|
||||
/* Sends a message to mob when triggered*/
|
||||
|
||||
/obj/effect/step_trigger/message
|
||||
var/message //the message to give to the mob
|
||||
var/once = 1
|
||||
mobs_only = TRUE
|
||||
|
||||
/obj/effect/step_trigger/message/Trigger(mob/M)
|
||||
if(M.client)
|
||||
to_chat(M, SPAN_INFO("[message]"))
|
||||
if(once)
|
||||
qdel(src)
|
||||
|
||||
|
||||
/* Tosses things in a certain direction */
|
||||
|
||||
// /obj/effect/step_trigger/thrower
|
||||
// var/tiles = 3 // if 0: forever until atom hits a stopper
|
||||
// var/immobilize = 1 // if nonzero: prevents mobs from moving while they're being flung
|
||||
// var/speed = 1 // delay of movement
|
||||
// var/facedir = 0 // if 1: atom faces the direction of movement
|
||||
// var/nostop = 0 // if 1: will only be stopped by teleporters
|
||||
// var/list/affecting = list()
|
||||
|
||||
// /obj/effect/step_trigger/thrower/Trigger(var/atom/A)
|
||||
// if(!A || !istype(A, /atom/movable))
|
||||
// return
|
||||
// var/atom/movable/AM = A
|
||||
// var/curtiles = 0
|
||||
// var/stopthrow = 0
|
||||
// for(var/obj/effect/step_trigger/thrower/T in orange(2, src))
|
||||
// if(AM in T.affecting)
|
||||
// return
|
||||
|
||||
// if(ismob(AM))
|
||||
// var/mob/M = AM
|
||||
// if(immobilize)
|
||||
// M.canmove = 0
|
||||
|
||||
// affecting.Add(AM)
|
||||
// while(AM && !stopthrow)
|
||||
// if(tiles)
|
||||
// if(curtiles >= tiles)
|
||||
// break
|
||||
// if(AM.z != src.z)
|
||||
// break
|
||||
|
||||
// curtiles++
|
||||
|
||||
// sleep(speed)
|
||||
|
||||
// // Calculate if we should stop the process
|
||||
// if(!nostop)
|
||||
// for(var/obj/effect/step_trigger/T in get_step(AM, dir))
|
||||
// if(T.stopper && T != src)
|
||||
// stopthrow = 1
|
||||
// else
|
||||
// for(var/obj/effect/step_trigger/teleporter/T in get_step(AM, dir))
|
||||
// if(T.stopper)
|
||||
// stopthrow = 1
|
||||
|
||||
// if(AM)
|
||||
// var/predir = AM.dir
|
||||
// step(AM, dir)
|
||||
// if(!facedir)
|
||||
// AM.set_dir(predir)
|
||||
|
||||
// affecting.Remove(AM)
|
||||
// if(ismob(AM))
|
||||
// var/mob/M = AM
|
||||
// if(immobilize)
|
||||
// M.canmove = 1
|
||||
|
||||
/* Tosses things in a certain direction */
|
||||
/obj/effect/step_trigger/thrower
|
||||
var/tiles = 3 // if 0: forever until atom hits a stopper
|
||||
var/direction = SOUTH // the direction of throw
|
||||
var/tiles = 3 // if 0: forever until atom hits a stopper
|
||||
var/immobilize = 1 // if nonzero: prevents mobs from moving while they're being flung
|
||||
var/speed = 1 // delay of movement
|
||||
var/speed = 1 // delay of movement
|
||||
var/facedir = 0 // if 1: atom faces the direction of movement
|
||||
var/nostop = 0 // if 1: will only be stopped by teleporters
|
||||
///List of moving atoms mapped to their inital direction
|
||||
var/list/affecting = list()
|
||||
|
||||
/obj/effect/step_trigger/thrower/Trigger(var/atom/A)
|
||||
if(!A || !istype(A, /atom/movable))
|
||||
/obj/effect/step_trigger/thrower/Trigger(atom/A)
|
||||
if(!A || !ismovable(A))
|
||||
return
|
||||
var/atom/movable/AM = A
|
||||
var/curtiles = 0
|
||||
var/stopthrow = 0
|
||||
for(var/obj/effect/step_trigger/thrower/T in orange(2, src))
|
||||
if(AM in T.affecting)
|
||||
return
|
||||
|
||||
if(ismob(AM))
|
||||
var/mob/M = AM
|
||||
if(immobilize)
|
||||
M.canmove = 0
|
||||
if(immobilize)
|
||||
// ADD_TRAIT(AM, TRAIT_IMMOBILIZED, REF(src))
|
||||
if(ismob(AM))
|
||||
var/mob/M = AM
|
||||
M.canmove = FALSE
|
||||
|
||||
affecting.Add(AM)
|
||||
while(AM && !stopthrow)
|
||||
if(tiles)
|
||||
if(curtiles >= tiles)
|
||||
break
|
||||
if(AM.z != src.z)
|
||||
break
|
||||
affecting[AM] = AM.dir
|
||||
var/datum/move_loop/loop = GLOB.move_manager.move(AM, direction, speed, tiles ? tiles * speed : INFINITY)
|
||||
RegisterSignal(loop, COMSIG_MOVELOOP_PREPROCESS_CHECK, PROC_REF(pre_move))
|
||||
RegisterSignal(loop, COMSIG_MOVELOOP_POSTPROCESS, PROC_REF(post_move))
|
||||
RegisterSignal(loop, COMSIG_QDELETING, PROC_REF(set_to_normal))
|
||||
|
||||
curtiles++
|
||||
/obj/effect/step_trigger/thrower/proc/pre_move(datum/move_loop/source)
|
||||
SIGNAL_HANDLER
|
||||
var/atom/movable/being_moved = source.moving
|
||||
affecting[being_moved] = being_moved.dir
|
||||
|
||||
sleep(speed)
|
||||
/obj/effect/step_trigger/thrower/proc/post_move(datum/move_loop/source)
|
||||
SIGNAL_HANDLER
|
||||
var/atom/movable/being_moved = source.moving
|
||||
if(!facedir)
|
||||
being_moved.set_dir(affecting[being_moved])
|
||||
if(being_moved.z != z)
|
||||
qdel(source)
|
||||
return
|
||||
if(!nostop)
|
||||
for(var/obj/effect/step_trigger/T in get_turf(being_moved))
|
||||
if(T.stopper && T != src)
|
||||
qdel(source)
|
||||
return
|
||||
else
|
||||
for(var/obj/effect/step_trigger/teleporter/T in get_turf(being_moved))
|
||||
if(T.stopper)
|
||||
qdel(source)
|
||||
return
|
||||
|
||||
// Calculate if we should stop the process
|
||||
if(!nostop)
|
||||
for(var/obj/effect/step_trigger/T in get_step(AM, dir))
|
||||
if(T.stopper && T != src)
|
||||
stopthrow = 1
|
||||
else
|
||||
for(var/obj/effect/step_trigger/teleporter/T in get_step(AM, dir))
|
||||
if(T.stopper)
|
||||
stopthrow = 1
|
||||
|
||||
if(AM)
|
||||
var/predir = AM.dir
|
||||
step(AM, dir)
|
||||
if(!facedir)
|
||||
AM.set_dir(predir)
|
||||
|
||||
affecting.Remove(AM)
|
||||
if(ismob(AM))
|
||||
var/mob/M = AM
|
||||
if(immobilize)
|
||||
M.canmove = 1
|
||||
/obj/effect/step_trigger/thrower/proc/set_to_normal(datum/move_loop/source)
|
||||
SIGNAL_HANDLER
|
||||
var/atom/movable/being_moved = source.moving
|
||||
affecting -= being_moved
|
||||
// REMOVE_TRAIT(being_moved, TRAIT_IMMOBILIZED, REF(src))
|
||||
if(ismob(being_moved))
|
||||
var/mob/M = being_moved
|
||||
M.canmove = TRUE
|
||||
|
||||
/obj/effect/step_trigger/thrower/shuttle
|
||||
icon_state = "dir_arrow"
|
||||
@@ -125,16 +216,15 @@
|
||||
/* Instant teleporter */
|
||||
|
||||
/obj/effect/step_trigger/teleporter
|
||||
var/teleport_x = 0 // teleportation coordinates (if one is null, then no teleport!)
|
||||
var/teleport_x = 0 // teleportation coordinates (if one is null, then no teleport!)
|
||||
var/teleport_y = 0
|
||||
var/teleport_z = 0
|
||||
|
||||
/obj/effect/step_trigger/teleporter/Trigger(var/atom/movable/A)
|
||||
/obj/effect/step_trigger/teleporter/Trigger(atom/movable/A)
|
||||
if(teleport_x && teleport_y && teleport_z)
|
||||
|
||||
A.x = teleport_x
|
||||
A.y = teleport_y
|
||||
A.z = teleport_z
|
||||
var/turf/T = locate(teleport_x, teleport_y, teleport_z)
|
||||
A.forceMove(T)
|
||||
|
||||
/* Random teleporter, teleports atoms to locations ranging from teleport_x - teleport_x_offset, etc */
|
||||
|
||||
@@ -143,15 +233,56 @@
|
||||
var/teleport_y_offset = 0
|
||||
var/teleport_z_offset = 0
|
||||
|
||||
/obj/effect/step_trigger/teleporter/random/Trigger(var/atom/movable/A)
|
||||
/obj/effect/step_trigger/teleporter/random/Trigger(atom/movable/A)
|
||||
if(teleport_x && teleport_y && teleport_z)
|
||||
if(teleport_x_offset && teleport_y_offset && teleport_z_offset)
|
||||
if(isliving(A))
|
||||
var/mob/M = A
|
||||
M.visible_message(FONT_LARGE(SPAN_WARNING("\The [A] blinks out of reality!")), FONT_LARGE(SPAN_WARNING("You feel your stomach churn as you slip into bluespace!")))
|
||||
A.x = rand(teleport_x, teleport_x_offset)
|
||||
A.y = rand(teleport_y, teleport_y_offset)
|
||||
A.z = rand(teleport_z, teleport_z_offset)
|
||||
if(isliving(A))
|
||||
var/mob/M = A
|
||||
M.visible_message(FONT_LARGE(SPAN_WARNING("\The [A] blinks into reality!")), FONT_LARGE(SPAN_WARNING("You feel your stomach turn as you get thrown out of bluespace!")))
|
||||
|
||||
var/turf/T = locate(rand(teleport_x, teleport_x_offset), rand(teleport_y, teleport_y_offset), rand(teleport_z, teleport_z_offset))
|
||||
if (T)
|
||||
A.forceMove(T)
|
||||
|
||||
/* Teleports atoms directly to an offset, no randomness, looping hallways! */
|
||||
|
||||
/obj/effect/step_trigger/teleporter/offset
|
||||
var/teleport_x_offset = 0
|
||||
var/teleport_y_offset = 0
|
||||
|
||||
/obj/effect/step_trigger/teleporter/offset/on_entered(datum/source, H as mob|obj, atom/old_loc)
|
||||
if(!old_loc?.Adjacent(loc)) // prevents looping, if we were teleported into this then the old loc is usually not adjacent
|
||||
return
|
||||
return ..()
|
||||
|
||||
/obj/effect/step_trigger/teleporter/offset/Trigger(atom/movable/poor_soul)
|
||||
var/turf/destination = locate(x + teleport_x_offset, y + teleport_y_offset, z)
|
||||
if(!destination)
|
||||
return
|
||||
poor_soul.forceMove(destination)
|
||||
var/mob/living/living_soul = poor_soul
|
||||
if(istype(living_soul) && living_soul.client)
|
||||
living_soul.client.move_delay = 0
|
||||
|
||||
/* Simple sound player, Mapper friendly! */
|
||||
|
||||
/obj/effect/step_trigger/sound_effect
|
||||
var/sound //eg. path to the sound, inside '' eg: 'growl.ogg'
|
||||
var/volume = 100
|
||||
var/freq_vary = 1 //Should the frequency of the sound vary?
|
||||
var/extra_range = 0 // eg World.view = 7, extra_range = 1, 7+1 = 8, 8 turfs radius
|
||||
var/happens_once = 0
|
||||
var/triggerer_only = 0 //Whether the triggerer is the only person who hears this
|
||||
|
||||
|
||||
/obj/effect/step_trigger/sound_effect/Trigger(atom/movable/A)
|
||||
var/turf/T = get_turf(A)
|
||||
|
||||
if(!T)
|
||||
return
|
||||
|
||||
if(triggerer_only && ismob(A))
|
||||
var/mob/B = A
|
||||
B.playsound_local(T, sound, volume, freq_vary)
|
||||
else
|
||||
playsound(T, sound, volume, freq_vary, extra_range)
|
||||
|
||||
if(happens_once)
|
||||
qdel(src)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/obj/item
|
||||
name = "item"
|
||||
icon = 'icons/obj/items.dmi'
|
||||
w_class = ITEMSIZE_NORMAL
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
blocks_emissive = EMISSIVE_BLOCK_GENERIC
|
||||
|
||||
///This saves our blood splatter overlay, which will be processed not to go over the edges of the sprite
|
||||
@@ -341,15 +341,15 @@
|
||||
/obj/item/get_examine_text(mob/user, distance, is_adjacent, infix, suffix, get_extended = FALSE)
|
||||
var/size
|
||||
switch(src.w_class)
|
||||
if (ITEMSIZE_HUGE to INFINITY)
|
||||
if (WEIGHT_CLASS_HUGE to INFINITY)
|
||||
size = "huge"
|
||||
if (ITEMSIZE_LARGE to ITEMSIZE_HUGE)
|
||||
if (WEIGHT_CLASS_BULKY to WEIGHT_CLASS_HUGE)
|
||||
size = "bulky"
|
||||
if (ITEMSIZE_NORMAL to ITEMSIZE_LARGE)
|
||||
if (WEIGHT_CLASS_NORMAL to WEIGHT_CLASS_BULKY)
|
||||
size = "normal-sized"
|
||||
if (ITEMSIZE_SMALL to ITEMSIZE_NORMAL)
|
||||
if (WEIGHT_CLASS_SMALL to WEIGHT_CLASS_NORMAL)
|
||||
size = "small"
|
||||
if (0 to ITEMSIZE_SMALL)
|
||||
if (0 to WEIGHT_CLASS_SMALL)
|
||||
size = "tiny"
|
||||
//Changed this switch to ranges instead of tiered values, to cope with granularity and also
|
||||
//things outside its range ~Nanako
|
||||
@@ -450,6 +450,13 @@
|
||||
return 0
|
||||
|
||||
/obj/item/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum)
|
||||
if(QDELETED(hit_atom))
|
||||
return
|
||||
if(SEND_SIGNAL(src, COMSIG_MOVABLE_PRE_IMPACT, hit_atom, throwingdatum) & COMPONENT_MOVABLE_IMPACT_NEVERMIND)
|
||||
return
|
||||
if(SEND_SIGNAL(hit_atom, COMSIG_ATOM_PREHITBY, src, throwingdatum) & COMSIG_HIT_PREVENTED)
|
||||
return
|
||||
|
||||
if(isliving(hit_atom)) //Living mobs handle hit sounds differently.
|
||||
var/mob/living/L = hit_atom
|
||||
if(L.in_throw_mode)
|
||||
@@ -467,7 +474,12 @@
|
||||
playsound(hit_atom, 'sound/weapons/throwtap.ogg', 1, volume, -1)
|
||||
else
|
||||
playsound(src, drop_sound, YEET_SOUND_VOLUME)
|
||||
return ..()
|
||||
|
||||
var/itempush = TRUE
|
||||
if(w_class < WEIGHT_CLASS_NORMAL)
|
||||
itempush = FALSE //too light to push anything
|
||||
|
||||
return hit_atom.hitby(src, 0, itempush, throwingdatum=throwingdatum)
|
||||
|
||||
/**
|
||||
* Called when an item is removed from a `/mob` inventory (including hands and whatnot),
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
desc = "Special air bubble designed to protect people inside of it from decompressed environments. Has an integrated cooling unit to preserve a stable temperature inside. Requires a power cell to operate."
|
||||
icon = 'icons/obj/airbubble.dmi'
|
||||
icon_state = "airbubble_fact_folded"
|
||||
w_class = ITEMSIZE_NORMAL
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
var/used = FALSE
|
||||
var/ripped = FALSE
|
||||
var/zipped = FALSE
|
||||
@@ -215,7 +215,7 @@
|
||||
if(!isnull(internal_tank))
|
||||
internal_tank.forceMove(bag)
|
||||
internal_tank = null
|
||||
bag.w_class = ITEMSIZE_LARGE
|
||||
bag.w_class = WEIGHT_CLASS_BULKY
|
||||
|
||||
bag.desc = "Special air bubble designed to protect people inside of it from decompressed environments. Has an integrated cooling unit to preserve a stable temperature inside. Requires a power cell to operate."
|
||||
if(syndie)
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
icon = 'icons/obj/item/tools/blueprints.dmi'
|
||||
icon_state = "blueprints"
|
||||
attack_verb = list("attacked", "bapped", "hit")
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
var/list/valid_z_levels = list()
|
||||
var/area_prefix
|
||||
///Will these blueprints display the wire schema?
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
desc = "A folded bag designed for the storage and transportation of cadavers."
|
||||
icon = 'icons/obj/bodybag.dmi'
|
||||
icon_state = "bodybag_folded"
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
drop_sound = 'sound/items/drop/cloth.ogg'
|
||||
pickup_sound = 'sound/items/pickup/cloth.ogg'
|
||||
var/deploy_type = /obj/structure/closet/body_bag
|
||||
|
||||
@@ -132,7 +132,7 @@
|
||||
icon_state = "tent"
|
||||
item_state = "tent"
|
||||
contained_sprite = TRUE
|
||||
w_class = ITEMSIZE_LARGE
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
color = "#58a178"
|
||||
var/width = 2
|
||||
var/length = 3
|
||||
@@ -142,7 +142,7 @@
|
||||
|
||||
/obj/item/tent/Initialize()
|
||||
. = ..()
|
||||
w_class = min(ceil(width * length / 1.5), ITEMSIZE_IMMENSE) // 2x2 = ITEMSIZE_NORMAL
|
||||
w_class = min(ceil(width * length / 1.5), WEIGHT_CLASS_GIGANTIC) // 2x2 = WEIGHT_CLASS_NORMAL
|
||||
desc += "\nThis one is [width] x [length] in size."
|
||||
|
||||
/obj/item/tent/Destroy()
|
||||
@@ -307,7 +307,7 @@
|
||||
icon_state = "sleepingbag"
|
||||
item_state = "sleepingbag"
|
||||
contained_sprite = TRUE
|
||||
w_class = ITEMSIZE_LARGE
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
|
||||
/obj/item/sleeping_bag/Initialize(mapload, ...)
|
||||
. = ..()
|
||||
|
||||
@@ -121,7 +121,7 @@
|
||||
item_state = "powder"
|
||||
amount_per_transfer_from_this = 5
|
||||
possible_transfer_amounts = 5
|
||||
w_class = ITEMSIZE_TINY
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
volume = 50
|
||||
|
||||
/obj/item/reagent_containers/powder/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
contained_sprite = TRUE
|
||||
force = 11
|
||||
throwforce = 6
|
||||
w_class = ITEMSIZE_LARGE
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
origin_tech = list(TECH_BIO = 4, TECH_POWER = 2)
|
||||
matter = list(MATERIAL_STEEL = 5000, MATERIAL_PLASTIC = 2000, MATERIAL_GLASS = 1500, MATERIAL_ALUMINIUM = 1000)
|
||||
action_button_name = "Toggle Paddles"
|
||||
@@ -184,7 +184,7 @@
|
||||
desc = "A belt-equipped defibrillator that can be rapidly deployed."
|
||||
icon_state = "defibcompact"
|
||||
item_state = "defibcompact"
|
||||
w_class = ITEMSIZE_NORMAL
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
slot_flags = SLOT_BELT
|
||||
origin_tech = list(TECH_BIO = 5, TECH_POWER = 3)
|
||||
|
||||
@@ -216,7 +216,7 @@
|
||||
gender = PLURAL
|
||||
force = 2
|
||||
throwforce = 6
|
||||
w_class = ITEMSIZE_LARGE
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
|
||||
var/safety = TRUE //if you can zap people with the paddles on harm mode
|
||||
var/combat = FALSE //If it can be used to revive people wearing thick clothing (e.g. spacesuits)
|
||||
@@ -593,7 +593,7 @@
|
||||
Shockpaddles that are linked to a base unit
|
||||
*/
|
||||
/obj/item/shockpaddles/linked
|
||||
w_class = ITEMSIZE_LARGE
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
var/obj/item/defibrillator/base_unit
|
||||
|
||||
/obj/item/shockpaddles/linked/Initialize(mapload, obj/item/defibrillator/defib)
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
icon = 'icons/obj/pai.dmi'
|
||||
icon_state = "aicard" // aicard-full
|
||||
item_state = "electronic"
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
slot_flags = SLOT_BELT
|
||||
origin_tech = list(TECH_DATA = 4, TECH_MATERIAL = 4)
|
||||
var/flush = 0
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/obj/item/device/augment_implanter
|
||||
name = "augment implanter"
|
||||
desc = "A complex single use injector that is used to implant augments without the need for surgery."
|
||||
w_class = ITEMSIZE_NORMAL
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
origin_tech = list(TECH_BIO = 5, TECH_MATERIAL = 2)
|
||||
icon = 'icons/obj/guns/decloner.dmi'
|
||||
icon_state = "decloner"
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
icon_state = "med_harness"
|
||||
item_state = "med_harness"
|
||||
contained_sprite = TRUE
|
||||
w_class = ITEMSIZE_NORMAL
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
origin_tech = list(TECH_MAGNET = 5, TECH_BIO = 3)
|
||||
slot_flags = SLOT_OCLOTHING
|
||||
var/panel_open = FALSE
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
obj_flags = OBJ_FLAG_CONDUCTABLE
|
||||
force = 11
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
throwforce = 5.0
|
||||
throw_range = 15
|
||||
throw_speed = 3
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
throwforce = 5
|
||||
throw_speed = 1
|
||||
throw_range = 5
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
origin_tech = list(TECH_ILLEGAL = 4, TECH_MAGNET = 4)
|
||||
var/can_use = TRUE
|
||||
var/obj/effect/dummy/chameleon/active_dummy = null
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
throwforce = 5
|
||||
throw_speed = 1
|
||||
throw_range = 5
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
origin_tech = list(
|
||||
TECH_ESOTERIC = 3,
|
||||
TECH_MAGNET = 4
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
icon_state = "hacktool-g"
|
||||
obj_flags = OBJ_FLAG_CONDUCTABLE
|
||||
force = 11
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
throwforce = 5
|
||||
throw_range = 15
|
||||
throw_speed = 3
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/obj/item/device/dociler
|
||||
name = "dociler"
|
||||
desc = "A complex single use recharging injector that spreads a complex neurological serum that makes animals docile and friendly. Somewhat."
|
||||
w_class = ITEMSIZE_NORMAL
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
origin_tech = list(TECH_BIO = 5, TECH_MATERIAL = 2)
|
||||
// To-do track down where the hell this sprite went?
|
||||
icon = 'icons/obj/guns/decloner.dmi'
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
icon_state = "drillpointer"
|
||||
item_state = "binoculars"
|
||||
slot_flags = SLOT_BELT
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
var/has_dropped = 0 // Counter of how many times the targeter has been used
|
||||
var/drop_amount = 2 // How many times can this item be used?
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
icon_state = "flash"
|
||||
item_state = "flash"
|
||||
throwforce = 5
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
throw_speed = 4
|
||||
throw_range = 10
|
||||
obj_flags = OBJ_FLAG_CONDUCTABLE
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
icon = 'icons/obj/geiger_counter.dmi'
|
||||
icon_state = "geiger_off"
|
||||
item_state = "multitool"
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
action_button_name = "Toggle geiger counter"
|
||||
matter = list(MATERIAL_PLASTIC = 100, DEFAULT_WALL_MATERIAL = 100, MATERIAL_GLASS = 50)
|
||||
origin_tech = list(TECH_MAGNET = 1, TECH_ENGINEERING = 1)
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
item_state = "hearing_aid"
|
||||
contained_sprite = TRUE
|
||||
slot_flags = SLOT_EARS
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
|
||||
/obj/item/device/hearing_aid/black
|
||||
icon_state = "hearing_aid-b"
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
icon_state = "holowarrant"
|
||||
item_state = "holowarrant"
|
||||
throwforce = 5
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
throw_speed = 4
|
||||
throw_range = 10
|
||||
obj_flags = OBJ_FLAG_CONDUCTABLE
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
item_state = "pen"
|
||||
var/pointer_icon_state
|
||||
slot_flags = SLOT_BELT
|
||||
w_class = ITEMSIZE_TINY
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
var/turf/pointer_loc
|
||||
var/obj/item/stock_parts/micro_laser/diode //cant use the laser without it
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
name = "flare"
|
||||
desc = "A red standard-issue flare. There are instructions on the side reading 'twist cap off, make light'."
|
||||
desc_info = "Use this item in your hand, to turn on the light."
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
brightness_on = 3 // Pretty bright.
|
||||
light_power = 4
|
||||
light_color = LIGHT_COLOR_FLARE //"#E58775"
|
||||
@@ -87,7 +87,7 @@
|
||||
name = "torch"
|
||||
desc = "A rustic source of light."
|
||||
desc_info = "Click on a source of flame, to light the torch."
|
||||
w_class = ITEMSIZE_LARGE
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
brightness_on = 2
|
||||
light_power = 3
|
||||
light_color = LIGHT_COLOR_FIRE
|
||||
@@ -152,7 +152,7 @@
|
||||
/obj/item/torch
|
||||
name = "torch handle"
|
||||
desc = "A torch handle without its head."
|
||||
w_class = ITEMSIZE_NORMAL
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
icon_state = "torch-empty"
|
||||
item_state = "torch-empty"
|
||||
icon = 'icons/obj/lighting.dmi'
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
)
|
||||
icon_state = "flashlight"
|
||||
item_state = "flashlight"
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
obj_flags = OBJ_FLAG_CONDUCTABLE
|
||||
slot_flags = SLOT_BELT
|
||||
light_color = LIGHT_COLOR_HALOGEN
|
||||
@@ -311,7 +311,7 @@
|
||||
obj_flags = OBJ_FLAG_CONDUCTABLE
|
||||
slot_flags = SLOT_EARS
|
||||
brightness_on = 2
|
||||
w_class = ITEMSIZE_TINY
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
light_wedge = LIGHT_OMNI
|
||||
|
||||
/obj/item/device/flashlight/drone
|
||||
@@ -322,7 +322,7 @@
|
||||
obj_flags = OBJ_FLAG_CONDUCTABLE
|
||||
brightness_on = 2
|
||||
efficiency_modifier = 2
|
||||
w_class = ITEMSIZE_TINY
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
|
||||
/obj/item/device/flashlight/heavy
|
||||
name = "heavy duty flashlight"
|
||||
@@ -330,7 +330,7 @@
|
||||
icon_state = "heavyflashlight"
|
||||
item_state = "heavyflashlight"
|
||||
brightness_on = 4
|
||||
w_class = ITEMSIZE_NORMAL
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
uv_intensity = 60
|
||||
matter = list(MATERIAL_PLASTIC = 100, MATERIAL_GLASS = 70)
|
||||
light_wedge = LIGHT_SEMI
|
||||
@@ -346,7 +346,7 @@
|
||||
force = 9
|
||||
brightness_on = 5
|
||||
efficiency_modifier = 0.8
|
||||
w_class = ITEMSIZE_NORMAL
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
uv_intensity = 70
|
||||
attack_verb = list("slammed", "whacked", "bashed", "thunked", "battered", "bludgeoned", "thrashed")
|
||||
matter = list(MATERIAL_ALUMINIUM = 200, MATERIAL_GLASS = 100)
|
||||
@@ -371,7 +371,7 @@
|
||||
icon = 'icons/obj/lighting.dmi'
|
||||
icon_state = "floor1" //not a slime extract sprite but... something close enough!
|
||||
item_state = "slime"
|
||||
w_class = ITEMSIZE_TINY
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
brightness_on = 6
|
||||
uv_intensity = 200
|
||||
on = TRUE //Bio-luminesence has one setting, on.
|
||||
@@ -388,7 +388,7 @@
|
||||
obj_flags = OBJ_FLAG_CONDUCTABLE
|
||||
slot_flags = SLOT_HEAD | SLOT_EARS
|
||||
brightness_on = 2
|
||||
w_class = ITEMSIZE_TINY
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
light_wedge = LIGHT_WIDE
|
||||
body_parts_covered = 0
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/obj/item/device/flashlight/flare/glowstick
|
||||
name = "green glowstick"
|
||||
desc = "A green military-grade glowstick."
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
brightness_on = 1.2
|
||||
flashlight_power = 2
|
||||
light_color = "#49F37C"
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
center_of_mass = list("x" = 13,"y" = 11)
|
||||
brightness_on = 4
|
||||
flashlight_power = 1.0
|
||||
w_class = ITEMSIZE_HUGE
|
||||
w_class = WEIGHT_CLASS_HUGE
|
||||
obj_flags = OBJ_FLAG_CONDUCTABLE
|
||||
uv_intensity = 100
|
||||
power_use = FALSE
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
desc = "A marshalling wand, used to direct air or space faring vessels during takeoff and landing."
|
||||
icon_state = "marshallingwand"
|
||||
item_state = "marshallingwand"
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
light_color = LIGHT_COLOR_RED
|
||||
light_wedge = LIGHT_OMNI
|
||||
brightness_on = 2
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
// Copied from debugger.dm
|
||||
obj_flags = OBJ_FLAG_CONDUCTABLE
|
||||
force = 11
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
throwforce = 5.0
|
||||
throw_range = 15
|
||||
throw_speed = 3
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
desc = "A specialised light replacer which stores more lights, refills faster from boxes, and sucks up broken bulbs. Empty into a disposal or trashbag when full!"
|
||||
icon_state = "adv_lightreplacer"
|
||||
item_state = "adv_lightreplacer"
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
store_broken = 1
|
||||
load_interval = 10
|
||||
max_uses = 30
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
icon = 'icons/obj/magnetic_locks.dmi'
|
||||
icon_state = "inactive_CENTCOM"
|
||||
//icon_state = "inactive"
|
||||
w_class = ITEMSIZE_NORMAL
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
req_access = list(ACCESS_CENT_SPECOPS)
|
||||
health = 150
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
name = "legion magnetic door lock"
|
||||
req_access = null
|
||||
req_one_access = list(ACCESS_LEGION, ACCESS_TCAF_SHIPS)
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
|
||||
/obj/item/device/magnetic_lock/security/legion/Initialize()
|
||||
. = ..()
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
icon_state = "megaphone"
|
||||
item_state = "megaphone"
|
||||
contained_sprite = TRUE
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
obj_flags = OBJ_FLAG_CONDUCTABLE
|
||||
|
||||
var/spamcheck = 0
|
||||
|
||||
@@ -111,7 +111,7 @@
|
||||
desc_info = "In order to convert a voidsuit simply click on voidsuit or helmet with this item\
|
||||
The same process can be used to convert the voidsuit back into a regular voidsuit. Make sure not to have a helmet or tank in the suit\
|
||||
or else it will be deleted."
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
var/list/suit_options = list(
|
||||
/obj/item/clothing/suit/space/void/mining = /obj/item/clothing/suit/space/void/mining/himeo,
|
||||
/obj/item/clothing/head/helmet/space/void/mining = /obj/item/clothing/head/helmet/space/void/mining/himeo,
|
||||
@@ -207,7 +207,7 @@
|
||||
desc_info = "This is an OOC item, don't let anyone see it! In order to convert a voidsuit simply click on voidsuit or helmet with this item \
|
||||
The same process can be used to convert the voidsuit back into a regular voidsuit. Make sure not to have a helmet or tank in the suit \
|
||||
or else it will be deleted."
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
suit_options = list(
|
||||
/obj/item/clothing/head/helmet/space/void/dominia = /obj/item/clothing/head/helmet/space/void/dominia/voidsman,
|
||||
/obj/item/clothing/suit/space/void/dominia = /obj/item/clothing/suit/space/void/dominia/voidsman
|
||||
@@ -241,7 +241,7 @@
|
||||
desc_info = "In order to convert a voidsuit simply click on voidsuit or helmet with this item\
|
||||
The same process can be used to convert the voidsuit back into a regular voidsuit. Make sure not to have a helmet or tank in the suit\
|
||||
or else it will be deleted."
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
var/list/suit_options = list()
|
||||
var/list/helmet_options = list()
|
||||
var/list/rig_options = list()
|
||||
@@ -324,7 +324,7 @@
|
||||
desc_info = "This is an OOC item, don't let anyone see it! In order to convert a voidsuit simply click on voidsuit or helmet with this item \
|
||||
The same process can be used to convert the voidsuit back into a regular voidsuit. Make sure not to have a helmet or tank in the suit \
|
||||
or else it will be deleted."
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
suit_options = list(
|
||||
"Izharshan's Raiders" = /obj/item/clothing/suit/space/void/unathi_pirate,
|
||||
"Hiskyn's Revanchists" = /obj/item/clothing/suit/space/void/unathi_pirate/hiskyn,
|
||||
@@ -359,7 +359,7 @@
|
||||
desc_info = "This is an OOC item, don't let anyone see it! In order to convert a voidsuit simply click on a hardsuit with this item \
|
||||
The same process can be used to convert the hardsuit back into a regular hardsuit. Make sure not to have any modules in the suit \
|
||||
or else it will be deleted."
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
rig_options = list(
|
||||
"NanoTrasen Hardsuit" = /obj/item/rig/nanotrasen,
|
||||
"Corporate Auxiliary Hardsuit" = /obj/item/rig/nanotrasen/corporate_auxiliary,
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
contained_sprite = TRUE
|
||||
obj_flags = OBJ_FLAG_CONDUCTABLE
|
||||
force = 11
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
throwforce = 5.0
|
||||
throw_range = 15
|
||||
throw_speed = 3
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
icon = 'icons/obj/device.dmi'
|
||||
icon_state = "oxycandle"
|
||||
item_state = "oxycandle"
|
||||
w_class = ITEMSIZE_SMALL // Should fit into internal's box or maybe pocket
|
||||
w_class = WEIGHT_CLASS_SMALL // Should fit into internal's box or maybe pocket
|
||||
var/target_pressure = ONE_ATMOSPHERE
|
||||
var/datum/gas_mixture/air_contents = null
|
||||
var/volume = 5600 // One tile has 2500 volume of air, so two tiles plus a bit extra
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
icon = 'icons/obj/pai.dmi'
|
||||
icon_state = "pai"
|
||||
item_state = "electronic"
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
slot_flags = SLOT_BELT
|
||||
origin_tech = list(TECH_DATA = 2)
|
||||
var/list/installed_encryptionkeys = list()
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
item_state = "personal_shield"
|
||||
contained_sprite = TRUE
|
||||
slot_flags = SLOT_BELT
|
||||
w_class = ITEMSIZE_NORMAL
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
action_button_name = "Toggle Shield"
|
||||
var/obj/item/cell/cell
|
||||
var/charge_per_shot = 200
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
icon = 'icons/obj/device.dmi'
|
||||
icon_state = "pin_extractor"
|
||||
item_state = "pin_extractor"
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
obj_flags = OBJ_FLAG_CONDUCTABLE
|
||||
action_button_name = "Toggle extractor"
|
||||
var/on = 0
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
desc = "A nulling power sink which drains energy from electrical systems."
|
||||
icon_state = "powersink0"
|
||||
item_state = "powersink0"
|
||||
w_class = ITEMSIZE_LARGE
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
obj_flags = OBJ_FLAG_CONDUCTABLE
|
||||
throwforce = 5
|
||||
throw_speed = 1
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
item_state = "electropack"
|
||||
obj_flags = OBJ_FLAG_CONDUCTABLE
|
||||
slot_flags = SLOT_BACK
|
||||
w_class = ITEMSIZE_HUGE
|
||||
w_class = WEIGHT_CLASS_HUGE
|
||||
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 10000, MATERIAL_GLASS = 2500)
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
icon = 'icons/obj/radio.dmi'
|
||||
icon_state = "cypherkey"
|
||||
item_state = ""
|
||||
w_class = ITEMSIZE_TINY
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
slot_flags = SLOT_EARS
|
||||
var/translate_binary = FALSE
|
||||
var/translate_hivenet = FALSE
|
||||
|
||||
@@ -25,7 +25,7 @@ pixel_x = 8;
|
||||
layer = ABOVE_WINDOW_LAYER
|
||||
anchored = TRUE
|
||||
appearance_flags = TILE_BOUND // prevents people from viewing the overlay through a wall
|
||||
w_class = ITEMSIZE_LARGE
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
canhear_range = 2
|
||||
atom_flags = ATOM_FLAG_NO_BLOOD
|
||||
obj_flags = OBJ_FLAG_MOVES_UNSUPPORTED | OBJ_FLAG_CONDUCTABLE
|
||||
|
||||
@@ -46,7 +46,7 @@ var/global/list/default_interrogation_channels = list(
|
||||
slot_flags = SLOT_BELT
|
||||
throw_speed = 2
|
||||
throw_range = 9
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
matter = list(MATERIAL_ALUMINIUM = 75, MATERIAL_GLASS = 25)
|
||||
suffix = "\[3\]"
|
||||
var/radio_desc = ""
|
||||
|
||||
@@ -22,7 +22,7 @@ var/list/active_radio_jammers = list()
|
||||
desc_info = "Use in-hand to activate or deactivate, alt-click while adjacent or in-hand to toggle whether it blocks all wireless signals, or just stationbound wireless interfacing."
|
||||
icon = 'icons/obj/device.dmi'
|
||||
icon_state = "shield0"
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
var/active = JAMMER_OFF
|
||||
var/radius = 7
|
||||
var/icon_state_active = "shield1"
|
||||
|
||||
@@ -15,7 +15,7 @@ BREATH ANALYZER
|
||||
obj_flags = OBJ_FLAG_CONDUCTABLE
|
||||
slot_flags = SLOT_BELT
|
||||
throwforce = 3
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
throw_speed = 5
|
||||
throw_range = 10
|
||||
matter = list(MATERIAL_ALUMINIUM = 200)
|
||||
@@ -377,7 +377,7 @@ BREATH ANALYZER
|
||||
icon_state = "analyzer"
|
||||
item_state = "analyzer"
|
||||
contained_sprite = TRUE
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
obj_flags = OBJ_FLAG_CONDUCTABLE
|
||||
slot_flags = SLOT_BELT
|
||||
throwforce = 5
|
||||
@@ -411,7 +411,7 @@ BREATH ANALYZER
|
||||
desc = "A hand-held mass spectrometer which identifies trace chemicals in a blood sample."
|
||||
icon_state = "spectrometer"
|
||||
item_state = "analyzer"
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
atom_flags = ATOM_FLAG_OPEN_CONTAINER
|
||||
obj_flags = OBJ_FLAG_CONDUCTABLE
|
||||
slot_flags = SLOT_BELT
|
||||
@@ -485,7 +485,7 @@ BREATH ANALYZER
|
||||
desc = "A hand-held reagent scanner which identifies chemical agents."
|
||||
icon_state = "reagent_scanner"
|
||||
item_state = "analyzer"
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
obj_flags = OBJ_FLAG_CONDUCTABLE
|
||||
slot_flags = SLOT_BELT
|
||||
throwforce = 5
|
||||
@@ -526,7 +526,7 @@ BREATH ANALYZER
|
||||
icon_state = "adv_spectrometer"
|
||||
item_state = "analyzer"
|
||||
origin_tech = list(TECH_BIO = 1)
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
obj_flags = OBJ_FLAG_CONDUCTABLE
|
||||
throwforce = 0
|
||||
throw_speed = 3
|
||||
@@ -571,7 +571,7 @@ BREATH ANALYZER
|
||||
item_state = "price_scanner"
|
||||
item_flags = ITEM_FLAG_NO_BLUDGEON
|
||||
slot_flags = SLOT_BELT
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
throwforce = 0
|
||||
throw_speed = 3
|
||||
throw_range = 3
|
||||
@@ -590,7 +590,7 @@ BREATH ANALYZER
|
||||
desc = "A hand-held breath analyzer that provides a robust amount of information about the subject's respiratory system."
|
||||
icon_state = "breath_analyzer"
|
||||
item_state = "analyzer"
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
obj_flags = OBJ_FLAG_CONDUCTABLE
|
||||
slot_flags = SLOT_BELT
|
||||
throwforce = 0
|
||||
@@ -699,7 +699,7 @@ BREATH ANALYZER
|
||||
icon_state = "adv-analyzer"
|
||||
item_state = "adv-analyzer"
|
||||
slot_flags = SLOT_BELT
|
||||
w_class = ITEMSIZE_NORMAL
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
origin_tech = list(TECH_MAGNET = 2, TECH_BIO = 3)
|
||||
var/obj/machinery/body_scanconsole/connected = null //this is used to print the date and to deal with extra
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
desc_info = "You can use this in hand to open the interface, click-dragging it to you also works. Click anywhere with it in your hand to project at that location. Click dragging it to that location also works."
|
||||
icon = 'icons/obj/projector.dmi'
|
||||
icon_state = "projector0"
|
||||
max_w_class = ITEMSIZE_SMALL
|
||||
max_w_class = WEIGHT_CLASS_SMALL
|
||||
max_storage_space = 10
|
||||
use_sound = 'sound/items/storage/toolbox.ogg'
|
||||
var/static/list/projection_types = list(
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
obj_flags = OBJ_FLAG_CONDUCTABLE
|
||||
force = 11
|
||||
w_class = ITEMSIZE_TINY
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
slot_flags = SLOT_EARS
|
||||
throwforce = 5.0
|
||||
throw_range = 15
|
||||
@@ -58,7 +58,7 @@
|
||||
icon_state = "pda"
|
||||
item_state = "electronic"
|
||||
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
|
||||
origin_tech = list(TECH_DATA = 1, TECH_ENGINEERING = 1, TECH_ILLEGAL = 3)
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/obj/item/device/suit_cooling_unit
|
||||
name = "portable suit cooling unit"
|
||||
desc = "A portable heat sink and liquid cooled radiator that can be hooked up to a space suit's existing temperature controls to provide industrial levels of cooling."
|
||||
w_class = ITEMSIZE_LARGE
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
icon = 'icons/obj/item/tools/suitcooler.dmi'
|
||||
icon_state = "suitcooler0"
|
||||
item_state = "coolingpack"
|
||||
@@ -166,8 +166,8 @@
|
||||
if(cell)
|
||||
to_chat(user, SPAN_WARNING("There is \a [cell] already installed here."))
|
||||
else
|
||||
if(attacking_item.w_class != ITEMSIZE_NORMAL)
|
||||
to_chat(user, SPAN_WARNING("\The [attacking_item] is too [attacking_item.w_class < ITEMSIZE_NORMAL ? "small" : "large"] to fit here."))
|
||||
if(attacking_item.w_class != WEIGHT_CLASS_NORMAL)
|
||||
to_chat(user, SPAN_WARNING("\The [attacking_item] is too [attacking_item.w_class < WEIGHT_CLASS_NORMAL ? "small" : "large"] to fit here."))
|
||||
return
|
||||
user.drop_from_inventory(attacking_item,src)
|
||||
cell = attacking_item
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
item_state = "t-ray"
|
||||
contained_sprite = TRUE
|
||||
slot_flags = SLOT_BELT
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
matter = list(MATERIAL_PLASTIC = 100, MATERIAL_ALUMINIUM = 50)
|
||||
origin_tech = list(TECH_MAGNET = 1, TECH_ENGINEERING = 1)
|
||||
action_button_name = "Toggle T-Ray scanner"
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
desc = "Used for tagging animals to be identified by a ear tag."
|
||||
icon_state = "animal_tagger0"
|
||||
force = 11
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
throwforce = 5.0
|
||||
throw_range = 15
|
||||
throw_speed = 3
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
desc = "A device that can record up to an hour of dialogue and play it back. It automatically translates the content in playback."
|
||||
icon_state = "taperecorderidle"
|
||||
item_state = "analyzer"
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
|
||||
matter = list(MATERIAL_ALUMINIUM = 60, MATERIAL_GLASS = 30)
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ effective or pretty fucking useless.
|
||||
desc = "A strange device with twin antennas."
|
||||
icon_state = "batterer"
|
||||
throwforce = 5
|
||||
w_class = ITEMSIZE_TINY
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
throw_speed = 4
|
||||
throw_range = 10
|
||||
obj_flags = OBJ_FLAG_CONDUCTABLE
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
desc = "An Ingi Usang Entertainment Co. livestreaming press camera drone. Weapon of choice for war correspondents and reality show cameramen. It does not appear to have any internal memory storage."
|
||||
icon_state = "camcorder"
|
||||
item_state = "camcorder"
|
||||
w_class = ITEMSIZE_LARGE
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
slot_flags = SLOT_BELT
|
||||
var/channel = "General News Feed"
|
||||
var/obj/machinery/camera/network/news/camera
|
||||
@@ -93,7 +93,7 @@ Using robohead because of restricting to roboticist */
|
||||
icon_state = "head"
|
||||
item_state = "head"
|
||||
var/buildstep = 0
|
||||
w_class = ITEMSIZE_LARGE
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
|
||||
/obj/item/tv_assembly/attackby(obj/item/attacking_item, mob/user)
|
||||
switch(buildstep)
|
||||
|
||||
@@ -374,7 +374,7 @@ Then check if it's true, if true return. This will stop the normal menu appearin
|
||||
icon = 'icons/obj/radio.dmi'
|
||||
icon_state = "radio"
|
||||
obj_flags = OBJ_FLAG_CONDUCTABLE
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
|
||||
/obj/item/device/contract_uplink/Initialize(var/mapload, var/mind)
|
||||
. = ..()
|
||||
@@ -394,7 +394,7 @@ Then check if it's true, if true return. This will stop the normal menu appearin
|
||||
icon = 'icons/obj/device.dmi'
|
||||
icon_state = "locator"
|
||||
desc_antag = "This device allows you to create a single central command report. It has only one use."
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
|
||||
/obj/item/device/announcer/attack_self(mob/user as mob)
|
||||
if(!player_is_antag(user.mind))
|
||||
@@ -419,7 +419,7 @@ Then check if it's true, if true return. This will stop the normal menu appearin
|
||||
icon = 'icons/obj/radio.dmi'
|
||||
icon_state = "radio"
|
||||
obj_flags = OBJ_FLAG_CONDUCTABLE
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
|
||||
///Amount of starting telecrystals. Defaults to default amount if not set.
|
||||
var/starting_telecrystals
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
icon = 'icons/obj/library.dmi'
|
||||
icon_state = "dominiabook"
|
||||
item_state = "dominia"
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
var/reading = FALSE
|
||||
|
||||
drop_sound = 'sound/items/drop/book.ogg'
|
||||
@@ -158,5 +158,5 @@
|
||||
desc = "A miniaturized edition of the Luceian Book of Scripture, a collection of historically-backed texts mixed with fables and stories detailing the reasonings, history, and \
|
||||
beliefs of the Luceism religion of Assunzione. Translated into Basic by the Luceian Monastery on Biesel. This one fits nicely in a pocket or in a bag."
|
||||
icon_state = "luce_pocket"
|
||||
w_class = ITEMSIZE_TINY
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
desc = "Used by obese officers to save their breath for running."
|
||||
icon_state = "voice0"
|
||||
item_state = "flashbang" //looks exactly like a flash (and nothing like a flashbang)
|
||||
w_class = ITEMSIZE_TINY
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
obj_flags = OBJ_FLAG_CONDUCTABLE
|
||||
|
||||
var/use_message = "Halt! Security!"
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
icon = 'icons/obj/toy.dmi'
|
||||
icon_state = "eightball"
|
||||
|
||||
w_class = ITEMSIZE_TINY
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
|
||||
var/shaking = FALSE
|
||||
var/on_cooldown = FALSE
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
desc_info = "Can be used to hold money, small animals, and gumballs. You can remove the lid and use it as a reagent container."
|
||||
icon = 'icons/obj/item/reagent_containers/glass.dmi'
|
||||
icon_state = "jar_lid"
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
matter = list(MATERIAL_GLASS = 200)
|
||||
recyclable = TRUE
|
||||
item_flags = ITEM_FLAG_NO_BLUDGEON
|
||||
@@ -136,7 +136,7 @@
|
||||
return TRUE
|
||||
if(istype(attacking_item, /obj/item/holder))
|
||||
var/obj/item/holder/H = attacking_item
|
||||
if(H.w_class <= ITEMSIZE_SMALL)
|
||||
if(H.w_class <= WEIGHT_CLASS_SMALL)
|
||||
contains = JAR_HOLDER
|
||||
user.drop_from_inventory(H)
|
||||
scoop(H, user)
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
desc_extended = "An overloader is a small disposable stick drive, commonly loaded with a program designed to temporarily reconfigure an IPC's priorities or inputs."
|
||||
icon = 'icons/obj/item/ipc_overloaders.dmi'
|
||||
icon_state = "classic"
|
||||
w_class = ITEMSIZE_TINY
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
contained_sprite = TRUE
|
||||
var/uses = 2
|
||||
var/effect_time = 30 SECONDS
|
||||
@@ -258,8 +258,8 @@
|
||||
icon_state = "box"
|
||||
update_icon_on_init = TRUE
|
||||
contained_sprite = TRUE
|
||||
w_class = ITEMSIZE_SMALL
|
||||
max_w_class = ITEMSIZE_TINY
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
max_w_class = WEIGHT_CLASS_TINY
|
||||
storage_slots = 1
|
||||
can_hold = list(/obj/item/ipc_overloader)
|
||||
use_sound = 'sound/items/storage/briefcase.ogg'
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
icon = 'icons/obj/item/tools/knitting.dmi'
|
||||
icon_state = "knittingneedles"
|
||||
item_state = "knittingneedles"
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
contained_sprite = TRUE
|
||||
var/working = FALSE
|
||||
var/obj/item/yarn/ball
|
||||
@@ -121,7 +121,7 @@
|
||||
desc = "A ball of yarn, this one is white."
|
||||
icon = 'icons/obj/item/tools/knitting.dmi'
|
||||
icon_state = "white_ball"
|
||||
w_class = ITEMSIZE_TINY
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
|
||||
/obj/item/yarn/red
|
||||
desc = "A ball of yarn, this one is red."
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
desc = "A portable radio capable of receiving radio waves from nearby space systems."
|
||||
icon = 'icons/obj/radio.dmi'
|
||||
icon_state = "radio"
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
|
||||
var/receiving = FALSE
|
||||
var/current_station = null
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
icon_state = "recharger_backpack"
|
||||
item_state = "recharger_backpack"
|
||||
contained_sprite = TRUE
|
||||
w_class = ITEMSIZE_LARGE
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
slot_flags = SLOT_BACK
|
||||
///Power cell used to recharge the gun. Empty by default.
|
||||
var/obj/item/cell/powersupply
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
icon_state = "sampler"
|
||||
item_state = "sampler"
|
||||
contained_sprite = TRUE
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
/**
|
||||
* Which attachment we are using
|
||||
*/
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
desc = "An antique and delicate looking instrument used to study the stars."
|
||||
icon = 'icons/obj/item/skrell/stellascope.dmi'
|
||||
icon_state = "starscope"
|
||||
w_class = ITEMSIZE_TINY
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
matter = list(MATERIAL_GLASS = 200)
|
||||
drop_sound = 'sound/items/drop/glass.ogg'
|
||||
pickup_sound = 'sound/items/pickup/glass.ogg'
|
||||
@@ -80,7 +80,7 @@
|
||||
icon = 'icons/obj/item/skrell/nralakk_projector.dmi'
|
||||
icon_state = "projector"
|
||||
light_color = LIGHT_COLOR_HALOGEN
|
||||
w_class = ITEMSIZE_TINY
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
matter = list(MATERIAL_GLASS = 200)
|
||||
drop_sound = 'sound/items/drop/glass.ogg'
|
||||
pickup_sound = 'sound/items/pickup/glass.ogg'
|
||||
@@ -231,7 +231,7 @@
|
||||
/obj/item/nralakktag
|
||||
name = "\improper Nralakk Federation loyalty ear-tag"
|
||||
desc = "An ear-tag that shows the wearer is loyal to the Nralakk Federation. A small cable travels into the ear canal..."
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
slot_flags = SLOT_EARS
|
||||
icon = 'icons/obj/item/skrell/jargtag.dmi'
|
||||
icon_state = "jargtag"
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
max_amount = 5
|
||||
icon = 'icons/obj/barricade_stacks.dmi'
|
||||
icon_state = "steel-kit"
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 650, MATERIAL_PHORON = 100, MATERIAL_PLASTEEL = 150)
|
||||
var/barricade_name = "steel"
|
||||
var/barricade_type = /obj/structure/barricade/metal
|
||||
|
||||
@@ -17,7 +17,7 @@ Contains:
|
||||
pickup_sound = 'sound/items/pickup/cardboardbox.ogg'
|
||||
amount = 5
|
||||
max_amount = 5
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
throw_speed = 4
|
||||
throw_range = 20
|
||||
surgerysound = 'sound/items/surgery/bonegel.ogg'
|
||||
|
||||
@@ -23,7 +23,7 @@ var/global/list/datum/stack_recipe/rod_recipes = list(
|
||||
singular_name = "metal rod"
|
||||
icon_state = "rods"
|
||||
obj_flags = OBJ_FLAG_CONDUCTABLE
|
||||
w_class = ITEMSIZE_NORMAL
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
force = 20
|
||||
throwforce = 15.0
|
||||
throw_speed = 5
|
||||
@@ -102,7 +102,7 @@ var/global/list/datum/stack_recipe/rod_recipes = list(
|
||||
icon_state = "barbed_wire"
|
||||
singular_name = "length"
|
||||
max_amount = 50
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 937.5)
|
||||
attack_verb = list("hit", "whacked", "sliced")
|
||||
|
||||
@@ -119,7 +119,7 @@ var/global/list/datum/stack_recipe/rod_recipes = list(
|
||||
max_amount = 50
|
||||
icon = 'icons/obj/barricades.dmi'
|
||||
icon_state = "liquidbags"
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 650, MATERIAL_PHORON = 100, MATERIAL_PLASTEEL = 150)
|
||||
|
||||
/obj/item/stack/liquidbags/half_full
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
desc_antag = "Crystals can be activated by utilizing them on devices with an actively running uplink. They will not activate on unactivated uplinks."
|
||||
singular_name = "telecrystal"
|
||||
icon_state = "telecrystal"
|
||||
w_class = ITEMSIZE_TINY
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
max_amount = 50
|
||||
item_flags = ITEM_FLAG_NO_BLUDGEON
|
||||
origin_tech = list(TECH_MATERIAL = 6, TECH_BLUESPACE = 4)
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
name = "tile"
|
||||
singular_name = "tile"
|
||||
desc = "A non-descript floor tile."
|
||||
w_class = ITEMSIZE_NORMAL
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
max_amount = 60
|
||||
recyclable = TRUE
|
||||
icon = 'icons/obj/item/stacks/tiles.dmi'
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
if (!isturf(loc))
|
||||
to_chat(user, SPAN_WARNING("The paper must be set down for you to wrap a gift!"))
|
||||
return
|
||||
if (attacking_item.w_class < ITEMSIZE_LARGE)
|
||||
if (attacking_item.w_class < WEIGHT_CLASS_BULKY)
|
||||
var/a_used = 2 * (src.w_class - 1)
|
||||
if(src.amount < a_used)
|
||||
to_chat(user, SPAN_WARNING("You need more paper!"))
|
||||
@@ -102,7 +102,7 @@
|
||||
desc = "A roll of paper used to enclose an object for delivery."
|
||||
desc_info = "To package wrap the object for delivery, use the package wrapper on the object."
|
||||
singular_name = "length"
|
||||
w_class = ITEMSIZE_NORMAL
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
amount = 30
|
||||
var/wrapping_tag = "Sorting Office"
|
||||
drop_sound = 'sound/items/drop/wrapper.ogg'
|
||||
@@ -210,6 +210,6 @@
|
||||
)
|
||||
icon_state = "c_tube"
|
||||
throwforce = 1
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
throw_speed = 4
|
||||
throw_range = 5
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
icon = 'icons/obj/sticker.dmi'
|
||||
icon_state = "sticker"
|
||||
item_flags = ITEM_FLAG_NO_BLUDGEON
|
||||
w_class = ITEMSIZE_TINY
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
vis_flags = VIS_INHERIT_LAYER | VIS_INHERIT_DIR
|
||||
|
||||
var/datum/weakref/attached
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
icon_state = "tajcig"
|
||||
drop_sound = 'sound/items/drop/paper.ogg'
|
||||
pickup_sound = 'sound/items/pickup/paper.ogg'
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
var/list/figures = list("hadii", "tesla", "headmaster", "commissar", "almanq", "yasmin", "andrey", "paratrooper", "scout")
|
||||
|
||||
/obj/item/tajcard/Initialize()
|
||||
|
||||
@@ -111,7 +111,7 @@
|
||||
desc_extended = "Thanks to the joint effort of the Research and Atmospherics teams, station enviroments have been set to allow balloons to float without helium. Look, it was the end of the month and we went under budget."
|
||||
drop_sound = 'sound/items/drop/rubber.ogg'
|
||||
pickup_sound = 'sound/items/pickup/rubber.ogg'
|
||||
w_class = ITEMSIZE_HUGE
|
||||
w_class = WEIGHT_CLASS_HUGE
|
||||
var/datum/gas_mixture/air_contents = null
|
||||
var/status = 0 // 0 = normal, 1 = blow, 2 = burst
|
||||
|
||||
@@ -293,7 +293,7 @@
|
||||
/obj/item/toy/comic
|
||||
name = "comic book"
|
||||
desc = "A magazine presenting a fictional story through a sequence of images. Perfect for those long, boring shifts."
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
icon_state = "comic"
|
||||
item_state = "comic"
|
||||
drop_sound = 'sound/items/drop/paper.ogg'
|
||||
@@ -409,7 +409,7 @@
|
||||
drop_sound = 'sound/items/drop/gun.ogg'
|
||||
pickup_sound = 'sound/items/pickup/gun.ogg'
|
||||
contained_sprite = TRUE
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
attack_verb = list("attacked", "struck", "hit")
|
||||
var/dart_count = 5
|
||||
|
||||
@@ -501,7 +501,7 @@
|
||||
desc = "A foam dart."
|
||||
icon = 'icons/obj/toy.dmi'
|
||||
icon_state = "foamdart"
|
||||
w_class = ITEMSIZE_TINY
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
slot_flags = SLOT_EARS
|
||||
drop_sound = 'sound/items/drop/food.ogg'
|
||||
pickup_sound = 'sound/items/pickup/food.ogg'
|
||||
@@ -532,7 +532,7 @@
|
||||
var/active = 0.0
|
||||
var/colorvar = "blue"
|
||||
var/last_active = 0
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
attack_verb = list("attacked", "struck", "hit")
|
||||
|
||||
/obj/item/toy/sword/attack_self(mob/user as mob)
|
||||
@@ -544,13 +544,13 @@
|
||||
playsound(user, 'sound/weapons/saberon.ogg', 50, 1)
|
||||
src.icon_state = "sword[colorvar]"
|
||||
src.item_state = "sword[colorvar]"
|
||||
src.w_class = ITEMSIZE_LARGE
|
||||
src.w_class = WEIGHT_CLASS_BULKY
|
||||
else
|
||||
to_chat(user, SPAN_NOTICE("You push the plastic blade back down into the handle."))
|
||||
playsound(user, 'sound/weapons/saberoff.ogg', 50, 1)
|
||||
src.icon_state = "sword0"
|
||||
src.item_state = "sword0"
|
||||
src.w_class = ITEMSIZE_SMALL
|
||||
src.w_class = WEIGHT_CLASS_SMALL
|
||||
|
||||
if(istype(user,/mob/living/carbon/human))
|
||||
var/mob/living/carbon/human/H = user
|
||||
@@ -579,7 +579,7 @@
|
||||
slot_flags = SLOT_BELT | SLOT_BACK
|
||||
force = 11
|
||||
throwforce = 5
|
||||
w_class = ITEMSIZE_NORMAL
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
attack_verb = list("attacked", "slashed", "stabbed", "sliced")
|
||||
|
||||
/*
|
||||
@@ -590,10 +590,18 @@
|
||||
desc = "Wow!"
|
||||
icon = 'icons/obj/toy.dmi'
|
||||
icon_state = "snappop"
|
||||
w_class = ITEMSIZE_TINY
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
drop_sound = 'sound/items/drop/food.ogg'
|
||||
pickup_sound = 'sound/items/pickup/food.ogg'
|
||||
|
||||
/obj/item/toy/snappop/Initialize()
|
||||
. = ..()
|
||||
var/static/list/loc_connections = list(
|
||||
COMSIG_ATOM_ENTERED = PROC_REF(on_entered),
|
||||
)
|
||||
|
||||
AddElement(/datum/element/connect_loc, loc_connections)
|
||||
|
||||
/obj/item/toy/snappop/attack_self(mob/user)
|
||||
user.drop_from_inventory(src)
|
||||
user.visible_message(SPAN_WARNING("\The [user] throws \the [src] at their feet!"), SPAN_NOTICE("You throw \the [src] at your feet."))
|
||||
@@ -603,9 +611,9 @@
|
||||
..()
|
||||
do_pop()
|
||||
|
||||
/obj/item/toy/snappop/Crossed(H as mob|obj)
|
||||
if((ishuman(H))) //i guess carp and shit shouldn't set them off
|
||||
var/mob/living/carbon/human/M = H
|
||||
/obj/item/toy/snappop/proc/on_entered(datum/source, atom/movable/arrived, atom/old_loc, list/atom/old_locs)
|
||||
if((ishuman(arrived))) //i guess carp and shit shouldn't set them off
|
||||
var/mob/living/carbon/human/M = arrived
|
||||
if(M.shoes?.item_flags & ITEM_FLAG_LIGHT_STEP)
|
||||
return
|
||||
if(M.m_intent == M_RUN)
|
||||
@@ -646,7 +654,7 @@
|
||||
drop_sound = 'sound/items/drop/card.ogg'
|
||||
pickup_sound = 'sound/items/pickup/card.ogg'
|
||||
var/cooldown = 0
|
||||
w_class = ITEMSIZE_TINY
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
slot_flags = SLOT_EARS
|
||||
|
||||
/obj/item/toy/bosunwhistle/attack_self(mob/user as mob)
|
||||
@@ -661,7 +669,7 @@
|
||||
/obj/item/toy/mech
|
||||
icon_state = "ripleytoy"
|
||||
var/cooldown = 0
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
drop_sound = 'sound/mecha/mechstep.ogg'
|
||||
|
||||
/obj/item/toy/mech/attack_self(mob/user)
|
||||
@@ -731,7 +739,7 @@
|
||||
name = "completely glitched action figure"
|
||||
desc = "A \"Space Life\" brand... wait, what the hell is this thing? It seems to be requesting the sweet release of death."
|
||||
icon_state = "glitched"
|
||||
w_class = ITEMSIZE_TINY
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
drop_sound = 'sound/items/drop/accessory.ogg'
|
||||
pickup_sound = 'sound/items/pickup/accessory.ogg'
|
||||
|
||||
@@ -940,7 +948,7 @@
|
||||
item_state = "therapyred"
|
||||
var/active = 0.0
|
||||
var/colorvar = "red"
|
||||
w_class = ITEMSIZE_TINY
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
|
||||
/obj/item/toy/plushie/therapy/Initialize()
|
||||
. = ..()
|
||||
@@ -1297,7 +1305,7 @@
|
||||
icon = 'icons/obj/sword.dmi'
|
||||
icon_state = "cultblade"
|
||||
item_state = "cultblade"
|
||||
w_class = ITEMSIZE_LARGE
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
attack_verb = list("attacked", "slashed", "stabbed", "poked")
|
||||
contained_sprite = TRUE
|
||||
|
||||
@@ -1393,7 +1401,7 @@
|
||||
name = "party popper"
|
||||
desc = "Instructions : Aim away from face. Wait for appropriate timing. Pull cord, enjoy confetti."
|
||||
icon_state = "partypopper"
|
||||
w_class = ITEMSIZE_TINY
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
drop_sound = 'sound/items/drop/cardboardbox.ogg'
|
||||
pickup_sound = 'sound/items/pickup/cardboardbox.ogg'
|
||||
|
||||
@@ -1415,7 +1423,7 @@
|
||||
desc = "A %NAME% chess piece, this one is worth %POINT% points."
|
||||
icon = 'icons/obj/item/chess.dmi'
|
||||
icon_state = "white_pawn"
|
||||
w_class = ITEMSIZE_HUGE // hugh mungus
|
||||
w_class = WEIGHT_CLASS_HUGE // hugh mungus
|
||||
var/piece_worth = 1
|
||||
|
||||
/obj/item/chess_piece/afterattack(atom/target, mob/user, proximity_flag, click_parameters)
|
||||
@@ -1481,7 +1489,7 @@
|
||||
/obj/item/toy/stressball
|
||||
name = "stress ball"
|
||||
desc = "A small, squishy stress ball. This one has a squeaker inside."
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
icon_state = "stressball"
|
||||
drop_sound = 'sound/items/drop/plushie.ogg'
|
||||
pickup_sound = 'sound/items/pickup/plushie.ogg'
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
//Added by Jack Rost
|
||||
/obj/item/trash
|
||||
icon = 'icons/obj/trash.dmi'
|
||||
w_class = ITEMSIZE_TINY
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
contained_sprite = TRUE
|
||||
item_state = "candy"
|
||||
desc = "General waste material, refuse or litter. Dispose responsibly."
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
icon = 'icons/obj/item/umbrellas.dmi'
|
||||
icon_state = "umbrella_yellow_closed"
|
||||
contained_sprite = TRUE
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
matter = list(MATERIAL_PLASTIC = 1000)
|
||||
force = 5
|
||||
sharp = TRUE
|
||||
@@ -29,7 +29,7 @@
|
||||
if(!is_open)
|
||||
to_chat(user, SPAN_NOTICE("You unfurl \the [src]."))
|
||||
item_state = "umbrella_[umbrella_color]_open"
|
||||
w_class = ITEMSIZE_LARGE
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
is_open = TRUE
|
||||
force = 1
|
||||
sharp = FALSE
|
||||
|
||||
@@ -14,7 +14,7 @@ AI MODULES
|
||||
desc = "An AI Module for transmitting encrypted instructions to the AI."
|
||||
obj_flags = OBJ_FLAG_CONDUCTABLE
|
||||
force = 11
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
throwforce = 5.0
|
||||
throw_speed = 3
|
||||
throw_range = 15
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
throwforce = 10
|
||||
throw_speed = 1
|
||||
throw_range = 5
|
||||
w_class = ITEMSIZE_NORMAL
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
origin_tech = list(TECH_ENGINEERING = 4, TECH_MATERIAL = 2)
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 50000)
|
||||
drop_sound = 'sound/items/drop/gun.ogg'
|
||||
@@ -161,7 +161,7 @@
|
||||
icon = 'icons/obj/ammo.dmi'
|
||||
icon_state = "rfd"
|
||||
item_state = "rfdammo"
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
origin_tech = list(TECH_MATERIAL = 2)
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 2000, MATERIAL_GLASS = 2000)
|
||||
recyclable = TRUE
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
icon = 'icons/obj/device.dmi'
|
||||
icon_state = "autopsy"
|
||||
obj_flags = OBJ_FLAG_CONDUCTABLE
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
origin_tech = list(TECH_MATERIAL = 1, TECH_BIO = 1)
|
||||
var/list/datum/autopsy_data_scanner/wdata = list()
|
||||
var/list/datum/autopsy_data_scanner/chemtraces = list()
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
item_state = "candle1"
|
||||
drop_sound = 'sound/items/drop/gloves.ogg'
|
||||
pickup_sound = 'sound/items/pickup/gloves.ogg'
|
||||
w_class = ITEMSIZE_TINY
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
light_color = "#E09D37"
|
||||
var/wax = 2000
|
||||
var/start_lit = FALSE
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
slot_l_hand_str = 'icons/mob/items/lefthand_card.dmi',
|
||||
slot_r_hand_str = 'icons/mob/items/righthand_card.dmi',
|
||||
)
|
||||
w_class = ITEMSIZE_TINY
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
var/associated_account_number = 0
|
||||
var/list/files = list( )
|
||||
var/last_flash = 0 //Spam limiter.
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
throw_speed = 1
|
||||
throw_range = 4
|
||||
throwforce = 10
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
var/can_change_form = TRUE // For holodeck check.
|
||||
var/cooldown = 0 // Floor tap cooldown.
|
||||
var/list/null_choices = list( //Generic nullrods only here, religion-specific ones should be on the religion datum
|
||||
@@ -51,7 +51,7 @@
|
||||
icon_state = "nullstaff"
|
||||
item_state = "nullstaff"
|
||||
slot_flags = SLOT_BELT | SLOT_BACK
|
||||
w_class = ITEMSIZE_LARGE
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
|
||||
/obj/item/nullrod/orb
|
||||
name = "null sphere"
|
||||
@@ -78,7 +78,7 @@
|
||||
throw_range = 7
|
||||
throwforce = 2
|
||||
slot_flags = SLOT_MASK | SLOT_WRISTS | SLOT_EARS | SLOT_TIE
|
||||
w_class = ITEMSIZE_TINY
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
|
||||
/obj/item/nullrod/charm/get_mask_examine_text(mob/user)
|
||||
return "around [user.get_pronoun("his")] neck"
|
||||
@@ -91,7 +91,7 @@
|
||||
item_state = "matake_spear"
|
||||
contained_sprite = TRUE
|
||||
slot_flags = SLOT_BELT | SLOT_BACK
|
||||
w_class = ITEMSIZE_LARGE
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
|
||||
/obj/item/nullrod/rredouane
|
||||
name = "\improper Rredouane sword"
|
||||
@@ -156,7 +156,7 @@
|
||||
icon_state = "shaman_staff"
|
||||
item_state = "shaman_staff"
|
||||
contained_sprite = TRUE
|
||||
w_class = ITEMSIZE_LARGE
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
slot_flags = null
|
||||
|
||||
/obj/item/nullrod/skakh_warrior
|
||||
@@ -167,7 +167,7 @@
|
||||
item_state = "skakh_sword"
|
||||
slot_flags = SLOT_BACK|SLOT_BELT
|
||||
contained_sprite = TRUE
|
||||
w_class = ITEMSIZE_LARGE
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
|
||||
/obj/item/nullrod/skakh_healer
|
||||
name = "\improper Sk'akh staff"
|
||||
@@ -176,7 +176,7 @@
|
||||
icon_state = "skakh_staff"
|
||||
item_state = "skakh_staff"
|
||||
contained_sprite = TRUE
|
||||
w_class = ITEMSIZE_LARGE
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
slot_flags = null
|
||||
|
||||
/obj/item/nullrod/skakh_fisher
|
||||
@@ -213,7 +213,7 @@
|
||||
contained_sprite = TRUE
|
||||
|
||||
force = 25
|
||||
w_class = ITEMSIZE_LARGE
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
slot_flags = SLOT_BACK
|
||||
light_range = 4
|
||||
light_power = 2
|
||||
@@ -372,7 +372,7 @@
|
||||
icon = 'icons/obj/urn.dmi'
|
||||
icon_state = "urn"
|
||||
applies_material_colour = TRUE
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
item_flags = ITEM_FLAG_NO_BLUDGEON
|
||||
|
||||
/obj/item/material/urn/afterattack(var/obj/A, var/mob/user, var/proximity)
|
||||
@@ -412,7 +412,7 @@
|
||||
light_range = 1.4
|
||||
light_power = 1.4
|
||||
light_color = LIGHT_COLOR_BLUE
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
drop_sound = 'sound/items/drop/glass.ogg'
|
||||
pickup_sound = 'sound/items/pickup/glass.ogg'
|
||||
|
||||
|
||||
@@ -86,7 +86,7 @@
|
||||
throw_speed = 0.5
|
||||
icon_state = "chew"
|
||||
type_butt = /obj/item/trash/spitwad
|
||||
w_class = ITEMSIZE_TINY
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
slot_flags = SLOT_EARS | SLOT_MASK
|
||||
chem_volume = 50
|
||||
chewtime = 300
|
||||
@@ -165,7 +165,7 @@
|
||||
throw_speed = 0.5
|
||||
icon_state = "chew"
|
||||
type_butt = /obj/item/trash/spitwad
|
||||
w_class = ITEMSIZE_TINY
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
slot_flags = SLOT_EARS | SLOT_MASK
|
||||
chem_volume = 50
|
||||
chewtime = 300
|
||||
@@ -178,7 +178,7 @@
|
||||
throw_speed = 0.5
|
||||
icon_state = "chew"
|
||||
type_butt = /obj/item/trash/spitgum
|
||||
w_class = ITEMSIZE_TINY
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
slot_flags = SLOT_EARS | SLOT_MASK
|
||||
chem_volume = 50
|
||||
chewtime = 300
|
||||
@@ -190,7 +190,7 @@
|
||||
throw_speed = 0.5
|
||||
icon_state = "chew"
|
||||
type_butt = /obj/item/trash/spitwad
|
||||
w_class = ITEMSIZE_TINY
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
slot_flags = SLOT_EARS | SLOT_MASK
|
||||
chem_volume = 50
|
||||
chewtime = 300
|
||||
|
||||
@@ -34,7 +34,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
|
||||
)
|
||||
var/smoketime = 5
|
||||
var/type_burnt = /obj/item/trash/match
|
||||
w_class = ITEMSIZE_TINY
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
origin_tech = list(TECH_MATERIAL = 1)
|
||||
slot_flags = SLOT_EARS | SLOT_MASK
|
||||
attack_verb = list("burnt", "singed")
|
||||
@@ -298,7 +298,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
|
||||
icon_state = "cigoff"
|
||||
item_state = "cigoff"
|
||||
throw_speed = 0.5
|
||||
w_class = ITEMSIZE_TINY
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
slot_flags = SLOT_EARS | SLOT_MASK
|
||||
attack_verb = list("burnt", "singed")
|
||||
icon_on = "cigon"
|
||||
@@ -535,7 +535,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
|
||||
icon = 'icons/obj/smokables.dmi'
|
||||
icon_state = "cigbutt"
|
||||
randpixel = 10
|
||||
w_class = ITEMSIZE_TINY
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
slot_flags = SLOT_EARS | SLOT_MASK
|
||||
throwforce = 1
|
||||
drop_sound = 'sound/items/cigs_lighters/cig_snuff.ogg'
|
||||
@@ -587,7 +587,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
|
||||
icon_on = "pipeon"
|
||||
icon_off = "pipeoff"
|
||||
burn_rate = 0.015
|
||||
w_class = ITEMSIZE_TINY
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
chem_volume = 30
|
||||
matchmes = SPAN_NOTICE("USER lights their NAME with their FLAME.")
|
||||
lightermes = SPAN_NOTICE("USER manages to light their NAME with FLAME.")
|
||||
@@ -703,7 +703,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
|
||||
slot_l_hand_str = 'icons/mob/items/lefthand_cigs_lighters.dmi',
|
||||
slot_r_hand_str = 'icons/mob/items/righthand_cigs_lighters.dmi',
|
||||
)
|
||||
w_class = ITEMSIZE_TINY
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
throwforce = 4
|
||||
obj_flags = OBJ_FLAG_CONDUCTABLE
|
||||
slot_flags = SLOT_BELT
|
||||
@@ -1060,7 +1060,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
|
||||
desc = "A thin piece of paper used to make smokables."
|
||||
icon = 'icons/obj/cigs_lighters.dmi'
|
||||
icon_state = "cigpaper_generic"
|
||||
w_class = ITEMSIZE_TINY
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
can_fold = FALSE
|
||||
|
||||
/obj/item/paper/cig/attackby(obj/item/attacking_item, mob/user)
|
||||
@@ -1081,7 +1081,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
|
||||
desc = "A small nub like filter for cigarettes."
|
||||
icon = 'icons/obj/cigs_lighters.dmi'
|
||||
icon_state = "cigfilter"
|
||||
w_class = ITEMSIZE_TINY
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
|
||||
/obj/item/cigarette_filter/attackby(obj/item/attacking_item, mob/user)
|
||||
if(istype(attacking_item, /obj/item/clothing/mask/smokable/cigarette/rolled))
|
||||
@@ -1093,7 +1093,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
|
||||
//tobacco sold seperately if you're too snobby to grow it yourself.
|
||||
/obj/item/reagent_containers/food/snacks/grown/dried_tobacco
|
||||
plantname = "tobacco"
|
||||
w_class = ITEMSIZE_TINY
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/grown/dried_tobacco/Initialize()
|
||||
. = ..()
|
||||
@@ -1113,7 +1113,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
|
||||
//oracle sold seperately if you're too snobby to grow it yourself.
|
||||
/obj/item/reagent_containers/food/snacks/grown/dried_oracle
|
||||
plantname = "oracle"
|
||||
w_class = ITEMSIZE_TINY
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/grown/dried_oracle/Initialize()
|
||||
. = ..()
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
icon_state = "id_mod"
|
||||
item_state = "electronic"
|
||||
origin_tech = list(TECH_DATA = 2)
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
obj_flags = OBJ_FLAG_CONDUCTABLE
|
||||
force = 11
|
||||
throwforce = 5
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
throwforce = 10.0
|
||||
throw_speed = 2
|
||||
throw_range = 10
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
origin_tech = list(TECH_MAGNET = 3, TECH_ILLEGAL = 4)
|
||||
|
||||
var/power_usage = 35000//A high powered cell allows 5 minutes of continuous usage
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
item_state = "lipstick"
|
||||
build_from_parts = TRUE
|
||||
contained_sprite = TRUE
|
||||
w_class = ITEMSIZE_TINY
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
slot_flags = SLOT_EARS
|
||||
update_icon_on_init = TRUE
|
||||
var/lipstick_color = "#DC253A"
|
||||
@@ -143,7 +143,7 @@
|
||||
/obj/item/haircomb //sparklysheep's comb
|
||||
name = "plastic comb"
|
||||
desc = "A pristine comb made from flexible plastic."
|
||||
w_class = ITEMSIZE_TINY
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
slot_flags = SLOT_EARS
|
||||
icon = 'icons/obj/cosmetics.dmi'
|
||||
icon_state = "comb"
|
||||
@@ -161,7 +161,7 @@
|
||||
desc = "The latest and greatest power razor born from the science of shaving."
|
||||
icon = 'icons/obj/weapons.dmi'
|
||||
icon_state = "razor"
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
|
||||
/obj/item/razor/proc/shave(mob/living/carbon/human/H, location)
|
||||
if(location == BP_HEAD)
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
desc = "A dice with six sides."
|
||||
icon = 'icons/obj/dice.dmi'
|
||||
icon_state = "d66"
|
||||
w_class = ITEMSIZE_TINY
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
attack_verb = list("diced")
|
||||
max_amount = 6
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
var/s_time = 10.0
|
||||
throw_speed = 1
|
||||
throw_range = 5
|
||||
w_class = ITEMSIZE_TINY
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
slot_flags = SLOT_EARS
|
||||
var/uses = 1
|
||||
var/nofail
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
var/cell_type = /obj/item/cell/device
|
||||
var/obj/item/reagent_containers/ecig_cartridge/ec_cartridge
|
||||
var/cartridge_type = /obj/item/reagent_containers/ecig_cartridge/med_nicotine
|
||||
w_class = ITEMSIZE_TINY
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
slot_flags = SLOT_EARS | SLOT_MASK
|
||||
attack_verb = list("attacked", "poked", "battered")
|
||||
body_parts_covered = 0
|
||||
@@ -241,7 +241,7 @@
|
||||
/obj/item/reagent_containers/ecig_cartridge
|
||||
name = "tobacco flavour cartridge"
|
||||
desc = "A small metal cartridge, used with electronic cigarettes, which contains an atomizing coil and a solution to be atomized."
|
||||
w_class = ITEMSIZE_TINY
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
icon = 'icons/obj/ecig.dmi'
|
||||
icon_state = "ecartridge"
|
||||
matter = list(MATERIAL_STEEL = 50, MATERIAL_GLASS = 10)
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
icon_state = "plastic-explosive0"
|
||||
item_state = "plasticx"
|
||||
item_flags = ITEM_FLAG_NO_BLUDGEON
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
origin_tech = list(TECH_ILLEGAL = 2)
|
||||
var/datum/wires/explosive/c4/wires = null
|
||||
var/detonate_time = 0
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
atom_flags = ATOM_FLAG_OPEN_CONTAINER
|
||||
obj_flags = OBJ_FLAG_CONDUCTABLE
|
||||
throwforce = 8
|
||||
w_class = ITEMSIZE_NORMAL
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
throw_speed = 2
|
||||
throw_range = 10
|
||||
force = 18
|
||||
@@ -92,7 +92,7 @@
|
||||
hitsound = 'sound/weapons/smash.ogg'
|
||||
obj_flags = OBJ_FLAG_CONDUCTABLE
|
||||
throwforce = 10
|
||||
w_class = ITEMSIZE_HUGE
|
||||
w_class = WEIGHT_CLASS_HUGE
|
||||
throw_speed = 2
|
||||
throw_range = 10
|
||||
force = 15
|
||||
@@ -117,7 +117,7 @@
|
||||
hitsound = null //it is much lighter, after all.
|
||||
atom_flags = ATOM_FLAG_OPEN_CONTAINER
|
||||
throwforce = 2
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
force = 2
|
||||
max_water = 60
|
||||
spray_amount = 10
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
item_state = "flamethrower_0"
|
||||
contained_sprite = TRUE
|
||||
|
||||
w_class = ITEMSIZE_LARGE
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
obj_flags = OBJ_FLAG_CONDUCTABLE
|
||||
force = 3
|
||||
throwforce = 10
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
icon_state = "chemg"
|
||||
item_state = "chemg"
|
||||
desc = "A hand made chemical grenade."
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
force = 2
|
||||
det_time = null
|
||||
unacidable = 1
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/obj/item/grenade
|
||||
name = "grenade"
|
||||
desc = "A hand held grenade, with an adjustable timer."
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
icon = 'icons/obj/grenade.dmi'
|
||||
item_icons = list(
|
||||
slot_l_hand_str = 'icons/mob/items/weapons/lefthand_grenade.dmi',
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
obj_flags = OBJ_FLAG_CONDUCTABLE
|
||||
slot_flags = SLOT_BELT
|
||||
throwforce = 5
|
||||
w_class = ITEMSIZE_SMALL
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
throw_speed = 2
|
||||
throw_range = 5
|
||||
origin_tech = list(TECH_MATERIAL = 1)
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user